随着Windows 7发布以来,使用64位系统的终端用户越来越多,很多平台电脑出厂预装的就是64位Windows系统,64位系统正逐步得到普及,很多软件产品厂商需要将他们已有的应用程序扩展到64位平台上。除了应用程序本身需要支持64位外,随之带来的问题是安装包也需要支持64位。
 
InstallShield本身支持64位安装包的封装,但在最终封装时,大家都希望能将32位和64位的应用封装到一个安装包中,这样便于软件传播,分发,但“希望很美好,现实很无奈”,无法将其封装到一个安装包文件中。在Template Summary属性设置项中,我们必须指定是支持x86,或x64或Intel64,这是一个排他的选项,不能二者皆顾。
 
所以对于标题中的提问, 答案是否定的。 InstallShield制作的安装包在安装加载之前,还不支持安装识别32位或64位,之后分别调用不用版本的安装包的能力。
但InstallShield支持在同一工程中,支持32位和64位,这样方便维护安装包工程的源码,可以通过Release Flags的设置,在Build时分别封装出32位安装包和64位安装包。
 
当然,还有一个办法,就是我们自己额外开发一个安装引导程序,此程序负责识别系统平台,然后分别调用32位安装包或64位安装包。
 
 
转自Kevin Wan博客,更多Installshield打包技术交流问题可查看Appinstall论坛
(www.appinstall.cn)