我有一个XP应用程序,它通过GPP设置了许多键,否则它会提示用户手动输入这些信息。这是写到HKEY_LOCAL_MACHINE\SOFTWARE\AppX的
当在Windows7机器上时,这个GPP是无效的。如果我运行该应用程序并手动输入信息,它将写入HKEY_CURRENT_USER\Software\Classes\VirtualStore\MACHINE\SOFTWARE\Wow6432Node\AppX.
如果我添加了一个新的GPP,它写入的信息与手动过程中设置的信息相同,则应用程序无法加载键,并且在我删除GPP键并手动输入信息之前不会启动。如果我删除密钥并运行导出的reg文件,它就能工作。
我有什么办法让这件事成功呢?带有reg文件的登录记录?如果这是开发人员在构建exe时需要更改的内容,我应该要求什么?
发布于 2013-02-13 18:38:50
如果这些是每个用户的设置,那么应用程序开发人员应该将它们存储在HKEY_CURRENT_USER中。这是最好的答案,如果你能得到它,推动它。
当你说“当在Windows7机器上时,这个GPP是无效的。”我不清楚你是什么意思。组策略首选项能够使用GPO的“计算机配置”部分中指定的注册表设置在HKEY_LOCAL_MACHINE下设置值。您是说在适用于Windows 7计算机的GPO中有GPP设置,但计算机没有将设置写入注册表中的适当位置?
对于可能已经拥有这些项的每个用户,我都会在适用于用户的策略中使用GPP来删除这些值。
编辑:
哇哦。我刚在你的问题上看到了"Wow6432Node“。你有两个不同的事情同时发生。
您的GPP可能正在编写HKEY_LOCAL_MACHINE\SOFTWARE\AppX的密钥。但是,根据您为用户显示的虚拟键,看起来该应用程序是一个32位程序。在这种情况下,在64位的Windows 7机器上,GPP需要写入HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\AppX的键。您可以仅使用项目级别的目标定位和HKEY_LOCAL_MACHINE\Software\Wow6432Node上的“注册表匹配”将这些注册表项范围扩展到64位客户端。
https://serverfault.com/questions/478503
复制相似问题