我必须为64位Windows上的Inno设置进行补偿吗?

我们有一个古老的VB6应用程序,有时需要更新和安装在我们的用户的机器。 我们已经开始使用Inno,尤其是InnoIDE来制作setup.exe,以便将它传送到用户的电脑上。 不过,我想知道64位Windows和Inno设置。 我们有几台机器,它们是Windows 7 Professional的64位版本。 我已经成功地将我们的应用程序,使用Inno的安装程序安装到32位Windows XP机器上。 我可以在我们的64位Windows 7机器上使用相同的设置吗? 它会自动将.exe放到C:\ Program Files(x86)\目录结构中,还是必须考虑64位版本的Windows?

如果您的应用程序只有32位,那么Inno会自动处理正确的事情。

只有当你的应用程序混合或64位,你需要做什么特别的rushman说。 帮助文件中有一个很好的部分解释了所需的更改。

如果您要安装任何64位设备驱动程序,对大多数newdev和setupapi入口点的调用将失败,错误代码为0xE0000235(ERROR_IN_WOW64)。 这些调用仅在从64位代码调用时才起作用,而Inno尚未编译64位安装程序。 您可以通过使用pnputil.exe ,添加一个64位存根可执行文件,或切换到WiX来解决问题 。

对于64位的INNO安装,通常只需要添加一个setup section指令,显然,将64位版本的DLL和EXE添加到编译的安装程序中。

安装部分指令是:

ArchitecturesInstallIn64BitMode = 64