Ho alcune applicazioni (alcune native, alcune .NET) che utilizzano file manifest in modo che possano essere distribuite in completo isolamento , senza richiedere alcuna registrazione COM globale. Ad esempio, la dipendenza dal server com dbgrid32.ocx è dichiarata come segue nel file myapp.exe.manifest che si trova nella stessa cartella di 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>
Il dbgrid32.ocx viene distribuito nella stessa cartella, insieme al proprio file 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>
Funziona tutto bene, ma mantenere questi file manifest manualmente è un po 'un problema. C'è un modo per generare questi file automaticamente? Idealmente, vorrei solo dichiarare la dipendenza dell'applicazione su un elenco di server COM (sia nativi che .NET) e poi lasciare che il resto venga generato automaticamente. È possibile?