Windows Installer Msi Version 3.1 Free Download

We have several tools on each major platform to install Ruby: On Linux/UNIX, you can use the package management system of your distribution or third-party tools ( rbenv and RVM ). On macOS machines, you can use third-party tools ( rbenv and RVM ). On Windows machines, you can use RubyInstaller. See the Installation page for details on using. SEB 2.3.2 is a minor update for 2.3.1 with one bug fix: When running on macOS 11 Big Sur on Intel CPU based Macs (tested on macOS 11.2.3), system processes displaying UI in the foreground were not recognized as system applications and terminated by SEB or locked SEB (displaying a red lock screen) if SEB couldn't terminate them.

  1. Windows Installer Msi Version 3.1 Free Download Windows 7
  2. Windows Installer Msi Version 3.1 Free Download 64-bit
  3. Windows Installer.exe

Cn3D download and installation instructions for Windows. Download the Cn3D 4.3.1 installer here. The previous version, Cn3D 4.3, also continues to be available. Microsoft Windows Installer is part of these download collections: Setup Maker, Create Installer. Microsoft Windows Installer was reviewed by Ciprian Paius. New in Microsoft.

Abstract: Microsoft has released version 2.0 of the Windows Installer runtime files and the Windows Installer SDK. Besides support for Windows XP and 64 bit applications, this version includes bug fixes and introduces useful operating system properties, e.g. to detect whether setup is running on NT Workstation or Server, or an XP Professional or Home Edition. It also significantly simplifies updates by eliminating the need for complicated ADDLOCAL and REINSTALL constructs, and no longer requires a reboot after installing the runtime files. The good news is that you can benefit from these improvements in your existing projects. Some modifications in your authoring tool may be required to install the new runtime files. As a result of the improvements and fixes in MSI 2.0 you may find that your setups and patches behave differently than they used to or even fail. Even if you don't include MSI 2.0 in your own setup, the new version may already be present on the target machine, so you should at least include MSI 2.0 in your testing scenario.

Last update: 2003-04-10

Dieser Artikel in deutsch

Where to obtain MSI 2.0

If you're like me you want to go ahead and play with the new version before getting into the theory. Be warned that installing the new SDK will update common files that InstallShield uses to build your releases. In order to keep your production machine in a known good state until you have fully explored the implications of MSI 2.0 you should use a test machine to play with the new SDK and runtime files.

Redistributable packages to install the latest version of Windows Installer can be downloaded from the following URLs:

For Windows NT 4 and Windows 2000:
http://www.microsoft.com/downloads/release.asp?releaseid=32832

For Windows 95, Windows 98 and Windows Me:
http://www.microsoft.com/downloads/release.asp?releaseid=32831

Please note that the system requirements have changed for Windows NT which now requires Service Pack 6. For previous MSI versions Service Pack 3 was sufficient.

Both redistributable files are named Instmsi.exe. For use with InstallShield you should rename the Unicode version (for Windows NT/2000) to InstmsiW.exe, and the ANSI version (for Windows 95/98/ME) to InstmsiA.exe.

If you have downloaded the MSI 2.0 redistributables before September 25, 2001, you should redownload the version for Windows 9X. MSI 2.0 has first been published on August 28, 2001 with a version number of 2.0.2600.0. However this release has been withdrawn from the web site about three weeks later. On September 25 MSI 2.0 became available again, with a new version 2.0.2600.1 for Windows 9X. The Unicode version is not affected by this change. There is no official information about the reasons behind this, but rumors has it that problems were detected with Windows ME.

The documentation for Windows Installer 2.0 is included in the August 2001 edition of the Microsoft Platform SDK. You can download the SDK or order it on CD from http://www.microsoft.com/msdownload/platformsdk/sdkupdate. The documentation is also available for online reading at http://msdn.microsoft.com/library/en-us/msi/hh/msi/wiport_6gf9.asp

New Operating System Properties in MSI 2.0

MSI 2.0 introduces a bunch of new properties. Many of them deal with the installation of .NET assemblies and 64 bit applications, such as the MsiNetAssemblySupport and System64Folder properties. To support these new technologies you have to use InstallShield Developer 7. But there are several other new properties that come in handy for 'old fashioned' applications, too. These can be used to identify the exact type or 'flavor' of Windows your setup is running on, without having to get this information from registry entries. The following table summarizes some of these new properties, together with the value of the VersionNT property.

