萬盛學電腦網

 萬盛學電腦網 >> 服務器教程 >> installshield 64位OS打包注意事項

installshield 64位OS打包注意事項

   installshield 64位OS打包注意事項

  1、安裝目錄

  64位系統下,安裝目錄分Program Files和Program Files(x86)。

  64bit Application會自動安裝在Program Files下;

  32bit Application會自動安裝在Program Files(x86)下。

  2、系統目錄

  64位系統下,系統目錄分system32和syswow64。

  64bit AP 運行在system32下;

  32bit AP 運行在syswow64下。

  Installshield打包注意事項:

  問題:當32位的AP調用WINSYSDIR變量時,會默認指向syswow64,就算是調用WINDIR^"system32",也會被強迫指向syswow64。

  解決:Disable(WOW64FSREDIRECTION)

  WOW64FSREDIRECTION:起著判斷64位系統下調用哪個系統變量的作用,Disable掉後,就會默認指向system32。

  注意:當安裝進行完後,記得Enable(WOW64FSREDIRECTION),以避免影響系統的其他程序。

  經驗:

  在Installing()事件中Disable(WOW64FSREDIRECTION);

  在Installed()事件中Enable(WOW64FSREDIRECTION);

  這樣整個安裝過程就不用去考慮何時開關了。

  同樣,卸載的過程中也得在UnInstalling()和UnInstalled()中這樣做,才會卸載掉對應的部分。

  3、注冊表

  64位系統下,注冊表分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位有關的目錄,方法,都用64位的代替。這樣就可以保證正確的安裝到64位的目錄下面。

  1.REGDB_OPTIONS 讓注冊表函數在64位win系統上正確讀寫而非讀寫 6432node

  REGDB_OPTIONS = REGDB_OPTIONS | REGDB_OPTION_WOW64_64KEY;

  REGDB_OPTIONS = REGDB_OPTIONS & ~REGDB_OPTION_WOW64_64KEY;

  2. 閱讀 installshield 關於系統目錄的 64的東西

  3. 設置 compoment 為64 位

  4. 。。。

copyright © 萬盛學電腦網 all rights reserved