我想使用清单来指定对 COM 服务器的依赖关系(无 reg-free COM)。
消费者应用程序在没有 COM 服务器的情况下大部分都可以正常工作 - 只有 1.7% 的功能使用 COM 服务器。因此,在普通旧的regsvr32
情况下,它会开始并正常工作,直到用户做一些会触发CoCreateInstance()
调用的事情,此时消费者会收到一条错误消息。
现在我已经玩了一段时间的清单,看起来消费者甚至不会启动,除非它所依赖的 COM 服务器程序集存在于文件系统中。那不好。
我添加了具有以下内容的“附加清单”:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="TheComServer.X"
version="1.0.0.0"/>
</dependentAssembly>
</dependency>
</assembly>
有没有办法将无注册 COM 与清单一起使用并使依赖项可选 - 以便消费者程序启动并正常工作,直到CoCreateInstance()
实际调用?