Как зарегистрировать записи в реестре для ALLUSERS и CurrentUser отдельно - PullRequest
2 голосов
/ 04 октября 2011

Я хочу установить значения реестра из файла REG на основе (для всех, кто использует этот компьютер) AllUsers или только для меня (для текущего пользователя) с использованием InstallShield Basic MSI project

Если пользователь выбирает «Все пользователи», то записи реестра должны идти в [HKEY_CLASSES_ROOT].Если пользователь выбирает Current User, то записи реестра должны идти в HKCU \ Software \ Classes \ CLSID

.

Ответы [ 2 ]

2 голосов
/ 04 октября 2011

Установщик Windows делает это по умолчанию.HKEY_CLASSES_ROOT автоматически перенаправляется в HKEY_CURRENT_USER \ Software \ Classes для индивидуальной установки.

Подробнее об этом можно прочитать здесь:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa371168(v=vs.85).aspx

1 голос
/ 05 октября 2011

Представление реестра InstallShield показывает ульи HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE и HKEY_USER_SELECTABLE. Импортируйте ваш файл REG, и он будет связан либо с HKEY_CURRENT_USER, либо с HKEY_LOCAL_MACHINE. Затем перетащите ключи, которые были импортированы в куст HKEY_USER_SELECTABLE. Теперь ключи будут создаваться в зависимости от пользователя или компьютера (свойство ALLUSERS) во время установки.

Кроме того, если вы скажете InstallShield извлечь данные COM из вашей DLL (вместо использования вашего regfile), то метаданные COM войдут в «таблицы» COM (AppId, ProgId, Class и др.) И установщик Windows по-прежнему либо записывать данные в HKEY_LOCAL_MACHINE \ Classes или HKEY_CURRENT_USER \ Classes на основе концепции «на пользователя / на машину».

...