Delphi-PRAXiS
Seite 5 von 5   « Erste     345   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Manifest-Creator (https://www.delphipraxis.net/139658-manifest-creator.html)

himitsu 19. Mär 2015 10:56

AW: Manifest-Creator
 
Online: http://svn.geheimniswelten.de:8080/!/#ManifestCreator
Checkout: http://svn.geheimniswelten.de:8080/s...reator/Develop
Login, falls nötig: Gast (gast)

Jetzt noch bissl mit SSL rumspielen und nach und nach versuchen alle Projekte irgendwie auf einen einheitlichen Stand zu bringen.

Willie1 7. Sep 2015 16:12

AW: Manifest-Creator
 
Hallo himitsu,
ich bin zu diesem Thema Neuling. Auf Rat hier im Forum habe ich mir den Creator herunter geladen. Wenn ich ein exe-Datei laden will kommt "Stream-Lesefehler" und nichts geht mehr. Was mache ich falsch?
Ich habe eben ein Programm erzeigt, dass nur aus einem leeren Formular mit einem Button besteht, wieder nur "Stream-Lesefehler". Das ist frustrierend, da ich den Mani-Creator pripiell für sehr git halte, wenn es funktionierte. Bitte Autor mal melden, danke!
Gruß Willie.

himitsu 8. Sep 2015 12:23

AW: Manifest-Creator
 
Keinem ist aufgefallen, dass im SVN eine Version mit aktivem Testcode eingecheckt ist? :oops:
Jetzt am Einfachsten erstmal die ManifestCreator.exe.7z aus Post #1 verwenden, oder einfach drüberwegsehen.



Eine EXE = Die von dir erstellte Anwendung mit einem Manifest drin?


Wo kommt der Stream-Lesefehler?
Was sagt der Debugger wo es her kommt?

Eine Testanwendung mit kompilierter EXE kannst du nicht zufällig hier mal anhängen?

Willie1 13. Sep 2015 10:53

AW: Manifest-Creator
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Himitsu, ich war ein paar Tage offline.

Ich habe uralte Delphi's aber dein Crearor unterstützt ja Delphi 2005 und 06. Ich habe festgestellt, dass der Stream-Lesefehler nur bei von Delphi 2006 compilierten Programmen auftritt. Bei Delphi 2005 ist alles in Ordnung. So bin zu Delphi 2005 gewechselt. Der Lesefehler tritt auf, wenn ich die Exe-Datei in den Creator einbinden will. Also ab jetzt mit Delphi 2005.
Ein kleines Testprogramm (ohne Manifest-Komponente) nur mit einem Button, das ShellAbout aufruft, zeigt korrekt Windows 10.0 (Built10240) an.
Ween ich jedoch ein größeres Projekt von mir mit einem Windows 10-Manifest versehen will, funktioniert das aber ShellAbout zeigt 6,2 also Windows 8 an!!!

So sieht der Aufruf aus:
Delphi-Quellcode:
ShellAbout(Application.Handle,'','(C) 2015 ...',Application.Icon.Handle)


So sieht das vom Creator erzeugte Manifest aus:
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.21.0.118"
    name="Private.Unknown.MySampleApp"
    type="win32"/>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel
          level="asInvoker"
          uiAccess="false"/>
      </requestedPrivileges>
    </security>
  </trustInfo>
  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
    <application>
      <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
      <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
      <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
      <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
    </application>
  </compatibility>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity
        type="win32"
        name="Microsoft.Windows.Common-Controls"
        version="6.0.0.0"
        publicKeyToken="6595b64144ccf1df"
        language="*"
        processorArchitecture="*"/>
    </dependentAssembly>
  </dependency>
</assembly>
Im Anhang ein Screenshot vom ShellAbout Fenster.
Verflucht, warum macht MS das so kompliziert! Kannst du mir, einem Hobbyprogrammierer, sagen, was ich falsch mache. Danke und
Gruß Willie.

Dalai 13. Sep 2015 14:19

AW: Manifest-Creator
 
Zitat:

Zitat von Willie1 (Beitrag 1315661)
Der Lesefehler tritt auf, wenn ich die Exe-Datei in den Creator einbinden will. Also ab jetzt mit Delphi 2005.

Kannst du das mal näher erläutern? Ich wüsste nicht, wie das funktionieren soll. Vielleicht gibt's da auch ein Missverständnis (auf einer oder beiden Seiten).

Nochmal zur Erklärung: Mit dem Manifest-Creator kann man drei Dateien erzeugen: .manifest, .rc und .res (letztere nur, wenn man ein Delphi auf dem System hat). Und wenn man das erledigt hat, bindet man die .res Datei in den eigenen Quellcode ein:
Delphi-Quellcode:
{$RESOURCE manifest.res}
Fertig. Alternativ kann man auch die .rc einbinden und Delphi die Arbeit des Übersetztens in die .res überlassen; das hat bei mir im Delphi 5 allerdings nie zuverlässig funktioniert.

MfG Dalai

Willie1 13. Sep 2015 17:03

AW: Manifest-Creator
 
Hallo Dalai,
der Fehler tritt bei Identität Dateiversion (Exe-)Datei auswählen auf. Aber wie gesagt, dass ist nicht mein Problem.
Mit Delphi 2005 klappt alles. Ich erzeuge die Manifest-Datei, die RC, die CMD und die fertige Resource. MeinProgramm.exe und die Resource nenne ich MeinProgramm.res. Wenn ich mit {$R MeinProgramm.res} kompilieren will, kommt Fehler E2161 Duplicate Resources ... XPManifest.res. Ich habe die XPManifest-Komponente entfernt!
Frage: Ist denn mein mit dem Creator erzeugtes Manifest in Ordnung?
MfG Willie.

Dalai 13. Sep 2015 17:12

AW: Manifest-Creator
 
Zitat:

Zitat von Willie1 (Beitrag 1315694)
Hallo Dalai,
der Fehler tritt bei Identität Dateiversion (Exe-)Datei auswählen auf.

Ah, das ist eine Funktion, um die Versionsinfos aus einer vorhandenen EXE zu lesen und im Manifest zu hinterlegen. Kann man machen, aber ich würde einfach die Versionsnummer eintippen.

Zitat:

Wenn ich mit {$R MeinProgramm.res} kompilieren will, kommt Fehler E2161 Duplicate Resources ... XPManifest.res. Ich habe die XPManifest-Komponente entfernt!
Ich kenne D2005 nicht, aber vermutlich gibt es dort auch schon einen Schalter in den Optionen, der ein Manifest einbindet. Anders ausgedrückt: Will man ein eigenes Manifest verwenden, muss man Delphi daran hindern, das Standardmanifest einzubinden. Schau dir mal das Kompilat genau an (mit ResHack oder einem anderen Programm), welches Manifest dort hinterlegt ist und ob du dort die Angaben wiederfindest, die in deinem Manifest stehen. Wenn nein, dann hat Delphi ein Standardmanifest eingebunden.

MfG Dalai

Willie1 13. Sep 2015 17:58

AW: Manifest-Creator
 
Danke.
Ich werde die Version Nr. von Hand eingeben,

Ich habe eine XPManifest-Komponente auf dem Formular abgelegt, die dann den XP-Style "auslöst". Auch wenn ich die Komponente wieder entferne, bleibt der neue Stil erhalten. Es sieht also so aus, als ob das Manifest nicht mehr entfernt werden kann. Könnte das möglich sein???
Bei dem Testprogramm hatte ich die XPKomponente nicht ein gebunden sondern das über das Manifest vom Creator ausführen lassen. So hat es funktioniert.

Frage: Wie kann ich das Programm vom falschen Manifest reinigen? Die Option "eigenes Manifest" gibt es bei D 2005 nicht nur die XPKomponente.
Gruß Willie.

Dalai 13. Sep 2015 18:56

AW: Manifest-Creator
 
Zitat:

Zitat von Willie1 (Beitrag 1315701)
Frage: Wie kann ich das Programm vom falschen Manifest reinigen? Die Option "eigenes Manifest" gibt es bei D 2005 nicht nur die XPKomponente.

Dann muss irgendwo im Quelltext eine Anweisung stehen, die Ressource bzw. die .rc-Datei einzubinden. Allein die Komponente reicht nicht, um Themes nutzen zu können, man braucht ein Manifest dazu. Wenn bei dir also Themes aktiv sind, obwohl du die Komponente wieder entfernt hast, muss ein Manifest eingebunden sein (entweder via Quelltext oder durch Delphi beim Kompilieren, was ggf. in den Optionen umschaltbar ist).

MfG Dalai

einbeliebigername 13. Sep 2015 19:07

AW: Manifest-Creator
 
Hallo,

Zitat:

Zitat von Willie1 (Beitrag 1315701)
Danke.
Frage: Wie kann ich das Programm vom falschen Manifest reinigen? Die Option "eigenes Manifest" gibt es bei D 2005 nicht nur die XPKomponente.
Gruß Willie.

Diese TXPManifest-Komponentte ist nur ein Hilfsmittel. Diese hat keinen speziellen Code
Delphi-Quellcode:
  TXPManifest = class(TComponent)
  end;
und dient ausschließlich dazu die Unit
Delphi-Quellcode:
XPMan
mit in die uses zu bringen. In dieser Unit steht ein
Delphi-Quellcode:
{$R WindowsXP.res}
, worin ein Manifest enthalten ist. Du muss nach dem entfernen der Komponente noch XPMan aus allen uses werfen.

einbeliebigername.

Willie1 14. Sep 2015 15:52

AW: Manifest-Creator
 
Liste der Anhänge anzeigen (Anzahl: 1)
Moin, Moin,
ich bin jetzt sicher zu wissen, warum es bei mir mit dem Windows 10-Manifest und dem Creator nicht klappt. Wenn ich die XPManifest-Komponente auf dem Formular plaziere, wird in die Resource ein Manifest geschrieben, dass den XP-Style einschaltet. Durch Wegnehmen der Komponente wird das nicht rückgängig gemacht. Daher lässt sich ein neues Manifest nicht in die Resource einbinden, daher die Fehlermeldung: dublicate resources und Abbruch. Wenn ich das vom Creator erzeugte Manifest in ein Programm ohne XPM-Komponente einbaue, ist alles OK! Das habe ich mit ResExplorer und meinem eigenen Hexeditor nachgesehen. Siehe Screenshot. Nochmal meine Frage: wie werde ich das falsche Manifest wieder los. Kann ich die Exe-Datei patchen, das Manifest ist ganz am Ende der Datei, danach folgen nur Nullen.
Die Formulare sind sehr aufwendig, ich kann sie nicht neu anlegen.
Gruß Willie

Nachtrag: Wenn ich die Starter-Edition kaufe, hättre ich das Problem nicht mehr?

Sir Rufo 14. Sep 2015 15:56

AW: Manifest-Creator
 
Die XPManifest-Komponente sorgt auch nicht für das Erzeugen des Manifests.

Die Komponente sorgt dafür, dass eine bestimmte Unit eingebunden wird und diese Unit schreibt das Manifest.

Um das loszuwerden muss man die Komponente und die Unit aus dem Projekt verbannen.

Willie1 14. Sep 2015 18:19

AW: Manifest-Creator
 
Hallo Rufo,
danke für die Hilfe. Da hat sich ein "großes" Problem in Luft aufgelöst.
Mein Programm funktioniert jetzt mit dem W10-Manifest.
MfG
Willie.

rakekniven 26. Dez 2015 20:46

AW: Manifest-Creator
 
Habe gerade gesehen, dass Dein tolles Tool aktiv gepflegt wird.
Danke dafür!


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:10 Uhr.
Seite 5 von 5   « Erste     345   

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