为Windows 7 / Vista应用程序启用“以管理员身份运行”(VS2012 / InstallShield2013)

时间:2014-02-05 09:58:19

标签: visual-studio-2012 install manifest installshield

我正在使用VS2012& InstallShield2013生成安装程序文件。

某些已安装的用户无法在WIn 7操作系统上运行此应用程序。但是他们可以进入已安装的目录 然后右键单击'Run as an Administrator'它的工作原理。

桌面上的图标,当我右键单击时,没有像'Run as an Administrator'这样的选项。

我签入了InstallShield目录C:\ Program Files \ InstallShield \ 2013LE \ Support \ 有三个文件: SetupExe.Admin.manifest, SetupExe.Highest.manifest, SetupExe.Invoker.manifest

所以我遵循了这篇文章:http://helpnet.flexerasoftware.com/installshield20helplib/Content/helplibrary/SpecifyingRequiredExecution.htm 并在'Invoker'

中选择了必需的执行级别Include MSI Engine:yes'Release Setup /Single Image'

如何启用右键单击'Run as an Administrator'的选项?

对于Win 7 32/64& amp;的用户来说,解决这个问题非常重要。赢得Vista。

我对这些文件感到很困惑。请帮帮我。

enter image description here

1 个答案:

答案 0 :(得分:4)

您在InstallShield中引用的设置不会影响应用程序本身的运行方式;相反,它们只会在启动时更改setup.exe所需的权限。

对于您的应用程序,有许多潜在的移动部件可能会影响“以管理员身份运行”选项是否显示在资源管理器的上下文菜单中:

  • 如果快捷方式引用的exe具有需要管理访问权限的清单,则它将始终运行提升,并且不会显示“以管理员身份运行”选项
  • 如果引用的exe被检测为安装程序,Windows可能会选择表现为具有需要管理访问权限的清单,因此可能不会显示“以管理员身份运行”选项
  • 如果程序兼容性助手(PCA)已决定该程序需要管理访问权限,请点击
  • 如果已修改快捷方式的兼容性设置以选择“以管理员身份运行此程序”,则ditto
  • 如果禁用UAC,资源管理器可能会选择不显示以管理员身份运行

其中一些方案可能会在卸载和重新安装过程中持续存在; Windows在尝试改善最终用户体验方面非常积极。但是在所有这些情况下,最终结果是您的应用程序将以管理员身份启动。

如果您始终需要在您的应用程序中使用管理员权限,强烈建议您实施以下第一项:嵌入包含requiresAdministrator设置的清单。这相当于您引用的设置对setup.exe的更改,但必须在应用程序的可执行文件中完成。

相关问题