Как правильно настроить установщик? - PullRequest
0 голосов
/ 26 января 2012

Мой сценарий выглядит следующим образом:

У меня есть клиент-серверное приложение. Клиент развертывается через пакет MSI. Я хотел бы настроить MSI для включения некоторых деталей, специфичных для каждой установки (то есть мне нужно записать адрес сервера в один из моих файлов конфигурации; этот адрес отличается в каждой установке).

Я рассматриваю следующие варианты:

  1. Распакуйте MSI, распакуйте CAB, измените файл, сожмите CAB, создайте MSI (как описано в этой ссылке ). Проблема в том, что мне нужно, чтобы это делалось автоматически (без графического интерфейса, без вмешательства пользователя)

  2. Передать адрес в качестве параметра в MSI. Затем во время установки прочитайте этот параметр и измените файл. Это гораздо менее желательно, поскольку создание файла конфигурации на клиенте - это то, чем я сейчас не занимаюсь, и это означает добавление другого компонента к клиенту.

  3. Создание MSI с нуля на сервере.

Если у кого-то есть опыт в создании чего-то подобного, я был бы признателен за отзыв.

1 Ответ

1 голос
/ 26 января 2012

Что вы используете, чтобы создать свой установщик?Я знаю, что у WiX и InstallShield есть собственные действия, предназначенные для обновления файлов XML с помощью операторов XPath.Вы можете сделать что-то вроде

Для Foo.Exe.Config // appSettings / Add [@ key = "Server"] set Value = "[SERVERNAMEPROPERTY]"

Тогда вы можете написать пользовательскийдиалоговое окно, которое запрашивает у пользователя значение для установки свойства.Вы также можете выполнить автоматическую установку с помощью:

msiexec / i foo.msi / qn SERVERNAMEPROPERTY = MyServerName

...