Можно ли сделать Setup для сервиса, чтобы руками не запускать InstalUtil?

shakm
Дата: 02.02.2010 09:42:50
Кто-нибудь подскажет, можно ли как-то по простому, настройками проекта-инсталлятора сделать Setup для сервиса, чтобы он сам инсталлировал сервис и деинсталлировал, чтобы небыло необходимоси вручную или скриптами запускать InstallUtil?
Roha
Дата: 02.02.2010 10:41:31
1. В проекте WindowsService есть класс, допустим, Service1 - открываешь его дизайнер.
2. В дизайнере Service1 правый клик - Add Installer -> к проекту добавляется ProjectInstaller.
3. В дизайнере ProjectInstaller есть два сервиса в их свойствах настройки службы(имя от которого запускается служба, имя службы и т.д.)
4. Добавляем в Solution проект Setup (Application Folder->Add->Project Output-> в диалоговом окне выбираем Primary Output-> жмем OK).
5. Компилируем.

Если что не понятно спрашивай.
shakm
Дата: 02.02.2010 13:55:37
Roha,

Ну тау это все в доке написано. Но инсталлятор при этом просто копирует файлы в установвочную папку, указанную в настройках проекта, и все... А кто же поставит сам сервис? Везде в доках только и написано - используйте InctsllUtil. И все...
Это получается, я должен в кастомных событиях проекта Setup запустить этот InstallUtil, да еще скрыть его как окно, а потом распарсить его результат InstallState.

Или у меня что-то не так?
Roha
Дата: 02.02.2010 14:22:20
автор
Или у меня что-то не так?

Прошу прощения не дописал.
Еще в Custom Action Editor в папку Install и UnInstall->Add Custom Action и с папки Application Folder добавь твой Primary Output

Вот примерчик скомпилируешь. Имя службы будет "Service1FORshakm"