I have an Excel application that uses a COM object.
The COM object is VB.net and compiled in Visual Studio targeted to "Any CPU".
I am registering the COM object for the current user only. My NSIS installer does the following:
NSIS runs Regasm and outputs a reg file.
NSIS replaces all instances of "[HKEY_CLASSES_ROOT" with "[HKEY_CURRENT_USER\Software\Classes" in the reg file.
NSIS executes the reg file and all the appropriate registry entries are created.
This works fine on:
Windows 10 64-bit / Excel 64-bit
Windows 10 32-bit / Excel 32-bit
However, I am hitting an error with:
Windows 10 64-bit / Excel 32-bit
For Windows 10 64-bit / Excel 32-bit my understanding is I must replace "[HKEY_CLASSES_ROOT" with "[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node"
I am doing this in NSIS but Excel 32-bit is raising the error "Cannot create ActiveX component."
I tried replacing "[HKEY_CLASSES_ROOT" with "[HKEY_CURRENT_USER\SOFTWARE\Classes" but then Excel raises the error "Class not registered."
If I change the reg file to simply use "[HKEY_CLASSES_ROOT" (and forget about the registering for the current user) Excel 32-bit can the instantiate the COM object fine.
The problem is I want to register the COM object for the current user only.
What registry path should I be using that will be for the current user but Excel 32-bit on a Windows 64-bit can instantiate it?
Here is the reg file that is failing where "[HKEY_CLASSES_ROOT" has been replaced with "[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node":
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\LicenseManager.My.MySettings]
@="LicenseManager.My.MySettings"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\LicenseManager.My.MySettings\CLSID]
@="{4DA8C0C5-425F-38A6-B63A-CD1090B22B25}"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{4DA8C0C5-425F-38A6-B63A-CD1090B22B25}]
@="LicenseManager.My.MySettings"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{4DA8C0C5-425F-38A6-B63A-CD1090B22B25}\InprocServer32]
@="mscoree.dll"
"ThreadingModel"="Both"
"Class"="LicenseManager.My.MySettings"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/LicenseManager.dll"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{4DA8C0C5-425F-38A6-B63A-CD1090B22B25}\InprocServer32\1.0.0.0]
"Class"="LicenseManager.My.MySettings"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/LicenseManager.dll"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{4DA8C0C5-425F-38A6-B63A-CD1090B22B25}\ProgId]
@="LicenseManager.My.MySettings"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{4DA8C0C5-425F-38A6-B63A-CD1090B22B25}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\LicenseManager.clsSharedEnums]
@="LicenseManager.clsSharedEnums"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\LicenseManager.clsSharedEnums\CLSID]
@="{E24584F3-CD27-34B7-B8B5-4986784ACEE6}"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{E24584F3-CD27-34B7-B8B5-4986784ACEE6}]
@="LicenseManager.clsSharedEnums"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{E24584F3-CD27-34B7-B8B5-4986784ACEE6}\InprocServer32]
@="mscoree.dll"
"ThreadingModel"="Both"
"Class"="LicenseManager.clsSharedEnums"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/LicenseManager.dll"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{E24584F3-CD27-34B7-B8B5-4986784ACEE6}\InprocServer32\1.0.0.0]
"Class"="LicenseManager.clsSharedEnums"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/LicenseManager.dll"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{E24584F3-CD27-34B7-B8B5-4986784ACEE6}\ProgId]
@="LicenseManager.clsSharedEnums"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{E24584F3-CD27-34B7-B8B5-4986784ACEE6}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\LicenseManager.clsSharedGlobals]
@="LicenseManager.clsSharedGlobals"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\LicenseManager.clsSharedGlobals\CLSID]
@="{E86A81E1-2926-3C9D-A667-02954898E09E}"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{E86A81E1-2926-3C9D-A667-02954898E09E}]
@="LicenseManager.clsSharedGlobals"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{E86A81E1-2926-3C9D-A667-02954898E09E}\InprocServer32]
@="mscoree.dll"
"ThreadingModel"="Both"
"Class"="LicenseManager.clsSharedGlobals"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/LicenseManager.dll"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{E86A81E1-2926-3C9D-A667-02954898E09E}\InprocServer32\1.0.0.0]
"Class"="LicenseManager.clsSharedGlobals"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/LicenseManager.dll"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{E86A81E1-2926-3C9D-A667-02954898E09E}\ProgId]
@="LicenseManager.clsSharedGlobals"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{E86A81E1-2926-3C9D-A667-02954898E09E}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\LicenseManager.clsSharedMethods]
@="LicenseManager.clsSharedMethods"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\LicenseManager.clsSharedMethods\CLSID]
@="{09CFD406-B291-33AC-A0CD-145760ED3428}"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{09CFD406-B291-33AC-A0CD-145760ED3428}]
@="LicenseManager.clsSharedMethods"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{09CFD406-B291-33AC-A0CD-145760ED3428}\InprocServer32]
@="mscoree.dll"
"ThreadingModel"="Both"
"Class"="LicenseManager.clsSharedMethods"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/LicenseManager.dll"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{09CFD406-B291-33AC-A0CD-145760ED3428}\InprocServer32\1.0.0.0]
"Class"="LicenseManager.clsSharedMethods"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/LicenseManager.dll"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{09CFD406-B291-33AC-A0CD-145760ED3428}\ProgId]
@="LicenseManager.clsSharedMethods"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{09CFD406-B291-33AC-A0CD-145760ED3428}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\LicenseManager.clsSharedValidations]
@="LicenseManager.clsSharedValidations"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\LicenseManager.clsSharedValidations\CLSID]
@="{3992C5E2-1D50-3A99-B951-B6D2B83FF365}"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{3992C5E2-1D50-3A99-B951-B6D2B83FF365}]
@="LicenseManager.clsSharedValidations"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{3992C5E2-1D50-3A99-B951-B6D2B83FF365}\InprocServer32]
@="mscoree.dll"
"ThreadingModel"="Both"
"Class"="LicenseManager.clsSharedValidations"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/LicenseManager.dll"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{3992C5E2-1D50-3A99-B951-B6D2B83FF365}\InprocServer32\1.0.0.0]
"Class"="LicenseManager.clsSharedValidations"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/LicenseManager.dll"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{3992C5E2-1D50-3A99-B951-B6D2B83FF365}\ProgId]
@="LicenseManager.clsSharedValidations"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{3992C5E2-1D50-3A99-B951-B6D2B83FF365}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\LicenseManager.clsEnums]
@="LicenseManager.clsEnums"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\LicenseManager.clsEnums\CLSID]
@="{3D8E218E-9BC7-39A1-A513-FCD7A8F3B29C}"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{3D8E218E-9BC7-39A1-A513-FCD7A8F3B29C}]
@="LicenseManager.clsEnums"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{3D8E218E-9BC7-39A1-A513-FCD7A8F3B29C}\InprocServer32]
@="mscoree.dll"
"ThreadingModel"="Both"
"Class"="LicenseManager.clsEnums"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/LicenseManager.dll"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{3D8E218E-9BC7-39A1-A513-FCD7A8F3B29C}\InprocServer32\1.0.0.0]
"Class"="LicenseManager.clsEnums"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/LicenseManager.dll"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{3D8E218E-9BC7-39A1-A513-FCD7A8F3B29C}\ProgId]
@="LicenseManager.clsEnums"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{3D8E218E-9BC7-39A1-A513-FCD7A8F3B29C}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\LicenseManager.clsLM]
@="LicenseManager.clsLM"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\LicenseManager.clsLM\CLSID]
@="{D7128D56-C022-3F4A-9200-777C260C40EA}"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{D7128D56-C022-3F4A-9200-777C260C40EA}]
@="LicenseManager.clsLM"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{D7128D56-C022-3F4A-9200-777C260C40EA}\InprocServer32]
@="mscoree.dll"
"ThreadingModel"="Both"
"Class"="LicenseManager.clsLM"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/LicenseManager.dll"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{D7128D56-C022-3F4A-9200-777C260C40EA}\InprocServer32\1.0.0.0]
"Class"="LicenseManager.clsLM"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/LicenseManager.dll"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{D7128D56-C022-3F4A-9200-777C260C40EA}\ProgId]
@="LicenseManager.clsLM"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{D7128D56-C022-3F4A-9200-777C260C40EA}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\LicenseManager.clsPublicTypes]
@="LicenseManager.clsPublicTypes"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\LicenseManager.clsPublicTypes\CLSID]
@="{47913F05-609A-384C-A44A-26735CCC1F57}"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{47913F05-609A-384C-A44A-26735CCC1F57}]
@="LicenseManager.clsPublicTypes"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{47913F05-609A-384C-A44A-26735CCC1F57}\InprocServer32]
@="mscoree.dll"
"ThreadingModel"="Both"
"Class"="LicenseManager.clsPublicTypes"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/LicenseManager.dll"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{47913F05-609A-384C-A44A-26735CCC1F57}\InprocServer32\1.0.0.0]
"Class"="LicenseManager.clsPublicTypes"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/LicenseManager.dll"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{47913F05-609A-384C-A44A-26735CCC1F57}\ProgId]
@="LicenseManager.clsPublicTypes"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{47913F05-609A-384C-A44A-26735CCC1F57}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\LicenseManager.JSONLicense]
@="LicenseManager.JSONLicense"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\LicenseManager.JSONLicense\CLSID]
@="{E01DBF39-ED8E-3975-8ECF-BA43D3D73DFF}"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{E01DBF39-ED8E-3975-8ECF-BA43D3D73DFF}]
@="LicenseManager.JSONLicense"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{E01DBF39-ED8E-3975-8ECF-BA43D3D73DFF}\InprocServer32]
@="mscoree.dll"
"ThreadingModel"="Both"
"Class"="LicenseManager.JSONLicense"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/LicenseManager.dll"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{E01DBF39-ED8E-3975-8ECF-BA43D3D73DFF}\InprocServer32\1.0.0.0]
"Class"="LicenseManager.JSONLicense"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/LicenseManager.dll"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{E01DBF39-ED8E-3975-8ECF-BA43D3D73DFF}\ProgId]
@="LicenseManager.JSONLicense"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID\{E01DBF39-ED8E-3975-8ECF-BA43D3D73DFF}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\Record\{46C43862-DC65-3BF1-8D9A-B315AF9FA80D}\1.0.0.0]
"Class"="LicenseManager.clsSharedEnums+enuLMForms"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/LicenseManager.dll"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\Record\{7DAF1AFB-548E-3A9C-B003-BBFCFEE27533}\1.0.0.0]
"Class"="LicenseManager.clsEnums+enuLicenseErrors"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/LicenseManager.dll"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\Record\{12C1B614-7200-38DB-A4C3-D88B23300A65}\1.0.0.0]
"Class"="LicenseManager.clsLM+enuChangeSettingsIniFile"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/LicenseManager.dll"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\Record\{40B82F7E-0D53-39AC-982C-3B0D058F65D9}\1.0.0.0]
"Class"="LicenseManager.clsLM+enuCertificateOverride"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/LicenseManager.dll"
[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\Record\{2AFA5EDE-930C-3023-848E-B8B58963FF24}\1.0.0.0]
"Class"="LicenseManager.clsPublicTypes+typLicenseInfo"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/LicenseManager.dll"
And here is the reg file that registers to [HKEY_CLASSES_ROOT] for all users. Strangely, if I do TWO reg file imports:
and
then the COM objects are able to instantiate on Windows 64-bit in Excel 32-bit.
I have to import both to "[HKEY_CLASSES_ROOT" and "[HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node" for it to work.
I need to understand what is going on here and what the correct approach is.
Here is the reg file that imports to "[HKEY_CLASSES_ROOT":
[HKEY_CLASSES_ROOT\LicenseManager.My.MySettings]
@="LicenseManager.My.MySettings"
[HKEY_CLASSES_ROOT\LicenseManager.My.MySettings\CLSID]
@="{4DA8C0C5-425F-38A6-B63A-CD1090B22B25}"
[HKEY_CLASSES_ROOT\CLSID\{4DA8C0C5-425F-38A6-B63A-CD1090B22B25}]
@="LicenseManager.My.MySettings"
[HKEY_CLASSES_ROOT\CLSID\{4DA8C0C5-425F-38A6-B63A-CD1090B22B25}\InprocServer32]
@="mscoree.dll"
"ThreadingModel"="Both"
"Class"="LicenseManager.My.MySettings"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/licensemanager.dll"
[HKEY_CLASSES_ROOT\CLSID\{4DA8C0C5-425F-38A6-B63A-CD1090B22B25}\InprocServer32\1.0.0.0]
"Class"="LicenseManager.My.MySettings"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/licensemanager.dll"
[HKEY_CLASSES_ROOT\CLSID\{4DA8C0C5-425F-38A6-B63A-CD1090B22B25}\ProgId]
@="LicenseManager.My.MySettings"
[HKEY_CLASSES_ROOT\CLSID\{4DA8C0C5-425F-38A6-B63A-CD1090B22B25}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]
[HKEY_CLASSES_ROOT\LicenseManager.clsSharedEnums]
@="LicenseManager.clsSharedEnums"
[HKEY_CLASSES_ROOT\LicenseManager.clsSharedEnums\CLSID]
@="{E24584F3-CD27-34B7-B8B5-4986784ACEE6}"
[HKEY_CLASSES_ROOT\CLSID\{E24584F3-CD27-34B7-B8B5-4986784ACEE6}]
@="LicenseManager.clsSharedEnums"
[HKEY_CLASSES_ROOT\CLSID\{E24584F3-CD27-34B7-B8B5-4986784ACEE6}\InprocServer32]
@="mscoree.dll"
"ThreadingModel"="Both"
"Class"="LicenseManager.clsSharedEnums"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/licensemanager.dll"
[HKEY_CLASSES_ROOT\CLSID\{E24584F3-CD27-34B7-B8B5-4986784ACEE6}\InprocServer32\1.0.0.0]
"Class"="LicenseManager.clsSharedEnums"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/licensemanager.dll"
[HKEY_CLASSES_ROOT\CLSID\{E24584F3-CD27-34B7-B8B5-4986784ACEE6}\ProgId]
@="LicenseManager.clsSharedEnums"
[HKEY_CLASSES_ROOT\CLSID\{E24584F3-CD27-34B7-B8B5-4986784ACEE6}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]
[HKEY_CLASSES_ROOT\LicenseManager.clsSharedGlobals]
@="LicenseManager.clsSharedGlobals"
[HKEY_CLASSES_ROOT\LicenseManager.clsSharedGlobals\CLSID]
@="{E86A81E1-2926-3C9D-A667-02954898E09E}"
[HKEY_CLASSES_ROOT\CLSID\{E86A81E1-2926-3C9D-A667-02954898E09E}]
@="LicenseManager.clsSharedGlobals"
[HKEY_CLASSES_ROOT\CLSID\{E86A81E1-2926-3C9D-A667-02954898E09E}\InprocServer32]
@="mscoree.dll"
"ThreadingModel"="Both"
"Class"="LicenseManager.clsSharedGlobals"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/licensemanager.dll"
[HKEY_CLASSES_ROOT\CLSID\{E86A81E1-2926-3C9D-A667-02954898E09E}\InprocServer32\1.0.0.0]
"Class"="LicenseManager.clsSharedGlobals"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/licensemanager.dll"
[HKEY_CLASSES_ROOT\CLSID\{E86A81E1-2926-3C9D-A667-02954898E09E}\ProgId]
@="LicenseManager.clsSharedGlobals"
[HKEY_CLASSES_ROOT\CLSID\{E86A81E1-2926-3C9D-A667-02954898E09E}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]
[HKEY_CLASSES_ROOT\LicenseManager.clsSharedMethods]
@="LicenseManager.clsSharedMethods"
[HKEY_CLASSES_ROOT\LicenseManager.clsSharedMethods\CLSID]
@="{09CFD406-B291-33AC-A0CD-145760ED3428}"
[HKEY_CLASSES_ROOT\CLSID\{09CFD406-B291-33AC-A0CD-145760ED3428}]
@="LicenseManager.clsSharedMethods"
[HKEY_CLASSES_ROOT\CLSID\{09CFD406-B291-33AC-A0CD-145760ED3428}\InprocServer32]
@="mscoree.dll"
"ThreadingModel"="Both"
"Class"="LicenseManager.clsSharedMethods"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/licensemanager.dll"
[HKEY_CLASSES_ROOT\CLSID\{09CFD406-B291-33AC-A0CD-145760ED3428}\InprocServer32\1.0.0.0]
"Class"="LicenseManager.clsSharedMethods"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/licensemanager.dll"
[HKEY_CLASSES_ROOT\CLSID\{09CFD406-B291-33AC-A0CD-145760ED3428}\ProgId]
@="LicenseManager.clsSharedMethods"
[HKEY_CLASSES_ROOT\CLSID\{09CFD406-B291-33AC-A0CD-145760ED3428}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]
[HKEY_CLASSES_ROOT\LicenseManager.clsSharedValidations]
@="LicenseManager.clsSharedValidations"
[HKEY_CLASSES_ROOT\LicenseManager.clsSharedValidations\CLSID]
@="{3992C5E2-1D50-3A99-B951-B6D2B83FF365}"
[HKEY_CLASSES_ROOT\CLSID\{3992C5E2-1D50-3A99-B951-B6D2B83FF365}]
@="LicenseManager.clsSharedValidations"
[HKEY_CLASSES_ROOT\CLSID\{3992C5E2-1D50-3A99-B951-B6D2B83FF365}\InprocServer32]
@="mscoree.dll"
"ThreadingModel"="Both"
"Class"="LicenseManager.clsSharedValidations"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/licensemanager.dll"
[HKEY_CLASSES_ROOT\CLSID\{3992C5E2-1D50-3A99-B951-B6D2B83FF365}\InprocServer32\1.0.0.0]
"Class"="LicenseManager.clsSharedValidations"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/licensemanager.dll"
[HKEY_CLASSES_ROOT\CLSID\{3992C5E2-1D50-3A99-B951-B6D2B83FF365}\ProgId]
@="LicenseManager.clsSharedValidations"
[HKEY_CLASSES_ROOT\CLSID\{3992C5E2-1D50-3A99-B951-B6D2B83FF365}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]
[HKEY_CLASSES_ROOT\LicenseManager.clsEnums]
@="LicenseManager.clsEnums"
[HKEY_CLASSES_ROOT\LicenseManager.clsEnums\CLSID]
@="{3D8E218E-9BC7-39A1-A513-FCD7A8F3B29C}"
[HKEY_CLASSES_ROOT\CLSID\{3D8E218E-9BC7-39A1-A513-FCD7A8F3B29C}]
@="LicenseManager.clsEnums"
[HKEY_CLASSES_ROOT\CLSID\{3D8E218E-9BC7-39A1-A513-FCD7A8F3B29C}\InprocServer32]
@="mscoree.dll"
"ThreadingModel"="Both"
"Class"="LicenseManager.clsEnums"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/licensemanager.dll"
[HKEY_CLASSES_ROOT\CLSID\{3D8E218E-9BC7-39A1-A513-FCD7A8F3B29C}\InprocServer32\1.0.0.0]
"Class"="LicenseManager.clsEnums"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/licensemanager.dll"
[HKEY_CLASSES_ROOT\CLSID\{3D8E218E-9BC7-39A1-A513-FCD7A8F3B29C}\ProgId]
@="LicenseManager.clsEnums"
[HKEY_CLASSES_ROOT\CLSID\{3D8E218E-9BC7-39A1-A513-FCD7A8F3B29C}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]
[HKEY_CLASSES_ROOT\LicenseManager.clsLM]
@="LicenseManager.clsLM"
[HKEY_CLASSES_ROOT\LicenseManager.clsLM\CLSID]
@="{D7128D56-C022-3F4A-9200-777C260C40EA}"
[HKEY_CLASSES_ROOT\CLSID\{D7128D56-C022-3F4A-9200-777C260C40EA}]
@="LicenseManager.clsLM"
[HKEY_CLASSES_ROOT\CLSID\{D7128D56-C022-3F4A-9200-777C260C40EA}\InprocServer32]
@="mscoree.dll"
"ThreadingModel"="Both"
"Class"="LicenseManager.clsLM"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/licensemanager.dll"
[HKEY_CLASSES_ROOT\CLSID\{D7128D56-C022-3F4A-9200-777C260C40EA}\InprocServer32\1.0.0.0]
"Class"="LicenseManager.clsLM"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/licensemanager.dll"
[HKEY_CLASSES_ROOT\CLSID\{D7128D56-C022-3F4A-9200-777C260C40EA}\ProgId]
@="LicenseManager.clsLM"
[HKEY_CLASSES_ROOT\CLSID\{D7128D56-C022-3F4A-9200-777C260C40EA}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]
[HKEY_CLASSES_ROOT\LicenseManager.clsPublicTypes]
@="LicenseManager.clsPublicTypes"
[HKEY_CLASSES_ROOT\LicenseManager.clsPublicTypes\CLSID]
@="{47913F05-609A-384C-A44A-26735CCC1F57}"
[HKEY_CLASSES_ROOT\CLSID\{47913F05-609A-384C-A44A-26735CCC1F57}]
@="LicenseManager.clsPublicTypes"
[HKEY_CLASSES_ROOT\CLSID\{47913F05-609A-384C-A44A-26735CCC1F57}\InprocServer32]
@="mscoree.dll"
"ThreadingModel"="Both"
"Class"="LicenseManager.clsPublicTypes"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/licensemanager.dll"
[HKEY_CLASSES_ROOT\CLSID\{47913F05-609A-384C-A44A-26735CCC1F57}\InprocServer32\1.0.0.0]
"Class"="LicenseManager.clsPublicTypes"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/licensemanager.dll"
[HKEY_CLASSES_ROOT\CLSID\{47913F05-609A-384C-A44A-26735CCC1F57}\ProgId]
@="LicenseManager.clsPublicTypes"
[HKEY_CLASSES_ROOT\CLSID\{47913F05-609A-384C-A44A-26735CCC1F57}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]
[HKEY_CLASSES_ROOT\LicenseManager.JSONLicense]
@="LicenseManager.JSONLicense"
[HKEY_CLASSES_ROOT\LicenseManager.JSONLicense\CLSID]
@="{E01DBF39-ED8E-3975-8ECF-BA43D3D73DFF}"
[HKEY_CLASSES_ROOT\CLSID\{E01DBF39-ED8E-3975-8ECF-BA43D3D73DFF}]
@="LicenseManager.JSONLicense"
[HKEY_CLASSES_ROOT\CLSID\{E01DBF39-ED8E-3975-8ECF-BA43D3D73DFF}\InprocServer32]
@="mscoree.dll"
"ThreadingModel"="Both"
"Class"="LicenseManager.JSONLicense"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/licensemanager.dll"
[HKEY_CLASSES_ROOT\CLSID\{E01DBF39-ED8E-3975-8ECF-BA43D3D73DFF}\InprocServer32\1.0.0.0]
"Class"="LicenseManager.JSONLicense"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/licensemanager.dll"
[HKEY_CLASSES_ROOT\CLSID\{E01DBF39-ED8E-3975-8ECF-BA43D3D73DFF}\ProgId]
@="LicenseManager.JSONLicense"
[HKEY_CLASSES_ROOT\CLSID\{E01DBF39-ED8E-3975-8ECF-BA43D3D73DFF}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]
[HKEY_CLASSES_ROOT\Record\{46C43862-DC65-3BF1-8D9A-B315AF9FA80D}\1.0.0.0]
"Class"="LicenseManager.clsSharedEnums+enuLMForms"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/licensemanager.dll"
[HKEY_CLASSES_ROOT\Record\{7DAF1AFB-548E-3A9C-B003-BBFCFEE27533}\1.0.0.0]
"Class"="LicenseManager.clsEnums+enuLicenseErrors"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/licensemanager.dll"
[HKEY_CLASSES_ROOT\Record\{12C1B614-7200-38DB-A4C3-D88B23300A65}\1.0.0.0]
"Class"="LicenseManager.clsLM+enuChangeSettingsIniFile"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/licensemanager.dll"
[HKEY_CLASSES_ROOT\Record\{40B82F7E-0D53-39AC-982C-3B0D058F65D9}\1.0.0.0]
"Class"="LicenseManager.clsLM+enuCertificateOverride"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/licensemanager.dll"
[HKEY_CLASSES_ROOT\Record\{2AFA5EDE-930C-3023-848E-B8B58963FF24}\1.0.0.0]
"Class"="LicenseManager.clsPublicTypes+typLicenseInfo"
"Assembly"="LicenseManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v4.0.30319"
"CodeBase"="file:///C:/Users/MatthewB/AppData/Local/Stat Cruncher/Bin/licensemanager.dll"```
I tried Albert's suggestion of making sure my NSIS installer was using RegAsm.exe in the 64-bit path at:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe
However, I compared the reg file created by the 64-bit RegAsm to the reg file created by the 32-bit Regasm and they were identical.
I then realized that on Windows 64-bit registering a COM object for Excel-32 bit that I had to make sure the reg file was imported into the 32-bit view of the registry and not the 64-bit view.
I accomplished this by using the following command in my NSIS installer:
SetRegView 32
This did the trick and the COM object was now recognized by Excel 32-bit.