BillyBuerger

Using NSIS to deploy Desktop extensions

Discussion created by BillyBuerger on Nov 16, 2012
Latest reply on Nov 16, 2012 by warpengine

I'm just finally catching up and starting to upgrade my ArcDesktop applications to work with Arc10/10.1.  One of the exercises in doing this was to update the Deployment projects.  I have never been a big fan of the way Visual Studio does their deployment projects.  It seems to be a lot of work to get everything in place correctly.  I had wanted to use NSIS in the past.  But there didn't seem to be an easy way to do the RegAsm part as it's not installed on PCs unless the .NET SDK was installed.  The deployment projects in VS included libraries to do this registration without requiring RegAsm.  Now that with Arc10, ESRI uses their own esriRegAsm to register the extension DLLs, you know that if ArcDesktop is installed, so is this command.  In fact, all the InvokeEsriRegAsm project does is call the program with your extension DLL as an argument.  It wasn't too difficult to make an NSIS file that does this.

 

So, I figured I would share what I came up with in case anyone else is interested.  You can download my sample project and use it as you like.  I created a page where I plan on documenting how it works and stuff.  Currently it's just a placeholder with the download link.

 

Arc10 NSIS Sample

Outcomes