我有一些应用程序(一些本地的,一些。NET) ,它使用清单文件,以便它们可以是 完全隔离部署,而不需要任何全局 COM 注册。例如,对 dbgrid32.ocx com 服务器的依赖在 myapp.exe.Manife 文件中声明如下,该文件与 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>
将 dbgrid32.ocx 部署到同一个文件夹,以及它自己的 dbgrid32.ocx.Manife 文件:
<?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>
这些都可以正常工作,但是手动维护这些清单文件有点麻烦。有没有自动生成这些文件的方法?理想情况下,我只想声明应用程序对 COM 服务器列表的依赖关系(包括本机和。NET) ,然后让其余的自动生成。有可能吗?