2014-12-12 4 views
0

Был бы признателен за любую помощь в том, как я могу установить MSI и изменить значения свойств по умолчанию через XML-файл, который должен вставлять новые значения во время установки. Новые значения свойств будут переданы в MSIEXEC в качестве параметра с помощью ссылки на файл XML и, следовательно, будут выглядеть следующим образом:Установить MSI с файлами свойств XML

MSIexec/I MyMSIFle.msi PROPERTIESFILE = ProdProperties.xml

Необходимости в этом, потому что у нас есть ряд сред. Для аргумента, скажем, DEV, TEST и PROD. Значения свойств MSI различаются для каждой среды и будут храниться в дискретных файлах свойств XML, например. DEV-Properties.xml, TEST-Properties.xml и PROD-Properties.xml.

MSI - это единый универсальный MSI, который мы намерены установить во всех трех средах успешно, просто передав правильные значения свойств, все внедренные в отдельные файлы XML.

Я буду особенно рад принять решения с использованием Powershell, Windows Batch scripts, VBScript и т. Д., Но без стороннего программного обеспечения, поскольку у нас есть строгие ограничения на использование любых таких продуктов в моей компании.

Спасибо

ответ

0

Я предлагаю вам создать пользовательское действие для вашего MSI. Вот пример того, как:

http://blogs.technet.com/b/alexshev/archive/2009/05/15/from-msi-to-wix-part-22-dll-custom-actions-introduction.aspx

Вы можете передать имя XML-файла в качестве собственности и десериализации файла из заданного пути к объекту. Из объекта вы могли бы затем переопределить некоторые другие свойства.

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

Смежные вопросы