slk23 Posted December 31, 2007 Share Posted December 31, 2007 I like the paint.net installer; it's clean and elegant. Which tool was used to create it? Does it install the .NET Framework when necessary? TIA Quote Link to comment Share on other sites More sharing options...
Rick Brewster Posted December 31, 2007 Share Posted December 31, 2007 The setup wizard is written in C# using Windows Forms. All the code is custom, I didn't use any special installation toolkit or wizard framework. There is a bootstrapper, SetupShim.exe, written in C that does the .NET check and will either 1) launch the installer if it's in the current directory, or 2) launch the .NET download page in your browser. #1 helps when/if we publish an installer that bundles the .NET framework which makes for easier distribution on CD's or whatever. Quote The Paint.NET Blog: https://blog.getpaint.net/ Donations are always appreciated! https://www.getpaint.net/donate.html Link to comment Share on other sites More sharing options...
slk23 Posted December 31, 2007 Author Share Posted December 31, 2007 Thanks for the info. I used the forum search function but didn't find anything. But using Google I did find this discussion: http://paintdotnet.forumer.com/viewtopic.php?t=418 (strangely I still can't get any hits on "NSIS" when I use the forum search function). I understand the reasoning behind going your own way rather than using NSIS or another installer framework. For my own projects I'm not sure I want to take on the complexity of what you've done. So at this point I'm leaning toward NSIS since it appears to the best, most flexible installer unless I roll my own. If you have any general comments on NSIS I'd love to hear them. Quote Link to comment Share on other sites More sharing options...
Rick Brewster Posted December 31, 2007 Share Posted December 31, 2007 Well, here's the full breakdown. 1) NSIS is used as the outer-layer packaging. I basically use it as a self-extracting ZIP + "run this little script" (the script copies some files and runs the installer exe). 2) SetupShim.exe does the .NET check. 3) SetupFrontEnd.exe is the setup wizard. 4) PaintDotNet.msi is the Windows Installer package that actually contains all the files. It is authored using the Visual Studio setup project thing. I should probably author 4 using WiX instead, but have not wanted to do so currently because changes to the installer are very risky at this point. If it works, it can stay for now. If I break it, then I'll get a million e-mails asking for help. Also worth noting is that an "update" is actually implemented in a very brute force manner. It does a full uninstall, and then a full re-install. This is just the simplest way to do things. Uninstall puts you at a very well known state, at which point the re-install is a no-brainer because you already know how to do that. Managing patches or incremental upgrades is just not worth it, in my opinion, for something like Paint.NET. Quote The Paint.NET Blog: https://blog.getpaint.net/ Donations are always appreciated! https://www.getpaint.net/donate.html Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.