Inno Setup以32位模式安装到SysWOW64 [英] Inno Setup install to SysWOW64 in 32Bit mode

查看:155
本文介绍了Inno Setup以32位模式安装到SysWOW64的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在创建一个仅需要安装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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