2012-09-11 8 views
18

मैं एक विंडोज़ सेवा स्थापित करने की कोशिश कर रहा हूं।installutil सफलतापूर्वक पूर्ण हो गया है लेकिन सेवा स्थापित नहीं है

सी चल: \ Windows \ microsoft.net \ Framework64 \ v4.0.30319 \ InstallUtil.exe c: \ foo \ MyAssembly.exe

मैं एक अच्छा संदेश है कि सभी चरणों (स्थापित करने) को सफलतापूर्वक पूरा कर पाने के ।

बाद में मैं सेवाओं कंसोल में सेवा नहीं दिख रहा है (मैं सेवा क्रेडेंशियल्स दर्ज करने का संकेत नहीं मिलता)। इंस्टॉल लॉग में कुछ भी उपयोगी नहीं है।

समाधान 64 बिट बॉक्स पर बनाया गया है, और मैं 64 बिट मशीन पर सेवा स्थापित करने की कोशिश कर रहा हूं। हालांकि, मुझे समाधान गुणों में विकल्प के रूप में 64 बिट दिखाई नहीं देता है। मैंने मैन्युअल रूप से [प्लेटफॉर्म] नोड्स के लिए "x64" चुनने के लिए सभी csproj फ़ाइलों को संपादित किया है ..

मैं दृश्य स्टूडियो से कोई समस्या नहीं चला सकता।

installer.cs

[RunInstaller(true)] 
public partial class Installer : System.Configuration.Install.Installer 
{ 
    public Installer() { 
     InitializeComponent(); 
    } 
} 

यह डिफ़ॉल्ट दृश्य स्टूडियो द्वारा प्रदान की संस्थापक है।

+0

मैंने आपका शीर्षक संपादित किया है। कृपया देखें, "[प्रश्नों में उनके शीर्षक में" टैग "शामिल होना चाहिए?] (Http://meta.stackexchange.com/questions/19190/)", जहां आम सहमति है "नहीं, उन्हें नहीं करना चाहिए"। इसके अलावा, अगर यह स्थापना का सवाल है, तो संभवतः डब्लूसीएफ के साथ इसका कोई लेना-देना नहीं है, इसलिए मैंने उस टैग को हटा दिया। –

+0

क्षमा करें! शब्दों की गलत पसंद। स्थापना स्क्रिप्ट !! – madhairsilence

+0

madhairsilence .. installer.cs क्या आप पूछ रहे थे? –

उत्तर

24

आपको इंस्टॉलर संग्रह में कुछ इंस्टॉलर ऑब्जेक्ट्स जोड़ने की आवश्यकता है। उदाहरण here वह है जो आप विंडोज सेवा स्थापित करने के लिए चाहते हैं।

[RunInstaller(true)] 
public class Installer : System.Configuration.Install.Installer 
{ 
    private ServiceInstaller serviceInstaller; 
    private ServiceProcessInstaller processInstaller; 

    public Installer() 
    { 
     // Instantiate installers for process and services. 
     processInstaller = new ServiceProcessInstaller(); 
     serviceInstaller = new ServiceInstaller(); 

     // The services run under the system account. 
     processInstaller.Account = ServiceAccount.LocalSystem; 

     // The services are started manually. 
     serviceInstaller.StartType = ServiceStartMode.Manual; 

     // ServiceName must equal those on ServiceBase derived classes. 
     serviceInstaller.ServiceName = "Hello-World Service 1"; 

     // Add installers to collection. Order is not important. 
     Installers.Add(serviceInstaller); 
     Installers.Add(processInstaller); 
    } 
} 
0

निम्नलिखित SO प्रश्न में समान परिदृश्य और उत्तर हैं जो Google खोज लिंक से आने वाले किसी के लिए भी प्रासंगिक हो सकते हैं।

Install Windows Service created in Visual Studio

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