我在Visual Studio Installer中从应用程序.EXE创建了一个快捷方式,但是当我右键单击快捷方式图标时,生成的快捷方式没有“以管理员身份运行”选项。
Program Files 中的应用程序.EXE确实允许右键单击此选项。如果我从.EXE(即“创建快捷方式”)而不是从部署中手动创建快捷方式,则生成的快捷方式也具有该选项。
如何在Visual Studio 安装程序中部署应用程序以包含在右键单击时启用“以管理员身份运行”选项的快捷方式?
我在Visual Studio Installer中从应用程序.EXE创建了一个快捷方式,但是当我右键单击快捷方式图标时,生成的快捷方式没有“以管理员身份运行”选项。
Program Files 中的应用程序.EXE确实允许右键单击此选项。如果我从.EXE(即“创建快捷方式”)而不是从部署中手动创建快捷方式,则生成的快捷方式也具有该选项。
如何在Visual Studio 安装程序中部署应用程序以包含在右键单击时启用“以管理员身份运行”选项的快捷方式?
我花了很长时间寻找解决方案。真的很神奇,因为它必须是所有 Visual Studio 安装程序项目的情况。
在撰写本文时,我正在使用 Visual Studio 2017 社区,但我在 IDE 中看不到任何执行此操作的选项。
显然,这是一个导致.msi
创建的快捷方式是“广告快捷方式”的问题。我会让你在自己的时间里发现你想知道的。(就我个人而言,我不在乎。)
您需要做的是强制快捷方式为“非广告”。
这是我在 SO 中发现的两个解决方案中更好的一个。我认为它更好,因为它 1) 不包括为每个解决方案调整安装程序项目,并且 2) 不涉及.msi
在每次构建后手动编辑文件。
顺便说一句,对于这个解决方案的这个 SO 帖子上的人来说,这是完全值得的。你知道你是谁。我发帖是因为从这个问题上看它是否能解决这个特定问题并不明显。
您所做的是对 msi 创建模式文件进行一般更改,以便将更改传播到您未来的所有构建。您需要 Orca 进行初始更改。
在此处下载 Windows SDK 安装程序。
在安装程序中选择“MSI 工具”。
安装在{Installation Folder}\Windows Kits\10\WindowsSDK\Installers中找到的 Orca-x86_en-us 。
找到位于{Visual Studio Program Folder}\Common7\IDE\CommonExtensions\Microsoft\VSI\bin\VsdSchema之类的文件“Schema.msi” 。
在 Orca 中打开“Schema.msi”。
如果文件夹是只读的,请将其复制到桌面,并在步骤 9 后替换原始文件夹。
选择左侧的“属性”表。
添加具有属性DISABLEADVTSHORTCUTS
和值“1”(真)的表格行。
保存文件并关闭 Orca。
重建您的安装程序项目并(重新)部署您的应用程序。
享受“以管理员身份运行”的能力!
最后一点:我发现对 Visual Studio 的更新可以覆盖您所做的更改,再次删除“以管理员身份运行”上下文选项。所以每次更新后检查msi文件。
如果您有清单,则可以要求具有管理员权限,将以下内容添加到清单中
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
请参阅 http://msdn.microsoft.com/en-us/library/bb756929.aspx
您还可以在注册表的帮助下以管理员身份运行任何文件类型,请参阅 http://www.howtogeek.com/howto/windows-vista/add-run-as-administrator-to-any-file-type-in - windows-vista/