问题描述
我正在创建一个仅需要安装32位文件的安装程序,它们可以在64位和32位计算机上工作.
I'm creating an installer which only needs to install 32bit files, they work on both 64 and 32 bit machines.
我正在64位计算机上运行Inno Setup,即使安装模式为32位,文件仍最终位于SysWOW64
文件夹中. Dest
指令设置为{sys}
I'm running the Inno Setup on a 64bit machine and even though the install mode is 32bit the files still end up in the SysWOW64
folder. The Dest
directive sets to {sys}
Source: "C:\Users\Lablabla\Documents\Visual Studio 2013\Projects\Test\MyDll.dll"; DestDir: "{sys}"; Flags: 32bit
更奇怪的是,日志显示目标为system32
,安装模式为32位
The weirder thing is that the log shows that the destination is system32
and installation mode as 32-bit
2015-04-12 01:04:14.046 64-bit Windows: Yes
2015-04-12 01:04:14.046 Processor architecture: x64
2015-04-12 01:04:14.046 User privileges: Administrative
2015-04-12 01:04:14.046 64-bit install mode: No
....
2015-04-12 01:04:20.237 Dest filename: C:\Windows\system32\MyDll.dll
但是,安装完成后,即使可执行文件位于Program Files (x86)
But when the setup is done the file is in the SysWOW64
folder, even though the executable file is in the correct place of Program Files (x86)
即使将特定的32bit
标志设置为dll文件,也会发生这种情况.
This happens even when setting the specific 32bit
flag to the dll file.
安装非常简单,只有此dll和一个可执行文件.没有注册表或其他更复杂的东西.
The installation is very simple, only this dll and an executable. No registry or anything more complex.
有人经历过这样的事情吗?
Anyone experienced such thing?
谢谢
推荐答案
SysWOW64
文件夹是在64位系统上进行32位安装的正确位置,与Program Files (x86)
文件夹相同正确的地方. SysWOW64
是"Windows 64位Windows"安装上的System32
文件夹.
The SysWOW64
folder is the correct place for a 32-bit installation on a 64-bit system, in the same way that the Program Files (x86)
folder is the correct place. SysWOW64
is the System32
folder on a 'Windows on Windows 64-bit' installation.
诚然,为避免混淆,Microsoft应该在命名这些名称方面做得更好.也就是说,在64位安装中,System32
实际上是"System64",而SysWOW64
是"System32",就像普通的Program Files
真正是"Program Files(x64)"一样,如果您想这样想的话.所有32位应用程序都在64位Windows上的WOW64(Windows 64位为Windows 32位)模拟器中运行.
Admittedly, Microsoft should have done a much better job at naming these consistently to avoid confusion! i.e. System32
on a 64-bit installation is really "System64" and SysWOW64
is "System32", just as the plain Program Files
is really "Program Files (x64)" if you want to think of it that way. All 32-bit applications run in the WOW64 (Windows 32-bit on Windows 64-bit) emulator on 64-bit Windows.
这篇关于Inno Setup以32位模式安装到SysWOW64的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!