Встраиваемый манифест .NET XP - PullRequest
1 голос
/ 13 марта 2010

Я встраиваю манифест в .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?

Спасибо, Alan

1 Ответ

1 голос
/ 14 марта 2010

Я думаю, что манифест может быть красная сельдь. Я только что создал консольное приложение со встроенным манифестом, предназначенное для .NET 2.0, и оно успешно работает на XP SP3.

Вы пытались запустить приложение на XP без встроенного манифеста? Кроме того, на какую версию .NET вы нацеливаетесь, какой тип приложения .NET (WPF, WinForms, служба и т. Д.) И, наконец, (я должен спросить), правильная версия .NET установлена ​​на этом компьютере с XP?

...