2009-01-22 12 views
5

का उपयोग कर Win32 सेवा स्थापित करना मैं Microsoft.Sdc.Tasks लाइब्रेरी का उपयोग कर विंडोज सेवा स्थापित करने का प्रयास कर रहा हूं।MSBuild और Microsoft.Sdc.Tasks

<ControlService Action="Install" 
    ServiceName="Service1" 
    User="XXX 
    Password="XXX" 
    ServiceExePath="$(DeployFolder)\XXX.exe"/> 

लेकिन मैं उपयोगकर्ता और पासवर्ड के लिए संकेत हो रही रखना! यह काम नहीं करेगा क्योंकि मैं इसे बिल्ड सर्वर पर स्वचालित निर्माण के रूप में रखना चाहता हूं। मेरा मतलब है, उपयोगकर्ता और पासवर्ड जो मैं सेवा को चलाने के लिए चाहता हूं, वास्तविक लक्ष्य में हैं। मैं इसे कॉन्फ़िगर किए गए उपयोगकर्ता और पासवर्ड का उपयोग करके सेवा इंस्टॉल करने के लिए कैसे प्राप्त करूं और इसके लिए संकेत नहीं दूं?

उत्तर

4

this post मिला और चूंकि मेरी सभी सेवा स्थानीय फ़ाइल से लिख रही है और पढ़ रही है, इसलिए मुझे एक विशिष्ट उपयोगकर्ता के बजाय स्थानीय सेवा खाते के तहत ठीक चलना चाहिए। सेवा इंस्टॉलर को अद्यतन करने के बाद भी नियंत्रण सेवा-लक्ष्य के लिए उपयोगकर्ता और पासवर्ड चलाने की आवश्यकता है लेकिन तो वास्तव में मुझे उपयोगकर्ता और पासवर्ड के लिए संकेत नहीं देता है। लेकिन फिर मैं एक विशिष्ट उपयोगकर्ता नहीं चलाना चाहता हूं और कॉन्फ़िगरेशन में उपयोगकर्ता और पासवर्ड के साथ प्रदान नहीं होने पर लक्ष्य विफल रहता है ... अजीब।

मैंने इसके बजाय InstallUtil.exe पर खोलकर हल किया। स्थानीय सेवा खाते के रूप में चलाने के लिए सेट सेट इंस्टॉलर सेट करने के बाद यह ठीक काम करता है।

<Exec WorkingDirectory="C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727" 
      Command="InstallUtil.exe -i XXX.exe" /> 
+1

यह केवल निर्माण सर्वर पर सेवा स्थापित हो जाएगा। यदि आप इसे दूरस्थ सर्वर पर स्थापित करना चाहते हैं, तो आपको यहां से सेवा नियंत्रक कार्य का उपयोग करना चाहिए: http://weblogs.asp.net/scottgu/archive/2006/02/12/438061.aspx –

2

बस एक FYI करें, एक दूरस्थ सर्वर से स्थापित करने के लिए, आप SericeController कार्य यहाँ सूचीबद्ध उपयोग करना चाहिए:

http://weblogs.asp.net/scottgu/archive/2006/02/12/438061.aspx

+2

सेवा नियंत्रक कार्य नहीं करता है सेवाओं को स्थापित करने की अनुमति दें। यह सिर्फ स्थापित सेवाओं को नियंत्रित करता है। – MikeD