我们需要通过ClickOnce调整我们的应用程序。该应用程序包含一个.exe文件和一大堆Visual C ++库,其中一些是其他库使用的进程内COM服务器。
目前我们的安装程序会regsvr32
注册COM服务器,但看起来ClickOnce应用程序在安装过程中不允许修改注册表。所以我们还需要别的东西。
选项一是删除CoCreateInstance()
,而是使用LoadLibraryEx()
/ DllGetClassObject()
。这将需要修改代码,但非常可靠 - 我认为没有任何理由说明这不起作用。
选项二是使用并列COM激活清单。我立即看到的问题是我们在每个每晚构建中增加版本号,因此我们必须自动更新清单。那不是很鼓舞人心。使用并行COM激活的其他不那么明显的限制是什么?
答案 0 :(得分:1)
并排COM的优势在于它可以在不更改任何代码的情况下解决您的问题 - 可以将并行COM改装为一组现有的COM组件。
缺点: