.NET Embedded Manifest崩溃了XP

时间:2010-03-13 20:07:36

标签: .net windows-7 windows-vista uac elevation

我在.NET exe中嵌入了一个清单,以便它可以在Vista和Windows 7中请求提升的权限。我使用的清单如下:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0"  name="ElevationTest" type="win32"/>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="requireAdministrator"/>
      </requestedPrivileges>
    </security>
  </trustInfo>
</assembly>

它在Vista和Windows 7中按预期工作,但崩溃的XP标准“......遇到问题,需要关闭......”错误。如果我没有嵌入任何清单,那么它按预期工作,但显然在Vista和Windows 7中没有所需的权限。

生成在XP和Vista / Windows 7中使用正确权限运行的exe的标准方法是什么?

谢谢, 艾伦

1 个答案:

答案 0 :(得分:1)

我认为清单可能是红鲱鱼。我刚刚创建了一个嵌入了该清单的控制台应用程序,目标是.NET 2.0,它可以在XP SP3上运行。

您是否尝试在没有嵌入清单的情况下在XP上运行应用程序?此外,您正在定位哪个版本的.NET,它是什么类型的.NET应用程序(WPF,WinForms,服务等),最后(我不得不问),是否在该XP机器上安装了正确的.NET版本?