Tengo algunas aplicaciones (algunas nativas, algunas .NET) que usan archivos de manifiesto para que se puedan implementar en completo aislamiento , sin requerir ningún registro COM global. Por ejemplo, la dependencia del servidor com dbgrid32.ocx se declara de la siguiente manera en el archivo myapp.exe.manifest que se encuentra en la misma carpeta que 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>
El dbgrid32.ocx se implementa en la misma carpeta, junto con su propio archivo 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>
Todo esto funciona bien, pero mantener estos archivos de manifiesto manualmente es un poco complicado. ¿Hay alguna forma de generar estos archivos automáticamente? Idealmente, solo me gustaría declarar la dependencia de la aplicación en una lista de servidores COM (tanto nativos como .NET) y luego dejar que el resto se genere automáticamente. ¿Es posible?