(A) VersionNT property
(B) MsiNTProductType property
(C) MsiNTSuiteEnterprise property
(D) MsiNTSuitePersonal property

Operating System(A)(B)(C)(D)
Windows NT 4.0 Workstation4001--
Windows NT 4.0 Domain Controller4002--
Windows NT 4.0 Server4003--
Windows 2000 Professional5001--
Windows 2000 Domain Controller5002--
Windows 2000 Server5003--
Windows 2000 Advanced Server50031-
Windows XP Home Edition5011-1
Windows XP Professional5011--
Windows 2003 Domain Controller5022--
Windows 2003 Server5023--
Windows 2003 Enterprise Server50231-

Information about the Windows 2003 server versions is subject to change, as they are still in beta.

The following new operating system properties are only valid on Windows 2000 or above:

  • MsiNTSuiteBackOffice will be set to 1 if Microsoft BackOffice components are installed.
  • MsiNTSuiteDataCenter will be set to 1 if Windows 2000 Datacenter Server is installed.
  • MsiNTSuiteSmallBusiness will be set to 1 if Microsoft Small Business Server is installed.
  • MsiNTSuiteSmallBusinessRestricted will be set to 1 if Microsoft Small Business Server is installed with restricted client license.

Bug Fixes

Although there are no official release notes that list issues fixed in MSI 2.0, testing shows that several bugs have been fixed, like the following:

  • Combo box scroll bar: The drop down list now has a scroll bar if there are more items than can be displayed at one time.
  • Version comparison when applying a patch: This is now working as documented in the latest version of MSI help, which conflicts with the settings in many authoring tools. This will likely cause problems for existing patches - see below.

Other errors have not been fixed, like the MinVersion field in the AppSearch table not working as documented (the file version must be greater than the value you enter in the MinVersion field, not greater or equal as the MSI 2.0 help file says).

Updates and Patches

MSI 2.0 removes some of the weird limitations and rules you had to follow when creating a new version of your product:

  • You can add components to existing features. While this seems to be a most basic thing, it was causing all kinds of strange behavior in previous versions of MSI.
  • You can add new sub features and make their selection state dependent on the selection of the parent feature, without having to use ADDLOCAL. You do this by setting the Required property of the feature to yes (this is the equivalent to the msidbFeatureAttributesUIDisallowAbsent flag in MSI help) and selecting Favor Parent from the Remote Installation settings.

For patches the effects of the Version Relationship setting have changed - actually it now works as intended. If you have created a patch that targets multiple older versions, and have accepted InstallShield's default of 'New version >= previous version' it is likely to fail! Users have reported error 2768: 'Transform in patch package is invalid' when they tried to apply such a patch. It is highly recommended to use 'New version = previous version' instead. The wording in the patch wizard is misleading, actually the meaning is 'Existing version = base version', where base version is the version that the patch targets. Suppose you have a patch that should update version 1.0.1 of your product to version 1.0.2, then the base version would be 1.0.1. This patch should only be applied to a system where version 1.0.1 is currently installed, not on higher versions. This is all very confusing, as it had been documented incorrectly in earlier versions of the Windows Installer SDK, and also never worked as documented until MSI 2.0.

Several other bugs in the patching process also have been fixed.

Other Improvements

  • Prevent passwords and other confidential information from being written to the installer log file: Set the property MsiHiddenProperties to a list of property names to prevent their values from being dumped into the log file.
  • Get the user's security identifier: The UserSID property (which is not valid on Windows 9x systems) can even be retrieved in deferred execution custom actions.
  • Setup can detect whether it is being removed from control panel or by a major upgrade: When a major upgrade removes an existing product it sets the UPGRADINGPRODUCTCODE property.

Overview of Windows Installer Versions

The following table summarizes all released versions of Windows Installer:

