Frage

Einer meiner Executables schreibt eine Konfiguration in eine XML-Datei C: \ Programme \ MyApp \ config.xml. Es muss als Administrator auf Vista / Server 2008 ausgeführt werden, da sonst das Betriebssystem wird es an diesen Ort nicht zulassen schreiben.

I enthalten eine Manifest-Datei namens config.exe.manifest, um Administrationsrechte beim Start automatisch anfordern.

Hier ist meine Manifest-Datei:

<?xml version="1.0" encoding="utf-8"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="requireAdministrator" />
      </requestedPrivileges>
    </security>
  </trustInfo>
</assembly>

habe ich versucht, diese auf Windows Server 2008, aber die Manifest-Datei scheint ignoriert zu werden und die ausführbare Datei ohne ausreichende Rechte ins Leben gerufen.

War es hilfreich?

Lösung 3

Ok es funktioniert, wenn ich die Manifest-Datei mit MT.EXE einbetten. Noch weiß nicht, warum es nicht funktioniert, wenn ich das Manifest als separate Datei zur Verfügung stellen, aber ich denke, embeding eine gute genug Lösung ist.

Andere Tipps

http: / /blogs.msdn.com/junfeng/archive/2009/05/11/internal-manifest-vs-external-manifest.aspx

von oben Link zitiert: In Windows XP, sucht SxS externes Manifest vor internen manifestieren. Wenn eine externe Manifest gefunden wird, wird das interne Manifest ignoriert.

In Windows Server 2003 und höher wird die Reihenfolge umgekehrt. Internes manifest wird über externes manifest bevorzugt.

Wenn Sie externes manifest, und Ihr Szenario funktioniert unter Windows XP, aber nicht Windows Server 2003 und später, doppelklicken Sie die ausführbare Datei überprüfen hat kein internes Manifest

Dies wird Ihnen Batty fahren - bekam davon auf den Boden und einen Artikel veröffentlicht, und einige Dienstprogramme, die mit Ihrem Manifest zu helfen, nicht berücksichtigt zu werden: finden Sie heraus, warum Ihr externes Manifest ignoriert wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top