不使用 Visual Studio 的 installutil.exe 安装 Windows 服务

不使用 Visual Studio 的 installutil.exe 安装 Windows 服务

几天后,我将在临时机器上安装我在开发机器(最终托管 WCF-over-SOAP 服务)上开发的 Windows 服务。

由于我有 Visual Studio 2013,因此我可以使用 VS 命令提示符来安装该服务installutil.exe

但目标机器运行的是普通的Windows Server 2008 R2

如何在没有的 WS2008 上安装 .NET Windows 服务installutil.exe

答案1

不幸的是,从 Visual Studio 2012 开始,微软删除了 Visual Studio 的内置“安装项目”功能,我表示意见是对其长期业务合作伙伴 InstallShield(由 Flexera 软件拥有)的认可。他们删除了此功能,因为他们想引导客户使用极其昂贵的第三方软件,使用 InstallShield 以图形方式构建 Windows 安装程序。现在,如果您想在 Visual Studio 2012 或 2013 中以图形方式设计安装项目,您必须:

  1. 下载免费但功能极其有限的“InstallShield LE”,它不断试图向你推销其极其昂贵的产品,并且无法完成你可能需要的 99% 有用的功能(尝试后强烈不推荐);

  2. 学习威克斯并使用免费的 WiX 工具包来构建安装程序(不是特别容易,但可行);

  3. 学习奈米科技并使用免费的 NSIS 工具包来构建安装程序(不是特别容易,但可行);

  4. 按照示例编写一个 C# 程序,以编程方式注册服务在 Stack Overflow 上。您的代码将依赖于System.Configuration.Install程序集,该程序集可在客户端配置文件中找到(幸运的是)。请参阅微软了解详情。这也许是“最简单”的方法;您只需将您的服务作为具有 Main 方法的 EXE 发送即可……

答案2

尽管某些文档指出“InstallUtil”是作为 Visual Studio 的一部分安装的,但即使未部署 Visual Studio,“InstallUtil”仍会存在于服务器上。根据您的 Windows 版本和所需的 .NET 框架,可以在此处找到“installutil”工具:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe C:\Windows\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe C:\WINNT\Microsoft.NET\Framework\v1.1.4322 installutil

使用与服务所针对的 .NET Framework 版本匹配的版本。

答案3

干得好:

  1. 安装.net框架
  2. 转到运行 + cmd,然后单击确定或直接转到窗口命令提示符
  3. 类型

    cd C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe E:\test\test\bin\Debug\test.exe
    

    E:\test\test\bin\Debug\是我的窗口服务设置保存的路径, C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe存在的路径。在InstallUtil.exe存在中。和路径必须留一个空格,否则会引发错误。

  4. 享受..您的服务已安装...现在您可以从控制面板>管理工具>服务进行检查。

相关内容