Wos*_*osi 7 windows delphi com winapi regfreecom
我的Delphi应用程序Client.exe
需要几个.tlb
文件才能工作.这些文件定义服务器接口.使用创建相应的对象实例System.Win.ComObj.CreateRemoteComObject
.
问题是什么?
目前,.tlb
文件在安装期间全局regtlibv12.exe
注册,在卸载软件时未注册.这使得无法安装和卸载同一软件的多个实例,因为它可能会破坏TLB注册.
尝试使用免费注册COM解决问题
我们的想法是在.tlb
没有注册但使用文件的情况下使用这些.manifest
文件.我知道如何使用Delphi定制的Windows应用程序清单文件.但我不知道如何从.tlb
文件中提取信息并创建正确的.manifest
文件.
我找到了可用于生成文件的Mt.exe,.manifest
但它对我没有帮助
-tlb
设置参数时,它要求相应的DLL文件,但.dll
由于在远程计算机上创建了COM对象,因此应用程序附带的文件没有
它不接受.tlb
参数列表中的多个文件.
其他工具,如Make My Manifest或Unattended Make My Manifest不再可用,或者也不帮助我.
在这种情况下,创建清单文件的正确方法是什么?
AFAIK RegFree COM仅支持通过 dll 注册本地实例。无法将其与 DCOM 一起使用,DCOM 比本地 COM 复杂得多。
根据我自己的实验,DCOM 可能是一个真正的 PITA,特别是在注册方面。恕我直言,您应该使用本地 COM 对象,或者切换到另一种更标准的方法,例如 REST 服务。您可以使用例如基于 REST/JSON 的 SOA 方法来重用几乎相同的接口- 尤其sicClientDriven
请参阅模拟 DCOM 对象的模式。