У меня есть существующая (на основе C #) служба Windows, производная от класс установщика, и в настоящее время я использую предоставленную MS, командную строку InstallUtil, чтобы установить и удалить. Это отлично работает, и как часть моей системы я прикрепил обработчики событий к событиям AfterUninstallEventHandler и CommittedEventHandler. В моем случае я просто использую их для записи сообщений в пользовательский журнал событий, показывая дату и время установки и удаления, а также версии программы.
В настоящий момент я экспериментирую с Wix v3.5 Beta 1, чтобы упаковать кучу моих вещей, включая этот service, и я использую Wix ServiceInstall и ServiceControl, чтобы заменить то, что я сделал вручную с помощью InstallUtil.
Однако похоже, что Wix использует совершенно другой механизм для установки служб, чем InstallUtil. Это видно по названию и описанию службы, контролируемой Wix (в отличие от того, что было встроено в служебную программу), и что мои события больше не запускаются (что, если используется другой механизм установки, я сомневаюсь, что они ).
Так может ли Wix выполнить установку службы таким же образом, как InstallUtil, или я просто собираюсь мириться с различиями?
Изменить
Кристофер предложил вынести определения, связанные с сервисами, из моего кода и перенести их в проект установщика Wix. Это беспокоит меня, так как теперь мне нужно либо найти способ обмена информацией между двумя отдельными системами (которые я не знаю, как делиться между кодом и проектами Wix), либо смириться с определением информации в двух разных местах (очень плохо программная практика).