Einsatz einer Manifest-Datei: Unterschied zwischen den Versionen

Aus Wiki des Deutschsprachige Xbaseentwickler e. V.
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „__FORCETOC__ == Bedeutung == Vereinfacht gesprochen ist eine Manifest-Datei eine Brücke zwischen einem Xbase++-Programm sowie verschiedenen Funktionalität…“)
 
Keine Bearbeitungszusammenfassung
Zeile 9: Zeile 9:


[https://www.alaska-software.com Alaska Software] liefert zwei Beispiele für das Einbinden von Manifest-Dateien mit, diese Beispiele sind unter ..\source\samples\basic\manifest zu finden. Beide Beispiele sind ein guter Startpunkt, um sich an das Thema anzunähern.
[https://www.alaska-software.com Alaska Software] liefert zwei Beispiele für das Einbinden von Manifest-Dateien mit, diese Beispiele sind unter ..\source\samples\basic\manifest zu finden. Beide Beispiele sind ein guter Startpunkt, um sich an das Thema anzunähern.
== Beispiel einer Manifest-Datei ==
<?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="YourCompanyName.YourDivision.YourApp"
      type="win32"
    />
    <description>Your app description here</description>
    <dependency>
      <dependentAssembly>
            <assemblyIdentity
                type="win32"
                name="Microsoft.Windows.Common-Controls"
                version="6.0.0.0"
                processorArchitecture="X86"
                publicKeyToken="6595b64144ccf1df"
                language="*"
          />
      </dependentAssembly>
    </dependency>
</assembly>
Diese Manifest-Datei ist aus dem oben genannten Beispiel von [https://www.alaska-software.com Alaska Software] entnommen.




Zeile 15: Zeile 43:
=== als externe Datei ===
=== als externe Datei ===


Wird eine externe Manifest-Datei verwendet, muss sie einer bestimmten Namenskonvention folgen. Sie muss den gleichen Namen wie das zugeordnete Programm haben, mit der zweiten Namenserweiterung .manifest. Ist das Programm also
Wird eine externe Manifest-Datei verwendet, muss sie einer bestimmten Namenskonvention folgen. Sie muss den gleichen Namen wie das zugeordnete Programm haben, mit der zweiten Namenserweiterung .manifest. Heisst das Programm also krautsalat.exe, so muss die Manifest-Datei krautsalat.exe.manifest heissen, andernfalls wird sie ignoriert.
 
 
=== als Bestandteil der .exe-Datei ===
 
In diesem Fall muss die Manifest-Datei über eine .arc-Datei eingebunden werden.
 
In der .arc-Datei muss der Eintrag dann z.B. so aussehen:
 
#define MANIFEST_RESID 1
 
#define MANIFEST 24
 
USERDEF MANIFEST
 
  MANIFEST_RESID = FILE "extfile.exe.manifest"
 
Die .arc-Datei ist dann - wie üblich - für den Linker mit einzubinden.

Version vom 12. Februar 2019, 15:31 Uhr


Bedeutung

Vereinfacht gesprochen ist eine Manifest-Datei eine Brücke zwischen einem Xbase++-Programm sowie verschiedenen Funktionalitäten des Betriebssystems, die anders nur sehr schwer abgreifbar sind.

Das volle Programm, das über die Einbindung einer Manifest-Datei genutzt werden kann, ist nicht unbedingt im ganzen Umfang über Xbase++ nutzbar, aber es gibt viele Aspekte, die im heutigen Umfeld beim Programmeinsatz zwingend nötig sind, um den erwarteten Komfort zu gewährleisten, den die Anwender vom Betriebssystem oder anderen Anwendungen kennen.

Alaska Software liefert zwei Beispiele für das Einbinden von Manifest-Dateien mit, diese Beispiele sind unter ..\source\samples\basic\manifest zu finden. Beide Beispiele sind ein guter Startpunkt, um sich an das Thema anzunähern.


Beispiel einer Manifest-Datei

<?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="YourCompanyName.YourDivision.YourApp"
      type="win32"
   />
   <description>Your app description here</description>
   <dependency>
      <dependentAssembly>
           <assemblyIdentity
               type="win32"
               name="Microsoft.Windows.Common-Controls"
               version="6.0.0.0"
               processorArchitecture="X86"
               publicKeyToken="6595b64144ccf1df"
               language="*"
          />
      </dependentAssembly>
   </dependency>
</assembly>

Diese Manifest-Datei ist aus dem oben genannten Beispiel von Alaska Software entnommen.


Verbindung zwischen einer Manifest-Datei und dem Programm

als externe Datei

Wird eine externe Manifest-Datei verwendet, muss sie einer bestimmten Namenskonvention folgen. Sie muss den gleichen Namen wie das zugeordnete Programm haben, mit der zweiten Namenserweiterung .manifest. Heisst das Programm also krautsalat.exe, so muss die Manifest-Datei krautsalat.exe.manifest heissen, andernfalls wird sie ignoriert.


als Bestandteil der .exe-Datei

In diesem Fall muss die Manifest-Datei über eine .arc-Datei eingebunden werden.

In der .arc-Datei muss der Eintrag dann z.B. so aussehen:

#define MANIFEST_RESID 1
#define MANIFEST 24
USERDEF MANIFEST
 MANIFEST_RESID = FILE "extfile.exe.manifest"

Die .arc-Datei ist dann - wie üblich - für den Linker mit einzubinden.