NaturalX System Registry Entries

This document covers the following topics:


Registry Entries for Servers

The following tables show a summary of the keys and values that are added in the system registry of the server when a new class is registered.

The column "parent key" shows under which key the new key is created. The key which is added is listed in the column "subkey", and the columns "value name" and "value" show the value of the new entry.

Note:
<class_name> and <class_ID> are the name and the class GUID of the class respectively. They are defined in the DEFINE CLASS statement of the class module.

The following topics are covered below:

Keys Needed by DCOM

parent key (HKEY_CLASSES_ROOT...) subkey value name value
... <ProgID>
(<class_name>.1)
- <class_name> "1.0"
... \<ProgID> CLSID - <class_GUID>
... <VersIdProgID>
(<class_name>)
- <class name> "1.0"
... \<VersIdProgID> CLSID - <class GUID>
... \AppId <APPID> - "Natural classes for" <server_ID> "server"
... \CLSID <CLSID> - <class_name> "1.0"
... \CLSID <CLSID> AppId <GUID for server>
... \CLSID \<CLSID> LocalServer32 - <Natural path>
... \CLSID \<CLSID> ProgID - <ProgID>
... \CLSID \<CLSID> TypeLib - <GUID for type library>
... \CLSID \<CLSID> Version - "1.0"
... \CLSID \<CLSID> VersionIndependentProgID - <VersIDProgID>
... \CLSID \<CLSID> (applies for Version 4.1.2 and all subsequent releases) Programmable - -
... \TypeLib <TLID> - -
... \TypeLib\<TLID> 1.0 <version> - "Natural" <class_name> "class"
... \TypeLib\<TLID>\1.0 0 (langcode) - -
... \TypeLib\<TLID>\1.0\0 win32 (platform)   <type library path>
For every interface:
... \Interface <IID> - <interface name>
... \Interface\<IID> ProxyStubClsid32 - <GUID of proxy dll for IDispatch>
... \Interface\<IID> BaseInterface - <GUID of IDispatch>

Keys Needed by Natural

parent key (HKEY_LOCAL_MACHINE\ SOFTWARE\SoftwareAG\ Natural\Servers...) subkey value name value
... <server_ID> AppId <GUID for server>
... \<server_ID>\ CLSID - -
... \<server_ID>\CLSID <CLSID>
(<class_ID>)
NatMember <Natural class module name>
... \<server_ID>\CLSID <CLSID> NatLibrary <Natural library of class module>
... \<server_ID>\CLSID <CLSID> NatContext "ExternalSingle" or "InternalMultiple" or "ExternalMultiple" (see Activation Policies)

Registry Entries for Clients

The following table shows the keys which are added in the client system registry when the client registration file is executed:

parent key (HKEY_CLASSES_ROOT...) subkey value name value
... <ProgID>
(<class_name>.1)
- <class_name> "1.0"
... \<ProgID> CLSID - <class GUID>
... <VersIdProgID>
(<class_name>)
- <class_name> "1.0"
... \<VersIdProgID> CLSID - <class GUID>
... \<VersIdProgID> CurVer - <ProgID>
... \AppId <APPID> - "Natural classes for server" <server_ ID> "server"
... \AppId <APPID> RemoteServerName has to be entered by user
... \CLSID <CLSID> - <class_name> "1.0"
... \CLSID <CLSID> AppId <GUID for server>
... \CLSID \<CLSID> ProgID - <ProgID>
... \CLSID \<CLSID> Version - "1.0"
... \CLSID \<CLSID> VersionIndependent ProgID - <VersProgID>
... \CLSID \<CLSID> (applies for Version 4.1.2 and all subsequent releases) Programmable - -
For every interface:
... \Interface <IID> - <interface name>
... \Interface\<IID> ProxyStubClsid32 - <GUID of proxy dll for IDispatch>
... \Interface\<IID> BaseInterface - <GUID of IDispatch>