Per-User COM Registration

Top  Previous  Next

The OAK Add-in COM registration - Per USER INSTALLATION

The GUID default value of the CLSID key refers to an entry in the Classes\CLSID key:

32-bit Windows, 32-bit COM registration

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Classes\Operis.OAK5.Connect\CLSID]
@="{222B6397-C8E8-4167-AC21-8DE8A25D922B}"

[HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{222B6397-C8E8-4167-AC21-8DE8A25D922B}]
@="Operis.OAK5.Connect"

[HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{222B6397-C8E8-4167-AC21-8DE8A25D922B}\InprocServer32]
@="C:\\\\Users\\\\username\\\\AppData\\\\Local\\\\Operis\\\\OAK5\\\\Operis.OAK.AddIn.dll"
"ThreadingModel"="Apartment"

[HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{222B6397-C8E8-4167-AC21-8DE8A25D922B}\ProgID]
@="Operis.OAK5.Connect"

[HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{222B6397-C8E8-4167-AC21-8DE8A25D922B}\Programmable]

64-bit Windows has both a 32-bit and 64-bit COM registration, routing the instantiation to different shim DLLs depending on the bitness

64-bit Windows, 32-bit COM registration

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\Operis.OAK5.Connect\CLSID]
@="{222B6397-C8E8-4167-AC21-8DE8A25D922B}"

[HKEY_CURRENT_USER\SOFTWARE\WOW6432Node\Classes\CLSID\{222B6397-C8E8-4167-AC21-8DE8A25D922B}]
@="Operis.OAK5.Connect"

[HKEY_CURRENT_USER\SOFTWARE\WOW6432Node\Classes\CLSID\{222B6397-C8E8-4167-AC21-8DE8A25D922B}\InprocServer32]
@="C:\\\\Users\\\\username\\\\AppData\\\\Local\\\\Operis\\\\OAK5\\\\Operis.OAK.AddIn.dll"
"ThreadingModel"="Apartment"

[HKEY_CURRENT_USER\SOFTWARE\WOW6432Node\Classes\CLSID\{222B6397-C8E8-4167-AC21-8DE8A25D922B}\ProgID]
@="Operis.OAK5.Connect"

[HKEY_CURRENT_USER\SOFTWARE\WOW6432Node\Classes\CLSID\{355D8B61-817A-48D1-81AC-FFDA39CA5F77}\Programmable]

64-bit Windows, 64-bit COM registration

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Classes\Operis.OAK5.Connect\CLSID]
@="{222B6397-C8E8-4167-AC21-8DE8A25D922B}"

[HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{355D8B61-817A-48D1-81AC-FFDA39CA5F77}]
@="Operis.OAK5.Connect"

[HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{222B6397-C8E8-4167-AC21-8DE8A25D922B}\InprocServer32]
@="C:\\\\Users\\\\username\\\\AppData\\\\Local\\\\Operis\\\\OAK5\\\\Operis.OAK.AddIn64.dll"
"ThreadingModel"="Apartment"

[HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{222B6397-C8E8-4167-AC21-8DE8A25D922B}\ProgID]
@="Operis.OAK5.Connect"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{222B6397-C8E8-4167-AC21-8DE8A25D922B}\Programmable]

COM Add-ins MANAGER Registration

During installation by .msi, the add-in will be installed in Excel using the following registry key and values:

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\Excel\Addins\Operis.OAK5.Connect]
"Description"="The Key to Spreadsheet Correctness"
"FriendlyName"="Operis Analysis Kit 5.3"
"LoadBehavior"=dword:00000003

The key "Operis.OAK5.Connect" is the ProgID of the OAK COM class. Excel uses this to create the OAK COM object (the add-in).

The description and friendly name are used in the add-ins managers.

The LoadBehavior value must be 3 for Excel to load OAK on startup. If a user disables OAK in their COM add-ins manager, this value will be changed.

This registry key and values are deleted when OAK is uninstalled.

CONCLUSION

This section covered the user-level COM registration of OAK as a COM component and installation in the user's COM add-ins manager.