MSDN.WhiteKnight - Stack Overflow answers
Ответ на "Создание собственного Windows инсталлятора"
Answer 778117
Создавать инсталлятор полностью с нуля (без использования модели Windows Installer), только ради красивого интерфейса, наверное не стоит. Установить приложение легко, сложнее корректно его удалить во всех ситуациях, не оставив мусора и не запоров настройки системы - особенно если программа меняет ассоциации файлов, устанавливает свои расширения проводника, регистрирует COM-объекты и т.п.
Инсталлятор в Windows Installer состоит из двух частей:
Файл *.MSI - это база данных, которая содержит информацию о структуре приложения, его файлы (либо информацию, где они лежат, если они не встроенные), перечень изменений в реестре и др. Его можно создавать с помощью стандартной утилиты Orca.exe из Windows SDK или с помощью какой-либо сторонней утилиты.
Приложение-обертка (setup.exe), которое проверяет наличие необходимой версии Windows Installer, при необходимости предлагает пользователю ее установить, а затем запускает установку самой программы с помощью функции MsiInstallProduct.
Они могут по разному между собой соотноситься (MSI внутри EXE, MSI в папке рядом с EXE, EXE скачивает MSI с интернета), но суть одинакова.
Приложение-обертка может использовать либо стандартный интерфейс Windows Installer, либо отключить его и зарегистрировать свой (вызовами
MsiSetInternalUI
/MsiSetExternalUI
передMsiInstallProduct
). Можно использовать любую GUI-технологию для создания своего интерфейса, а затем передать параметры в MSI с помощью строки свойств типаTARGETDIR="C:\Program Files\MyApp" ADDLOCAL="Feature1, Feature2"
.См. данные разделы документации:
Общая документация по Windows Installer
Content is retrieved from StackExchange API.
Auto-generated by ruso-archive tools.