【问题标题】:Run as administrator not showing in start menu以管理员身份运行未显示在开始菜单中
【发布时间】:2013-04-26 03:49:38
【问题描述】:

背景: 我的 C++ 应用程序由 VS2008 开发,并使用 VS 安装项目为其创建安装程序。安装后,它将创建两个应用程序的快捷方式。一个在用户桌面,第二个在开始菜单中。应用程序(myApp.exe) 安装到Program files 目录。

问题:如果我右键单击开始菜单中的图标,大多数图标都有一个选项Run as Administrator。但是,如果我右键单击与我的应用程序相关的快捷方式。它不显示Run as Administrator。如何解决这个问题?

编辑:但是如果我右键单击Program files 中的myApp.exe,它会显示“以管理员身份运行”。

【问题讨论】:

  • 桌面快捷方式不显示“以管理员身份运行”?
  • 我相信你用 VS 2008 编译的任何东西都应该有一个清单(可能嵌入到 exe 本身中)。清单告诉操作系统程序需要(或想要)以管理员身份运行。该复选框(至少主要)用于没有清单的程序。
  • @CodyGray:是的,桌面快捷方式也没有显示“以管理员身份运行”
  • @JerryCoffin:我检查了嵌入清单文件的 exe 文件。如何使用清单显示“以管理员身份运行”?

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


【解决方案1】:

将您的嵌入式清单设置为需要管理员。在项目属性页面上:

...在(突出显示的)UAC Execution Level 上,将 asInvoker 更改为 requireAdministrator。构建您的项目以嵌入新清单,它应该已经准备好执行它的任务了。

哦——我没想到在这里做,但在Configuration 下拉菜单中,您可能想要选择All Configurations,而不是屏幕中选择的(默认)Active 配置射击。变得非常烦人——你认为你已经解决了问题,然后你改为“发布”,一堆东西突然坏了,你必须弄清楚你改变了什么,然后将这些更改编辑到 @ 987654328@配置也一样。

【讨论】:

  • 但他不想要求管理权限。此选项将在启动时自动请求提升。他只是希望该选项在上下文菜单中可用。
  • @CodyGray:至少在我读到它的时候,他确实希望它以管理员身份运行——就在现在,他正试图通过安装后的调整来做到这一点,这会在构建时自动处理它。
  • 这个解决方案对我不起作用。上述更改清单文件新包含<requestedExecutionLevel level="requireAdministrator" uiAccess="false"></requestedExecutionLevel>,但上下文菜单与以前相同。
  • 实际上我不需要总是以管理员身份运行我的应用程序。如果用户需要,应该有一种“以管理员身份运行”的方法。无论如何,比你多得多的帮助!
  • 在这种情况下,虽然我没有测试过,但我期望通过将“Generate Manifest”更改为“no”来获得您想要的。
【解决方案2】:

在清单文件中有选项“requestedExecutionLevel”和“UIAccess”可以管理它。

【讨论】:

    【解决方案3】:

    经过这么多的测试和搜索,我找到了答案。所以这里我提一下供任何人使用。

    • Windows 仅在快捷方式的上下文菜单中显示Run as Administrator,这些快捷方式直接指向某个exe 文件。
    • 如果您使用 VS 部署(安装)项目来创建带有桌面和开始菜单快捷方式的安装。那些不针对exe (Application.exe) 文件的快捷方式。
    • 而不是针对应用程序文件夹的快捷方式(MS office 2007 也一样)。这称为installation-on-demand and advertisementHere 是更多细节。
    • 这将帮助您的应用程序修复文件丢失(请向 Google 寻求更多信息)。
    • 因此,如果您想将快捷方式直接定位到 exe 文件,我们必须禁用此功能。
    • 为此,您可以使用命令提示符或一些工具。这是怎么做的。

      1. 通常具有exemsi 的Windows 安装程序。
      2. 这些设置存储在msi,随设置文件生成。
      3. 因此您必须更改文件并将条目DISABLEADVTSHORTCUTS=1 添加到属性表中。

    使用命令提示符:

    msiexec /i <path to your msi> DISABLEADVTSHORTCUTS=1

    使用Orca 工具:(还有许多其他工具)

    1. here 下载 Orca 工具并安装。
    2. 右键单击您的*.msi 文件,然后单击edit with orca
    3. 转到属性表并添加新条目DISABLEADVTSHORTCUTS,值为1,保存并关闭。
    4. 现在你完成了。
    5. 使用 setup.exe 文件安装并检查快捷方式的目标。这些直接针对应用程序文件夹中的exe 文件。
    6. 现在,如果您右键单击快捷方式,则会在上下文菜单中显示Run as Administrator 选项。

    注意:这样做您将获得Run as Administrator,但会削弱windows auto repair 的能力。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-02
      • 2011-12-29
      • 2012-11-22
      • 2016-09-20
      • 2010-11-26
      • 2012-05-28
      • 2011-03-24
      相关资源
      最近更新 更多