我使用ATL项目在C ++中创建了一个COM + dll。将COM + dll添加到组件服务后,它不显示组件名称。屏幕截图的链接如下:
https://www.flickr.com/photos/100661150@N07/16832241851/in/set-72157649061069133
我经历了很多教程但却找不到合适的解决方案。有没有办法让名称出现,因为需要名称才能将COM + dll用作WCF。
答案 0 :(得分:1)
名称未显示,因为它未在.rgs文件中设置。我在下面给出了一个示例,相应地更改了代码,然后它应该显示组件名称
HKCR
{
FEDTab = s 'RepDO Class'
{
CLSID = s '{8949D894-3C9B-4430-8C66-7B2DC3DE7F2D}'
}
DataObjects.RepDO = s 'RepDO Class'
{
CLSID = s '{8949D894-3C9B-4430-8C66-7B2DC3DE7F2D}'
CurVer = s 'FEDTab'
}
NoRemove CLSID
{
ForceRemove {8949D894-3C9B-4430-8C66-7B2DC3DE7F2D} = s 'ProcessImage Class'
{
ProgID = s 'FEDTab'
VersionIndependentProgID = s 'DataObjects.RepDO'
ForceRemove Programmable
InprocServer32 = s '%MODULE%'
{
val ThreadingModel = s 'Both'
}
TypeLib = s '{C40C7D67-7D49-4291-B0C2-10DAA7824FD0}'
Version = s '1.0'
}
}
.rgs文件可以在ATL项目文件夹
中找到