2013-02-21 13 views
11

की सहायता से विंडोज सेवा स्थापित करने में असमर्थ मैं वीएस 2012 का उपयोग करता हूं और चूंकि सेटअप प्रोजेक्ट को हटा दिया गया है, इसलिए मुझे InstallUtil.exe का उपयोग करना होगा।InstallUtil टूल

मेरे पास मेरे विंडोज़ सेवा ऐप में प्रोजेक्ट इंस्टालर क्लास नहीं है। मैं कमांड प्रॉम्प्ट में चलाएँ:

installutil FilesMonitoringService.exe 

मैं:

C: \ Program Files \ Microsoft Visual Studio 8 \ कुलपति #> "InstallUtil C: \ Program Files \ माइक rosoft दृश्य स्टूडियो 8 \ VC# \ CSharpProjects \ MyService \ MyService \ bin \ Release \ MyServ ice.exe " माइक्रोसॉफ्ट (आर) .NET Framework स्थापना उपयोगिता संस्करण 2.0.50727.42 कॉपीराइट (सी) माइक्रोसॉफ्ट कॉर्पोरेशन। सर्वाधिकार सुरक्षित।

एक ट्रांज़ेक्टेड इंस्टॉलेशन चल रहा है।

स्थापना के चरण को शुरू करना। सी: \ प्रोग्राम फ़ाइलें \ माइक्रोसॉफ्ट विजुअल स्टडी ओ 8 \ VC# \ CSharpProjects \ MyService \ MyService \ bin \ Release \ MyService.exe असेंबली के प्रगति के लिए लॉग फ़ाइल की सामग्री देखें। फ़ाइल सी: \ प्रोग्राम फ़ाइलें \ माइक्रोसॉफ्ट विजुअल स्टूडियो 8 \ वीसी # \ CSharpProj ects \ MyService \ MyService \ bin \ Release \ MyService.InstallLog पर स्थित है। असेंबली 'सी: \ प्रोग्राम फ़ाइलें \ माइक्रोसॉफ्ट विजुअल स्टूडियो 8 \ वीसी # \ CSharpProjec ts \ MyService \ MyService \ bin \ Release \ MyService.exe' स्थापित करना। प्रभावित मानकों हैं: logtoconsole = assemblypath = C: \ Program Files \ Microsoft Visual Studio 8 \ कुलपति # \ CSharpProjects \ MyService \ MyService \ बिन \ रिलीज \ MyService.exe लॉगफ़ाइल = C: \ Program Files \ Microsoft Visual स्टूडियो 8 \ वीसी # \ CSharpProjects \ MySer वाइस \ MyService \ bin \ Release \ MyService.InstallLog RunInstallerAttribute.Yes विशेषता के साथ कोई सार्वजनिक इंस्टॉलर C: \ Program Files \ Microsoft Visual Studio 8 \ VC#में पाया जा सकता है। \ CSharpProjects \ MyService \ MyService \ bin \ Release \ MyService.exe असेंबली।

इंस्टॉल चरण सफलतापूर्वक पूरा हुआ, और Commit चरण शुरू हो रहा है। सी: \ प्रोग्राम फ़ाइलें \ माइक्रोसॉफ्ट विजुअल स्टडी ओ 8 \ VC# \ CSharpProjects \ MyService \ MyService \ bin \ Release \ MyService.exe असेंबली के प्रगति के लिए लॉग फ़ाइल की सामग्री देखें। फ़ाइल सी: \ प्रोग्राम फ़ाइलें \ माइक्रोसॉफ्ट विजुअल स्टूडियो 8 \ वीसी # \ CSharpProj ects \ MyService \ MyService \ bin \ Release \ MyService.InstallLog पर स्थित है। असेंबली 'सी: \ प्रोग्राम फ़ाइलें \ माइक्रोसॉफ्ट विजुअल स्टूडियो 8 \ वीसी # \ CSharpProjec ts \ MyService \ MyService \ bin \ Release \ MyService.exe'। प्रभावित मानकों हैं: logtoconsole = assemblypath = C: \ Program Files \ Microsoft Visual Studio 8 \ कुलपति # \ CSharpProjects \ MyService \ MyService \ बिन \ रिलीज \ MyService.exe लॉगफ़ाइल = C: \ Program Files \ Microsoft Visual स्टूडियो 8 \ वीसी # \ CSharpProjects \ MySer वाइस \ MyService \ bin \ Release \ MyService.InstallLog RunInstallerAttribute.Yes विशेषता के साथ कोई सार्वजनिक इंस्टॉलर C: \ Program Files \ Microsoft Visual Studio 8 \ VC#में पाया जा सकता है। \ CSharpProjects \ MyService \ MyService \ bin \ Release \ MyService.exe असेंबली। इंस्टॉलस्टेट फ़ाइल को हटाएं क्योंकि कोई इंस्टॉलर नहीं हैं।

