General Microsoft Windows Installer, Application Compatibility and Deployments

Flexera Software Introduces InstallShield 2011

Flexera Software™, the leading provider of strategic solutions for Application Usage Management to application producers and their customers, today announced the immediate availability of InstallShield 2011, the next generation of the market-leading software installation development solution for Windows applications. Building on its native support for creating MSI installers, InstallScript and Microsoft App-V virtual packages, InstallShield 2011 continues to raise the bar for Windows installer development solutions with a wide variety of customer-driven enhancements that simplify installation development.

You can download a free trial version of InstallShield 2011 here.

Resulting from a longstanding collaboration with Microsoft Corp., InstallShield continues to be a leader in the industry with its support for the latest Microsoft technologies and platforms. InstallShield 2011:

  • Gives Microsoft Visual Studio 2010 developers the convenience of authoring professional installations for all application types inside the same Visual Studio 2010 interface they use to develop their products, as well as the power to reliably deploy applications targeting the Microsoft .NET Framework 4
  • Saves developers’ time by including .NET Framework prerequisites to check for and install required applications and system components
  • Provides enhanced support with Microsoft Visual Studio Team Foundation Server when used within Visual Studio 2010, enabling developers to integrate InstallShield projects with Team Foundation Server version control and manage changes
  • Allows developers to use Team Foundation Server Build to compile and build InstallShield projects along with Visual Studio solutions
  • Gives developers the power to use Visual Studio Team Server Team Explorer to configure, schedule and queue builds for InstallShield projects together with Visual Studio solution builds
  • Enhances 64-bit support so developers can maintain a single installation project to support 32-bit and 64-bit platforms, repackage 64-bit applications to create MSI installations and create 64-bit App-V packages to deploy virtual applications on 64-bit systems

“Visual Studio is the development environment of choice for developers of all kinds,” said Jason Zander, corporate vice president of Visual Studio at Microsoft. “Likewise, InstallShield 2011 should be an installation development environment of choice for Visual Studio users, ensuring that Visual Studio applications of any kind can be professionally installed and work with the latest Microsoft technologies and platforms.”

InstallShield 2011 also includes enhancements to simplify installation development, including:

  • A new licensing option for the popular Standalone Build module provides clarity over usage and helps customers implement continuous installation builds into their agile development environment. Customers can also buy additional licenses of Standalone Build as an add-on rather than purchasing the full IDE license for meeting build requirements. With support for a concurrent license model for Standalone Build, customers can support advanced infrastructure needs and use Standalone Build in build farms with dynamic virtual machines
  • Unicode InstallScript support which enables InstallScript users to provide a better end-user installation experience for multi-language products and improve the runtime performance
  • Enhanced Script Editor with auto completion increases developer efficiency by reducing the time spent on typing code and helps avoid typographical errors in the code
  • Build events (available in the Premier Edition only) that eliminate the need for developers to manage external script files by integrating new pre- and post-build events with the InstallShield build process
  • New settings in the Releases view to modify the icon and version resource properties for setup and update executable to match company and product branding
  • New Prerequisites tab on the Options dialog to specify folders to search for InstallShield prerequisites files (.prq), making it easier for teams to share prerequisites and store prerequisites in source code control
  • The ability to set an expiration date and message for setup launchers to prevent customers from installing outdated versions of applications

After a thorough beta test process, customers have acknowledged tremendous value in this new release:

“InstallShield continues to prove that they are the leader in the market for installation development. Constantly updating features, providing support with short turnaround times and staying integrated with the latest tools such as Visual Studio 2010 has kept us onboard with their software. We look forward to what they have to offer in future versions. Thank you!” – JP Williams, Buildmaster at Accusoft Pegasus

“I have been using InstallShield since version 3. I am always excited about a new release because each one is better than the last in big and small ways. InstallShield 2011 has numerous big enhancements and a specific small one that will make my job much easier. The ability to specify a search path for InstallShield prerequisites will allow me to refer to them directly from our Source Code control location. I now won’t have to worry about copying them to the InstallShield prerequisites folder.” – Mark Hanson, Software Engineer Advanced at Siemens

“The Code Project’s vast developer community honors excellence in dev tools with these awards. We’re happy to see the community recognize time-tested and proven products like InstallShield.” – Jeff Hadfield, President at The Code Project.

“InstallShield 2011 delivers significant value by supporting the latest Microsoft technologies and platforms and a wide variety of enhancements that further simplify Windows installation development,” said Maureen Polte, director of product management at Flexera Software. “Our continued focus is to ensure that InstallShield delivers the capabilities that developers need to streamline quality and professional installation development for any type of application.”

About InstallShield – For more than 20 years, InstallShield has been the most popular and trusted solution for Windows software installations, used by virtually every major software company in the world. InstallShield makes it easy for developers to author reliable Windows Installer (MSI) and InstallScript installations and App-V™ virtual packages for Windows platforms, including Windows 7, keeping their customers happy and support costs down.

About Flexera Software –  Flexera Software is the leading provider of strategic solutions for Application Usage Management; solutions delivering continuous compliance, optimized usage and maximized value to application producers and their customers. Flexera Software is trusted by more than 80,000 customers that depend on our comprehensive solutions- from installation and licensing, entitlement and compliance management to application readiness and enterprise license optimization – to strategically manage application usage and achieve breakthrough results realized only through the systems-level approach we provide. Flexera Software is a privately-held company and an investment of private equity firm Thoma Bravo, LLC. For more information, please go to:

