2013-10-15 143 views
0

我想安裝Windows服務與批處理文件啓動參數。安裝Windows服務啓動參數

我有在安裝程序中傳遞的服務名稱以獲取實例名稱。我也想設置服務啓動參數。與傳遞arg安裝程序我沒有問題。我在啓動參數設置時出錯。

代碼片段:

set serviceName=FSER 

    C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe /servicename="%serviceName%" "%UserProfile%\AppData\Local\SERVER\%serviceName%\tser.exe "%serviceName%" " /logfile=install.log 

回答

2

服務,包括參數我在服務安裝「Assemblypath」添加參數解決問題:

protected override void OnBeforeInstall(IDictionary savedState) 
     {     
       string parameter = "YOUR COMMAND LINE PARAMETER VALUE GOES HERE"; 
       var assemblyPath = Context.Parameters["assemblypath"]; 
       assemblyPath += @""" "" " + parameter + ""; 
       Context.Parameters["assemblypath"] = assemblyPath; 
       base.OnBeforeInstall(savedState); 
     } 
+1

這種方法留下一些難看」。對於我Context.Parame ters [「assemblypath」] = string.Format(「\」{0} \「/ i1/d23」,Context.Parameters [「assemblypath」]);按預期工作。原始程序集路徑將被「包圍」,而參數保持不變 – TomB

0

有問題的使用引號?試圖逃跑反斜槓內報價,如

"\"myExeFile.exe\" \"myParameter\"" 

真的不知道InstallUtil,但它失敗,並且需要InstallUtil,與InstallUtil但沒有參數安裝服務,然後使用SC.EXE重新配置在binPath

+0

感謝,但我找到很好的解決辦法,你可以看到下面:) –