Hi Shawn,
Bruce has done extensive tech articles on our community site about wrapping .NET controls with COM wrappers. It definitely works, but the deployment of .NET controls is a bit of a pain.
My suggestion would be to do either ActiveX or another option would be HTML/JS controls that you embed in the new Chromium WebBrowser control. In PB 2019 R3 and newer, this control supports JavaScript functions so you will be able to integrate with HTML/JS controls contained inside this object. We have an example on GitHub where we embedded JS chart control.
If you do go the ActiveX route, make sure the bitness of the ActiveX matches how your app is compiled. For example, if you compile your app as 32-bit app you need 32-bit ActiveX. My suggestion would be to go with 32-bit ActiveX because the PB IDE is 32-bit and also trying to converting existing 32-bit code to 64-bit requires some substantial work and testing.
Best regards,
Armeen
Armeen is right: You use a 32 bit visual ActiveX control on your window. And install a 64 bit compiled version with the 64 bit executable. I figured out which registry entries I have to use by taking a registry snapshot, then run regasm /codebase (the one in the Framework64 folder, C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319). Then take the second snapshot and export the differences (only the relevant ones). Then I still ran regasm with the "/regfile:" option and combined the results of both registries. It works. Most probably I can still re-use my 32 bit Wixtool msi installer by simply replacing the paths of the registry and folders, but that's something I still have to work out.
regards.