我有一个非常基本的InstallShield安装程序。它将一堆瓷砖丢给了TARGETDIR。如果我将目标目录指定为几乎任何目录,那么文件就会被删除。 (例如,如果我指定C:\ temp,那就是文件出现的位置。)
奇怪的是,如果我将“Program Files(x86)”下的子目录指定为目标目录,则文件将安装到“Program Files”。我(显然)是在64位机器上。
这是InstallShield中的错误吗?有解决办法吗?我知道我的客户端(安装程序的使用者)是否必须将其安装到Program Files或x86特定的Program Files(它应该被放入现有应用程序的目录中)。
理想情况下,客户端计算机上有一个注册表项,指示在哪里安装我的东西;如果我可以利用它,那正是我想要做的。
答案 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将您的应用程序文件重定向到正确的位置。