cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
ACordner
Level 5

Prevent prerequisite installation on Windows 10

I have an application that distributes SQL Server 2008 R2 SP2 as a prerequisite. The prerequisite is configured to install on Windows 7/8/8.1 and Windows Server 2008/2008 R2/2012/2012 R2. This version of SQL Server is not supported on Windows 10 so I do not want the prerequisite to install when on that OS. However, it is showing up in the list. Since InstallShield 2014 pre-dates Windows 10, is there a way I can prevent this prerequisite from installing on Windows 10? Do I have to check a registry key?
Labels (1)
0 Kudos
(3) Replies
MichaelU
Level 12 Flexeran
Level 12 Flexeran

If your prerequisite has listed specific OSs in its requirements, the problem here is that Windows is indicating it is one of the versions you have selected for the prerequisite to support. You can get Windows 10 to indicate the correct version by editing the manifest used in setup.exe to declare support for Windows 10 by adding a supportedOS element to \Support\setupexe.*.manifest. Note that InstallShield 2014 predates and does not officially include support for Windows 10, so you will want to verify that things are working correctly for all the scenarios you do support.

Alternately, if you can find a registry key, or file or versions that is either available only on Windows 10 (or only on Windows before 10), that may be an alternate way to determine the version, and get the same effect without declaring support for Windows 10.
0 Kudos
ACordner
Level 5

I was able to work around this issue by adding a new condition to the prerequisite:

- Option: A registry entry has a specified value
- Key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
- Value name: CurrentMajorVersionNumber
- Value data: 10
- Run if: Data on target system is not equal to specified data
- Location: Default

Is this the best work around?
0 Kudos
Lance_Snead
Level 2

I'm using InstallShield 2014, so I just selected Windows 8.1 for the OS in prereq conditions and that worked for Windows 10.
0 Kudos