如何解决“'installutil'不被识别为内部或外部命令,可操作的程序或batch file。

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

在这里输入图像说明

我已经浏览了一个应用程序WindowsService1.exe的目录,然后尝试命令Installutil WindowsService1.exe但得到了以下错误…

在这里输入图像说明

因为VS只安装了一两天,所以我担心这个安装可能会出错,因为它应该识别installutil。

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

编辑

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

在这里输入图像说明

这是一个小题外话,但我已经停止使用InstallUtil来安装我的服务。 将它添加到服务本身是很容易的。 添加对System.Configuration.Install的引用(如果我没有记错的话,在客户端configuration文件版本中不可用),然后像这样更新Program.cs中的Main()函数。

 static void Main(string[] args) { if (Environment.UserInteractive) { string 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 ServiceBase[] { new Service1() }; ServiceBase.Run(servicesToRun); } } 

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

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

在我的情况下,它是在v4.0.30319。

你可以检查你的path:

回声%PATH%

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

这就是我所做的,使它消失:

  1. findinstallutil驻留在我的电脑上。 在我的情况下是C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319

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

  3. 然后input:'installutil C:\ MyProgramName.exe'

有趣的是,在上面的解决scheme之前,我尝试了不同的选项,其中包括将C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319添加到系统pathvariables,但仍无法find它。

祝大家顺利安装。

除非您修改了path,否则在开发人员命令提示符下应该提供以下内容,而不是cmd:

  • 的MSBuild
  • mstest(用于终极)
  • 中信build投
  • ILASM

…等

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

在bytes.com上find解决scheme

安装服务的代码:

 @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文件path>

代码来卸载服务

 @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 <.exe文件path的Windows服务>

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

每次需要安装或卸载服务时,以pipe理员身份运行这些文件。 在这里输入图像说明

这可能是因为您没有以pipe理员或pipe理特权打开命令提示符。

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

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