Я не эксперт по различным установочным решениям, но да, это можно сделать. Я знаю, потому что мой проект делает это.
Мы исторически использовали InstallShield , но мы активно переходим на InstallAware по причинам, не связанным с этим обсуждением. Честно говоря, я подозреваю, что любое решение для инсталлятора (например, InstallShield, InstallAware, Wix и т. Д.) Может быть использовано для этого при условии, что у него есть средства для выполнения пакетного скрипта как части процесса установки (подробнее об этом чуть позже) , Фактически, пока мы создаем наш новый установщик с использованием InstallAware, мы временно поставляем наше приложение на основе WPF и службу Windows, используя WinZip самораспаковывающийся исполняемый файл. Самораспаковщик WinZip помещает приложение WPF в папку C: \ Program Files \ \ , помещает службу Windows в C: \ Program Files \ \ Common , а затем устанавливает и запускает службу Windows.
Хитрость во всем этом, конечно же, заключается в установке службы Windows. Первоначально мы использовали утилиту InstallUtil.exe , чтобы сделать это, но нам пришлось ошибиться и предостеречь ее с нашим установщиком, потому что мы не могли не можем проверить, можем ли мы зависеть от того, какая утилита доступна в целевой системе. В какой-то момент пути я прочитал этот ответ @ Marc Gravell . Это послужило отправной точкой для моего ответа здесь , в котором приведены подробные инструкции по установке самой службы Windows из командной строки без необходимости InstallUtil.exe .
Так что в качестве набора инструкций ...
- Обновите службу Windows на основе сведений здесь .
Создайте файл .bat с помощью следующих команд:
кд
.exe -установка
Сборка установщика для вашей службы WPF и службы Windows. Обратите внимание, что это должно быть сосредоточено на развертывании файлов в правильных местах. Вам нужно будет включить файл .bat как часть установщика. Если ваше решение для установки позволяет вам копировать файлы во временную папку, которая удаляется в конце процесса установки, скопируйте файл .bat в это расположение, поскольку он не понадобится после завершения установки.
- Наконец, запустите файл .bat из вашего установщика во время установки. Это установит Службу Windows.
На самом деле все не так сложно.
Следует помнить одну вещь: ваши пользователи должны планировать запуск программы установки от имени администратора. Поскольку установка службы Windows обновляет реестр, пользователи без прав администратора могут столкнуться с проблемами при установке вашего продукта.
НТН