2011-11-10 34 views
2

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

回答

1

如果你的应用程序只有32位,然后汇创会自动采取正确做所有的事。

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

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

1

对于64位INNO intallations你一般只需要添加一个设置部分指令,显然,添加DLL的和EXE的64位版本的编译安装程序。

设置部分指令是:

ArchitecturesInstallIn64BitMode = 64

+0

在这种情况下,存在的任何DLL的或EXE的没有64位版本。我只是想知道,如果我必须确保INNO会把EXE和相关DLL的位于C:\ Program Files文件(x86)的\文件夹在用户的计算机上的区域,或者如果我必须做一些关于确保这种情况发生。 – Rod

+0

如果没有64位版本的DLL或EXE,那么我认为您应该将其安装为32位应用程序。如果您在我的答案中未提供Setup指令,则INNO将假定32位安装,并且{pf}将映射到C:\ Program Files(x86)\。 – rushman

相关问题