ReleaseVersion of Msi.dllRemarks
Windows Installer 1.01.0.5104.0Included with Office 2000 and released as a redistributable
Windows Installer 1.101.10.1029.0Included in Windows 2000
1.10.1029.1Released as a redistributable
Windows Installer 1.111.11.1314.0Included in Windows 2000 Service Pack 1
1.11.2405.0Included in Windows 2000 Service Pack 2
Windows Installer 1.201.20.1410.0Included in Windows Millennium Edition
1.20.1827.1Released as a redistributable
Windows Installer 2.02.0.2600.0Included in Windows XP and released as a redistributable (see note below)
2.0.2600.1Released as a redistributable for Windows 95/98/ME
Included in Windows 2000 Service Pack 3
2.0.2600.2Released as a redistributable (not for Windows XP)
2.0.2600.1106Included in Windows XP Service Pack 1
2.0.3590.0Included in Windows .NET Server (Beta 3)

Note: The initial release of MSI 2.0 was version 2.0.2600.0 for both Unicode and ANSI versions. However a problem was detected with the ANSI version, so it has been replaced with version 2.0.2600.1. The Unicode version is still at version 2.0.2600.0.

Platform Support for Windows Installer

Version 2.0 of Instmsi.exe can be used to update the Windows Installer runtime files on Windows 2000 and Windows Me. Windows XP already comes with the latest files. Note that Service Pack 6 is required on Windows NT 4, while Service Pack 3 was sufficient for previous versions of Windows Installer.

The following table shows which versions of Windows Installer redistributables can be installed on which versions of Windows:

Windows versionSupported Windows Installer versions
1.01.11.22.0
Windows 95++++
Windows 98++++
Windows Me--++
Windows NT 4 SP3+++-
Windows NT 4 SP6++++
Windows 2000-*-+
Windows XP---*
Windows 2003 Server---*

- not supported
+ can be installed or updated
* included, cannot be installed

Installing the MSI 2.0 Runtimes with InstallShield

InstallShield Developer 7.0

InstallShield Developer 7.00 can update the Windows Installer runtime files on all operating systems (including Windows 2000), however as of this writing some modifications are required, as described below. InstallShield Developer 7.01 fully supports for MSI 2.0, so the below instractions do not apply.

Before you start with the modifications create backups of all affected files.

1. Update the Windows Installer redistributables

After you have downloaded the Instmsi.exe file for Windows NT/2000 and Windows 95/95/Me rename them to InstmsiW.exe and InstmsiA.exe respectively. Copy them to the redistributables folder that is normally located at [ProgramFilesFolder]InstallShieldDeveloperRedistLanguage Independenti386.

2. Update the MSI version number for setup.ini

To update the MsiVersion entry that gets written in the [Startup] section of setup.ini each time you build a release go to the following registry entry:
HKEY_LOCAL_MACHINESoftwareInstallShieldDevloper7.0
and change the string entry named 'Msi Version' to '2.0.2600.1'.

3. Enable MSI update on Windows 2000

Update the template for setup.ini which is typically found at [ProgramFilesFolder]InstallShieldDeveloperSupportSetup.ini by adding the following section:

[Win2K]
MajorVer=5
MinorVer=0
BuildNo=2195
PlatformId=2

In the same file in section [SupportOS] add the line:
Win2K=1

4. Adjust the Service Pack requirement for Windows NT 4

Another required update to the Setup.ini template is to change the service pack number for Windows NT 4 to make sure that SP 6 or above is installed. In section [WinNT4] change the value of ServicePack from its default of 768 for SP3 to:
ServicePack=1536
(Remark: 768 = 0x300, 1536 = 0x600)

You should also adjust the error message that is displayed if this requirement is not met. In directory [ProgramFilesFolder]InstallShieldDeveloperSupport you'll find INI files with error messages for each language, e.g. 0x409.ini for English messages. Open the file with a text editor and change string entry 1150 to indicate that service pack 6 is required on Windows NT 4.

5. Suppress the reboot after installing MSI 2.0

This step is optional. With MSI 2.0 you can postpone a reboot that may be required after installing the runtime files until after your setup has finished. The internal details are described below. InstallShield Developer 7 has an option in release wizard to delay the MSI engine reboot. However in version 7.00 this option is not being written to the setup.ini file. To suppress the reboot you can manually add the following entry in the [Startup] section of setup.ini:

SuppressReboot=Y

If you apply this to the setup.ini template all your releases will suppress the Instmsi.exe reboot. Note that Microsoft suggests performing a reboot at the end of installation if it was suppressed during installation of the MSI engine. ISD 7.00 doesn't take care of this so you have to add a ScheduleReboot action yourself.

