Wise for Windows Installer
There are two ways of creating a setup installation.
-
The old way is via a script-based system, which is basically a
batch file system, and defines step by step what is required (a
process-focused approach). Usually this builds a setup.exe file.
-
The newer way is Microsoft's MSI format, which focus on what
needs to be installed (and then how to install them). The new
MSI format allows for operations such as repairing a broken
installation without re-installing the entire application. Also
each installation can be treated as a transactional process
where failures can be rolled back object by object.
Wise and InstallShield both offer commercial products and support
for the old script-based approach and the newer MSI approach. We
choose Wise over the InstallShield offerings because Wise is
traditionally easier to use.
If you visit these company's websites, you would notice that they
both have a confusing amount of installation products. There are
even wizards to help you choose which product is suitable for you!
We spend a bit of time evaluating between different installation
systems and products, and summarize our requirements and findings
here.
1. Wise for Windows Installer (recommended)
-
There are supports for importing from .NET projects and
solutions, or wise script projects. These can be helpful to kick
start your installation file.
-
Wise products all have Standard, Professional and Enterprise
editions. We decided on the Professional version, as we want the
'Wise Update' feature, which is not available in the standard
edition. The enterprise edition has additional
software/setup files/merge module repository suitable for very
large enterprise-wide installations, which we find will probably
not be useful for us.
Wise product comparisons
Figure: Filling in the Product Details with the Wise for Windows
Installer
Wise for Windows Installer Web Site
2. Wise for Visual Studio.NET
-
The user interface and functionality are exactly the same as the
Windows Installer. This particular Wise product is integrated
into Visual Studio.NET. It is useful for scanning dependencies,
and update project assemblies. Also, the WSI project file can be
included in the .NET solution.
-
The VS.NET integration was also the reason we didn't choose this
product, we didn't want a setup software that requires VS.NET to
run, nor do we necessarily want people without the plug-in
getting a warning when opening a solution with a WSI
project. Also, when we start using newer versions of
VS.NET (or beta), we don't want the setup program to stop
working.
3. Nullsoft Scriptable Install System (NSIS) Recommended by
Scott Hanselman
NSIS (Nullsoft Scriptable Install System) is a professional open
source system to create Windows installers. It is designed to be
as small and flexible as possible and is therefore very suitable
for Internet distribution.
Nullsoft Scriptable Install System Website
4. Windows Installer XML (WIX) Recommended by
Chris Kinsman
The Windows Installer XML (WiX) is a toolset that builds Windows
installation packages from XML source code. The toolset supports a
command line environment that developers may integrate into their
build processes to build MSI and MSM setup packages.
Windows Installer XML Website
5. Macrovision FLEXnet Installshield
InstallShield comes with time saving InstallScript enhancements,
allowing you to quickly and easily customize any part of your
installation, including the user-dialog sequence, file transfer,
reboot and even uninstallation. Possibly the best feature of
InstallShield is its support for the latest beta of Microsoft
Windows Vista, including Internet Explorer 7, Windows Installer 4
and other exciting new technologies. This means you can start
working with Vista now, by building your installation to be
compatible with the current beta. InstallShield also minimizes
reboots through the Restart Manager and gives you more direct
control of setup prerequisites.
Macrovision FLEXnet Installshield Website
Please be aware that after our own trials of a number of setup
package creation applications, at SSW we choose to use Wise For
Windows Installer for all of our Windows projects' setup files.
Note
: That for
web
projects we avoid elaborate setup packages altogether. See our
Rules To Better Setups
for our reason why.