如何解决C#InstallUtil / ManagedInstallerClass:为什么键值对不传递到安装程序上下文参数集合中?
| 我将服务名称传递到参数列表中,但是当我在安装程序上下文中查看时,它不存在:args = new[] { Assembly.GetExecutingAssembly().Location,\"/ServiceName=WinService1\" };
ManagedInstallerClass.InstallHelper(args);
为什么键值对不会传递到安装程序上下文中?
public override void Install(IDictionary stateSaver)
{
foreach (var param in Context.Parameters)
{
// ServiceName is not available in the Parameters collection
}
}
解决方法
这是一个很旧的线程,但是也许有人仍然可以使用答案,就像我早在这里时可能会遇到的那样:)。
仅将位置之前的参数传递到安装程序的上下文中。
尝试这个:
args = new[] { \"/ServiceName=WinService1\",Assembly.GetExecutingAssembly().Location };
ManagedInstallerClass.InstallHelper(args);
, 试试这个代码:
IDictionary dictionary = new Dictionary<string,IEnumerable<string>>();
dictionary.Add(Assembly.GetExecutingAssembly().Location,new string [] {\"/ServiceName=WinService1\"});
ManagedInstallerClass.InstallHelper(dictionary);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。