How does SharpSetup compare to other installer creation tools?
- When compared to tools like NSIS and InnoSetup the main differentiating feature is the use of Windows Installer technology. This has multiple benefits: from technical ones (more reliable installation process, automatic installation rollback in case of failure) to marketing ones (Windows Logo certification requires that you use Windows Installer).
- When compared to Windows Installer XML alone the main benefit of using SharpSetup is the bootstrapper that allows you to execute any C++ code prior to installing your application (this allows for checking basic prerequisites) and very flexible GUI that can be created using Windows Forms or Windows Presentation Foundation (WPF) technology. This in particular means that the user interface can be created in a graphical way using Visual Studio control/dialog designer.
- When compared to tools like InstallAware or InstallShield the main benefit is that you don't have to learn yet another proprietary language just to create an installer. The installation logic is described using WiX, the user interface can be created in C# and you may optionally use C++ code to execute actions if .NET Framework is not yet installed on the target machine. Technologies used by SharpSetup (WinForms, C#, .NET, C++, WiX, MsBuild, Visual Studio) are widely used and have wide community and commercial support.
What are the system requirement for SharpSetup?
We can divide requirements that must be met into 3 categories:
- run-time requirements - requirements that must be met before user of your application can use SharpSetup generated installer. The installer should run on any Windows 2000/Windows XP/Windows Vista/Window 7/Windows 8 system (or their server counterparts). Of course at least .NET framework must be installed. If the framework is not present the user will be informed about it with a clear message, you can also react on such a condition from C++ code and install .NET framework on client system.
- design-time requirements - requirements that must be met so that you can design your installer. You will need at least Windows XP, Visual Studio 2010/2012/2013/2015, Windows Installer XML 3.5+ (WiX) and SharpSetup installed. Express editions of Visual Studio are not supported.
- build-time requirements - requirements that must be met so that you can set up automated builds of your SharpSetup based installer. You will need at least Windows XP, Visual Studio 2010/2012/2013/2015, WiX 3.5+x and SharpSetup installed. CruiseControl.NET or TFS Build might also be a useful addition. With some effort it should be possible to set up build environment without Visual Studio, but then Windows Platform SDK will be needed. Some source code tweaks may also be necessary in your installer for this to be possible (this scenario is not supported out-of-the-box).
Isn't requiring .NET Framework for simple installer too much?
You might be tempted to say that requiring quite a big programming framework just to run an installer is too much. If the application you want to install does not require .NET Framework itself you are in fact right, SharpSetup is not one-size-fits-all installer creation tool. But if your application (or one of its prerequisites) wouldn't run without .NET Framework then why not use power of .NET to develop installer itself? SharpSetup is best suited for installing applications written for .NET 2.0 and above.
It is also worth noting that Windows Vista (a system released more than 5 years ago) comes with .NET Framework preinstalled. Therefore using .NET for creating installer comes at no cost to the end-user.
Does SharpSetup translate dialogs to create native WiX code?
No. Major part of graphical user interface (GUI) of your installer is executed as .NET program with all its consequences. Both positive as the ability to use wealth of .NET libraries and neutral like the fact that .NET Framework needs to be installed prior to installing your application.
Can Windows Presentation Foundation (WPF) be used with SharpSetup?
Yes. Starting with SharpSetup 1.8 WPF GUI is available. Depending on your requirements it might provide more flexibility in customising look and feel of your installer than the Windows Forms version.
Is the Windows Forms GUI obsolete?
By no means. The Windows Forms version of the GUI is still supported and there are no plans to remove that support in the foreseeable future. It allows you to write installer that runs on WIndows 2000 and reduces size of prerequisites required for Windows XP.
Which version of Windows Installer XML is required by SharpSetup?
I recommend using version 3.9 as it is the latest stable version of WiX. SharpSetup should also work with WiX 3.5-3.8 and development versions of WiX 3.10.
What is the license for SharpSetup?
SharpSetup is a commercial product with license cost of €399 per developer. However, Free License is available for open source projects. You can also evaluate whether SharpSetup fits your specific scenarios using the Evaluation License (installer distribution restrictions apply).
The created installers do not require additional runtime licenses.