Los*_*nos 46 .net windows-services installutil
SC.exe和InstallUtil都安装/卸载Windows服务.但它们似乎没有同样的方式.
有什么不同?
例如,当Sc create愉快地安装服务时,InstallUtil失败(某些文件或依赖项未找到错误).太陌生了; 如果我在控制台中运行net start,则不会显示该服务.但它确实出现在服务GUI中.当我尝试卸载时会发生这种变化.
我自己写了这个服务,早期的版本工作.Dotnet3.5.
Han*_*ant 27
是的,安装服务并不是特别复杂.它只需要编写一些注册表项.您可以查看Regedit.exe,导航到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services.
Sc.exe也可以使用提供的命令行参数写入这些键.然而,这不是正确的方法.InstallUtil.exe的意思是它可以激活自定义安装代码.服务作者编写的代码.这并不罕见,服务倾向于在他们的注册密钥中填充配置信息供自己使用.当你看一下Regedit时,你会看到很多证据.
Kat*_*uiz 13
我更喜欢sc.exe而不是installutil.exe百万次.
InstallUtil强制你添加可怕的ProjectInstaller类(我相信)并在那里硬编码服务名称和服务描述.
这使得很难同时在同一台机器上运行同一服务的两个版本.
这就是我根本不使用InstallUtil.exe的原因.此外,由于之前的响应:您需要它在您的部署包中.sc.exe已经在任何Windows XP及以上版本(我相信).
主要区别在于InstallUtil不是用于服务安装的实用程序,而是作为常规安装程序工具.从MSDN页面,您可以看到:
"安装程序工具是一个命令行实用程序,允许您通过执行指定程序集中的安装程序组件来安装和卸载服务器资源.此工具与System.Configuration.Install命名空间中的类一起使用."
所以它可以安装服务,但它有许多其他好处.基于Installer Class创建可执行文件 使您可以对整个安装/卸载过程进行编程控制.例如,ServiceInstaller和ServiceProcessInstaller用于服务安装.
'Sc'实用程序用于服务控制,'create'命令将根据所选的可执行文件创建服务.
在您的示例中
1.它不应与InstallUtil一起安装,并且错误响应应该非常清楚.
2. 由于安装代码中的错误而导致InstallUtil失败,并且使用sc create可能会为您创建错误的服务.检查{exe_name} .InstallLog以获取详细信息.
| 归档时间: |
|
| 查看次数: |
32080 次 |
| 最近记录: |