Встроенный манифест .NET Приводит к сбою XP
-
19-09-2019 - |
Вопрос
Я встраиваю манифест в .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?