InstallShield自定义操作失败,因为用户在64位Program Files目录中安装?

时间:2015-06-02 21:31:49

标签: windows installshield-le

我有一个32位的遗留应用程序,允许用户指定安装路径作为设置的一部分(非常正常的东西......)。我还定义了一个自定义操作,在初始安装完成后运行另一个必需软件的静默后台安装。

当用户安装到32位Program Files(x86)目录时,一切都很顺利。

我遇到的问题是当用户指定64位安装目录时,Windows会自动更改后台的安装路径以使用(x86)Program Files文件夹,这很好,除了我使用的自定义操作初始安装完成后,相同的INSTALLDIR属性仍然认为它应该是64位" Program Files"路径 - 因此当自定义操作无法找到它正在查找的EXE文件时,安装将失败。

我的程序与其他开发人员在此描述的程序基本相同,但在该论坛中从未解决过:http://community.flexerasoftware.com/archive/index.php?t-216268.html

有没有人知道对此有效的解决方法是什么?安装程序不应该因为用户认为应该安装到" C:\ Program Files \ Appname"这似乎是非常基本的。而不是" C:\ Program Files(x86)\ AppName"。

我在这里仔细阅读了类似的问题,但我没有看到其他人使用自定义操作解决此问题。

1 个答案:

答案 0 :(得分:0)

根据我的经验,您需要更改为64位模板才能安装到程序文件中。 <树中的一般信息>模板摘要&gt;改为x64; 1033。每个目录中至少需要将一个文件标记为64位。它是组件属性上的复选框。请务必检查您的自定义操作是否仍然遵守主要升级的运行条件。我目前遇到了问题。我的主要升级设置为全部删除,无论脚本删除部分的条件如何,它都会运行所有自定义操作。