我希望能够在服务的安装中传递参数。我修改了从安装程序继承的类的C#代码...我的问题是InstallUtil.exe不能使用参数(并不如我所知)。如何使用命令行+参数注册.Net服务?
有什么建议吗?
我希望能够在服务的安装中传递参数。我修改了从安装程序继承的类的C#代码...我的问题是InstallUtil.exe不能使用参数(并不如我所知)。如何使用命令行+参数注册.Net服务?
有什么建议吗?
我们有相同的场景,它的工作原理。您对传递的参数如下
InstallUtil.exe /Param1="Value" /Param2="Value" "Path to your exe"
,那么你已经覆盖你的安装程序安装方法
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;
}
尝试NSIS。这是一种为安装而构建的脚本语言,允许您执行各种复杂的事情。就我个人而言,我将它用于超越“下一步,下一步,下一步”的任何安装。很光滑,并不是所有这些都很难学。
构建和安装Visual Studio或类似Wix。在Visual Studio中,您可以执行Custom Action并在CustomActionData字段中传入参数。
其实它可以与InstallUtil.exe时,.NET安装实用程序来做到这一点随.NET Framework一起提供。
看看这个CodeProject文章。
页面非常差,但源代码显示了一些有趣的内容+1。 – 2009-06-12 13:36:37
仅供将来参考:如果您通过参数(动态服务创建)传递服务名称,则需要在OnBeforeInstall中获取参数。谢谢你的回答。 – 2009-06-12 13:36:05