以管理员身份运行,未在开始菜单中显示

时间:2013-04-26 03:49:39

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

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

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

修改但如果我右键点击myApp.exe中的Program files,则会显示“以管理员身份运行”。

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

enter image description here

...在(突出显示的)UAC Execution Level上,将asInvoker更改为requireAdministrator。构建你的项目以嵌入新的清单,它应该准备好做它的事情。

哦 - 我不想在这里做,但在Configuration下拉列表中,您可能想要选择All Configurations,而不是(默认)Active在屏幕截图中选择的配置。变得非常烦人 - 你认为你已经解决了问题,然后你改为“发布”,一堆东西突然中断,你必须弄清楚你改变了什么,并将这些变化编辑到{ {1}}配置也是如此。

答案 2 :(得分:0)

经过大量的测试和搜索,我找到了答案。所以我在这里提到它用于任何一个。

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

    1. Nirmally Windows安装程序,其exemsi
    2. 这些设置存储在使用安装文件生成的msi处。
    3. 所以你必须改变文件并将条目DISABLEADVTSHORTCUTS=1添加到属性表。

使用命令提示符:

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

使用Orca工具(还有Meny其他工具)

  1. here下载Orca工具并安装它。
  2. 右键单击*.msi文件,然后点击edit with orca
  3. 转到属性表并添加新条目DISABLEADVTSHORTCUTS,值为1,保存并关闭。
  4. 现在你完成了。
  5. 使用setup.exe文件安装并检查快捷方式的目标。这些文件直接定位到应用程序文件夹中的exe文件。
  6. 现在,如果您右键单击上下文菜单中显示Run as Administrator选项的快捷方式。
  7. 注意:这样做会获得Run as Administrator,但会使windows auto repair能力受损。