installshield 64位OS打包注意事項
1、安裝目錄
64位系統(tǒng)下,安裝目錄分Program Files和Program Files(x86)。
64bit Application會自動安裝在Program Files下;
32bit Application會自動安裝在Program Files(x86)下。
2、系統(tǒng)目錄
64位系統(tǒng)下,系統(tǒng)目錄分system32和syswow64。
64bit AP 運行在system32下;
32bit AP 運行在syswow64下。
Installshield打包注意事項:
問題:當32位的AP調(diào)用WINSYSDIR變量時,會默認指向syswow64,就算是調(diào)用WINDIR^"system32",也會被強迫指向syswow64。
解決:Disable(WOW64FSREDIRECTION)
WOW64FSREDIRECTION:起著判斷64位系統(tǒng)下調(diào)用哪個系統(tǒng)變量的作用,Disable掉后,就會默認指向system32。
注意:當安裝進行完后,記得Enable(WOW64FSREDIRECTION),以避免影響系統(tǒng)的其他程序。
經(jīng)驗:
在Installing()事件中Disable(WOW64FSREDIRECTION);
在Installed()事件中Enable(WOW64FSREDIRECTION);
這樣整個安裝過程就不用去考慮何時開關(guān)了。
同樣,卸載的過程中也得在UnInstalling()和UnInstalled()中這樣做,才會卸載掉對應的部分。
3、注冊表
64位系統(tǒng)下,注冊表分HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun
和HKEY_LOCAL_MACHINESoftwareWow6432NodeMicrosoftWindowsCurrentVersionRun
讓32bit AP注冊在默認的注冊表
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun中,命令:REGDB_OPTIONS = REGDB_OPTIONS | REGDB_OPTION_WOW64_64KEY;
同時,用完也記得REGDB_OPTIONS = REGDB_OPTIONS & ~REGDB_OPTION_WOW64_64KEY;
--------------------------
需要注意的是把與32位有關(guān)的目錄,方法,都用64位的代替。這樣就可以保證正確的安裝到64位的目錄下面。
1.REGDB_OPTIONS 讓注冊表函數(shù)在64位win系統(tǒng)上正確讀寫而非讀寫 6432node
REGDB_OPTIONS = REGDB_OPTIONS | REGDB_OPTION_WOW64_64KEY;
REGDB_OPTIONS = REGDB_OPTIONS & ~REGDB_OPTION_WOW64_64KEY;
2. 閱讀 installshield 關(guān)于系統(tǒng)目錄的 64的東西
3. 設置 compoment 為64 位
4. 。。。
新聞熱點
疑難解答
圖片精選