更新现有产品的产品名称

问题描述

我使用 Inno Setup 创建了 exe安装程序,并使用 MSIWrapper 将其打包在 MSI 中。 / p>

为此,我在iss(InnoSetup)文件中插入了以下几行:

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

以及MSIWrapper XML配置文件中的以下几行:

[...]
<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 控制面板

如何实现目标?

非常感谢

丹妮尔

解决方法

首选MSI工具 :MSI很复杂。我认为您应该使用a proper MSI tool或完全依靠旧版安装程序技术。这些包装器似乎不可靠。我们能问一下这个软件是什么以及如何使用吗? (影响有意义的操作)。

以下不是MSIWrapper的答案,而是MSI中的速成课程,以便了解您所看到的内容,并可能在需要时选择一个更好的工具来创建MSI(您可以对所拥有的内容进行确定)。


ARP条目 :对于MSI程序包,“添加/删除”小程序中的两个条目通常表示同一MSI的两个版本已安装两次-而不用作升级(这将删除较旧的版本)。

MSI主要升级 :MSI主要升级是先卸载现有的MSI版本,然后再安装新的MSI版本,并使用各种计划选项来控制此顺序控制它的机制通常在MSI文件中的Upgrade table中找到。 如果您希望MSI升级能够正常工作,则必须编写该表。正确完成后,旧版本将作为新MSI软件包安装的一部分消失。我不熟悉如何使用MSIWrapper完成此操作,但是下面是一些示例来说明升级表的工作原理。

一些花絮:


如何使用各种工具进行重大升级:

WiX

Installshield

高级安装程序


链接

,

AppId directive值是程序列表中条目的键。

如果要更改应用程序的名称,请更改AppName,但保留旧的AppId

这与Automatically create new entry in "Programs and Features" for each new version相反。