如何解决“'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可执行文件的目录列表。
这就是我所做的,使它消失:
-
findinstallutil驻留在我的电脑上。 在我的情况下是C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319
-
以pipe理员身份打开命令提示符,并将当前目录更改为上述内容:'cd C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319'
-
然后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年的命令提示符。 有东西要检查。