我按照本文档中列出的说明操作。我使用的是Installshield 2013 Express:
http://helpnet.installshield.com/isxhelp20/Content/helplibrary/IHelp64BitSupport.htm
在msi中,我有几个.exe和几个.js文件。
使用Dumpbin,我检查了exe文件: file1:PE32可执行GUI Intel 80386 file2:PE32可执行文件(控制台)x86-64
我认为file2可能导致installshield创建64位msi,因此我删除了file2以进行测试。当我创建新的msi时,我仍然有64位msi(我使用Orca检查了模板摘要属性)。
混淆。什么可能导致Installshield创建64位msi?根据上面的文章,如果所有文件和注册表项都是32位,InstallShield默认会创建一个32位msi。
感谢您的帮助!
答案 0 :(得分:0)
帮助文章描述了InstallShield Express正在做什么;即无论是将一个或多个文件或注册表项安装到64位位置,它都选择基础附近的底部部分。
由于您正在检查Orca中的内容,您应该能够找到任何64-bit components(查找包含标志值256的属性)并将它们追溯到与它们关联的文件或注册表项。如果您在InstallShield Express中删除这些文件或密钥并重建,则应获得32位软件包。如果它没有解决它,可能会有一个小错误,你可以通过从坏组件中删除64位标志来修复程序包。