0

我正在开发一个安装在程序文件文件夹中的 vc++ 后台应用程序。它在手动启动时工作正常,它在同一文件夹中创建 xml 文件。但是,当应用程序配置为启动时,它并没有创建文件。

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

这与在没有 UAC 提示的情况下向启动时启动的应用程序授予管理员权限的问题相同?

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

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

请帮助我在这方面工作了一个多星期

4

3 回答 3

1

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

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

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

请检查您的应用程序的系统事件报告,因为这不容易调试。

于 2013-01-22T17:06:12.900 回答
1

将 XML 文件移动到 ProgramData ( CSIDL_APPDATA)。

于 2013-01-22T13:50:06.773 回答
1

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

于 2013-01-22T13:16:06.780 回答