64位元系統如何將檔案複製到Windows\System32 |
缺席
|
blue
中階會員 發表:170 回覆:136 積分:81 註冊:2002-04-15 發送簡訊給我 |
|
sryang
尊榮會員 發表:39 回覆:762 積分:920 註冊:2002-06-27 發送簡訊給我 |
|
blue
中階會員 發表:170 回覆:136 積分:81 註冊:2002-04-15 發送簡訊給我 |
Hi,感謝sryang大大指導:
因為小弟不知如何打包成 .msi, DLL 檔案是使用 Resource 方式包進執行檔, 安裝時再以 ResourceStream 儲存到檔案, 不過,目前小弟已找到解法, 複雜的是使用 function Wow64DisableWow64FsRedirection(out OldValue: PVOID): BOOL; stdcall; external 'Kernel32.dll'; //only for JWA < 2.4 function Wow64RevertWow64FsRedirection(const OldValue: PVOID): BOOL; stdcall; external 'Kernel32.dll'; //only for JWA < 2.4 比較簡單的是將 Windows\System32\ 更改為 Windows\SysNative\ 謝謝! ===================引 用 sryang 文 章=================== 試試看打包成 .msi 檔 |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
基本上, 在63bit的windows會自動判斷 版本位元, 如果是32位元的, 會轉到 SYSWOW64中, 只有身份純正的"純'64, 才會進到 SYSTEM32的殿堂,
所以我懷疑你的 第3方控件提供的DLL並不是 "純" 64 ===================引 用 blue 文 章=================== Hi,各位先進大定好: 小弟寫了Shell extension的程式(64位元), 因該程式會叫 3 part 的 DLL, 經測試,該 DLL必須存在於 Windows\system32中(64位元), 因此,我的程式必須在安裝時將該 DLL 複製到 Windows\System32 中, 但是,安裝時卻是複製到 Windows\SysWOW64 中, 請問,該如何解這個問題? 謝謝! |
blue
中階會員 發表:170 回覆:136 積分:81 註冊:2002-04-15 發送簡訊給我 |
Hi,感謝 P.D. 大大的指導:
該 DLL 應該是 64位元, 否則在 64位元檔案總管無法作用, 小弟試過,單純下檔案複製, CopyFile(PChar('C:\Temp\test.txt'), PChar('C:\Windows\System32\test.txt'), true); 但,會 " 依程式所編譯的目標平台 " 為32位元或是64位元而複製到 SysWOW64 或是 System32中 只是,小弟不想為此需編譯成 32位元及64位元二個版本, 謝謝! ===================引 用 P.D. 文 章=================== 基本上, 在63bit的windows會自動判斷 版本位元, 如果是32位元的, 會轉到 SYSWOW64中, 只有身份純正的"純'64, 才會進到 SYSTEM32的殿堂, 所以我懷疑你的 第3方控件提供的DLL並不是 "純" 64 ===================引 用 blue 文 章=================== Hi,各位先進大定好: 小弟寫了Shell extension的程式(64位元), 因該程式會叫 3 part 的 DLL, 經測試,該 DLL必須存在於 Windows\system32中(64位元), 因此,我的程式必須在安裝時將該 DLL 複製到 Windows\System32 中, 但是,安裝時卻是複製到 Windows\SysWOW64 中, 請問,該如何解這個問題? 謝謝! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |