Deploying EsriAddIns using ClickOnce Technology

2329
3
07-29-2011 07:20 PM
MeToo
by
New Contributor
Hello everyone:

I have developed an EsriAddIn extension/toolbar that relies on a third-party dll that I also supply. Because of the dll, I have been deploying the application using the InstallShield Limited Edition available in/for Visual Studio 2010 (VS). It works fine.

However, I am frustrated by my customers needing administrative rights to install the dll and their keycodes (custom built and placed in C:\ProgramData as recommended, I think, by Microsoft). In addition, it's a challenge to keep all users up to date with the latest version. EsriAddIns don't require administrative rights. FYI, mine is also signed.

The dll doesn't need to be updated after initial installation, but the EsriAddIn and keycodes (plain txt files) do.

So, I am considering the VS ClickOnce technology. Can this be done? Is that going to help with the need for admin rights? Comments, pros & cons, particularly regarding the above scenario?

Thanks,
Dennis

Two side-questions:

1- Is their a way to use a dll from an EsriAddIn without having to register the dll in Windows first? That would fix half of my problems.

2- Any way of preventing security suites like Norton from seeing an esriaddin as a zip file? This prevents a user from being able to install the add-in by clicking on it on a web page as it associates an "unzip action" to it and not "esriaddin action". It also prevents the "ClickOnce" technology built in EsriAddIns from working.
0 Kudos
3 Replies
NeilClemmons
Regular Contributor III
If you have to register that dll then it is required that the user running the registration have read/write permissions on the system registry.
0 Kudos
MeToo
by
New Contributor
Thanks Neil:

Are there any cases where a dll doesn't need to be registered?

Thanks again,
Dennis
0 Kudos
NeilClemmons
Regular Contributor III
It depends on what type of dll it is.  For instance, a .NET assembly dll doesn't require registration if you install it alongside the assemblies that reference it.  On the other hand, ActiveX dlls usually require registration and typically will not work if you simply install them alongside your application assemblies.
0 Kudos