У меня есть две виртуальные машины, на которые я хочу (Wix) установить свое программное обеспечение. Один из них - это Windows XP SP2, а другой - Windows XP SP1. Ни один из них не использует домены, и у обоих есть локальный администратор с правами администратора.
Запуск RegAsm.exe для регистрации MyApp.dll на машине с SP3 помещает мой ProgId в папки:
HKEY_CLASSES_ROOT \ MyAppProgId
HKEY_LOCAL_MACHINE \ Программное обеспечение \ Классы \ MyAppProgId
при запуске на компьютере с пакетом обновления 2 (SP2) он помещается в папки:
HKEY_CLASSES_ROOT \ MyAppProgId
HKEY_CURRENT_USER \ Программное обеспечение \ Классы \ MyAppProgId
Я обнаружил это при попытке загрузить MyApp.dll из службы. Файл реестра, созданный с помощью RegAsm.exe, а также Heat.exe, похоже, обновляет HKEY_CLASSES_ROOT.
Кто-нибудь знает, что могло вызвать это?
РЕДАКТИРОВАТЬ: В итоге я обошел это, написав непосредственно в HKEY_LOCAL_MACHINE вместо HKCR - это включало ручное редактирование сгенерированного файла .reg или .wxs.