Visual c++ 无法在Win8-mfc中以编程方式更新我的应用程序

Visual c++ 无法在Win8-mfc中以编程方式更新我的应用程序,visual-c++,windows-8,mfc,exe,updates,Visual C++,Windows 8,Mfc,Exe,Updates,我正在尝试从系统菜单更新我的应用程序 通过点击更新应用。。在系统菜单中,更新自动启动 XP和Win 7运行良好, 但是当我试图在Win8中做同样的事情时,它就不起作用了。 它会提示您没有足够的权限运行此应用。 即使我使用管理员用户登录 提示:如果我以管理员身份手动运行Updates.exe,那么它也可以工作 我已附上屏幕截图。我不知道为什么只有Win 8才会出现这种情况 编辑 我也参考了这些文章 你没有提到这是否是你的应用。我假设它是您的应用程序,您使用给定的清单设置构建了该应用程序 您可以使用

我正在尝试从系统菜单更新我的应用程序

通过点击更新应用。。在系统菜单中,更新自动启动

XP和Win 7运行良好, 但是当我试图在Win8中做同样的事情时,它就不起作用了。 它会提示您没有足够的权限运行此应用。 即使我使用管理员用户登录

提示:如果我以管理员身份手动运行Updates.exe,那么它也可以工作

我已附上屏幕截图。我不知道为什么只有Win 8才会出现这种情况

编辑 我也参考了这些文章


你没有提到这是否是你的应用。我假设它是您的应用程序,您使用给定的清单设置构建了该应用程序

您可以使用Process Explorer检查它是否以提升的用户权限运行,或者在出现此对话框时不检查。这可能是一些构建问题,您正在为不同的项目/构建设置此UAC设置,并尝试运行不同的可执行文件


其他可能是本地安全策略中的特定用户权限我不知道哪个策略可以允许/阻止更新。或者可能具有线程安全权限,正在尝试启动更新

我肯定您的清单文件有问题。请在清单中嵌入

<requestedExecutionLevel level="requireAdministrator" uiAccess="false">
使用你的Updates.exe

虽然你已经试过了,但请再试一次


快照中显示的错误对话框与应用程序中显示的类似。因此,您的应用程序中可能会出现一些显示此对话框的签入。

UAC在Windows 8中始终处于打开状态。您应该查看Updates.exe的清单,并查看它请求的权限级别。我已经检查了Updates.exe的清单,在清单中还提到了。但我的问题仍然没有解决。还有其他建议吗?@ta.speot.is-不,没有。任何人都可以改变这种行为。它与Windows 7中的设置相同。@Ajay它不同:您可以禁用它,但您必须编辑注册表,这要困难得多。我正在为我的应用程序和我已检查的Updates.exe设置此UAC设置。我也以管理员权限登录,所以。。。我还尝试了Process Explorer来检查用户权限,但我不知道如何检查,所以您能更详细地指定这两个吗?你的app和Updates.exe不一样,我迷路了!运行procexp.exe,并选择“完整性级别”列以查看UAC状态。我已检查了完整性级别,它显示我的应用程序为高,而Updates.exe为中等。所以现在…?“高”是“管理员”,而“中”是“正常”而不是“低”,就像IE处于受限模式一样。这仅仅意味着Updates.exe没有在管理模式下运行!你仍然没有提到你的应用程序是什么以及这个Updates.exe是什么!那么,我如何授予管理员对Updates.exe的权限?在舱单上我提到了这件事。有没有其他方法可以使中到高?我遇到了问题,问题是在我的应用程序中,同时检查用户权限。谢谢@Ronak Patel。