2009-12-21 20 views
44

का उपयोग कर विंडोज सेवा को कैसे स्थापित और प्रारंभ करें मैंने Wix में नीचे दिए गए कोड का उपयोग करने का प्रयास किया।वाईएक्स

लेकिन इंस्टॉल करते समय, इंस्टॉलर स्थिति पर 3 मिनट की तरह ठंडा हो रहा था: सेवाओं को शुरू करना, फिर मुझे यह संदेश मिला "सेवा नौकरियां सेवा शुरू करने में विफल रही। सत्यापित करें कि आपके पास सिस्टम सेवाओं को शुरू करने के लिए पर्याप्त विशेषाधिकार हैं"। क्या मेरे कोड में कोई गलती है? और क्या मैं उपयोगकर्ता को "विशेषाधिकार" प्राप्त करने के लिए स्थापना के दौरान विंडोज सिस्टम उपयोगकर्ता नाम और पासवर्ड इनपुट करने के लिए कह सकता हूं?

बहुत बहुत धन्यवाद!

<File Id='JobServiceEXE' Name='JobService.exe' DiskId='1' 
     Source='JobService.exe' Vital='yes' KeyPath='yes'/>   
    <ServiceInstall Id="ServiceInstaller" Type="ownProcess" Vital="yes" 
     Name="JobService" DisplayName="123 Co. JobService" 
     Description="Monitoring and management Jobs" Start="auto" 
     Account="LocalSystem" ErrorControl="ignore" Interactive="no" /> 
    <ServiceControl Id="StartService" Stop="both" Remove="uninstall" 
     Name="JobService" Wait="yes" /> 
</Component> 
+1

मैंने "प्रतीक्षा =" हाँ "" हटा दिया है, और स्थापना अभी ठीक है, लेकिन सेवा कार्य की स्थिति "जॉब सेवा" विंडोज टास्क मैनेजर में "रुक गई" है, यह स्वचालित रूप से कैसे शुरू किया जा सकता है? धन्यवाद। – Ray

+0

सर्विस इंस्टॉल तत्व –

उत्तर

58

निम्नलिखित कोड मेरे लिए काम करता ... नाम/पासवर्ड के लिए संकेत करने की कोई जरूरत :)

<File Id='JobServiceEXE' Name='JobService.exe' DiskId='1' Source='JobService.exe' KeyPath='yes'/>   
    <ServiceInstall 
     Id="ServiceInstaller" 
     Type="ownProcess" 
     Name="JobService" 
     DisplayName="123 Co. JobService" 
     Description="Monitoring and management Jobs" 
     Start="auto" 
     Account="[SERVICEACCOUNT]" 
     Password="[SERVICEPASSWORD]" 
     ErrorControl="normal" 
     /> 
     <ServiceControl Id="StartService" Start="install" Stop="both" Remove="uninstall" Name="JobService" Wait="yes" /> 
    </Component> 
+0

में प्रारंभ = "ऑटो" मेरे प्रश्न का उत्तर देने के लिए धन्यवाद, लेकिन सिस्टम को रीबूट करने के बाद भी सेवा की स्थिति अभी भी "रुक गई" थी। – Ray

+0

इंस्टॉलेशन पूरा होने के बाद मैन्युअल रूप से प्रारंभ हो जाएगा लेकिन रीबूट करने से पहले? – saschabeaumont

+2

धन्यवाद, यह अभी ठीक काम कर रहा है। मेरे द्वारा उपयोग किया जाने वाला निष्पादन योग्य प्रोग्राम विंडोज़ सेवा सेवा नहीं था, अब मैं इसे लॉन्च करने के लिए वीबी में लिखी गई एक विंडोज सेवा का उपयोग कर रहा हूं। – Ray

12

मैं इस पृष्ठ पर समाधान सेवा सही ढंग से स्थापित होगा, लेकिन है कि ServiceControl तत्व सेवा शुरू नहीं करेगा।

मैन्युअल स्थापित सेवा ("JobService.exe/install") के साथ wix स्थापित सेवा की तुलना में, "निष्पादन योग्य पथ" फ़ील्ड में प्रारंभ स्विच अनुपलब्ध था। सर्विस इनस्टॉल के तर्क गुणों के साथ इसे विक्स में फिक्स्ड करें;

<File Id='JobServiceEXE' Name='JobService.exe' DiskId='1' Source='JobService.exe' KeyPath='yes'/>   
    <ServiceInstall 
    Id="ServiceInstaller" 
    Type="ownProcess" 
    Name="JobService" 
    DisplayName="123 Co. JobService" 
    Description="Monitoring and management Jobs" 
    Start="auto" 
    Account="[SERVICEACCOUNT]" 
    Password="[SERVICEPASSWORD]" 
    ErrorControl="normal" 
    Arguments=" /start JobService" 
    /> 
    <ServiceControl Id="StartService" Start="install" Stop="both" Remove="uninstall" Name="JobService" Wait="yes" /> 
</Component> 

एक लंबा समय लर्कर, यह मेरी पहली पोस्ट है - मुझे उम्मीद है कि यह किसी की मदद करेगा।

+4

यदि आपको इसे शुरू करने के लिए पैरामीटर पास करने की आवश्यकता है, तो संभवतः सेवा Windows API – saschabeaumont

+9

पर उचित रूप से पालन नहीं कर रही है कई सेवाओं में उन्हें आदेश-पंक्ति तर्क पास हुए हैं। –