Добавить файл конфигурации в установщик (MSI)
Как я могу добавить файл конфигурации со специальным уникальным сгенерированным токеном в файл MSI? Идея заключается в том, что пользователь регистрирует клиентский компьютер, а установщик получает уникальные значения в файле конфигурации. Я читал о msidb.exe, но я хотел бы знать, есть ли лучшее, более чистое и простое решение. Есть идеи?
1 ответ
Добавление пользовательских файлов: Вы можете добавить пользовательский файл в MSI, есть несколько способов сделать это, но это довольно сложно и неуклюже. Коммерческие инструменты, такие как Wise (больше не доступны), позволяют легко добавлять такие файлы. Вы также можете вручную редактировать таблицы Media и Cab. Я давно написал этот ответ с некоторыми деталями: добавление внешнего CAB в MSI с внутренним.
Параметризованные установки: это маркер шифрования или лицензионный ключ? Я предполагаю, что вы хотите предоставить некоторые пользовательские параметры для установки? Что это влечет за собой? Лицензия? Имена серверов? Имена пользователей? URL-адрес? Или это сгенерированный двоичный файл для ваших пользователей, который не может быть легко сгенерирован при установке? Если это просто параметры конфигурации, лучшим способом может быть использование преобразования для установки параметров установки или предоставление параметров для MSI, когда он устанавливается через командную строку msiexec.exe. Использование преобразований и использование параметров командной строки для msiexec.exe
оба описаны здесь: Как лучше использовать файлы MSI. Essentially you set properties that will be inserted into configuration files during installation
, По сути, преобразования - это небольшие фрагменты базы данных с настройками, применяемыми во время установки, чтобы изменить исходную установку с пользовательскими настройками. По сути, это то, что вам нужно. Может быть. Преобразования в принципе также могут быть сгенерированы автоматически, применяя немного локоть и терпение.
Конфигурация MSI: Как только ваши параметры были переданы в процесс установки, вы можете записать их в INI
файлы легко с помощью встроенных конструкций MSI. Есть также расширения во всех основных инструментах, которые позволяют писать XML
, Например, есть несколько других расширений для настройки параметров брандмауэра, и Бог знает что. О каком файле конфигурации мы говорим? Вы также можете использовать настраиваемые действия, чтобы в основном делать все, что вы хотите в плане обновления файлов и других вещей в системе - за счет всех возможных ошибок, возникающих при развертывании ваших собственных решений.
Приложение. Часто после установки лучше выполнить настройку приложения, используя само приложение. Это может значительно упростить процесс отладки и поддержки приложения, а не зависеть от настройки "одним выстрелом" без интерактивных сообщений об ошибках, о которых пользователи могут сообщить в службу поддержки.
Описание: Итак, по сути, я говорю, что вы можете либо внедрить файл так, как вы предлагаете, вы можете предоставить параметры для установки через преобразования или командную строку, чтобы записать или сгенерировать файлы на диске, или вы можете заставить свое приложение генерировать бинарный файл из настроек, которые вы записали в INI или XML файлы при запуске приложения. Вы также можете получить пользовательские значения, которые хотите записать в файлы конфигурации, через графический интерфейс установки, а не через свойства PUBLIC в командной строке.
Некоторые ссылки: