Ich habe einige Anwendungen (einige native, einige .NET), die Manifestdateien verwenden, damit sie vollständig isoliert bereitgestellt werden können , ohne dass eine globale COM-Registrierung erforderlich ist. Beispielsweise wird die Abhängigkeit vom com-Server dbgrid32.ocx in der Datei myapp.exe.manifest, die sich im selben Ordner wie myapp.exe befindet, wie folgt deklariert:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity type="win32" name="myapp.exe" version="1.2.3.4" />
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="dbgrid32.ocx" version="5.1.81.4" />
</dependentAssembly>
</dependency>
</assembly>
Die Datei dbgrid32.ocx wird zusammen mit ihrer eigenen Datei dbgrid32.ocx.manifest im selben Ordner bereitgestellt:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity type="win32" name="dbgrid32.ocx" version="5.1.81.4" />
<file name="dbgrid32.ocx">
<typelib
tlbid="{00028C01-0000-0000-0000-000000000046}"
version="1.0"
helpdir=""/>
<comClass progid="MSDBGrid.DBGrid"
clsid="{00028C00-0000-0000-0000-000000000046}"
description="DBGrid Control" />
</file>
</assembly>
Dies alles funktioniert gut, aber das manuelle Verwalten dieser Manifestdateien ist ein bisschen mühsam. Gibt es eine Möglichkeit, diese Dateien automatisch zu generieren? Im Idealfall möchte ich nur die Abhängigkeit der Anwendung von einer Liste von COM-Servern (sowohl native als auch .NET) deklarieren und dann den Rest automatisch generieren lassen. Ist es möglich?