.RGS文件是如何工作的

Car*_*Liu 8 com registry atl rgs

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

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

sha*_*oth 8

通常,您的代码调用CComModule::UpdateRegistryFromResource()会将控制权传递给ATL中实现的特殊机制,该机制执行此任务 - 解析通过将.rgs文件嵌入模块并编辑注册表而生成的资源.ATL附带了消息来源,因此您可以阅读它是如何完成的.

  • @Carlos_Liu:您的DLL项目通常会有一个.rc文件,其中包含对该.rgs文件的引用.编译DLL时,.rgs文件内容将作为资源进行处理.稍后你调用regsvr32,它加载DLL,运行`DllRegisterServer()`然后调用`CComModule :: UpdateRegistryFromResource()`,它从该DLL的资源加载.rgs文件内容,解析它并修改注册表. (3认同)
  • 另外它喜欢使用ATL是唯一可以使用.rgs文件的方法:http://stackoverflow.com/questions/1594283/is-there-a-document-on-rgs-files-syntax (2认同)
  • 我有一个项目AAA,它将生成文件AAA.DLL,并且有一个包含注册表信息的文件xxx.rgs,并且生成了AAA.DLL,然后它将安装在另一台机器B上,所以我是想知道如何在机器 B 中添加注册表信息,我是否需要使用 regsvr32 命令注册 AAA.dll? (2认同)