Inno Setup以32位模式安装到SysWOW64

问题描述 投票:1回答:1

我正在创建一个只需要安装32位文件的安装程序,它们可以在64位和32位计算机上运行。

我在64位机器上运行Inno Setup,即使安装模式是32位,文件仍然在SysWOW64文件夹中。 Dest指令设置为{sys}

Source: "C:\Users\Lablabla\Documents\Visual Studio 2013\Projects\Test\MyDll.dll"; DestDir: "{sys}"; Flags: 32bit

更奇怪的是,日志显示目标是system32,安装模式是32位

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

但是当设置完成后,文件位于SysWOW64文件夹中,即使可执行文件位于Program Files (x86)的正确位置

即使将特定的32bit标志设置为dll文件,也会发生这种情况。

安装非常简单,只有这个dll和一个可执行文件。没有注册表或任何更复杂的。

谁经历过这样的事情?

谢谢

windows inno-setup
1个回答
5
投票

SysWOW64文件夹是在64位系统上进行32位安装的正确位置,就像Program Files (x86)文件夹是正确的位置一样。 SysWOW64是'Windows on Windows 64-bit'安装上的System32文件夹。

不可否认,微软应该更好地命名这些以避免混淆!即,64位安装的System32实际上是“System64”而SysWOW64是“System32”,就像普通的Program Files真的是“Program Files(x64)”,如果你想这样想的话。所有32位应用程序都在64位Windows上的WOW64(Windows 64位Windows 32位)模拟器上运行。

© www.soinside.com 2019 - 2024. All rights reserved.