“以管理员身份运行”选项不会显示在资源管理器的上下文菜单中

问题描述:

我正在使用VS2012 WPF应用程序& Install-shield 2013 LE生成安装程序。“以管理员身份运行”选项不会显示在资源管理器的上下文菜单中

安装后,我注意到“以管理员身份运行”选项没有显示在desktop icon的资源管理器的上下文菜单中。

部分用户无法运行应用程序,但他们可以通过进入已安装的目录运行该应用程序,并右键单击以管理员身份运行的图标。

我检查了这个链接:http://msdn.microsoft.com/en-us/library/ms247046.aspx然后我添加了选项:“嵌入清单与默认设置”并重新生成安装程序。但它没有做任何改变。

我正在Win 7 OS 32bit上进行测试。

我怎样才能启用选项“以管理员身份运行”,当我右键单击在资源管理器上下文菜单中的应用程序图标?

同样的问题这样的问题:VS 2010 setup shortcut file not shows Run as Administrator option

app.manifest:

<?xml version="1.0" encoding="utf-8"?> 
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/> 
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> 
    <security> 
     <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> 
     <!-- UAC Manifest Options 
      If you want to change the Windows User Account Control level replace the 
      requestedExecutionLevel node with one of the following. 

     <requestedExecutionLevel level="asInvoker" uiAccess="false" /> 
     <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> 
     <requestedExecutionLevel level="highestAvailable" uiAccess="false" /> 

      Specifying requestedExecutionLevel node will disable file and registry virtualization. 
      If you want to utilize File and Registry Virtualization for backward 
      compatibility then delete the requestedExecutionLevel node. 
     --> 
     <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> 
     </requestedPrivileges> 
    </security> 
    </trustInfo> 

    <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> 
    <application> 
     <!-- A list of all Windows versions that this application is designed to work with. 
     Windows will automatically select the most compatible environment.--> 

     <!-- If your application is designed to work with Windows Vista, uncomment the following supportedOS node--> 
     <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"></supportedOS> 

     <!-- If your application is designed to work with Windows 7, uncomment the following supportedOS node--> 
     <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/> 

     <!-- If your application is designed to work with Windows 8, uncomment the following supportedOS node--> 
     <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"></supportedOS> 

    </application> 
    </compatibility> 

    <!-- Enable themes for Windows common controls and dialogs (Windows XP and later) --> 
    <dependency> 
    <dependentAssembly> 
     <assemblyIdentity 
      type="win32" 
      name="Microsoft.Windows.Common-Controls" 
      version="6.0.0.0" 
      processorArchitecture="*" 
      publicKeyToken="6595b64144ccf1df" 
      language="*" 
     /> 
    </dependentAssembly> 
    </dependency> 

</asmv1:assembly> 

enter image description here

enter image description here

编辑:

我计算出来的的Insta llShield 2013 LE(限量版)不允许我像这样放置目标directioy:"C:\ProgramFiles\TestUtility.exe"。如果目标引用了exe,那么'以管理员身份运行'将自动启用。

原文:

enter image description here

它应该是这样的:

enter image description here

所以,InstallShield将LE是不允许我改变这种状况。

我必须找到另一种方式来生成安装程序。有什么建议吗?

+0

您是否在链接的问题中尝试了解决方案,如果是,它是否会失败? –

+0

@TheodorosChatzigiannakis:我尝试添加一个app.manifest文件并将其构建为无。并生成一个新的安装程序,但我没有看到该选项。 – linguini

+0

请不要在问题标题中重复标签。 –

我终于找到为什么'以管理员身份运行'没有启用。当安装的图标未被引用到.exe时,它将不可用。

在此InstalShield 2013 LE版本的顶部不允许更改“目标目录”值。

链接:http://community.flexerasoftware.com/showthread.php?206542-Permissions-setting-to-edit-within-directory

指.exe文件是很重要的;为什么?用户可以通过Windows资源管理器上下文菜单以管理员身份运行应用程序。

我决定使用WIX安装程序。

请给我你的FB。