安装程序在错误的程序文件文件夹中传送文件的麻烦

时间:2012-08-29 09:26:37

标签: installer windows-installer 32bit-64bit installshield

我是InstallShield noob,我只是在InstallShield中尝试了一些功能。

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

这些功能中的每一个都包含2个组件 -
1. a .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下创建的

我已经在不同的选择中度过了近一天,但没有取得任何进展:(

3 个答案:

答案 0 :(得分:3)

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

  • 根据[ProgramFiles64Folder]而不是[ProgramFilesFolder]根据文件,可能通过适当的自定义操作来设置目录
  • 使用x64代替Intel的模板摘要(加上相同的语言代码列表)

答案 1 :(得分:0)

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

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

谢谢:)

答案 2 :(得分:0)

  • 使用x64的模板摘要
  • 将64位组件设置为yes