我的应用程序存在一个主要问题。我有一个app& updater作为单独的exe文件。当更新可用时,更新程序会执行更新,并在进程完成时启动我的应用程序。主要问题是 - 应用程序安装在程序文件文件夹中,因此更新程序需要UAC管理员权限,这没关系,但是当我需要运行我的应用程序时,更新程序需要以普通用户身份运行它,因为如果它以管理员身份运行和drop不起作用(不是应用程序问题,UAC阻止它)。我尝试了几种不同的解决方案,甚至是这一种: How to run NOT elevated in Vista (.NET)
它没有帮助我 - 我的应用程序以管理员身份运行。
答案 0 :(得分:9)
你最好避免从高架过程中启动非升级过程。这是一个棘手的部分,容易出错。
这种方法更好:
asInvoker
。runas
动词以提升的权限重新启动自身,并传递命令行参数以指示它。此实例执行更新并返回。非常简单而且健壮。
答案 1 :(得分:0)
请看这篇关于如何为高架过程启用拖放的帖子。即使它说MFC应用程序你可以在我认为的任何应用程序中使用那些Windows API