Вопрос

Я пытаюсь установить службу 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 и выполните, вы не получите никаких ошибок.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top