Вопрос

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

Каков стандартный способ создания exe-файла, который будет функционировать с правильными разрешениями в XP и Vista / Windows 7?

Спасибо, Алан

Это было полезно?

Решение

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top