Как разрешить "'installutil' не распознается как внутренняя или внешняя команда, оперативная программа или командный файл."?
Просто попробовал запустить приложение через:
![enter image description here]()
Я просмотрел каталог с приложением WindowsService1.exe
в нем, а затем попробовал команду Installutil WindowsService1.exe
, но получил следующую ошибку...
![enter image description here]()
Поскольку VS был установлен только на день или два, я беспокоюсь, что что-то может быть неправильно с этой установкой, поскольку оно должно распознавать installutil.
Есть ли какая-то базовая диагностика, которую я могу выполнить для обеспечения того, чтобы VS Command Prompt находила все программы, которые она должна была выполнять?
ИЗМЕНИТЬ
Если я запустил PATH
в командной строке, я вижу следующее:
![enter image description here]()
Ответы
Ответ 1
Это крошечный бит вне темы, но я прекратил использовать InstallUtil для установки моих сервисов. Очень просто добавить его в саму службу. Добавьте ссылку на System.Configuration.Install
(недоступно в выпусках профиля клиента, если я правильно помню), а затем обновите функцию Main() в Program.cs следующим образом.
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);
}
}
Затем вы можете просто вызвать WindowsService1.exe
с аргументом --install
, и он установит службу, и вы можете забыть о InstallUtil.exe
.
Ответ 2
Вот что я сделал, чтобы заставить его уйти:
-
Найдите, где installutil находится на моем ПК. В моем случае это был 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 в переменную System Path, но оно все еще не могло найти его.
Желаем вам полной плавной установки.
Ответ 3
InstallUtil.exe обычно находится в одной из версий, перечисленных в разделе C:\Windows\Microsoft.NET\Framework.
В моем случае это находится под v4.0.30319.
Вы можете просто проверить свой путь:
echo% PATH%
должен предоставить вам список каталогов, которые искали исполняемые файлы.
Ответ 4
Найден решение на 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 <.exe путь к файлу вашей службы Windows >
Код для удаления службы
@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 путь к файлу вашей службы Windows >
Сохраните 2 файла как service_install.bat и service_uninstall.bat
Запускайте файлы как администраторы, каждый раз, когда вам нужно установить или удалить службу.
![enter image description here]()
Ответ 5
Перед установкой службы с помощью командной строки...
использовать 2 шага:
- cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
- InstallUtil.exe Путь \MyWindowsService.exe
Ответ 6
Если вы не изменили свой путь, в командной строке разработчика не должно быть указано следующее:
- MSBuild
- mstest (для конечной)
- csc
- ILASM
... и т.д.
Если они недоступны, у вас может быть поврежденная установка.
Ответ 7
Возможно, это произошло потому, что вы не открыли Командную строку в качестве администратора или административные привилегии.
Ответ 8
открыть командную строку Visual Studio в режиме администратора, то есть щелкнуть правой кнопкой мыши по командной строке vs и запустить как администратор
Ответ 9
По данным Microsoft Page :
Если вы используете командную строку Visual Studio, InstallUtil.exe
должен находиться в системном пути. Если нет, вы можете добавить его к пути или использовать полный путь для его вызова. Этот инструмент устанавливается вместе с .NET Framework, и его путь:
%WINDIR%\Microsoft.NET\Framework[64]\
Например, для 32-разрядной версии .NET Framework 4 или 4.5. *, Если каталог установки Windows - C:\Windows, путь:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe
Для 64-разрядной версии .NET Framework 4 или 4.5. * Путь по умолчанию:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe
Ответ 10
Я получил это после того, как вернулся к 2015 году с 2017 года, и я все еще использовал командную строку 2017. Что-то проверить.
Ответ 11
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