cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
jeffmetzner
Level 3

Windows 11 Install Condition?

Jump to solution

Is there an Install Condition for a Basic MSI project that only allows install on Windows 11?

I tried "WindowsBuild>22000", but that doesn't seem to work. I understand that "VersionNT=603" can't distinguish between Windows 10 & 11, but this installs alongside an existing product that doesn't need the new files on Windows 10.

If there's no applicable Install Condition, is there another way to accomplish this in a Basic MSI?

Labels (1)
0 Kudos
(1) Solution
shunt
Revenera Moderator Revenera Moderator
Revenera Moderator

Unfortunately I'm not aware of a way of doing this without wrapping the MSI with a  Suite Project.

The problem is within the manifest file of msiexec.exe (The Windows Installer Engine which is part of the OS). The manifest only contains supported ID information related to Windows 8.1 so it can't identify any OS higher.

We can't change the manifest of Microsoft's msiexec.exe. but we can work around it by launching the MSI with our own setup.exe which contains our own manifest (A Suite Project).

We have a great article which explains the issue in more detail here:
https://community.flexera.com/t5/InstallShield-Knowledge-Base/Identifying-Windows-10-with-MSI/ta-p/4166

Stuart

 

View solution in original post

0 Kudos

(3) Replies
shunt
Revenera Moderator Revenera Moderator
Revenera Moderator

Unfortunately I'm not aware of a way of doing this without wrapping the MSI with a  Suite Project.

The problem is within the manifest file of msiexec.exe (The Windows Installer Engine which is part of the OS). The manifest only contains supported ID information related to Windows 8.1 so it can't identify any OS higher.

We can't change the manifest of Microsoft's msiexec.exe. but we can work around it by launching the MSI with our own setup.exe which contains our own manifest (A Suite Project).

We have a great article which explains the issue in more detail here:
https://community.flexera.com/t5/InstallShield-Knowledge-Base/Identifying-Windows-10-with-MSI/ta-p/4166

Stuart

 

0 Kudos
jeffmetzner
Level 3

Thanks, that is a good article. The "System Search > Registry Entry" idea at the end sounds like it might work for me, so I'll give it a try.

0 Kudos

What worked for me was to make a property for "CurrentBuild" under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion and test it for values >= 22000. This test passes on Win11 and fails on Win10 and earlier, which is exactly what I needed

0 Kudos