Я использую VS 2012, и поскольку проекты установки были удалены из него, я должен использовать InstallUtil.exe.
У меня нет класса projectInstaller в приложении для Windows. Я запустил в командной строке:
installutil FilesMonitoringService.exe
Я получаю:
C:\Program Files\Microsoft Visual Studio 8\VС# > installutil "C:\Program Files\Mic rosoft Visual Studio 8\VС#\CSharpProjects\MyService\MyService\bin\Release\MyServ ICE.EXE" Утилита для установки Microsoft Framework (.NET Framework) версии 2.0.50727.42 Copyright (c) Корпорация Microsoft. Все права защищены.
Запуск транзакционной установки.
Начало этапа установки. См. Содержимое файла журнала для C:\Program Files\Microsoft Visual Studi. o 8\VС#\CSharpProjects\MyService\MyService\bin\Release\MyService.exe сборка прогресс. Файл находится в папке C:\Program Files\Microsoft Visual Studio 8\VС#\CSharpProj ЕКТС \MyService\MyService\Bin\Release\MyService.InstallLog. Установка сборки 'C:\Program Files\Microsoft Visual Studio 8\VС#\CSharpProjec ц \MyService\MyService\Bin\Release\MyService.exe. Затронутыми параметрами являются: logtoconsole = assemblypath = C:\Program Files\Microsoft Visual Studio 8\VС#\CSharpProjects \ MyService\MyService\Bin\Release\MyService.exe logfile = C:\Program Files\Microsoft Visual Studio 8\VС#\CSharpProjects\MySer вице \MyService\Bin\Release\MyService.InstallLog Нет публичных установщиков с атрибутом RunInstallerAttribute.Yes. в C:\Program Files\Microsoft Visual Studio 8\VС#\CSharpProjects\MyService \ MyService\bin\Release\MyService.exe.
Фаза установки успешно завершена, и начинается фаза фиксации. См. Содержимое файла журнала для C:\Program Files\Microsoft Visual Studi. o 8\VС#\CSharpProjects\MyService\MyService\bin\Release\MyService.exe сборка прогресс. Файл находится в папке C:\Program Files\Microsoft Visual Studio 8\VС#\CSharpProj ЕКТС \MyService\MyService\Bin\Release\MyService.InstallLog. Committing assembly 'C:\Program Files\Microsoft Visual Studio 8\VС#\CSharpProjec ц \MyService\MyService\Bin\Release\MyService.exe. Затронутыми параметрами являются: logtoconsole = assemblypath = C:\Program Files\Microsoft Visual Studio 8\VС#\CSharpProjects \ MyService\MyService\Bin\Release\MyService.exe logfile = C:\Program Files\Microsoft Visual Studio 8\VС#\CSharpProjects\MySer вице \MyService\Bin\Release\MyService.InstallLog Нет публичных установщиков с атрибутом RunInstallerAttribute.Yes. в C:\Program Files\Microsoft Visual Studio 8\VС#\CSharpProjects\MyService \ MyService\bin\Release\MyService.exe. Удалите файл InstallState, потому что нет инсталляторов.
Успешная фаза завершена.
Завершенная транзакция завершена.
C:\Program Files\Microsoft Visual Studio 8\VС# >
ОК, похоже, что все установлено. Но! Когда я перехожу к диспетчеру задач на страницу "Службы", я не могу найти свою услугу.
В чем может быть причина?
Спасибо заранее!
Редактирование: Я указал, что у меня нет класса projectInstaller, потому что, если я его добавлю (в конструкторе → добавить установщик) и запустим команду installutil, я получаю: (приблизительный перевод)
Установка файловMonitoringService... Создание файлов EventLogMonitoringService в журнале jornal Application...
На этом этапе установки произошло исключение.
System.Security.SecurityException: источник не найден, но не удалось найти ни один, ни все лог-журналы. Недоступно jornals: Безопасность.
Начинается стадия отдачи.
//много текста
Стадия отдачи выполнена
Выполняется операция установки. Не удалось выполнить настройку, и была выполнена отдача.
Итак, если я добавлю projectInstller в мою службу Windows, это определенно не сможет установить с помощью installUtil.
Вот сгенерированный код:
[RunInstaller(true)]
public partial class ProjectInstaller : Installer
{
public ProjectInstaller()
{
InitializeComponent();
}
private void serviceInstaller1_AfterInstall(object sender, InstallEventArgs e)
{}
private void serviceProcessInstaller1_AfterInstall(object sender, InstallEventArgs e)
{}
}
Mabby Мне нужно ввести код в метод afterInstall? Я также установил это свойство в окне properties
:
serviceInstaller1: ServiceName → FileMonitoringService, StartType → Автоматический
serviceProcessInstaller1: Учетная запись → Локальная система
Или он может быть реализован без projectInstaller?