Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   FreePascal (https://www.delphipraxis.net/74-freepascal/)
-   -   Wie kann man ein Manifest unter Lazarus bearbeiten? (https://www.delphipraxis.net/139384-wie-kann-man-ein-manifest-unter-lazarus-bearbeiten.html)

gauggi 27. Aug 2009 20:45


Wie kann man ein Manifest unter Lazarus bearbeiten?
 
Hallo!

Ich habe mit Lazarus ein Programm geschrieben, welches mit Adminrechten unter Vista/Win7 gestartet werden sollte.

Damit das Betriebssystem erkennt, dass das Programm mit höheren Rechten gestartet werden sollte, muss man die Manifest Datei leicht abändern, etwa so:

XML-Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0]
 <assemblyIdentity version="1.1.1.1"
  processorArchitecture="X86"
  name="YourApplicationExeName"
  type="win32"/>
 <description>elevate execution level</description>
 <trustenfo xmlns="urn:schemas-microsoft-com:asm.v2]
 <security>
  <requestedPrivileges>
   <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
  </requestedPrivileges>
 </security>
 </trustenfo>
</assembly>
Wenn ich nun die Manifestdatei, welche Lazarus mir automatisch erstellt, so abändere wie oben, funktioniert es immer noch nicht, beim nächsten Compilieren wird das Manifest von Lazarus ohne mein Zutun wieder in den Ursprungszustand gebracht. Gibt es da irgendeine Möglichkeit?

Danke schon mal.

Grüße

Peter1999 27. Aug 2009 21:03

Re: Wie kann man ein Manifest unter Lazarus bearbeiten?
 
Hi,
ist es denn wirklich nötig das Manifest über Lazarus einzubinden?
Nimm doch den Vista UAC Maker und hänge das Manifest nachträglich an die EXE. Geht eigentlich gut und man kann nichts falsch machen ;-) .

Viele Grüße,
Peter

gauggi 27. Aug 2009 21:14

Re: Wie kann man ein Manifest unter Lazarus bearbeiten?
 
Zitat:

Zitat von Peter1999
Hi,
ist es denn wirklich nötig das Manifest über Lazarus einzubinden?
Nimm doch den Vista UAC Maker und hänge das Manifest nachträglich an die EXE. Geht eigentlich gut und man kann nichts falsch machen ;-) .

Viele Grüße,
Peter

Hallo!

Zuerstmal vielen Dank für deine Hilfe, jedoch zerstört der Vista UAC Maker leider meine EXE. "ist keine zulässige Win32 Anwendung", vermeldet Windows Vista. Kann es sein, dass es mit Lazarus Exe'n nicht funktioniert, was ja auch irgendwie sonderbar wäre.

Grüße

Peter1999 27. Aug 2009 22:52

Re: Wie kann man ein Manifest unter Lazarus bearbeiten?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Tja, dann also doch klassisch :-)

1. In Lazarus das Manifest abschalten!!
2. Dein Manifest funktioniert nicht, nimm mal das hier
Delphi-Quellcode:
<?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" processorArchitecture="X86" name="Application.exe" type="*"/>
  <description>elevate execution level</description>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
   <security>
     <requestedPrivileges>
      <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
     </requestedPrivileges>
   </security>
  </trustInfo>
  <dependency>
   <dependentAssembly>
     <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="*"/>
   </dependentAssembly>
  </dependency>
</assembly>
3. im UTF8 Format als Manifest.xml abspeichern
4. eine ASCII-Datei Manifest.rc anlegen, mit folgendem Inhalt:
Delphi-Quellcode:
1 24 "Manifest.xml"
5. Diese Datei mit folgendem Aufruf kompilieren:

windres -i manifest.rc -o manifest.lrs

Die windres.exe ist im Verzeichnis ...\lazarus\fpc\2.2.2\bin\i386-win32\

6. Die lrs-Datei muss in den Ordner mit deinem Projekt
7. In deinem Projekt fügst du folgende Zeile ein:
Delphi-Quellcode:
begin
  {$R manifest.lrs}      <<<<------------------------
  {$I project1.lrs}
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.
Falls du mit Lazarus 0.9.26.2 arbeitest, kannst du auch gleich die Datei von mir nehmen.

So, also jetzt viel Erfolg :-)

Gute Nacht.

gauggi 29. Aug 2009 20:52

Re: Wie kann man ein Manifest unter Lazarus bearbeiten?
 
Hallo Peter!

Es funktioniert.

Ich möchte mich bei der recht herzlich für deine großartige Hilfe bedanken. Du hast alles leicht verständlich und gut nachvollziehbar aufgelistet. Vielen Dank! :thumb: :thumb: :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:40 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz