如果应用程序有时不执行注册表操作而有时执行注册表操作,那么分区是一种可行的方法。分区的三个关键是(1)在第二个 exe 上有一个清单,正如 Ho 所说,(2)在按钮/菜单项上放置一个盾牌,以便用户期望提升,以及(3)使用 ShellExecute 启动它(在调用 Start,将 UseShellExecuteFlag 设置为 true)以便使用清单。
但是,在麻烦地拆分您的应用程序之前,我会问两个问题。首先,它是否曾经用于非管理目的,或者每个用户总是“单击该按钮”并且需要提升?如果是这样,那么只需将管理清单放在应用程序上,不要对其进行分区。其次,您确定需要写入注册表的该部分吗?你能把你的钥匙移到 HKCU 下的某个地方吗?如果可以的话,那么你就不再需要提升,每个人都会更快乐。我总是喜欢首先考虑这些可能性,因为它们意味着比分区更少的代码和更少的测试。
| 归档时间: |
|
| 查看次数: |
1628 次 |
| 最近记录: |