आप सशर्त अपने Windows सेवा प्रोजेक्ट फाइल से SC.exe आदेश आह्वान सकता (* .csproj) एक दूरस्थ मशीन पर Windows सेवा स्थापित करने के लिए।
<PropertyGroup>
<DeployWinService>false</DeployWinService>
<WinServiceName>MyService</WinServiceName>
<TargetWinServiceHost Condition="'$(TargetWinServiceHost)' == ''">localhost</TargetWinServiceHost>
</PropertyGroup>
<Target Name="AfterCompile">
<CallTarget Targets="PublishWinService" />
</Target>
<Target Name="PublishWinService"
Condition="'$(DeployWinService)' == 'true'">
<Exec Command="sc stop $(WinServiceName)" ContinueOnError="true" />
<Exec Command="sc \\$(TargetWinServiceHost) create $(WinServiceName) binpath= '$(OutDir)\$(AssemblyName).exe' start= auto" />
</Target>
यहाँ हम कस्टम परिभाषित कर रहे हैं MSBuild गुण DeployWinService
और TargetWinServiceHost
कि Windows सेवा परियोजना के उत्पादन में संकलन के बाद स्थापित किया जाएगा कि क्या नियंत्रित करने और करने के लिए उपयोग किया जाता है जो मशीन के लिए:
यहाँ एक उदाहरण है। WinServiceName
प्रॉपर्टी केवल उस नाम को निर्दिष्ट करती है जो विंडोज सेवा लक्ष्य मशीन पर होगी।
अपने निर्माण परिभाषा में आप स्पष्ट रूप से MSBuild तर्क में DeployWinService
और TargetWinServiceHost
गुण सेट करना होगाउन्नत खंड के क्षेत्र:
/p:DeployWinService=true;TargetWinServiceHost=MACHINENAME
संबंधित संसाधन:
स्रोत
2011-04-26 10:34:21