It is possible to configure an MSI package to detect the operating system and use this as a “security” feature. For the purpose of this demonstration, I am using EIDAuthenticate. This is smart card logon software for standalone computers.

The community edition of this software is limited to the Windows Home version only, if you would like to use this software on any other version of Windows you’ll need to purchase the Enterprise edition.

Upon launching the Community edition on my Windows 8 Enterprise, an error is displayed saying it can only be installed on Windows Home Editions.

Required Tools
An MSI Install Editor – InstEd It!, a nice alternative for Microsoft Orca.

Editing the MSI Installer
Open InstEd It! and open the required MSI file, in this case it is the EIDAuthenticate Community Edition. Once opened, go to the table “InstallExecuteSequence”.

EID1

Now have a look at the section InstallUIConditions, you will see the same action called LaunchConditions.

EID2

Now you should have a look at the action in table LaunchConditions.

EID3

In the condition row, you can see the value “Installed or (MsiNTPersonal = 1)”, changing this value to 0 will install only on non Windows Home editions, not the best solution if we want this software to be available on any edition of Windows.

To make this work on all editions of Windows 7/8, remove the action LaunchConditions in the tables:

  • InstallExecuteSequence
  • InstallUIConditions

EID4

Now save the file and launch it on any Windows platform.

Share on Facebook0Share on Google+0Tweet about this on TwitterShare on LinkedIn0Email this to someonePin on Pinterest0Share on Reddit0Digg thisShare on Tumblr0Share on Yummly0Share on StumbleUpon0Flattr the author