如何使用 C# 应用程序读取和更新作为 MSI 包一部分的现有语言 MST 文件 (1033.mst)?

编程


我使用 InstallShield@2014 创建了 MSI 包,支持语言英语 – 美国 (1033) 中文 – 台湾 (1028)
中文 – 中国(2052)

语言 MST 文件(1033.mst、1028.mst 和 2052.mst)嵌入 MSI 包中。 我的要求是从任何工具更新所有支持语言的 MSI 包许可协议 (EULA),并重新打包 MSI 包并共享给最终用户。 当最终用户安装 MSI 包时,他/她可以看到所有支持语言的更新许可协议 (EULA)。

我在 C# Windows 应用程序中尝试了多种方法来更新 MSI 软件包许可协议(EULA),但无法找到更新许可协议(EULA)的正确方法。

请帮助我使用 C# Windows 应用程序更新 MSI 包中的许可协议 (EULA)。

感谢任何人可以提供的帮助。

我尝试过的:

我可以使用 InstallShield@2014 和高级安装程序工具进行更新,但使用 C# Windows 应用程序无法更新。

解决方案1

我认为提出这个问题的最佳地点是官方帮助论坛: InstallShield 论坛 | 雷韦内拉社区[^]

解决方案2

如果您可以下载 WiX 安装程序的旧副本,则可以使用名为 Dark 的实用程序将现有 MSI 提取到 C# 类。 它能够应用转换,因此这可能对您有用,因为您可以从源重建 MSI。 您必须在这里进行大量实验,因为我们没有足够的有关您现有安装程序的信息来给出更完整的答案。

解决方案3

好吧,我要告诉您编写 C# 代码来更新 EULA 是浪费时间。 您最终将编写大量代码来完成 InstallShield 中一分钟的工作。 学习使用您拥有的工具。

在 InstallShield 中加载 .MST/.MSI,因为您提到您已经尝试过。 转到项目助手选项卡。 在屏幕底部的一排图标中,单击“安装访谈”。 在该页面上,您会发现“您想显示许可协议对话框吗?”。 这还将显示包含当前许可协议文本的文件的路径。 根据需要更改该文件,但请记住该文件通常为 RTF 格式。 更改该文件中的 EULA 文本后,保存 .MST。

コメント

タイトルとURLをコピーしました