VB6 App to esriAddIn: How to package custom OCXes

887
3
12-20-2010 04:29 PM
MeToo
by
Deactivated User
Hello everyone:

I have migrated a large VB6 ArcGIS 9.x application to VB.NET ArcGIS 10 add-in. It uses a couple of VB6 OCXes. Everything works fine on my development PC but when I start distributing the add-in, the target PC encounters COMexceptions. They go away if I register the OCXes manually on the target PC.

What's the recommended 'best practice' methodology for distributing and, if necessary, registering the OCXes on target PCs when releasing ArcGIS Desktop extensions as add-ins? 

I think that I could create an installation package (with InstallShield for ex.) that would register the OCXes and automatically start the esriaddin file. It seems to defy the simplicity of end-users double-clicking on the esriaddin file.

Thanks
0 Kudos
3 Replies
RichardWatson
Deactivated User
If you use COM components then you have to register them because the registry is fundamental to how COM works.

IMHO, the point of add-ins is to move away from COM thus enabling XCopy deployment.

COM is incompatible with XCopy deployment.
0 Kudos
MeToo
by
Deactivated User
Thanks Richard.

What would prevent one from packaging the esriaddin and OCX/dependencies with InstallShield (for ex.), and having the latter "Start.exe theEsriAddIn" at the end of the installation? Would that work? The idea/hope would be that when the software is updated, the dependencies (that don't change) would already be on the end-user PCs and only the esriaddin would be needed and could be installed on a double-click.

I remember reading several months ago a couple of words (literally) in the esriaddin documentation that several libraries could be specified in the esriaddin Config.XML <Library=myProject.dll> tag. Could anybody give me an example of when that would be used?

Thanks
0 Kudos
RichardWatson
Deactivated User
You also need to think about how you are going to handle uninstall.
0 Kudos