我希望能够在服务的安装中传递参数。我修改了从Installer继承的类的C#代码...我的问题是InstallUtil.exe不能用于参数(我不知道)。
有什么建议吗?
答案 0 :(得分:9)
我们有相同的方案,它的工作原理。您必须按如下方式传递参数
InstallUtil.exe /Param1="Value" /Param2="Value" "Path to your exe"
然后你要在安装程序上覆盖Install方法
public override void Install(System.Collections.IDictionary stateSaver)
{
var lParam1 = GetParam("Param1");
}
private string GetParam(string pKey)
{
try
{
if (this.Context != null)
{
if (this.Context.Parameters != null)
{
string lParamValue = this.Context.Parameters[pKey];
if (lParamValue != null)
return lParamValue;
}
}
}
catch (Exception)
{
}
return string.Empty;
}
答案 1 :(得分:2)
实际上可以使用.NET Framework附带的.NET安装程序实用程序InstallUtil.exe来完成。
请看一下这篇CodeProject文章。
答案 2 :(得分:0)
试试NSIS。它是一种为安装而构建的脚本语言,允许您执行各种复杂的操作。就个人而言,我会将它用于超越“Next,Next,Next”的任何安装。非常光滑,并不是那么难学。
答案 3 :(得分:0)
使用Visual Studio或类似Wix之类的内容构建和安装程序。在Visual Studio中,您可以执行Custom Action并在CustomActionData字段中传入参数。