Einzelnen Beitrag anzeigen

samso

Registriert seit: 29. Mär 2009
439 Beiträge
 
#5

AW: Wo kommt dieses Manifest her und wie kann man es ändern?

  Alt 4. Sep 2013, 08:27
Ich mache das so (funktioniert auch mit älteren Delphi Versionen wie z.B. Delphi 6):

Schritt 1
Modifizieren des Projektquelltextes
Delphi-Quellcode:
program ProgrammXYZ;

{$R 'StartAsInvoker.res' 'StartAsInvoker.rc'}

uses
  Forms,....
Schritt 2
Die Datei "StartAsInvoker.rc" erstellen. Diese Datei enthält lediglich einen Verweis auf das Manifest
1 24 "StartAsInvoker.manifest"
Schritt 3
Die eigentliche Manifestdatei erstellen (Name wie oben angegeben "StartAsInvoker.manifest")
Delphi-Quellcode:
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
   <assemblyIdentity
     type="win32"
     name="ProgrammXYZ"
     version="1.2.3"
     processorArchitecture="*"/>
   <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>
Bei neueren Delphiversionen muss dann natürlich der Schalter "Laufzeitthemes verwenden" aus sein, sonst hat man zwei Manifeste in seiner exe. Der Vorteil dieser Variante: Man kann für jedes Programm eine individuelle Manifestdatei anlegen und auch der Privileglevel kann festgelegt werden.

Geändert von samso ( 4. Sep 2013 um 08:32 Uhr)
  Mit Zitat antworten Zitat