У меня есть приложение XP, у которого есть несколько ключей, установленных через GPP, в противном случае оно предлагает пользователю вручную ввести эту информацию. Это записано в HKEY_LOCAL_MACHINE \ SOFTWARE \ AppX
На машине с Windows7 этот GPP неэффективен. Если я запускаю приложение и ввожу информацию вручную, оно записывается в HKEY_CURRENT_USER \ Software \ Classes \ VirtualStore \ MACHINE \ SOFTWARE \ Wow6432Node \ AppX.
Если я добавлю новый GPP, который записывает в файл с той же информацией, которая устанавливается во время ручного процесса, приложение не сможет загрузить ключи и не запустится, пока я не удалю ключи GPP и не введу информацию вручную. Если я удалю ключ и запустил экспортированный файл reg, он заработает.
Какие у меня есть варианты, чтобы это работало? сценарий входа в систему с файлом reg? Если разработчику нужно что-то изменить при сборке exe, о чем мне просить?
Если это действительно настройки для каждого пользователя, разработчик приложения должен хранить их в HKEY_CURRENT_USER. Это лучший ответ, и если вы можете его получить, настаивайте на нем.
Когда вы говорите: «На машине с Windows7 этот GPP неэффективен». мне непонятно, что вы имеете в виду. Параметры групповой политики могут устанавливать значения в HKEY_LOCAL_MACHINE с помощью параметров реестра, указанных в разделе «Конфигурация компьютера» объекта групповой политики. Вы говорите, что у вас есть настройки GPP в объекте групповой политики, который применяется к компьютеру с Windows 7, но компьютер не записывает настройки в соответствующее место в реестре?
Что касается избавления от виртуализированных ключей реестра для каждого пользователя, у которого они, возможно, уже есть, я бы использовал GPP в политике, которая применяется к пользователю, чтобы удалить эти значения.
Редактировать:
Вау там. Я только что увидел "Wow6432Node" в вашем вопросе. У вас одновременно происходят две разные вещи.
Ваш GPP, вероятно, пишет ключи к HKEY_LOCAL_MACHINE\SOFTWARE\AppX
. Однако на основе виртуализированных ключей, которые вы показываете пользователям, похоже, что приложение является 32-разрядной программой. В этом случае на 64-битной машине Windows 7 вашему GPP необходимо записать ключи в HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\AppX
. Вы можете охватить эти записи реестра 64-разрядными клиентами только с помощью таргетинга на уровень элементов и «Соответствие реестра» на HKEY_LOCAL_MACHINE\Software\Wow6432Node
.