Обновить ProductName существующего продукта

Я создал установщик exe с помощью Inno Setup и упаковал его в MSI с помощью MSIWrapper.

Для этого я вставил следующие строки в файл iss (InnoSetup):

       [...]
#define MyAppName "New_product_name"
AppName={#MyAppName}
AppId={#MyAppName}
[...]

И следующие строки в XML-файле конфигурации MSIWrapper:

       [...]
<ProductName Detect="" Value="Value" />
[...]

Я хочу изменить название продукта, отображаемое в разделе " Удалить " панели управления.

Если я изменю iss MyAppName следующим образом:

       [...]
#define MyAppName "New_product_name"
AppName={#MyAppName}
AppId={#MyAppName}
[...]

или XML конфигурации следующим образом:

       [...]
<ProductName Detect="" Value="New_product_name" />
[...]

или оба, и я выполняю обновление, две разные программы, названные Old_product_name и New_product_name, отображаются в Панели управления.

Как я могу продолжить, чтобы достичь своей цели?

Спасибо,

Даниэле

2 ответа

Решение

MSI Tool Preferred: MSI сложный. Намой взгляд,вы должны либо использовать подходящий инструмент MSI, либо полностью полагаться на устаревшую технологию установки. Эти обертки кажутся ненадежными. Можно ли спросить, что это за программное обеспечение и как оно будет использоваться? (влияет на то, что имеет смысл делать).

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


Записи ARP: для пакетов MSI две записи в апплете "Добавить / удалить" обычно означают, что две версии одного и того же MSI были установлены дважды - без использования в качестве обновления (которое удалит старую версию).

Основное обновление MSI: Основное обновление MSI - это удаление существующей версии MSI, а затем установка новой версии MSI с различными параметрами планирования, контролирующими, в каком порядке это происходит. Механизмы управления этим в основном находятся в таблице обновлений внутри MSI. файлы. Если вы хотите, чтобы обновления MSI работали, эта таблица должна быть создана. Если все сделано правильно, старая версия исчезает как часть установки нового пакета MSI. Я не знаком с тем, как это делается с помощью MSIWrapper, но ниже приведены несколько примеров, показывающих, как работает таблица обновлений.

Некоторые лакомые кусочки:


Как создать серьезное обновление с помощью различных инструментов:

WiX:

Installshield:

Расширенный установщик:


Ссылки:

В AppId Значение директивы является ключом к записи в списке программ.

Если вы хотите изменить имя приложения, измените AppName, но сохрани старый AppId.

Это противоположно Автоматическому созданию новой записи в "Программы и компоненты" для каждой новой версии.

Другие вопросы по тегам