从Powerbuilder应用程序调用.Net COM程序集(未注册)

从Powerbuilder应用程序调用.Net COM程序集(未注册),com,interop,manifest,registration,powerbuilder,Com,Interop,Manifest,Registration,Powerbuilder,我们有一个使用.Net COM组件的Powerbuilder 10应用程序。我们正在尝试将清单嵌入PB应用程序中(在不注册的情况下调用COM程序集)。合并的清单文件为.Net COM程序集上的依赖项添加了节。我们尝试了各种工具来注入具有不同结果的新清单 -使用GenMan32注入将应用程序从6MB截断到45KB。 -使用ResourceTuner,文件大小看起来不错,但尝试启动应用程序会出现“致命的磁盘错误” 关于未经注册就从PB调用.Net可恢复程序集的任何建议?这与其说是答案,不如说是重定向

我们有一个使用.Net COM组件的Powerbuilder 10应用程序。我们正在尝试将清单嵌入PB应用程序中(在不注册的情况下调用COM程序集)。合并的清单文件为.Net COM程序集上的依赖项添加了节。我们尝试了各种工具来注入具有不同结果的新清单 -使用GenMan32注入将应用程序从6MB截断到45KB。 -使用ResourceTuner,文件大小看起来不错,但尝试启动应用程序会出现“致命的磁盘错误”


关于未经注册就从PB调用.Net可恢复程序集的任何建议?

这与其说是答案,不如说是重定向。您需要注意的一点是,PowerBuilder生成的可执行文件不符合Windows可执行文件的标准。本质上,它们是加载PowerBuilder虚拟机的引导例程,以及类定义(对象)的集合。您提到的这些情况并不是我第一次听说,用于修改可执行文件的实用程序在PowerBuilder可执行文件上不起作用

至于对其他方向的积极贡献,我真的不太了解,无法给出有保留的建议。如果是我,如果ConnectToNewObject()失败,我会尝试注册COM对象,但我不知道这是否可能,或者该路由是否是死胡同

祝你好运


Terry.

您是否使用外部清单进行了尝试,并确保其正常工作?如果外部清单不起作用,则清单信息不正确

获得有效的外部清单后,可以尝试使用.Net SDK中的清单工具(MT.EXE)。它适用于真正的EXE文件。正如Terry所指出的,PB生成的可执行文件包含操作EXE的工具需要尊重的附加信息,否则它们会破坏它