Blog

Archive
| All posts |
  • Clickonce and NSIS

    published on 5/11/2008 7:59 PM

    Previously our [url:gaming administration toolkit|http://www.playngo.com/Products/GAT/tabid/138/Default.aspx], also known as GAT for short, used [url:click once|http://en.wikipedia.org/wiki/ClickOnce] for installation. Now I have made the switch so we use [url:NSIS|http://nsis.sourceforge.net/Main_Page] instead and do I ever regret that I didn't do that a long time ago. The problems with clickonce are just staggering if you want to do anything except take a program and just get it onto another computer. For one, and this is the big one, everything need to be signed in all ways possible. You application needs to be signed and the dist needs to be signed. Then you also have problems like if you need to retaget your exe from "Any" to say "32 bit" then your update wont work at all since the checksum is different so the updater refuses to run it and you need to tell all your clients to download the setup file again.So change anything and you break clickonce and need to resign it. It can be done and that's what we did however the time spend to make it work is counted in days. Not hours or minutes as it should be. Then you still can't actually do anything with it. You can't even add a new shortcut to the start menu. Don't get me wrong. Click once does work and is nice for what it was designed for. But if you ever need anything more then leave it quickly and never look back.

    Setting up the new NSIS installer has taken about 6 hours. It supports multiple distributions and this includes making a launcher program that checks for new updates and updates the program if there is a new version. Now we can support multiple editions installed on the same computer and we also have full control and can install anything we might need in the future.

    The one thing that NSIS does lack for my needs is a good way to check and updated the .net version. There does exists scripts for it and this is what I will have to use but they aren't as nice as I would like them.