6 vb.net windows service web-services
我有一个在VS.net 2008和VB.net中开发的简单的Windows服务.当我从命令提示符使用Installutil.exe安装服务时,它就像一个魅力.
当我尝试添加一个安装项目并设置输出并构建并安装它虽然它已成功安装,但它没有显示在服务中.
事件日志显示已成功安装.我刚刚检查了注册表,它确实将程序集放在HKEY_CURRENT_USER\Software\Microsoft\installer\assemblies中.
但我不明白为什么它没有出现在服务列表中.我刷新并重新启动.
有什么想法吗??
谢谢
小智 12
找到解决方案您必须在MSI项目中添加自定义操作.因此,在自定义操作中,将服务的输出添加到"安装"部分.然后,这将运行您的服务所需的安装代码.即与installutil.exe的功能相同
谢谢你的帮助
我有同样的问题,并没有注意创建安装项目之前的部分. http://msdn.microsoft.com/en-us/library/zt39148a(v=VS.100).aspx
为您的服务创建安装程序
在解决方案资源管理器中,右键单击"Service1.vb"或"Service1.cs",然后选择"视图设计器".
单击设计器的背景以选择服务本身,而不是其任何内容.
在设计器处于焦点的情况下,右键单击,然后单击"添加安装程序".
默认情况下,包含两个安装程序的组件类将添加到项目中.该组件名为ProjectInstaller,它包含的安装程序是服务的安装程序和服务关联进程的安装程序.
在ProjectInstaller的"设计"视图中,单击"ServiceInstaller1"或"serviceInstaller1".
在"属性"窗口中,确保将ServiceName属性设置为MyNewService.
将StartType属性设置为自动.
在设计器中,单击ServiceProcessInstaller1(对于Visual Basic项目)或serviceProcessInstaller1(对于Visual C#项目).将Account属性设置为LocalSystem.这将导致服务安装并在本地服务帐户上运行.
几个想法:
您是否在尝试运行该程序的同一 Windows 帐户下进行安装?您是否将安装项目的“InstallAllUsers”属性设置为 True?
您确定安装项目中的 ProductName 和 Title 属性设置正确吗?也许该服务以不同的名称显示在列表中,即“SetupProject1”或其他名称。
同样,在服务的 ProjectInstaller 类中,在设计视图中查看 ServiceInstaller 的属性,并确保 ServiceName 和 DisplayName 属性设置为您想要的值。