Hi again guys! :)
Today I’d like to tell you why I decided to change my software deployment method.
I’ve spent a lot of time in the last days looking for an alternative way to deploy client applications. During this period I’ve tested different options (including the options provided by Microsoft Visual Studio) and finally I’ve decided to use Advanced Installer.
But before that I wanna tell you why I’ve arrived to this point.
As a developer I’m still building some Windows applications, because most of these applications are targeted to the business market. And well, until now I’ve been using the typical Setup projects or ClickOnce, depending on each project.
Because ClickOnce is not the best solution for complex deployments. It’s quite good for simple or medium scenarios, but is not enough when you need to use merge modules -or equivalent-, database scripts, registry entries, launch conditions, etc.
What about Setup projects? Well, I decided not to use them anymore since I read this post. Because these modules won’t be supported in future versions of Visual Studio. If you haven’t read this post, and you’re still using it, you must read it now.
So, in the previous link you’ve noticed that WiX is recommended instead of Setup projects, but in my opinion WiX is not a valid option, because doesn’t allow neither use designers to customize the installer nor install prerequisites.
For your information: The following table compares the features of Windows Installer Setup Projects, InstallShield 2010 Limited Edition, and the Windows Installer XML Toolset.
This application provides a powerful and easy way for making your deployments via Windows Installer plattform, offering different editions: From a freeware with the most common options to an edition for architects, with lots of stunning features like integration with App-V, VMware or System Center deployments.
In my particular case I downloaded a trial version (limited to 30 days) and started to make a test with a medium-size solution, with 20 projects inside. After playing a couple of hours with the tool, I built a complete setup project, including some advanced features like: Merge modules, file associations, launch conditionals (both system and software), prerequisites, registry entries and sql scripts. And of course with complete control over the installation options and the appearance of the setup wizard.
WOW! Not bad at all… And most of these options are provided by free (not all but most of them).
Now I’m thinking in implement some advanced features, like licensing, trials and updates. Yes, you can implement a licensing mechanism, and not only in a simply way. You can use your own C++ DLL, or send a POST to a URL to validate the license. It sounds really good!
Another interesting feature when using serial validation allows you to make trial packages. It allows your users to evaluate your product before purchasing, and also enables users to register after they have received a valid key. After the trial period expired the user will be able to run your application only after registration.
Finally, my favorite: Advanced Installer provides a way to check for updates. If this option is enabled, before installing the application package, a version check will be executed. If a newer version of the installation package (current MSI) is available it will be downloaded and installed instead of the current one.
A stunning product, with lots of options for making your deployments quickly and easy. You can customize your setup experience in great detail and the UI helps you to create complex installation packages in minutes.
Compared with other market leaders is much easier to use and it has a shortest learning curve.
Sincerly impressed. Good job guys! :)
Advanced Installer website: http://www.advancedinstaller.com/
PS – <IRONIC MODE ON> Ok. I understand traditional Windows applications are from the past, and nowadays everybody is developing web applications or WP7/Metro applications… this kind of developments doesn’t need too complex deployments, and maybe it’s better for everybody the marketplace-based model… But there are a few people that are still developing business applications. I just wanna say… PLEASE MICROSOFT, DON’T FORGET US! :)