我有一个在VS Studio 2008中开发的MFC应用程序,它在安装文件夹中读取和写入JSON文件。它完美地工作在vista(管理员),但只有当UAC被关闭。当UAC打开时,应用程序无法写入其JSON文件。我想我必须创建一个清单文件,但我还没有真正尝试创建一个。
问题:
谢谢..。
发布于 2010-02-12 17:03:09
UAC的整个概念是你不能绕过它。如果可以的话,那就没用了。
唯一的解决方案(这是您无论如何应该做的,不仅仅是因为UAC)是永远不要在安装文件夹中写入文件,而是在它所属的%APPDATA%中写入文件。
发布于 2010-02-12 10:08:07
您应该将此文件复制到AppData。修改程序文件中的文件总是会触发UAC提示符。此操作需要管理员权限,而清单对此没有帮助。
发布于 2010-02-12 17:14:48
添加清单文件,您只能声明应用程序需要UAC permisison。这样,用户将在应用程序启动时被提示输入UAC。
如果这是您想要的,这里,您可以找到如何做它的描述。
其他aprroach是安装一个使用LocalSystem帐户运行的服务,它允许(几乎)做任何事情而不需要UAC的许可。为此,您必须实现UI应用程序和服务之间的进程间通信。进程之间共享的内核对象必须从具有适当安全属性的服务中创建,这样才能以形式而不是提升的程序形式进行访问。服务的安装将提示用户使用UAC (与大多数其他安装一样)
https://stackoverflow.com/questions/2250810
复制相似问题