标签: rgs

注册免费COM,线程模型,MT.exe和*.RGS脚本

我有一个免注册的C++ COM组件,其清单我使用VS2010生成mt.exe.一切正常,除了我无法指定我的类使用哪个线程模型.我创建了一个小的repro项目,其生成的清单文件(RGS.dll.embed.manifest)如下:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
 <file name="RGS.dll" hashalg="SHA1">
  <comClass clsid="{4EB506E0-0D9C-4281-9B61-F027376E21C3}" tlbid="{6B48D06F-A84C-4B72-A70F-F1B091789E67}"></comClass>
  <typelib tlbid="{6B48D06F-A84C-4B72-A70F-F1B091789E67}" version="1.0" helpdir="" flags="HASDISKIMAGE"></typelib>
 </file>
 <comInterfaceExternalProxyStub name="IRgsObject1" iid="{4620CAB8-3E56-42EC-818E-8A55DF9267B7}" tlbid="{6B48D06F-A84C-4B72-A70F-F1B091789E67}" proxyStubClsid32="{00020424-0000-0000-C000-000000000046}"></comInterfaceExternalProxyStub>
</assembly>
Run Code Online (Sandbox Code Playgroud)

我遇到问题的部分是comClass节点

<comClass clsid="{4EB506E0-0D9C-4281-9B61-F027376E21C3}" 
          tlbid="{6B48D06F-A84C-4B72-A70F-F1B091789E67}"></comClass>
Run Code Online (Sandbox Code Playgroud)

应具有threadingModel属性,如下页"Sxs和注册免费COM激活"示例所示:http: //blogs.msdn.com/b/junfeng/archive/2006/04/20/579748.aspx

我知道线程模型没有在中指定*.tlb,但是从Sen Harada对MSDN文档的评论中mt.exe,您应该能够在注册脚本文件中指定一个(*.rgs) http://msdn.microsoft.com/en-us /library/windows/desktop/aa375649(v=vs.85).aspx

所以我有*.rgsATL向导创建的文件

HKCR
{
    NoRemove CLSID
    {
        ForceRemove {4EB506E0-0D9C-4281-9B61-F027376E21C3} = s 'RgsObject1 Class'
        {
            ForceRemove Programmable
            InprocServer32 = s '%MODULE%'
            {
                val ThreadingModel = s 'Neutral'
            }
            TypeLib = s '{6B48D06F-A84C-4B72-A70F-F1B091789E67}'
            Version …
Run Code Online (Sandbox Code Playgroud)

com manifest mt rgs registration-free-com

9
推荐指数
1
解决办法
3119
查看次数

.RGS文件是如何工作的

在.rgs文件中,有一些注册表信息,我想知道.rgs文件中的信息如何添加到regetry中?

我有一个项目AAA,它将生成文件AAA.DLL,并有一个文件xxx.rgs包含注册表信息,并建立AAA.DLL,然后它将部署到另一台机器B,所以我不不知道如何在机器B上添加注册信息,我是否需要使用regsvr32命令注册AAA.dll?

com registry atl rgs

8
推荐指数
1
解决办法
1万
查看次数

是否有关于.rgs文件语法的文档?

从.rgs文件加载的资源脚本与ATL一起使用CComModule::UpdateRegistryFromResource().在网上看到这些文件的样本是很常见的,但我从未见过关于.rgs文件中允许的构造的完整描述.有这样的文件吗?

com atl rgs visual-studio

7
推荐指数
1
解决办法
5561
查看次数

.rgs文件中注释的语法是什么

由于我不会涉及的原因,我自动为Visual Studio 2008 ATL项目生成一堆.rgs文件.我希望能够对每个.rgs文件发表评论,表明它是自动生成的,以及何时,但我无法找出.rgs文件的注释语法是什么,如果确实存在.我试过了 // ; ;; REM甚至#,但这些都不起作用.似乎缺少可用于.rgs文件格式的文档.有人建议吗?

com registry atl rgs visual-studio-2008

7
推荐指数
1
解决办法
1398
查看次数