Project Description
MSE-iT Setup Bootstrapper is a library to build lightweight bootstrappers for MSI installations. It encapsulates all information into one setup.exe file (resources in a compressed form) and makes it easy to detect and download a missing .NET Framework. It is developed in C++.

Features
  • Single SETUP.EXE for web deployment, doesn't unzip and start second process (except of installers for prerequisites, they are started as a matter of course).
  • easy localization to any language, English and German included.
  • embedded resources (txt and rtf, bitmaps,...) are compressed and can be build as a standard zip file. See Embedded ZIP file resources
  • four layer background bitmaps (dialog, dialog localized, page, page localized) for space saving. See Background Bitmap Resources
  • detection of missing Microsoft .NET Framework 3.5, download from a web server or directly from Microsoft
  • detection of missing Microsoft SQL Server Express, download from a web server or directly from Microsoft
  • rich text for wizard text and licenses, can be created as standard RTF files via WordPad, keeps the footprint small, in contrast to bitmaps.
  • advertising during installation via slides based on RTF files (with embedded bitmaps, if you want)
  • small footprint, less than 300 KB without bitmaps and RTF files. Complete SETUP.EXE about 700K-1M (depends on advertising and resources). Fast download and immediate start.
  • can download special versions (e.g. for client / server installs, different languages, ...) of your Microsoft installer files (MSI) and start the correct installation.
  • customizable using C++

Demo Bootstrapper
The project contains a demo bootstrapper based on our project "MSE-iT maxi", which is a good start for own projects.

Usage
Your own bootstrapper links against the bootstrapper library. The demo bootstrapper shows the possibilities of the library. You can copy the code out of the demo bootstrapper to build your own.

Requirements
  • Runs on Windows 98 and later (on Windows 95, if 32bit alpha bitmaps aren't used)
  • Runs on Windows NT 3.1 and later


DemoSetupScreenshot.png

Copyright
Copyright (C) 2008 by MSE-iT, Hauptstrasse 32, 88427 Bad Schussenried, Germany
and the creators of the public domain and freeware parts as labeled in source code.

License
This project is not Public Domain or Freeware! This project is licensed under GPLv2. To use this project under this license, your project source code (the code of your bootstrapper) must be downloadable or obtainable via physical media. Even when you only link against the libraries of this project. Not sure what that means? Check this: http://www.gnu.org/licenses/gpl-violation.html Kindly report violations to: thomas (at) maierhofer.de

If your project don't meet this license criteria and you don't want to publish your bootstrappers source code, you need a proprietary license. Feel free to contact us for a proprietary license at: thomas (at) maierhofer.de

Documentation

Roadmap

Relevance
There are plenty of bootstrappers for the .NET Framework, MDAC, SQL Server Express and so on. Why developing another one? Almost all of this bootstrappers are scripted or configured and have less possibilities to be customized. For our own projects we want to have a fully programmable bootstrapper as a solid setup.exe file, because we have special needs. With this framework you have complete control over the bootstrap process on WIN32/MFC/C++ level. For most bootstrappers this is not necessary and it is better to use a configurable one. One thing, before you post a comment: I've programmed DLLs (plugins) for the common installation builders (e.g. InstallShield™, Wise™, SetupFactory™), and i know that this is possible. But it is a waste of time. If you are capable to program a DLL with C++, you are capable to program the whole bootstrapper in C++ with this framework in less time.

Origin
Our new travel agency accounting software (MSE-iT maxi) is based on the .NET Framework and is a client/server application. The installer is developed with Windows Installer XML. We need a compact bootstrapper which was ale to download and install missing parts (.NET framework, SQL Server Express) on demand. It is also a requirement to check if our app server is already running in the local network and start a client setup or a server setup if not. We got C++ knowledge from our projects, so it was a good idea to develop this bootstrapper in C++.

Links
Project Description
MSE-iT Setup Bootstrapper is a library to build lightweight bootstrappers for MSI installations. It encapsulates all information into one setup.exe file (resources in a compressed form) and makes it easy to detect and download a missing .NET Framework. It is developed in C++.

Usage
This framework is a base for other upgradeable persistence frameworks and solutions. It brings a uniform upgrade attribute tagging to the .NET framework and is basic for backup and synchronization issues.

Links
Maintained by MSE-iT Travel Agency Software (Reisebürosoftware)
MSE-iT Software Development Blog
.NET Framework and Open Source Software Development on Maierhofer Software

Project Urls
http://www.codeplex.com/MseItSetupBootstrap/
http://www.codeplex.com/MseItSetupBootstrap
http://mseitsetupbootstrap.codeplex.com/

Last edited Jul 30, 2009 at 10:56 PM by ThomasMaierhofer, version 39