中国服务器网

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

授予在没有UAC提示的情况下启动时启动的应用程序的pipe理员权限?

背景 我已经写了一个小型的C#/。NET 4.0应用程序,可以将安装在Program Files中的游戏的各种设置同步到不同机器上同一游戏的其他副本(请考虑Chrome书签同步,但是这个游戏)。 同步本身是一个相对简单的事情,处理存储在游戏的Program Files文件夹内的文件。 在我的机器上,这工作正常,无需通过UAC提升我的应用程序。 Windows 7使游戏使用程序文件虚拟化,我的应用程序正常工作。 但是,在很多testing人员的机器上,我得到的报告是,应用程序无法使用这些文件,在来的情况下甚至无法看到游戏的文件夹! 让用户右键单击并以“pipe理员身份运行”即可解决所有情况下的问题。 所以,我们只是设置应用程序的清单要求pipe理员权限,对吧? 当用户手动调用应用程序或同步过程时,这很好(虽然不理想),因为它们将与应用程序交互并准备好接受UAC请求。 然而,我的应用程序的function之一是“自动同步”选项,它允许用户“设置和忘记”的应用程序。 使用此设置,应用程序将自己放入HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Runregistry中,以便在启动时运行,并根据需要坐在系统托盘中同步后台中的设置。 显然,我需要在这里变得更聪明。 一旦用户login到他们的帐户或之后的随机间隔,提出UAC提示不是前进的方向。 所以,我的问题! 在需要pipe理员权限的启动时运行应用程序的情况下,处理这种情况的最佳方法是什么? 有没有办法让用户授权安装,导致系统在启动/login时没有提示而自动运行具有正确权限的应用程序? 更新要明确,这必须在代码中实现。