Introduction

War Setup is an application to make .msi software installation packages. It uses the free Wix toolset from Microsoft to build the .msi files. The target audience for this application is Software Developers.

War Setup is designed to be very easy to use. It's the perfect install tool for the lazy Open Source developer. With bullt in support for Visual Studio C++ integration and the ability to add directories recursively, it's very easy to add software libraries and generated documentation to the install package.

War Setup is also well suited to handle most install requirements for commecial software. At least for companies who want their install packages to be predictible, robust, easy to make and mantain, inituitive for the end-user, and comformant with the Microsoft Installer guidelines.

I've emphaized that War Setup's target audience are lazy developers with better things to do than reading "The definitive guide to Windows Installer" (yea - I've read it). So you don't really need to know alot about Windows Installer or Wix in order to use War Setup. If you do - you can utilize your knowledge, but if you don't - it will still do the job. I got pretty frustrated when I tried to use some of the free installers out there, and they assumed that I knew all about Windows Installer, or Wix, and all their weird properties. So I've tried to make War Setup 3 really easy to use - even for developers who has their focus on their own products - and not the geeks view of "the Delightful Art of Software Installation".

How it works

 You create a War Setup project and add all the files, directories, shortcuts, merge-modules etc. you need. You can add a hierarchical feature-tree if you wish. You specify the license for the package, and what GUI (Graphical User Interface or “User Experience”) you want to use. You can use the Wix stock graphics, or add your own images. Then you press the “Build”-button, War Setup creates a Wix project, compiles it, and if everything is all right, the .msi-file is built.

Licensing

WarSetup 3 is licenced under the "Common Public License 1.0" (same as the wix toolkit). In short, you can use and redistribute it for free (if you intend to redistribute it you must read the actual license).

You may ask why WarSetup is free. There is no such thing as a fre lunch, right? Well - actually there is. Welcome to the wonderful world of free software, where thousands of devoted individuals and companies contribute for free. War Setup version 3, released in may 2007, is written from scratch to facititate the latest reccommandations and requirements for software intsallation under Microsoft Windows. I've chosen the "Common Public License 1.0" for this application, to credit Microsoft for their free Wix toolset under the same license. The "Common Public License 1.0" is actually a free software license contributed by Microsoft.

There is no spyware, surveillance, tracking, pop-up ads or any other nasty threats in any software from Jgaa's Internet. If you don't believe me - the source code for WarSetup is distributed along with the application, so you can check for yourself. That's just one of the many advantages with free software.

Requirements

You need the .NET framework 2.0 to run WarSetup. (It's not required on the target machine you make the install package for, as Microsoft Windows Installer will do the actual software installation). You also need Wix 3 installed on your computer. WarSetup use Wix almost as a "compiler" to build the target .msi file. If you know Wix, you can use your skills to make outstanding installer packages - if you don't, or if you are under a time-schedule,WarSetup will use it to build industry standard Install packages - just the way Windows Installer wants it.

Note: Visual Studio 2005 has a bug; it's missing the x32 version of msi.lib in the Platform SDK. You must have this library installed if you compile War Setup yourself. You can install the Platform SDK and make sure that the Windows Installer SDK is enabled, or you can download and install the Windows Installer SDK separately. (You may have to add the include path and library path for this SDK manually to Visual Studio (Tools/Options and then "Projects and Solutions" and" VC++ Directories")). (This mess, where developers have to add paths manually to Visual Studio in order to use a library was one of my main motivations to write War Setup ;)

Features

  • You can add files to install, and specify the target directory and name
  • You can add directories, and add files automatically when you build the package, based on regular expressions. If you have lot's of html-files in the product documentation, you can add the directory for these files and specify the pattern ".*.html" to just add them all. In other words, there is no need to specify all the individual files.
  • Integration with the Program Files menu, Desktop and Quick Launch bar.
  • You can add shortcuts to any files that will be installed on the target system, also files that are scanned from directories (like the index.html file in your documentation)
  • Integration with Visual Studio 2003 and 2005. If you are releasing C or C++ libraries, WarSetup can add the paths for the library and header files to Visual Studio.
  • Integration with Wix. You can use WarSetup to build the framework for your installation, and then include your own Wix fragment files. That makes it possible to do almost anything that an install package can do.
  • Supports all the standard WixUI modes.
  • Full support for Feature trees and graphical custimisation of your install package.
  • You may build or include standard Merge Modules to your package. War Setup will detect optional parameters for the Merge-modules you include, and you can set the values for each of them. That means that modules that require a password, like Crystal Reports, can be installed.
  • You may associate file-extensions (file types) to your programs.
  • Can install Windows Services.
  • Relative paths. WarSetup allows you to use relative paths. That means that the project will work even if you re-locate the project on your disk. (The project-file is an XML file, so you can edit it in any XML editor, icluding Visual Studio, if you want to do a little search and replace to reorganize the file-layout by hand).
  • Uninstall, Repair and Change of installed Features are of course available from the "Add and Remove Programs" applet in the Control Panel once your package is installed.
  • No built-in limits or nags! This is not a teaser (crippleware) for a commercial installer - but a full-blown free installer.

Documentation

I've written a users manual for War Setup.

Blog

  • I do have a blog for WarSetup :)

Support

There are several options available for support (you have already used a search-engine to find a solution for your problem, right?)

  • Sourceforge. This project use sourceforge for free support. Use the tracker for bug-reports, suggestions and help-requets. Use the forum to discuss WarSetup.
  • Commercial support. I'm running a company, "Konsulent Jarle Aase", who will provide you with commercial support.
    • Single support-case: A single priority support-case costs 70€. Contact me on email to open a support-case.
    • Custom features in War Support: I will be glad to add new features in WarSetup to make it fit your needs 100%. It works this way; you specify the feature you need. I give you a price and a time-frame to add that feature. You pay 50% of the price in advance. I add the feature, and when approved, you pay the remaining 50%. The feature will normally be available for everyone for free in the next public release of WarSetup.

War Setup is available as a project on sourceforge.

 

Contributions

You can contribute to the project if you want.

  • Spread the word. Free software is not advertized on TV. An applications success depends on it's users spreading the word. If you like the program, tell people about it. Write a blog-entry about it. Link to it. Suggest it whenever someone needs an application like this.
  • Report problems and Suggest features. This is the most valuable contribution anyone can provide. Good products are not created by brilliant developers - byt rather by ordinary people who gets over their frustration with the product and suggest improvements, rather than just throwing it away.
  • Write, improve or translate the documentation. English is not my native language, so the documentation I write is far from perfect. As a user of the product, you also have a totally different view of it than I do. You can use that advantage to improve the product documentation radically.
  • Add new features. If you are a C# developer, you may hack the code and add new features. If the code-quality is decent, and the feature is useful, i'll most likely add your contribution to the project.
  • Fix bugs. There will always be bugs in software. If you find one, and give me the receipt to kill it, you provide a very important contribution.
  • Find bugs. If you find a bug, but cannot fix it, you contribute to the project by providing me with an exact receipt on how to reproduce the problem.

Screenshots

Click on the thumbnails on the bottom of the page.

Missing features

  • Registry editor:  I've never ever needed to write to the registry in any of my install programs. Com registration is handled by the Installer. Componets registration is handled by the installer. File type association is handled by the installer. So there is no registry-editor. If you really really need this, you can send me an email asking for it, or you can use the Wix fragments feature to add the keys you need by hand.
  • See also the todolist.

History

WarSetup has been around since 1996. It was originally made to make the installation program for War FTP Daemon (the program that made me "famous" back in 1996). There is some more information about the programs history in the Users Manual. The pre-3 versions are totally obsolete today.

Download

The WarSetup*.msi files contains the War Setup application, resource files (images, software licenses), documentation, and the full C# source code including the Microsoft Visual Studio 2005 project files.

  • Current release [2009-02-17]: Version 3.13  [Download] from Sourceforge.

 Please use the tracker for bug-reports, suggestions and help-requets. Use the forum to discuss WarSetup.