Aur*_*ura 5 registry installation windows-installer installshield
我有一个问题,在我的 InstallShield 项目构建完成后,我在干净的 64 位 Windows 7 机器上测试安装,当我在 HKEY_LOCAL_MACHINE\SOFTWARE 处检查 regedit 时,它会在 Wow6432Node 密钥中创建一个 Wow6432Node 密钥。一切都正确注册,程序似乎运行良好。我已经确保我的项目是导致这种情况的项目。我不想保持原样,因为拥有这样的注册表会很愚蠢。有谁知道可能导致这种情况发生的原因?如果您需要更多信息,请告诉我。
我在工作中也看到过这个问题。如果您打开安装屏蔽项目并查看组件,某些组件的 COM Extract at Build 属性将设置为 yes。展开该组件并查看文件。右键单击它们可以查看属性。如果文件已选中“自我注册”,则会导致您遇到的问题。当我们从所有具有文件自注册的组件中删除构建时的 COM 提取时,问题就消失了。
当您在 64 位计算机上安装产品时,它将在注册表中嵌套 wow6432node 密钥。在 32 位计算机上,它只会向注册表中添加一个 wow6432node 密钥,而该密钥在 32 位计算机上永远不应该存在。
因此,澄清问题源于特定组件,这些组件的 Com Extract at Build 属性设置为 yes,并且该组件中包含的文件之一设置为自注册。这会错误地创建一个 wow6432node。要回答为什么会看到嵌套的 wow6432node 键的问题有点复杂。
我认为您的情况是您正在创建一个存在 wow6432node 问题的可再发行组件。当您的主安装程序创建必要的注册表项时,它会检查计算机是否为 64 位。如果是,它将所有内容都放在 wow6432node 键下。到目前为止,一切正常,但随后出现了包含错误的可再发行版本。然后它将所有内容安装到它自己的 Wow6432node 密钥中,该密钥现在包含在主安装程序中。您可以尝试通过将应用程序安装到 32 位计算机来测试这一点。然后,您应该只能看到 1 个 wow6432node 键,而不是嵌套键。1 wow6432node 密钥是由于上述问题而错误创建的密钥,该问题包含在您的可再发行组件中。
(为了澄清而编辑)
| 归档时间: |
|
| 查看次数: |
3608 次 |
| 最近记录: |