刚刚尝试通过以下方式运行应用程序:
我已浏览到其中包含应用程序的目录WindowsService1.exe
,然后尝试了该命令Installutil WindowsService1.exe
,但出现以下错误...
由于 VS 只安装了一两天,我担心该安装可能有问题,因为它应该识别 installutil。
我可以执行一些基本诊断以确保 VS 命令提示符找到它应该找到的所有程序吗?
编辑
如果我PATH
在命令提示符下运行,我会看到以下内容:
刚刚尝试通过以下方式运行应用程序:
我已浏览到其中包含应用程序的目录WindowsService1.exe
,然后尝试了该命令Installutil WindowsService1.exe
,但出现以下错误...
由于 VS 只安装了一两天,我担心该安装可能有问题,因为它应该识别 installutil。
我可以执行一些基本诊断以确保 VS 命令提示符找到它应该找到的所有程序吗?
编辑
如果我PATH
在命令提示符下运行,我会看到以下内容:
这有点离题,但我已经停止使用 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
.
这就是我为使它消失所做的事情:
找到 installutil 驻留在我的 PC 上的位置。就我而言,它是 C:\Windows\Microsoft.NET\Framework\v4.0.30319
以管理员身份打开命令提示符并将当前目录更改为上述目录:'cd C:\Windows\Microsoft.NET\Framework\v4.0.30319'
然后输入:'installutil C:\MyProgramName.exe'
有趣的是,在上述解决方案之前,我尝试了不同的选项,其中将 C:\Windows\Microsoft.NET\Framework\v4.0.30319 添加到系统路径变量中,但仍然找不到。
祝大家安装顺利。
InstallUtil.exe 通常位于 C:\Windows\Microsoft.NET\Framework 下列出的版本之一下。
就我而言,它在 v4.0.30319 下。
你可以检查你的路径:
回显 %PATH%
应该给你一个搜索可执行文件的目录列表。
在 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
每次您必须安装或卸载服务时,以管理员身份运行文件。
在使用命令行安装服务之前...
使用2个步骤:
只需installUtil.exe
在环境变量中添加路径即可解决此问题。
例子:
C:\Windows\Microsoft.NET\Framework\v4.0.30319
除非您修改了路径,否则以下内容应在开发人员命令提示符而不是 cmd 中可用:
... ETC
如果这些不可用,则您的安装可能已损坏。
这可能是因为您没有以管理员身份或具有管理权限打开命令提示符。
以管理员模式打开visual studio命令提示符,即右键单击vs命令提示符并以管理员身份运行
根据微软页面:
如果您使用的是 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
我从 2017 年回到 2015 年之后得到了这个,我仍在使用 2017 年的命令提示符。有什么要检查的。
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