62

刚刚尝试通过以下方式运行应用程序:

在此处输入图像描述

我已浏览到其中包含应用程序的目录WindowsService1.exe,然后尝试了该命令Installutil WindowsService1.exe,但出现以下错误...

在此处输入图像描述

由于 VS 只安装了一两天,我担心该安装可能有问题,因为它应该识别 installutil。

我可以执行一些基本诊断以确保 VS 命令提示符找到它应该找到的所有程序吗?

编辑

如果我PATH在命令提示符下运行,我会看到以下内容:

在此处输入图像描述

4

12 回答 12

138

这有点离题,但我已经停止使用 InstallUtil 来安装我的服务。将其添加到服务本身非常容易。添加对System.Configuration.Install(如果我没记错的话,在客户端配置文件版本中不可用)的引用,然后像这样在 Program.cs 中更新您的 Main() 函数。

static void Main(string[] args) {
    if (Environment.UserInteractive) {
        var parameter = string.Concat(args);
        switch (parameter) {
            case "--install":
                ManagedInstallerClass.InstallHelper(new[] { Assembly.GetExecutingAssembly().Location });
                break;
            case "--uninstall":
                ManagedInstallerClass.InstallHelper(new[] { "/u", Assembly.GetExecutingAssembly().Location });
                break;
        }
    } else {
        ServiceBase[] servicesToRun = { 
            new Service1() 
        };
        ServiceBase.Run(servicesToRun);
    }
}

然后你可以WindowsService1.exe--install参数调用它,它会安装服务,你可以忘记InstallUtil.exe.

于 2012-10-03T07:35:18.683 回答
43

这就是我为使它消失所做的事情:

  1. 找到 installutil 驻留在我的 PC 上的位置。就我而言,它是 C:\Windows\Microsoft.NET\Framework\v4.0.30319

  2. 以管理员身份打开命令提示符并将当前目录更改为上述目录:'cd C:\Windows\Microsoft.NET\Framework\v4.0.30319'

  3. 然后输入:'installutil C:\MyProgramName.exe'

有趣的是,在上述解决方案之前,我尝试了不同的选项,其中将 C:\Windows\Microsoft.NET\Framework\v4.0.30319 添加到系统路径变量中,但仍然找不到。

祝大家安装顺利。

于 2013-12-10T07:15:10.670 回答
27

InstallUtil.exe 通常位于 C:\Windows\Microsoft.NET\Framework 下列出的版本之一下。

就我而言,它在 v4.0.30319 下。

你可以检查你的路径:

回显 %PATH%

应该给你一个搜索可执行文件的目录列表。

于 2012-10-03T07:25:28.357 回答
5

在 bytes.com 上找到了解决方案

安装服务的代码:

@ECHO Installing Service...
@SET PATH=%PATH%;C:\Windows\Microsoft.NET\Framework\v4.0.30319\
@InstallUtil  C:\Unlock_4_Service\bin\Debug\Unlock_4_Service.exe
@ECHO Install Done.
@pause

@InstallUtil <Windows 服务的.exe 文件路径>

卸载服务的代码

@ECHO Installing Service...
@SET PATH=%PATH%;C:\Windows\Microsoft.NET\Framework\v4.0.30319\
@InstallUtil /u C:\Unlock_4_Service\bin\Debug\Unlock_4_Service.exe
@ECHO Uninstall Done.
@pause

@InstallUtil /u <你的windows服务的.exe文件路径>

将 2 个文件另存为 service_install.bat 和 service_uninstall.bat

每次您必须安装或卸载服务时,以管理员身份运行文件。 在此处输入图像描述

于 2015-06-16T04:29:59.923 回答
4

在使用命令行安装服务之前...

使用2个步骤:

  1. cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
  2. InstallUtil.exe 路径\MyWindowsService.exe
于 2019-02-19T09:46:29.030 回答
4

只需installUtil.exe在环境变量中添加路径即可解决此问题。

例子:

 C:\Windows\Microsoft.NET\Framework\v4.0.30319
于 2020-01-07T12:49:52.757 回答
2

除非您修改了路径,否则以下内容应在开发人员命令提示符而不是 cmd 中可用:

  • 构建
  • mstest(终极版)
  • csc
  • 伊斯兰教

... ETC

如果这些不可用,则您的安装可能已损坏。

于 2012-10-03T07:24:14.577 回答
2

这可能是因为您没有以管理员身份或具有管理权限打开命令提示符。

于 2014-05-07T09:33:24.407 回答
2

以管理员模式打开visual studio命令提示符,即右键单击vs命令提示符并以管理员身份运行

于 2016-11-30T09:54:37.123 回答
2

根据微软页面

如果您使用的是 Visual Studio 命令提示符,InstallUtil.exe则应该在系统路径上。如果没有,您可以将其添加到路径中,或使用完全限定的路径来调用它。此工具随 .NET Framework 一起安装,其路径为:

%WINDIR%\Microsoft.NET\Framework[64]\

例如,对于 .NET Framework 4 或 4.5.* 的 32 位版本,如果您的 Windows 安装目录为 C:\Windows,则路径为:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe

对于 .NET Framework 4 或 4.5.* 的 64 位版本,默认路径为:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe

于 2018-10-29T13:15:07.800 回答
1

我从 2017 年回到 2015 年之后得到了这个,我仍在使用 2017 年的命令提示符。有什么要检查的。

于 2017-05-25T19:21:15.277 回答
1
Add this in windows Environmental variables
First: Right click on My computer or This PC
Second: Click on Environmental Variables
Third: add this path after clicking on path
C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe
于 2019-01-29T09:24:02.537 回答