InstallShield - Windows Installer Edition 2.0

InstallShield - Windows Installer Edition 2.03 (IPWI) can be used to update the Windows Installer runtime files on Windows 2000, but requires that the setup.exe launcher be replaced with a special version. Note that suppressing the reboot after installing the MSI 2.0 runtime files is not supported by this Setup.exe.

Before you start with the modifications create backups of all affected files.

1. Update the Windows Installer redistributables

After you have downloaded the Instmsi.exe file for Windows NT/2000 and Windows 95/95/Me rename them to InstmsiW.exe and InstmsiA.exe respectively. Copy them to the redistributables folder that is normally located at [ProgramFilesFolder]InstallShieldProfessional - Windows Installer EditionRedistLanguage Independenti386.

2. Replace the Setup.exe bootstrapper

Download the special Setup.exe from InstallShield knowledge base article Q105501. Copy it to the redistributables folder that is normally located at [ProgramFilesFolder]InstallShieldProfessional - Windows Installer EditionRedistLanguage Independenti386.

Note that the new Setup.exe should not be used to distribute MSI 1.2, and cannot be used with previous versions of InstallShield for Windows Installer.

3. Update the MSI version number for setup.ini

To update the MsiVersion entry that gets written in the [Startup] section of setup.ini each time you build a release go to the following registry entry:
HKEY_LOCAL_MACHINESoftwareInstallShieldISWI2.0
and change the string entry named 'Msi Version' to '2.0.2600.1'.

4. Adjust the Service Pack requirement for Windows NT 4

You should adjust the error message that is displayed if a system requirement is not met when setup starts. Open file [ProgramFilesFolder]InstallShieldProfessional - Windows Installer EditionSupportSetup.ini with a text editor. You'll see sections with error messages for each language, e.g. [0x409] for English messages. Change string entry 1150 to indicate that service pack 6 is required on Windows NT 4.

InstallShield Express 3.5

InstallShield Express 3.51 (and 3.52 for the German Edition) can update the Windows Installer runtime files on all operating systems (including Windows 2000), however as of this writing some modifications are required, as described below. The next maintenance pack is expected to include support for MSI 2.0 without modifications.

Before you start with the modifications create backups of all affected files.

1. Update the Windows Installer redistributables

After you have downloaded the Instmsi.exe file for Windows NT/2000 and Windows 95/95/Me rename them to InstmsiW.exe and InstmsiA.exe respectively. Copy them to the redistributables folder that is normally located at [ProgramFilesFolder]InstallShieldInstallShield ExpressRedistLanguage Independenti386.

2. Update the MSI version number for setup.ini

To update the MsiVersion entry that gets written in the [Startup] section of setup.ini each time you build a release go to the following registry entry:
HKEY_LOCAL_MACHINESoftwareInstallShieldExpress3.5
and change the string entry named 'Msi Version' to '2.0.2600.1'.

3. Enable MSI update on Windows 2000

Update the template for setup.ini which is typically found at [ProgramFilesFolder]InstallShieldInstallShield ExpressSupportSetup.ini by adding the following section:

[Win2K]
MajorVer=5
MinorVer=0
BuildNo=2195
PlatformId=2

In the same file in section [SupportOS] add the line:
Win2K=1

4. Adjust the Service Pack requirement for Windows NT 4

Another required update to the Setup.ini template is to change the service pack number for Windows NT 4 to make sure that SP 6 or above is installed. In section [WinNT4] change the value of ServicePack from its default of 768 for SP3 to:
ServicePack=1536
(Remark: 768 = 0x300, 1536 = 0x600)

You should also adjust the error message that is displayed if this requirement is not met. In directory [ProgramFilesFolder]InstallShieldInstallShield ExpressSupport you'll find INI files with error messages for each language, e.g. 0x409.ini for English messages. Open the file with a text editor and change string entry 1150 to indicate that service pack 6 is required on Windows NT 4.

5. Suppress the reboot after installing MSI 2.0