Guest Posts How-to Windows Installer, Application Compatibility and Deployments

Create a Minor Upgrade for an application using InstallShield

Upgrades are little complex compared to the new installer. This guest article from Bhuvana aims at providing the requirement for minor upgrade, the steps to create it and options to install the same. Minor upgrade is a type of Product upgrade that Windows Installer supports. A minor upgrade can be used to add new features and components but cannot reorganize the feature-component tree.

Requirement for Minor upgrade:

Add a new subfeature

If the new subfeature consists of new components only, you can use a minor upgrade. If the new subfeature consists of existing components, you must use a major upgrade.

Add a new component to a new feature

In general, a minor upgrade should not include a new top-level feature. However, new subfeatures of existing features are allowed. If you are adding a new subfeature for a minor upgrade, set two of the subfeature’s properties as follows so that they are installed correctly during a minor upgrade:
o    Remote Installation—Set this property to Favor Parent.
o    Required—Set this property to Yes.
The user interface of a minor upgrade does not usually show the feature tree; however, maintenance mode for the updated installation typically does expose the feature tree. If you want the new subfeature to be excluded from the feature tree so that end users cannot deselect it, set the subfeature’s Display property to Not Visible.

Add a new component to an existing feature

A new component can be added to an existing feature if the version of Windows Installer is 2.0 or later

Add, remove, or modify any of the following: files, registry keys, or shortcuts.

If the file, registry key, or shortcut is in more than one component and the component is shared by two or more features, a major upgrade must be used.

Codes Associated with the Minor Upgrade:

Package CodePart of the Summary Information Stream, the package code identifies a particular database. The package code is not a Windows Installer property. Any two .msi databases with identical package codes must have identical contents. So it is recommended to change the package code for each and a must for Minor Upgrade.

ProductVersion—This is a Windows Installer property that contains the product version. Note that Windows Installer uses only the first three fields of the ProductVersion property for version comparisons. For example, for a product version of, the 4 is ignored. (Note that this is true for comparisons of ProductVersion values, and not for file versions.)

Package code and Product Version needs to be changed for Minor Upgrade.

Steps to create Minor Upgrade:

  1. Change the Package code and Product Version to create a minor upgrade
  2. Add feature / component by following the guide lines in Section: Requirement for Minor upgrade
  3. Add Remove or Modify files, registry keys and shortcuts.
  4. Add minor upgrade item in upgrades view (this is optional).
  5. Build and use the installer for upgrade.

Running a Minor Upgrade:

With Setup.exe

If you build a release that includes Setup.exe, your latest installation will be minor upgrade enabled. Setup.exe can detect when a previous version of your application exists on a target machine. When Setup.exe detects a previous version, it will run the rest of your installation in minor upgrade mode.
If you have selected the option “Create installation launcher (setup.exe)” when you built the release and if you get an error as Figure1, while running the installer, then you will have to specify these parameters in the generated Setup.ini file:


Without Setup.exe

If you intend to distribute your installation without wrapping it in Setup.exe, there is a manual process that your end users must follow to start the installation. For this reason, you should consider using Setup.exe; however, you can achieve similar results without it. The Installer properties REINSTALL and REINSTALLMODE must be set from the command line to start an installation in upgrade mode. In all but the most advanced scenarios, the property REINSTALLMODE should be set to vomus and the property REINSTALL should be set to ALL. A typical command line can look like the following: msiexec.exe /i \product.msi REINSTALLMODE=voums REINSTALL=ALL

If the update contains features that you do not want to update, you should set REINSTALL to a comma-separated list of the features that you want to update, as in the following command: msiexec /i \product.msi REINSTALLMODE=voums REINSTALL=F1,F3,F5

The feature names you use in the REINSTALL property are case-sensitive.

If you try to install two msi packages with different package codes, but with the same product code, you will get an error message as shown in the below figure,
To overwrite the existing product with a newer version, you should perform a small or minor update. This requires that you set the following properties on the msiexec command line: msiexec /i Yourapp.msi REINSTALLMODE=vomus REINSTALL=ALL

The important part is the “v” in the reinstall mode settings. It forces the use of the new msi file instead of the cached copy. Therefore it can’t be set inside the package. The rest of the REINSTALLMODE flags make sure that existing files get updated, new files get installed, registry entries are re-written and shortcuts are created. REINSTALL=ALL means that only those features, that were selected by the user during the install of the old version get updated. Unselected features should not be added.

Difference between Small and Minor update:
Small and minor updates are very similar. The only difference is that in a minor update the product version is increased (in any of the first thee fields), while a small update leaves the version number unchanged or increases only the fourth field of the number. You can update your product with a small or minor update package only if the product code is unchanged. To replace an existing application with a package that has a different product code, a major upgrade is required.

Bhuvana specializes in InstallShield & MSI Installers and her primary responsibility at work is “Build & Release” which includes creating Setups and Source Control Management. If you want to get in touch, her LinkedIn Profile is – Here. (PS: Do mention in the Linkedin request that, you read her article on msigeek. We do not want to give her un-necessary Spams )

Do comment on this article, if you have any inputs / suggestions for Minor upgrade!