我已经编写了许多版本的Windows服务并将它们安装在运行Server 2008 R2 Enterprise的64位系统上,使用这个指南创建服务:
http://msdn.microsoft.com/en-us/zt39148a.aspx
"Walkthrough: Creating a Windows Service Application in the Component Designer"。我在Win 7笔记本电脑上(c#, vs2010 SP1, .NET 4)创建.msi和相应的setup.exe。测试完Windows服务后,在我的笔记本电脑上复制.msi和setup.exe到win2008 R2企业服务器上的文件夹中(通过远程桌面复制和粘贴)。然后我使用服务器的控制面板卸载,右键单击.msi并选择安装,然后按照设置向导进行操作。大多数情况下都没有问题。
异常情况:安装运行时间可能长达15分钟或更长时间,但从未完成,最终弹出对话框显示"(?) Installer is no longer responding.",并提供[重试]或[取消]选项。此时,进度条长度极短,位于"Please wait..."的"P"下方。
http://msdn.microsoft.com/en-us/zt39148a.aspx
"Walkthrough: Creating a Windows Service Application in the Component Designer"。我在Win 7笔记本电脑上(c#, vs2010 SP1, .NET 4)创建.msi和相应的setup.exe。测试完Windows服务后,在我的笔记本电脑上复制.msi和setup.exe到win2008 R2企业服务器上的文件夹中(通过远程桌面复制和粘贴)。然后我使用服务器的控制面板卸载,右键单击.msi并选择安装,然后按照设置向导进行操作。大多数情况下都没有问题。
异常情况:安装运行时间可能长达15分钟或更长时间,但从未完成,最终弹出对话框显示"(?) Installer is no longer responding.",并提供[重试]或[取消]选项。此时,进度条长度极短,位于"Please wait..."的"P"下方。
点击重试没有帮助。自从我点击了重试,进度条甚至没有前进一像素,已经过去30分钟以上了。
更多信息
(a) 该服务在另一台服务器上(Win 2008 R2 Web版)安装时没有任何问题。
(b) 如上所述,Windows服务在我的Win 7开发和测试环境中安装和工作正常。
历史/推测
几周前,我无法从Win 2008 R2企业版服务器安装服务。即使.msi声称已安装,服务仍然出现在services.msc控制台中,但我在控制面板/卸载中找不到它。即使禁用服务也没有帮助。因此,我克隆了代码,稍微更改了服务名称,并成功安装了那个服务,它已经运行了一段时间而没有出现问题。
今天,发生了类似的事件,唯一的区别是我可以在控制面板卸载中看到该服务。因为它无法卸载,我尝试了同样的克隆技巧,但这次失败了。
下一步:使用上述步骤,我创建了一个什么都不做的Windows服务,并通过从原始C#项目文件中导入客户端类使其有用。
重新构建的Windows服务在我的笔记本电脑上按设计工作,但拒绝在R2企业版服务器上安装。
有什么想法吗?
谢谢。
附言:我在stackoverflow上发布了这篇文章,因为我认为开发人员在将代码交给系统管理员之前更有可能遇到这种情况。
顺便说一句,在stackoverflow上我找不到任何相关的内容;谷歌也是如此。