20 May 2012
[ Overview  |  First  |  Previous  |  Next  |  Last  ]

Release Configurations and Distribution Media

Projects can have multiple release configurations. These configurations specify information about the install itself outside of the standard Windows Installer resources contained in the project file. Release configurations control some visual aspects of the install, the language, the target operating systems, security settings and much more. This page provides a summary of what can be achieved with this feature.

Only one release configuration is active at a time and this is selected from the main application toolbar.

Output Type
An install can be packaged in a number of ways. MSIStudio supports the followed methods of distribution:

  • MSI File
    The installation is composed of a .msi file containing the logic and resources of the installation. Any files to be installed reside with the .msi file in a folder structure that resembles the target setup configuration. The files can be optionally compressed into one or more .CAB files. This version is suitable for physical media such as CDs.
  • Setup.exe and MSI
    A bootstrapper setup.exe is provided with the .msi file. This bootstrapper provides addition visual elements to the setup and other functionality as described later.
  • Setup.exe
    The entire installation is wrapped up into a single setup.exe file. This file can be renamed to something that more closely resembles the application being installed. When the executable is run by a user, the contents including the .msi file and any CAB files are extracted to a temporary folder and the .msi file is run as normal. This output type is more suited towards Internet deployment although any .exe file should be digitally signed first before being deployed.

Language
MSIStudio installer packages have a base language of Neutral allowing the package to be installed on an operating system of any language. Each installer package can be associated with a single language. The language of the operating system must match with the language specifed in the release otherwise the install will not run. Transforms can be used to create installer packages which can target more than one language. MSIStudio can be used to create language transforms as described in the Transforms section.

Output Folder
By default, installation packages are stored in a 'Builds\>release<' sub folder of the project file. The install developer can override this and specify a folder to build the installs to. Additionally, the output folder path can include the build date and time and the version of the package when determining the output path.

Release Flags
Release flags allow the install developer to create installations that contain different components from a single project file. All components and features can have a release flag set. If a component or feature has a release flag specified and the release configuration doesn't specify this flag then these components and features are excluded from the release along with all resources (files, etc) associated with those components. This functionality could be used to create different language release that install files that vary with language. In another scenario release flags could be used to create a cut down version of a setup with a minimum set of features to minimize the size of the deployment package.

Digital Signatures
The digital signing of installations can be specified in the release settings. MSI files, CAB files and bootstrappers can all be digitally signed using a code signing certificate to ensure the package reaches the end user has not been tampered with. Read more about Digital Signatures.

Replace Large Files
Sometimes deploying an application involves copy a number of large data files to the target machine, such as graphics and audio clips. These files can add significant overhead to the time it takes to build a package especially if they are being compressed and added to .CAB files. These files may not be important while testing a package during package development, only to verify that they are installed correctly. This option gives the setup developer the ability to filter large files based on size or filename and have them replaced with small files with the same name. Packages building will be a lot quicker with these smaller files and the logic of the installation will remain the same so the package can still be effectively tested. When the final package is ready to be built, this flag can be cleared.

Compatability
The install package can be specified to run on a specific platform or with a specific minimum version of Windows Installer installed. Windows Installer has evolved over the years and the package developer should make sure that the features included in the package are compatable with the version of Windows Installer that is installed on the target machine. All new versions of Windows from XP onwards have at least version 3.0 of the Windows Installer runtime include so this is less of an issue. Additionally, each installation package must be authored with a target platform of 32-bit or 64-bit Windows, a single package cannot install to both platforms. If you wish to create a single deployment package to target both platforms, you must build separate releases and then use a bootstrapper project that includes both packages and selects the appropriate package to install.

Bootstrapper Options
Using a bootstrapper setup.exe to run the installation package enables a number of additional features over and above the functionality provided by Windows Installer. Read more about the bootstrapper functionality here.


[ Overview  |  First  |  Previous  |  Next  |  Last  ]