How to resolve "'installutil' is not recognized as an internal or external command, operable program or batch file."?
This is a tiny bit off-topic but I've stopped using InstallUtil to install my services. It's is really easy to just add it to the service itself. Add a reference to System.Configuration.Install
(not available in the Client Profile editions if I remember right) and then update your Main()-function in Program.cs like this.
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);
}
}
Then you can just call WindowsService1.exe
with the --install
argument and it will install the service and you can forget about InstallUtil.exe
.
This is what I have done to make it go away:
Found where installutil resides on my PC. In my case it was C:\Windows\Microsoft.NET\Framework\v4.0.30319
Opened a command prompt as an Administrator and changed current directory to above: 'cd C:\Windows\Microsoft.NET\Framework\v4.0.30319'
Then entered: 'installutil C:\MyProgramName.exe'
Interestingly, prior to above solution I tried different options, among them adding C:\Windows\Microsoft.NET\Framework\v4.0.30319 to the System Path variable, but it still could not find it.
Wish you all smooth installation.
InstallUtil.exe is typically found under one of the versions listed under C:\Windows\Microsoft.NET\Framework.
In my case it is under v4.0.30319.
You could just check your path:
echo %PATH%
should give you a list of directories searched for executables.