为窗口服务创建安装项目

时间:2009-05-14 00:25:43

标签: visual-studio-2008 windows-services installation deployment-project

为Windows服务创建部署项目需要哪些必要的项目?在安装新版本之前,我需要卸载以前版本的服务。

5 个答案:

答案 0 :(得分:1)

MSDN在创建Windows服务和安装程序时有tutorial

答案 1 :(得分:0)

这几乎只是打电话:

net stop "MyService"
intallutil.exe /u MyService.exe

// Copy your exe into place
installutil.exe MyNewService.exe

// optional
net start "MyService"

这将停止旧服务,卸载它,然后将新副本复制到位,安装它,并(可选)启动它。

大多数安装人员都非常容易。唯一的另一个“问题”是确保安装程序仅限于安装到本地驱动器而不是网络路径,如果要安装该服务以在启动时自动运行。

答案 2 :(得分:0)

  1. 在Visual Studio中,转到服务项目中的服务文件(myservice.vb或myservice.cs)。

  2. 右键单击设计视图,然后选择属性。

  3. 在Porperties窗口的底部有一个Add Installer链接。点击它。

  4. 查看ServiceInstaller和ServiceProcessInstaller属性。

  5. 编译项目

  6. 要卸载以前的版本,请在命令提示符下运行:Installutil.exe / u c:\ myfolder \ myservicefile.exe

  7. 安装,在命令提示符下运行:Installutil.exe c:\ myfolder \ myservicefile.exe

  8. 就是这样。

    Installutil.exe位于Windows目录中的某个框架文件夹中。它不必包含在您的项目中。

答案 3 :(得分:0)

我将NSIS用于我的应用程序,而对于安装服务,您只需使用sc命令:

ExecWait 'sc create MyService binpath= "$INSTDIR\MyService.exe"'
ExecWait 'sc start MyService'

对于卸载:

ExecWait 'sc stop MyService'
ExecWait 'sc delete MyService'

效果很好。

答案 4 :(得分:0)

如果您已经创建了安装程序,则安装项目没有太多额外的工作要做。它允许您直接从Visual Studio安装和卸载。网上有很好的教程。

您将遇到的两个与服务相关的问题,以及如何解决这些问题:

  • 您卸载了某项服务,但无法重新安装,因为您收到服务正在等待删除的错误消息,并且需要重新启动。 =>关闭Windows服务管理器。它将发布任何引用,您可以重新安装您的服务。

  • 您在卸载服务可执行文件之前删除了它,现在您无法“卸载”它以清理注册表。 =>除了完全避免这种情况之外,我没有解决方案。