2

我使用Inno Setup创建了一个exe 安装程序,并使用MSIWrapper将它打包在一个MSI中。

为此,我在 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_nameNew_product_name显示控制面板中。

我怎样才能达到我的目标?

非常感谢,

丹尼尔

4

2 回答 2

1

首选 MSI 工具:MSI 很复杂。在我看来,您应该使用适当的 MSI 工具或完全依赖传统的安装程序技术。这些包装器似乎不可靠。我们能问一下这个软件是什么以及如何使用它吗?(影响做什么有意义)。

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


ARP 条目:对于 MSI 包,添加/删除小程序中的两个条目通常意味着相同 MSI 的两个版本已安装两次 - 没有作为升级(这将删除旧版本)。

MSI 主要升级:MSI 主要升级是卸载现有的 MSI 版本,然后安装新的 MSI 版本,并使用各种调度选项控制发生的顺序。控制这种情况的机制主要在 MSI 内部的升级表中找到文件。如果您希望 MSI 升级工作,此表必须是 authored。正确完成后,旧版本会作为新 MSI 软件包安装的一部分消失。我不熟悉如何使用 MSIWrapper 完成此操作,但下面是一些示例来展示升级表的工作原理。

一些花絮:


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

维克斯

安装护罩

高级安装程序


链接

于 2020-10-12T16:55:38.833 回答
0

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

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

这与在“程序和功能”中为每个新版本自动创建新条目相反。

于 2020-10-09T14:23:07.623 回答