- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Re: Windows 11 Install Condition?
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
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?
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
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
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.
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