![](/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.