Mam kilka aplikacji (niektóre natywne, niektóre .NET), które używają plików manifestu, dzięki czemu można je wdrażać w całkowitej izolacji , bez konieczności jakiejkolwiek globalnej rejestracji COM. Na przykład zależność od serwera dbgrid32.ocx com jest zadeklarowana w następujący sposób w pliku myapp.exe.manifest, który znajduje się w tym samym folderze co myapp.exe:
<?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>
Plik dbgrid32.ocx jest wdrażany w tym samym folderze wraz z własnym plikiem dbgrid32.ocx.manifest:
<?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>
To wszystko działa dobrze, ale ręczne utrzymywanie tych plików manifestu jest trochę uciążliwe. Czy istnieje sposób na automatyczne generowanie tych plików? Idealnie chciałbym po prostu zadeklarować zależność aplikacji od listy serwerów COM (zarówno natywnych, jak i .NET), a następnie pozwolić, aby pozostałe zostały wygenerowane automatycznie. Czy to możliwe?