2014-02-13 2 views
0

У меня есть базовый проект MSI (я использую InstallShield 2013 Professional). Предположим, что у него есть ProductName DefaultProductName.Могу ли я обновить свойство ProductName во время выполнения (во время установки)?

Я могу построить его и получить setup.exe. Он появится в списке установленных программ на панели управления с именем DefaultProductName, если я его установлю.

Теперь предположим, что я хочу изменить ProductName от DefaultProductName в NewProductName во время установки, во время выполнения (чтобы быть более ясным: я говорю не о модернизации, а о ситуации, когда я устанавливаю мой продукт на «чистой» коробке).

Для этого я создал новое пользовательское действие-> новое свойство набора и присвоил свойству ProductName новое значение NewProductName. Он работает (например, я вижу, что в заголовках диалоговых окон установки появляется новое значение ProductName, а мой продукт появился на панели управления с именем NewProductName).

Но когда я пытаюсь удалить мой продукт и перемещения по деинсталляции диалогов, я вижу (в названиях диалоговых окон), что ProductName имеет свое значение по умолчанию DefaultProductName, а не значение NewProductName, что я установил в пользовательских действиях во время установки. Означает ли это, что изменения значения свойства, которые я могу применить во время установки, не будут доступны во время удаления. Зачем?

ответ

0

Поскольку все, что вы изменили, было в памяти ProductName для установки, а не какое-либо фактическое имя в файле в любом месте.

Если вы знаете до фактической установки, вы можете создать преобразование, файл .mst, а затем запустить файл MSI с помощью командной строки, которая указывает TRANSFORMS =. Для этого вам понадобится исполняемый файл, а затем запустите MSI.

0

SDK установщика Windows в его загадочном способе подразумевает, что это невозможно. По моему опыту это невозможно. ProductName является частной собственностью и неизменным после запуска установки. Редактирование MSI или создание и применение преобразования - единственный способ.

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