J'ai quelques applications (certaines natives, d'autres .NET) qui utilisent des fichiers manifestes afin qu'elles puissent être déployé de manière totalement isolée sans nécessiter d'enregistrement COM global. Par exemple, la dépendance vis-à-vis du serveur COM dbgrid32.ocx est déclarée comme suit dans le fichier myapp.exe.manifest qui se trouve dans le même dossier 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>
Le dbgrid32.ocx est déployé dans le même dossier, avec son propre fichier 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>
Tout cela fonctionne bien, mais la gestion manuelle de ces fichiers manifestes est un peu pénible. Existe-t-il un moyen de générer ces fichiers automatiquement ? Idéalement, je voudrais simplement déclarer la dépendance de l'application à une liste de serveurs COM (natifs et .NET) et laisser le reste être généré automatiquement. Est-ce possible ?
0 votes
+1 aussi : Retagged regfreecom car ce tag est plus commun pour les COM sans registre.
0 votes
Puis-je utiliser une version supérieure de mstscax.dll dans mon propre dossier d'installation par le biais d'un fichier manifeste ?
0 votes
@acewind oui. (Vous voudrez peut-être poster une nouvelle question avec plus de détails).
0 votes
@UuDdLrLrSs Bonne nouvelle ! Je poste une nouvelle question ici : stackoverflow.com/questions/63575746/