使用Inno Setup修补Install Shield应用程序

时间:2010-11-08 10:32:15

标签: windows windows-installer installshield inno-setup

嗨,我有问题,我需要一些方向。 我有一个旧应用程序,它有一个安装屏蔽安装程序,我没有安装程序脚本。现在我想使用Inno Setup为该应用程序做一个简单的补丁。

我正在阅读文档,如果我知道appId,我可以将新文件附加到同一个安装中。但是我现在不知道那个应用程序有什么ID。我尝试使用相同名称的简单脚本,但它也不起作用。

无论如何找到要附加到该安装的appId?

有人能指出我正确的方向,还是不可能做到?

1 个答案:

答案 0 :(得分:2)

简短的回答是否定的,您无法创建与之前的Install Shield软件包100%无缝的更新包。原因是,无论您是否知道AppId,InnoSetup都会在添加到注册表的任何AppId的末尾添加 _is 。如果你问我,这是一个时髦的行动,但它是世界的方式,让我们不要忘记你正在处理一个免费的应用程序。他们有自己的推理并且听起来很合理,只是在这一点上对你的需求没有意义。

在面对同样的情况时,你总能做我所做的事情:

  1. 找到原始安装的AppId。

    一个。在“控制面板”下,打开“添加/删除程序”。

    湾在列表中找到您的应用程序并记下名称。

    ℃。打开RegEdit。 *免责声明:这可能会对您的系统产生不良影响,因此

    d。打开以下注册表项:HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall

    即单击您来到的第一个GUID,并根据您之前记下的名称检查右窗格中的DisplayName值。如果此值匹配,则表示您已找到AppId - 它是您选择的GUID。

    F。选择下一个GUID并返回步骤1e,直到匹配为止。

  2. 将此AppId用作您在InnoSetup中使用的AppId,但在标题中添加“更新”一词。

  3. 构建并运行您的安装。

  4. 现在,您的应用程序的“添加/删除程序”中将有两个条目,但其中一个明显标记为更新。您还完成了额外的工作,以确保AppId尽可能地匹配,使其他程序更容易确定它们是否相关。

  5. 祝你好运!