我正在努力让我的产品在Windows 7上无缝运行。问题在于有一小部分全局(非用户特定)应用程序设置,所有用户都应该能够更改。
以前的版本中我使用
愚蠢的解决方法当然是将
另一个解决方案可能意味着在需要写入注册表键时进行程序提升。更别说我不知道如何实现了,这也非常尴尬。它会严重干扰正常用户体验,以至于我几乎不认为它是一个可选项。
我知道相对容易实现的另一个方法是在安装过程中添加对指定注册表键的写访问权限。我为此创建了一个单独的问题。这也非常类似于访问共享文件以存储设置。
我的感觉是,必须有一种方法能够以安全、简单和兼容所有操作系统的方式实现我所需要的功能。有什么想法吗?
以前的版本中我使用
HKLM\Software\__Company__\__Product__
达到这个目的。这允许电源用户和管理员修改注册表键,一切正常。现在Windows Vista和Windows 7默认启用UAC功能,即使是管理员在没有提升权限的情况下也不能写入注册表键。愚蠢的解决方法当然是将
requireAdministrator
选项添加到应用程序清单中。但这真的很不专业,因为产品本身与管理相关的任务极为远离。所以我需要保持asInvoker
。另一个解决方案可能意味着在需要写入注册表键时进行程序提升。更别说我不知道如何实现了,这也非常尴尬。它会严重干扰正常用户体验,以至于我几乎不认为它是一个可选项。
我知道相对容易实现的另一个方法是在安装过程中添加对指定注册表键的写访问权限。我为此创建了一个单独的问题。这也非常类似于访问共享文件以存储设置。
我的感觉是,必须有一种方法能够以安全、简单和兼容所有操作系统的方式实现我所需要的功能。有什么想法吗?