Inf*_*nd' 28 .net c# windows-services
安装Windows服务的唯一方法我知道是使用" Visual Studio 2008命令提示符 ",有没有办法在没有安装Visual Studio的机器上安装windows-service(假设.Net版本2.X是安装.)
Kla*_*sen 44
你可以使用installUtil它驻留在.net框架文件夹中(在我的机器上它是C:\ Windows\Microsoft.NET\Framework\v2.0.50727).
小智 8
您可以将Windows服务安装为MSI.将MSI创建为附加到服务项目的普通项目.
在您的服务项目中创建安装程序类并添加组件serviceInstaller和serviceProcessInstaller并根据需要进行配置.将项目输出从服务项目添加到MSI项目,将安装,提交,回滚和卸载的MSI项目的自定义操作设置为服务项目的输出.
根据需要以任何其他方式更改MSI项目,构建MSI,然后您就可以将服务安装到任何没有VS.NET的Windows计算机或使用InstallUtil实用程序应用程序.MSI还将处理卸载等.
serviceProcessInstaller组件的属性可以为Account运行Service而设置,serviceInstaller包含可以设置的属性,例如Service Name.您必须设置ServiceName及其Parent,MSDN将提供有关如何使用这两个组件的良好信息.
希望这可以帮助.
干杯.
相关的MSDN页面:http://msdn.microsoft.com/en-us/library/sd8zc8ha%28VS.80%29.aspx
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\installutil.exe yourproject.exe
Run Code Online (Sandbox Code Playgroud)
您无需安装Visual Studio即可使用.
是的,installutil.exe工作得很好,但我厌倦了必须记住启动Visual Studio 2008命令提示符才能使用它.总是,我打开一个普通的控制台只是为了意识到这个installutil.exe位置不是路径的一部分.
幸运的是,它installutil.exe是一组反射调用的包装器.来自MSDN,
Installutil.exe使用反射检查指定的程序集并查找设置为true的所有Installer类型RunInstallerAttribute.然后,该工具在该Installer类型的每个实例上执行Install Method或Uninstall Method .
这意味着可以向Windows服务添加代码以使其自行安装和卸载.通过这样做,我不再需要installutil.exe或Visual Studio 2008命令提示符来运行它.
我已经提供了如何在此处执行此操作的分步指南.该-install选件安装Windows服务并启动它.相反,该-uninstall选项会停止服务并将其卸载.