I haven't found any info on this particular problem so let me try here.
My job is to migrate a 9.3 desktop extention to 10.3, keeping the app in the original COM-based format (not an add-in).
During debugging in Visual Studio 2010, I had to enable 'make assembly COM visible' for it to be registered to ArcGIS, otherwise it didn't show. After setting up the windows setup project en building in release with the right setting it succesfully finished the installation, included and installed all the depencies in the correct directory and was visible in my installed programs list.
The thing is, it DID show up correctly on my machine (even after fully cleaning the solution and unistalling dev or previous builds), but NOT on any other machine with version 10.3.0/1.
What I had tried so far:
- making sure the application installation folder was correctly set in the setup project and the installation was being done there.
- made a new setup project with the same settings (there was an old version checked in to the repo)
- correct .NET version (3.5) as installation prerequisite, same as all the projects/class libraries in the solution
- enabled/disable the options 'register for COM interop' and 'make COM visible' for the main project
- built main project in x86 explicitly instead of anyCPU
- checked if Register property on the main projects assembly was set to 'vsdrfCOM'
Now I found out that the dll does get registered but there is some kind of safety check that doesn't add it to ArcMap upon registration. If it is not in the 'ESRI mx extension category' (C:\Program Files (x86)\ArcGIS\Desktop10.3\bin\Categories.exe) then it will never be visible in ArcMap!!
But it appears that you can add it manually by opening the category importer, as shown below
Does anyone have more info on this problem? I don't seem to find much on ''arcgis category importer" or the message...
And why does it say it's been registered with a previous version of ArcGIS?
I'm on windows 10 btw, the other test machines are on 8 and 10
Hope you can help,
Thanks in advance