-
Notifications
You must be signed in to change notification settings - Fork 78
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add documentation on how to block installation based on OS & VCREDIST…
… versions Attempt on addressing wixtoolset/issues#8785 and wixtoolset/issues#8786 by extending the WiX documentation to also cover these to checks that I believe are quite common.
- Loading branch information
Showing
1 changed file
with
34 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
--- | ||
sidebar_position: 91 | ||
--- | ||
|
||
# How To: Block installation based on OS version | ||
|
||
It is often desirable to block installation of an application on too old Windows versions. The following sample demonstrates how to block installation on Windows versions prior to Windows 10 version 21H1. | ||
|
||
```xml | ||
<Property Id="WINDOWSBUILDNUMBER" Secure="yes"> | ||
<RegistrySearch Id="BuildNumberSearch" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion" Name="CurrentBuildNumber" Type="raw" /> | ||
</Property> | ||
<Condition Message="This application is only supported on Windows 10 version 21H1 (build 19044) or higher."> | ||
<![CDATA[(WINDOWSBUILDNUMBER >= 19044)]]> | ||
</Condition> | ||
``` | ||
|
||
The sample uses the `SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentBuildNumber` registry key to detect the current Windows version. | ||
|
||
|
||
# How To: Block installation on missing or too old VCREDIST | ||
|
||
It is sometimes desirable to block installation of an application if the Microsoft Visual C++ Redistributable is either missing or too old. The following sample demonstrates how block installation if the Microsoft Visual C++ 2015-2022 (x64) Redistributable is either missing or predates the 17.2 version. | ||
|
||
```xml | ||
<!-- Minimum version obtained by downloading "Visual C++ Redistributable for Visual Studio 2022" (x64) 17.2 from https://my.visualstudio.com/Downloads and checking the EXE file version. --> | ||
<Upgrade Id="36F68A90-239C-34DF-B58C-64B30153CE35"> | ||
<UpgradeVersion OnlyDetect="yes" Property="VCREDIST_X64" Minimum="14.32.31332.0" /> | ||
</Upgrade> | ||
<Launch Condition="Installed OR VCREDIST_X64" Message="Microsoft Visual C++ 2015-2022 (x64) Redistributable missing or too old." /> | ||
</Condition> | ||
``` | ||
|
||
Where `36F68A90-239C-34DF-B58C-64B30153CE35` is the UpgradeCode associated with the Microsoft Visual C++ 2015-2022 (x64) Redistributable. |