Ich habe hier ein leeres XE2-
VCL-Projekt und beim Compilieren erzeugt mir XE2 automatisch eine Ressource die folgendes Manifest beinhaltet:
Code:
<?
xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-
com:
asm.v1" manifestVersion="1.0">
<dependency>
<dependentAssembly>
<assemblyIdentity
type="
win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
publicKeyToken="6595b64144ccf1df"
language="*"
processorArchitecture="*"/>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-
com:
asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="asInvoker"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
toll, ich möchte jetzt aber das Programm mit AdminRechten starten lassen ... ist ja eigentlich kein Problem, da setze ich einfach
<requestedExecutionLevel> auf
requireAdministrator
... öhm ... aber wie sag ich das nun
Wenn ich eine entsprechende "AdminManifest" Ressource einbinde, dann finde ich die auch in der EXE wieder ... aber auch das Standard-Manifest created by Delphi XE2
Und das Programm startet OHNE Admin-Rechte anzufordern.
Wo ist denn jetzt der Schalter bei XE2 um das dort einzustellen?
...
Ok, ich habe es jetzt gefunden ... das Standard-Manifest.
Gut dann lege ich mir eben ein eigenes an und trage das dann in den Projekt-Optionen ein.
Code:
Projekt-Optionen/Anwendung/Laufzeit-Themes
Das Tolle daran ist, dass die Vererbung dieser Einstellung nicht ganz so geglückt ist.
Entweder man stellt das für jede Konfiguration das separat ein, oder man bearbeitet die .dproj Datei.
Denn einmal gesetzt kommt man nicht wieder zurück zum Vererben