0

我正在尝试使用带有批处理文件的启动参数安装 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
4

2 回答 2

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);
        }
于 2013-10-21T07:04:52.047 回答
0

引号的使用有问题?尝试用反斜杠转义内部引号,如

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

不太了解InstallUtil,但它失败了,并且需要InstallUtil,使用InstallUtil安装服务但没有参数,然后使用sc.exe重新配置服务,包括binPath中的参数

于 2013-10-16T11:52:41.193 回答