![](/img/trans.png)
[英]C# Windows Program writes files to “sysWOW64” and to “Program Files(x86)”. Using VS Setup Projects. 32bit App on 64bit System
[英]Inno Setup install to SysWOW64 in 32Bit mode
我正在创建一个仅需要安装32位文件的安装程序,它们可以在64位和32位计算机上工作。
我在64位计算机上运行Inno安装程序,即使安装模式为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
但是,完成安装后,即使可执行文件位于“ Program Files (x86)
的正确位置,该文件也位于SysWOW64
文件夹中。
即使将特定的32bit
标志设置为dll文件,也会发生这种情况。
安装非常简单,只有这个dll和一个可执行文件。 没有注册表或其他更复杂的东西。
任何人都经历过这样的事情吗?
谢谢
SysWOW64
文件夹是在64位系统上进行32位安装的正确位置,就像Program Files (x86)
文件夹是正确的位置一样。 SysWOW64
是“ Windows 64位Windows”安装上的System32
文件夹。
诚然,为避免混淆,Microsoft应该在命名这些名称方面做得更好。 即,在64位安装上, System32
实际上是“ System64”,而SysWOW64
是“ System32”,就像普通的Program Files
实际上是“ Program Files(x64)”一样,如果您想这样想的话。 所有32位应用程序都在64位Windows上的WOW64(Windows 64位为Windows 32位)模拟器中运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.