2011-10-04 134 views
2

我想基於(使用此計算機的任何人)AllUsers或僅適用於我(當前用戶)使用InstallShield Basic MSI項目的REG文件安裝註冊表值。如何在註冊表中爲ALLUSERS和CurrentUser單獨註冊

如果用戶選擇所有用戶,則註冊表項應轉到[HKEY_CLASSES_ROOT]。如果用戶選擇當前用戶,則註冊表項應該到HKCU \ Software \ Classes \ CLSID

請幫忙?

謝謝

回答

2

Windows Installer在默認情況下會執行此操作。 HKEY_CLASSES_ROOT會自動重定向到HKEY_CURRENT_USER \ Software \ Classes以供每個用戶安裝。

你可以閱讀更多關於此這裏:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa371168(v=vs.85).aspx

+0

如何避免在用戶安裝(HKEY_CURRENT_USER)的情況下提示用戶批准對話框? – Tarun

+0

確保安裝不會寫入任何每臺計算機位置(HKEY_LOCAL_MACHINE,Program Files等)。例如,每個用戶安裝應使用用戶配置文件夾中的位置。 –

+0

是否可以使用C \ Program File \ Application Name?我是Installshield的新手。在installshield中設置用戶配置文件夾的位置?謝謝 – Tarun

1

的InstallShield的註冊視圖顯示蕁麻疹HKEY_CURRENT_USER,HKEY_LOCAL_MACHINE和HKEY_USER_SELECTABLE。導入您的REG文件,它將與HKEY_CURRENT_USER或HKEY_LOCAL_MACHINE關聯。然後將導入到HKEY_USER_SELECTABLE配置單元的鍵。現在將在安裝過程中根據每用戶或每臺機器(ALLUSERS屬性)創建密鑰。另外,如果你告訴InstallShield從你的DLL中提取COM數據(而不是使用你的regfile),那麼COM元數據將進入COM「表」(AppId,ProgId,Class等)和Windows Installer仍然會根據每用戶/每機器的概念將數據記錄到HKEY_LOCAL_MACHINE \ Classes或HKEY_CURRENT_USER \ Classes。