0

我是 InstallShield 菜鸟,我只是在尝试 InstallShield 中的几个功能。

我有一个基本的 MSI 项目(InstallShield 2010)。我在我的项目中创建了 3 个功能,即 -
1) 32 位
2) 64 位
3) 通用文件
所有这些功能将文件传送到程序文件文件夹,这是默认安装文件夹。

这些功能中的每一个都包含 2 个组件 -
1. 一个 .txt 文件
2. 和一个注册表项。

对于 64 位功能下的两个组件,我已将 64 位组件选项设置为 true

32 位功能的设置设计中,我将发布标志设置为“X86”
,对于64 位功能,我将发布标志设置为“X64”

现在我已经配置了 2 个版本
1. X8​​6 版本 - 包含 32 位功能 + 通用功能
2. X64 版本 - 包含 64 位功能 + 通用功能

现在,当我执行 64 位 MSI 时,我的所有文件都被传送到 ProgramFiles x86 文件夹,而不是 ProgramFiles 文件夹。

但是我可以看到 64 位注册表是在 HKLM\software 配置单元下正确创建的,而不是在 WOW6432Node 下

我已经在不同的选项上苦苦挣扎了将近一天,没有任何进展:(

4

3 回答 3

4

确保您的 64 位版本执行以下两项操作:

  • 根目录下的文件[ProgramFiles64Folder]而不是[ProgramFilesFolder],可能通过适当的自定义操作来设置目录
  • 使用模板摘要x64代替Intel(加上相同的语言代码列表)
于 2012-08-29T12:16:12.280 回答
0

迈克尔,你确实让我走上了正确的道路。

我仍然使用 programFiles 文件夹作为我的基本安装目录,并在 costfinalize 之后创建了一个目录自定义操作,它检查最终机器的目标架构并将 Installdir 设置为 Program Files x86(用于 32 位安装)和 Program Files x64 用于 64 位安装。

谢谢 :)

于 2012-10-11T09:51:26.267 回答
0
  • 使用 x64 的模板摘要
  • 将 64 位组件设置为是
于 2014-12-30T04:07:29.690 回答