This step is optional. With MSI 2.0 you can postpone a reboot that may be required after installing the runtime files until after your setup has finished. The internal details are described below. InstallShield Express 3.51 has an option in the release properties called 'Suppress MSI Engine Reboot' that you simply set to 'Yes'. Note that Microsoft suggests performing a reboot at the end of installation if it was suppressed during installation of the MSI engine. ISX 3.51 doesn't take care of this so you should add 'Schedule Reboot at End' from the Custom Action Gallery.

InstallShield Express 3.0

InstallShield Express does not officially support updating the Windows Installer engine on Windows 2000. However Express 3.0 is internally somewhat similar to InstallShield - Windows Installer Editon 2.0, and users have reported that the method described above for InstallShield - Windows Installer Edition 2.0 also works for InstallShield Express 3.0, including the special Setup.exe from the knowledge base article.

Other Tools

If you are using a non Windows Installer based product like InstallShield Professional (Standard Edition) but need to install or update the MSI engine because you want to run a Windows Installer based setup as child install, you can use the following hints.

Windows Installer Msi Version 3.1 Free Download

Detecting and updating the Windows Installer version

Windows Installer Msi Version 3.1 Free Download Windows 7

To detect the version of Windows Installer currently present on the machine you can check the version information of Msi.dll in the system directory (WINSYSDIR). To update Windows Installer run InstmsiW.exe on Windows NT/2000 or InstmsiA.exe on Windows 95/98/ME.

Suppressing the reboot after running Instmsi.exe

In the past in many cases it was required to reboot the computer after installing or updating the Windows Installer runtime files, before the actual setup could be launched. The reason is that the operating system has msi.dll running in memory so the Windows Installer files are not replaced until after the reboot. This usually is the case on systems with a shell version that includes the Windows desktop update, like Windows 98 and 2000, and Systems with IE4.01 SP1. For more information about this see Microsoft Knowledge Base article Q262974.

With Windows Installer 2.0 you can avoid this additional reboot. It has a command line option to suppress the reboot, and you can load and use the new version of msiexec.exe from the directory it has been installed to. To make this work the program launching Instmsi.exe must be aware of this and tell the main setup to reboot at the end if a required Instmsi reboot has been suppressed.

Here are the steps that are required by the setup launcher to suppress the Instmsi reboot:

  1. Run Instmsi.exe with one of the following command line parameters:
    instmsi.exe /c:'msiinst.exe /delayreboot'
    instmsi.exe /c:'msiinst.exe /delayrebootq'
    Both will suppress the reboot prompt, the second will perform a completely silent installation of Windows Installer 2.0.
  2. Instmsi.exe will return ERROR_SUCCESS (0) if no reboot is required, or ERROR_SUCCESS_REBOOT_REQUIRED (3010) if a reboot is required but was suppressed. The bootstrapper must catch these return values and act accordingly, e.g. pass REBOOT=Force to the msi package if ERROR_SUCCESS_REBOOT_REQUIRED was returned. This will cause the setup to request a reboot at the end of installation.
  3. Get the location of the newly installed Windows Installer runtime files. This directory is stored in a string value called InstallerLocation in registry key HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionInstaller.
  4. Change the current working directory to the location obtained in step 3 and launch Msiexec.exe from there. This way your setup will use the new runtime version even without a reboot. If the parent install calls the MsiInstallProduct API instead of running Msiexec.exe, it must load Msi.dll from the directory obtained in step 3.

Windows Installer Msi Version 3.1 Free Download 64-bit

About the Author

Stefan Krueger is working as freelance setup consultant, offering support, custom programming and workshops independently from InstallShield Software Corporation. Besides his contract work, he answers questions in various newsgroups and maintains the InstallSite.org web site, a place where setup developers share resources and information among peers.

If you have any comments about this article, or want to suggest a topic that Stefan should discuss in a future article, please write to . To read Stefan's articles from previous issues of the InstallShield Newsletter, please visit http://www.installsite.org/isnews.htm.

NewsDiscussionsWindows InstallerRelated ToolsMore HelpInstallScriptAbout InstallSiteShopSite Search
NeuigkeitenDiskussionsgruppenWindows InstallerMSI FAQArtikelShopSuche

Windows Installer.exe

Copyright © by InstallSite Stefan Krueger. All rights reserved. Legal information.
Impressum/ImprintDatenschutzerklärung/Privacy Policy
By using this site you agree to the license agreement. Webmaster contact