Ну, есть свободный путь и путь $$$. Я не могу документировать все здесь, но это должно помочь вам начать.
Кстати, да, установщик Windows - сводящая с ума технология. Я думаю, что во многих случаях задача будет простой, но на самом деле она усложняется. Вы определенно должны погрузиться, чтобы понять это.
В любом случае, здесь идет:
Бесплатно: WiX ( здесь )
Это бесплатный инструмент для создания файлов MSI из набора файлов конфигурации XML. Я оставлю вас, чтобы найти учебники в Интернете, но вот суть:
Вы можете сжать ваш EXE в установщик, используя следующий тег в файле WXS:
<Binary Id="MYEXE" src="<path to my exe?"/>
Затем вы можете создать пользовательское действие, которое запускает ваш EXE-файл:
<CustomAction Id="EXECA_CALLMYEXE" Return="check" Execute="deferred" BinaryKey="MYEXE"
ExeCommand="my command line"/>
Затем вы вставляете свое пользовательское действие в InstallExecuteSequence
в соответствующем месте (я почти всегда запускаю мое где-то между InstallInitialize
и InstallFinalize
)
<InstallExecuteSequence>
<Custom Action="EXECA_CALLMYEXE" After="InstallInitialize"><![CDATA[Not REMOVE]]></Custom>
$$$: Get InstallShield ( ЗДЕСЬ )
Сначала создайте проект "Basic MSI" и убедитесь, что вы хотите, чтобы вы не генерировали файл setup.exe . Вы устанавливаете это в настройках выпуска.
Тогда вы, по сути, делаете то же самое, что и с WiX, но у вас есть для этого пользовательский интерфейс.
- Вы можете указать свой вспомогательный EXE-файл, используя Direct Editor и поместив свой EXE-файл в таблицу 'Binary'
- Вы можете создать пользовательское действие для запуска этого EXE-файла с узла «Пользовательские действия» в дереве слева
- Пользовательское действие можно вставить, выбрав «Установить последовательности» и поместив его в
InstallExecuteSequence
где-то между InstallInitialize
и InstallFinalize
, как я уже говорил.
Извините, я не могу быть более подробным, но это должно быть хорошим началом.