प्रतिबद्धता चरण सफलतापूर्वक पूरा हुआ।

ट्रांज़ेक्टेड इंस्टॉल पूरा हो गया है।

C: \ Program Files \ Microsoft Visual Studio 8 \ कुलपति #>

ठीक, जैसे सब कुछ स्थापित किया गया है लगता है। परंतु! जब मैं सेवा पृष्ठ पर कार्य प्रबंधक पर जाता हूं तो मुझे अपनी सेवा नहीं मिलती है।

कारण क्या हो सकता है?

अग्रिम धन्यवाद!

संपादन: मैं ने कहा कि मैं projectInstaller वर्ग क्योंकि अगर मैं इसे जोड़ने की जरूरत नहीं है (डिजाइनर में -> संस्थापक जोड़ें) और कमांड InstallUtil चलाने मैं: (अनुमानित अनुवाद)

स्थापना FilesMonitoringService ... एक लॉग Jornal आवेदन में इवेंटलॉग FilesMonitoringService की निर्माण ...

इस स्थापना मंच पर के अपवाद हुई।

सिस्टम.Security.SecurityException: स्रोत नहीं मिला है, लेकिन किसी भी या सभी लॉग जर्नल द्वारा खोजने में विफल रहा है। जर्नल्स उपलब्ध नहीं है: सुरक्षा।

रीकोल चरण शुरू होता है।

// पाठ

के बहुत सारे हटना चरण succeded है

सेटअप समूह आपरेशन निष्पादित। सेटअप विफल हुआ और रीकोल निष्पादित किया गया था।

तो, अगर मैं अपनी विंडोज सेवा में प्रोजेक्टइंस्टर जोड़ता हूं तो यह निश्चित रूप से installUtil के साथ स्थापित करने में विफल रहता है।

[RunInstaller(true)] 
public partial class ProjectInstaller : Installer 
{ 
    public ProjectInstaller() 
    { 
     InitializeComponent(); 
    } 
    private void serviceInstaller1_AfterInstall(object sender, InstallEventArgs e) 
    {} 
    private void serviceProcessInstaller1_AfterInstall(object sender, InstallEventArgs e) 
    {} 
} 

Mabby मैं afterInstall तरीकों में कुछ कोड रखना होगा:
यहाँ उत्पन्न कोड है? > FileMonitoringService, StartType - -> स्वचालित
serviceProcessInstaller1 ServiceName:: खाता -> स्थानीय सिस्टम

या यह projectInstaller बिना लागू किया जा सकता

serviceInstaller1: मैं भी एक properties विंडो में यह properies सेट?

+0

2017 टिप्पणी - इस विषय में इस तरह के SO पोस्ट पर कई उपयोगी उत्तर और टिप्पणियां हैं। http://stackoverflow.com/questions/7922105/install-windows-service-created-in-visual-studio –

उत्तर

18

ठीक है चलो, वहाँ कुछ चीजें हैं:

1) आपको ProjectInstaller की आवश्यकता है।
2) आपका प्रोजेक्ट -> गुण; स्टार्टअप प्रोजेक्ट -> YourProject.Program
3)
4) "व्यवस्थापक के रूप में चलाएं" कमांड प्रॉम्प्ट बनाएं!

सबकुछ अब काम करता है।

complete tutorial link

+1

मुझे लगता है कि आपका मतलब स्टार्टअप "ऑब्जेक्ट" –

+0

"व्यवस्थापक के रूप में चलाएं" के लिए समस्या थी मुझे। धन्यवाद :) – fabriciorissetto

+0

2017 नोट - यदि निम्नलिखित उत्तर आपकी सभी समस्याओं का समाधान नहीं करते हैं तो निम्नलिखित SO पोस्ट पर अन्य विवरण सामने आए हैं। http://stackoverflow.com/questions/7922105/install-windows-service-created-in-visual-studio –

1

मैं अब यह परीक्षण करने के लिए VS2012 की एक प्रति की जरूरत नहीं है, लेकिन मेरा मानना ​​है कि

के साथ कुछ मैं अपने विंडोज़ सेवा अनुप्रयोग में projectInstaller वर्ग की जरूरत नहीं है है कि आपकी समस्या

भाग।

msdn से:

स्थापना घटकों प्रणाली जो यह स्थापित किया जा रहा है के लिए पर किसी विशेष सेवा को रजिस्टर और सेवा कंट्रोल प्रबंधक जानते हैं कि सेवा मौजूद है

+0

मेरा अपडेट देखें –

0

यह तुच्छ लगता है, लेकिन ध्यान से जांच जब आप installutill तर्क लिख रहे हैं, क्योंकि आप किसी दूसरे exe संदर्भित परियोजना के संकलन द्वारा उत्पन्न फ़ाइल के साथ सेवा के exe फ़ाइल को भ्रमित कर सकता है (है कि कोई है सेवा इंस्टॉलर) और इसे असफल बनाते हैं।

संबंधित मुद्दे