选择Program Files(64位)时,InstallShield 2010将安装到程序文件(x86)

时间:2011-10-17 19:32:13

标签: installshield-2010

我有一个非常基本的InstallShield安装程序。它将一堆瓷砖丢给了TARGETDIR。如果我将目标目录指定为几乎任何目录,那么文件就会被删除。 (例如,如果我指定C:\ temp,那就是文件出现的位置。)

奇怪的是,如果我将“Program Files(x86)”下的子目录指定为目标目录,则文件将安装到“Program Files”。我(显然)是在64位机器上。

这是InstallShield中的错误吗?有解决办法吗?我知道我的客户端(安装程序的使用者)是否必须将其安装到Program Files或x86特定的Program Files(它应该被放入现有应用程序的目录中)。

理想情况下,客户端计算机上有一个注册表项,指示在哪里安装我的东西;如果我可以利用它,那正是我想要做的。

2 个答案:

答案 0 :(得分:5)

事实证明我的组件设置为安装到ProgramFiles。我需要将它们更改为安装到ProgramFiles64。要做到这一点:

  • 转到“组件”视图(安装设计器)
  • 逐个点击每个组件
  • General下,查找64-Bit Component并将其更改为Yes

解决了它。

答案 1 :(得分:0)

通常64位软件包使用64位位置。因此,即使您以某种方式设法在“Program Files(x86)”中安装了64位软件包,也会出错并且不合逻辑。

在64位计算机上,“程序文件”由64位产品使用,“程序文件(x86)”由32位产品使用。你可以在这里阅读更多相关信息:

因此,如果要安装在“Program Files(x86)”中,可以使用32位软件包。

关于您的实际问题,很可能是InstallShield或Windows将您的应用程序文件重定向到正确的位置。