我正在创建一个安装程序,它只需要安装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但是当安装完成后,文件就在SysWOW64文件夹中,即使可执行文件位于Program Files (x86)的正确位置。
即使在将特定的32bit标志设置为dll文件时也会发生这种情况。
安装非常简单,只有这个dll和一个可执行文件。没有注册表或任何更复杂的东西。
有人经历过这样的事情吗?
谢谢
发布于 2015-04-11 23:46:46
SysWOW64文件夹是64位系统上32位安装的正确位置,就像Program Files (x86)文件夹是正确的位置一样。SysWOW64是‘WindowsonWindows64位’安装上的System32文件夹.
诚然,微软应该做一个更好的工作,在命名的一致性,以避免混淆!也就是说,64位安装上的System32实际上是"System64“,SysWOW64是"System32",就像普通的Program Files实际上是"Program (x64)”,如果您想这样想的话。所有32位应用程序都运行在64位WOW64 (Windows64位上的32位)仿真器中.
https://stackoverflow.com/questions/29583694
复制相似问题