4

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

关于从 PB 调用的 .Net ComEnabled 程序集没有注册的任何建议?

4

2 回答 2

2

您是否尝试过使用外部清单并确保其有效?如果外部清单不起作用,则清单信息不正确。

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

http://blogs.msdn.com/patricka/archive/2009/12/09/answers-to-several-application-manifest-mysteries-and-questions.aspx

于 2010-03-29T00:41:44.697 回答
1

这更像是一个重定向而不是一个答案。您需要注意的一件事是 PowerBuilder 生成的可执行文件不遵循 Windows 可执行文件的标准。本质上,它们是加载 PowerBuilder 虚拟机的引导例程,以及一组类定义(对象)。您提出的案例并不是我第一次听说用于修改可执行文件的实用程序在 PowerBuilder 可执行文件上不起作用的情况。

至于对其他方向的积极贡献,我真的不知道足以提供合格的建议。如果是我,如果 ConnectToNewObject() 失败,我会尝试注册 COM 对象,但我不知道这是否可能,或者该路线是否是死胡同。

祝你好运,

特里。

于 2010-03-28T18:41:55.020 回答