2010-09-28 8 views
5

En el archivo .rgs, hay alguna información de registro, y quiero saber cómo se agrega la información en el archivo .rgs a la regeneración?cómo funciona el archivo .RGS

Tengo un proyecto AAA y generará el archivo AAA.DLL , y hay un archivo xxx.rgs que contiene la información de registro y el AAA.DLL se construye, entonces se ser desplegado en otra máquina B, así que no sé cómo se puede agregar la información de registro en la máquina B, ¿necesito registrar AAA.dll usando el comando regsvr32?

Respuesta

6

Normalmente su código llama al CComModule::UpdateRegistryFromResource() que a su vez pasa el control a un mecanismo especial implementado en ATL que hace el trabajo: analiza el recurso que se produjo incrustando el archivo .rgs en el módulo y edita el registro. ATL viene con fuentes para que pueda leer cómo se hace.

+2

También me gusta usar ATL es la única forma prevista de utilizar archivos .rgs: http://stackoverflow.com/questions/1594283/is-there-a-document-on-rgs-files-syntax – sharptooth

+0

Tengo un proyecto AAA y generará el archivo AAA.DLL, y hay un archivo xxx.rgs que contiene la información de registro, y se construye AAA.DLL, luego se instalará en otra máquina B, por lo que me pregunto cómo la información de registro agregada en la máquina B, ¿necesito registrar AAA.dll usando el comando regsvr32? –

+3

@Carlos_Liu: Su proyecto DLL generalmente tendrá un archivo .rc que contendrá una referencia a ese archivo .rgs. Cuando se compila el archivo DLL, el contenido del archivo .rgs se emdebbed como un recurso. Más tarde llama a regsvr32, carga el DLL, ejecuta 'DllRegisterServer()' que a su vez llama a 'CComModule :: UpdateRegistryFromResource() ', que carga el contenido del archivo .rgs de los recursos de ese DLL, lo analiza y modifica el registro. – sharptooth