使用管理员权限vc ++启动应用程序

时间:2013-01-22 12:59:19

标签: c++ windows visual-c++ windows-installer

正在处理安装在程序文件文件夹中的vc ++后台应用程序。它在手动启动时工作正常,它在同一文件夹中创建xml文件。但是,当应用程序配置为启动时,应用程序不会创建该文件。

即使我提供了requireAdministrator权限,它也不会在启动时创建文件。

这与Granting administrator privileges to an application launched at startup without UAC prompt?

的问题相同

但是当程序以管理员身份运行时,它不会在启动时启动,这是我的问题

但我正在为vc ++中的解决方案工作。

请帮助我工作一周以上

3 个答案:

答案 0 :(得分:1)

您是否为项目添加了适当的清单? 在VC ++中你必须添加一个(http://msdn.microsoft.com/en-us/library/windows/desktop/bb756929.aspx)

答案 1 :(得分:1)

将XML文件移至ProgramData(CSIDL_APPDATA)。

答案 2 :(得分:1)

我假设你启用了UAC(即出现UAC提示)。如果是这样的话,你会在从资源管理器启动时看到它,并且从管理模式Visual Studio中看不到它(因为VS被提升),因此你的进程会被提升。

但是,当您的流程启动时,UAC将不会出现,您的应用程序将无法启动。最好选择来使您的应用程序需要管理员权限(为什么需要?)。您可以将数据保存在其他文件夹中。

如果必须,您可能需要创建一个服务,该服务将以提升模式启动您的应用程序(是的,没有任何UAC提示)。

请检查应用程序的系统事件报告,因为这无法轻松调试。

相关问题