Правильный путь InstallUtil к синтаксису файла?
-
16-09-2019 - |
Вопрос
Я пытаюсь установить службу Windows с помощью пакетного файла, назовем его «installservice.bat».Внутри файла у меня есть следующие команды:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe -i ".\MyService.exe" pause
Когда я запускаю командный файл (работаю от имени администратора в Vista), я получаю это:
Exception occurred while initializing the installation: System.IO.FileNotFoundException: Could not load file or assembly 'file:///C:\Win dows\system32\MyService.exe' or one of its dependencies. The system cannot f ind the file specified..
Фактическая служба находится по адресу C:\Services\MyService.exe.Какой должна быть часть «.\MyService.exe», чтобы она работала правильно?
Решение
Почему бы просто не указать InstallUtil полный путь?
Другие советы
На всякий случай, если кто-то еще придет сюда из-за этой ошибки...при запуске InstallUtil.exe, если путь к вашему сервису содержит пробелы, заключите его в кавычки. Да, это очевидно, но ошибка, которую выдает, если вы этого не сделаете, не является таковой.
неправильный...
C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe C:\Users\joeblow\Documents\Visual Studio 2010\Projects\WindowsService1\WindowsService1\bin\Debug\WindowsService1.exe
верно...
C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe "C:\Users\joeblow\Documents\Visual Studio 2010\Projects\WindowsService1\WindowsService1\bin\Debug\WindowsService1.exe"
скопируйте папку bat-файла MyService.exe и выполните, вы не получите никаких ошибок.