Skip to content
This repository

A widely used, general-purpose setup bootstrapper for MS Windows.

branch: master

Merge pull request #62 from icnocop/master

signed InstallerLib with a strong name
latest commit 2000eff6c6
Daniel Doubrovkine (dB.) @dblockdotorg authored
Octocat-spinner-32 Documentation fixed reference to ResourceLib's LICENSE file in the help documentation February 15, 2014
Octocat-spinner-32 InstallerConfig added missing application compatibility sections to manifest files an… January 26, 2013
Octocat-spinner-32 InstallerDocLib Support for Windows 8.1 / Server 2012 R2 November 11, 2013
Octocat-spinner-32 InstallerEditor Merge pull request #56 from baSSiLL/windows-8.1 November 11, 2013
Octocat-spinner-32 InstallerLib signed InstallerLib with a strong name February 15, 2014
Octocat-spinner-32 InstallerLinker Support for Windows 8.1 / Server 2012 R2 November 11, 2013
Octocat-spinner-32 InstallerMsi added support for hiding command based components' application window… June 27, 2013
Octocat-spinner-32 Samples Preparing for 2.3 release. January 06, 2014
Octocat-spinner-32 ThirdParty signed InstallerLib with a strong name February 15, 2014
Octocat-spinner-32 UnitTests Additional tests for auto close November 15, 2013
Octocat-spinner-32 Version #8256: Added /noRunOnReboot to the bootstrapper to suppress actually … March 13, 2011
Octocat-spinner-32 dotNetInstaller Fixing typo "Plseas" -> "Please" in banner text. February 06, 2014
Octocat-spinner-32 dotNetInstallerLib Auto close for checked components November 14, 2013
Octocat-spinner-32 dotNetInstallerToolsLib Support for Windows 8.1 / Server 2012 R2 November 11, 2013
Octocat-spinner-32 htmlInstaller Support for Windows 8.1 / Server 2012 R2 November 11, 2013
Octocat-spinner-32 .gitignore Support for Windows 8.1 / Server 2012 R2 November 11, 2013
Octocat-spinner-32 CHANGELOG.md signed InstallerLib with a strong name February 15, 2014
Octocat-spinner-32 LICENSE Preparing for 2.3 release. January 06, 2014
Octocat-spinner-32 README.md Preparing for 2.3 release. January 06, 2014
Octocat-spinner-32 Version.proj Updated to date-based versionning. May 24, 2012
Octocat-spinner-32 build.cmd added support for hiding command based components' application window… June 27, 2013
Octocat-spinner-32 dni.debug.vsprops fixed CabLib Release configuration March 05, 2013
Octocat-spinner-32 dni.proj added support for hiding command based components' application window… June 27, 2013
Octocat-spinner-32 dni.sln Added CHANGELOG.md to project. June 08, 2012
Octocat-spinner-32 dni.vsprops fixed CabLib Release configuration March 05, 2013
Octocat-spinner-32 dni.vssscc Dni will incorrectly display installation_completed message if auto_c… November 16, 2010
README.md

dotNetInstaller Setup Bootstrapper

dotNetInstaller

dotNetInstaller is a widely used, general-purpose setup bootstrapper for Microsoft Windows 95, 98, 2000, XP, 2003, Vista, 2008, Windows 7 and 8.

Essentials

Bootstrapper

dotNetInstaller enables the developer to define the application prerequisites and install the correct version(s) of these components in a predictable order based on the processor architecture, user operating system type and language, allow the user to download these components from the web, install these components directly from a single packaged setup, local media or both. dotNetInstaller is very feature rich and runs on all known Windows operating systems with a very tiny footprint.

A boostrapper doesn't replace tools like InstallShield, Wise, Visual Studio Setup and Deployment Project or Wix. The goal is to create an application to help users with installing the correct prerequisites. Most real world applications need to install several components to work properly, including Windows Service Packs, Internet Explorer, MDAC or .NET Framework. This kind of applications are most commonly known as bootstrappers. dotNetInstaller is such a bootstrapper.

Getting Started

  1. Download and install dotNetInstaller.
  2. Launch InstallerEditor.exe and create a configuration file.
  3. Add configurations, components and installed checks. Edit messages and various options.
  4. Deploy your installer. This may involve linking a single executable package or copying support files onto fixed media.

dotNetInstaller ships with a CHM help file with a detailed Getting Started section and a complete configuration reference. If you have trouble viewing the help file content, Right Click on it and choose Unblock in Properties.

Bootstrapper Scenarios

A bootstrapper enables additional scenarios not supported by the installer alone.

  • Distribute a single, compressed, executable packaged setup with all pre-requisites.
  • Distribute multiple installers that compose a large and complex application in a single package and enforce a well-defined installation workflow and dependencies.
  • Package frequently required components or components with a small footprint, and download less frequently used or larger ones only when necessary.
  • Provide additional parameters to existing package technologies, eg. automatically enabling logging in MSI installers.
  • Support workflow that includes a reboot in the middle of an installation between interdependent components.
  • Support web-based scenarios that include on-demand downloading the latest versions of the installed software and prerequisites.
  • Uninstall applications composed of several packages in a single sequence.

dotNetInstaller Components

This project consists of the following elements:

  • dotNetInstaller and htmlInstaller: main bootstrapper applications, written in C++. This is the raw setup which presents a GUI in front of the user that displays which components to install depending on which components are already installed on the operating system. The bootstrapper is statically linked with the CRT and has no prerequisites.
  • InstallerEditor: an application for editing configuration files and bootstrapper resources, written in C# for the .NET Framework 2.0. The editor is also capable of importing older versions of dotNetInstaller configuration files and converting them into the current/newer format.
  • InstallerLinker: a command-line bootstrapper linker that can be used in a build process, written in C# for the .NET Framework 2.0. Several samples and dependency templates that can be reused as-is and that demonstrate sometimes complex checks which verify whether, for example, MDAC or .NET framework are already installed.

Project History

This project began as a CodeProject article and was maintained on the DevAge website and SourceForge by David Icardi. It continued its journey through CodePlex and is now officially maintained on Github.

License and Copyright

Copyright (c) 2009-2012 Davide Icardi, Daniel Doubrovkine and Contributors.

This project is licensed under the MIT License.

Something went wrong with that request. Please try again.