Правильный синтаксис пути InstallUtil к файлу?

Я пытаюсь установить службу 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" для правильной работы?

Ответ 1

Почему бы не просто загрузить InstallUtil полный путь?

Ответ 2

На всякий случай, когда кто-то приходит сюда для этой ошибки... при запуске 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"

Ответ 3

скопируйте папку bat файла MyService.exe и запустите, вы не получите никаких ошибок.