Docs: clarify Windows build instructions

Remove obsolete MFC prerequisites and replace outdated assembler images
with version checks. Clarify release configurations, Spectre libraries,
and signing instructions.
This commit is contained in:
Mounir IDRASSI
2026-10-13 22:56:18 +09:00
parent 8478e8350d
commit fe33e4474e
3 changed files with 14 additions and 41 deletions
+14 -25
View File
@@ -109,7 +109,7 @@ Below are the procedure steps. Clicking on any of the link takes directly to the
<li>
Download the installer of a recent NASM version (for example “nasm-2.16.03-installer-x64.exe”) at: <br>
<a href="https://www.nasm.us/pub/nasm/releasebuilds/" target="_blank">https://www.nasm.us/pub/nasm/releasebuilds/</a> <br>
Recent NASM versions work; version 2.16.03 has been verified to assemble all VeraCrypt assembly sources without errors.
Recent NASM versions work; NASM 2.16.03 was used for the Windows application builds tested for this guide.
</li>
<li>
Run the file as administrator
@@ -150,9 +150,9 @@ Below are the procedure steps. Clicking on any of the link takes directly to the
</ol>
</li>
<li>
To check if the configuration is working correctly, please open a command prompt and watch the output of the following command: <br>
<p style="font-family: 'Courier New', monospace;">nasm</p> <br>
<img src="CompilingGuidelineWin/NasmCommandLine.jpg" width="50%">
To verify the installation, open a new command prompt and run: <br>
<p style="font-family: 'Courier New', monospace;">where.exe nasm<br>nasm -v</p>
The first command lists the NASM executables found on the Path; the second displays the version that will be used. Check that they identify the installation you intended to use.
</li>
</ol>
</p>
@@ -169,12 +169,9 @@ Below are the procedure steps. Clicking on any of the link takes directly to the
C:\Program Files\YASM
</li>
<li>
Please download the file "Win64 .exe" at: <br>
Download "yasm-1.3.0-win64.exe" from the Assets section of the official release page: <br>
<a href="https://github.com/yasm/yasm/releases/tag/v1.3.0" target="_blank">https://github.com/yasm/yasm/releases/tag/v1.3.0</a>
</li>
<li>
Your browser might inform you that the file might be a security risk due to the low download rate or the unencrypted connection. Nevertheless, the official website is the most reliable source for this file, so we recommend to allow the download
</li>
<li>
Rename the file to “yasm.exe” and copy it to “C:\Program Files\YASM”
</li>
@@ -210,9 +207,9 @@ Below are the procedure steps. Clicking on any of the link takes directly to the
</ol>
</li>
<li>
To check if the configuration is working correctly, please open a command prompt and watch the output of the following command: <br>
<p style="font-family: 'Courier New', monospace;">yasm</p> <br>
<img src="CompilingGuidelineWin/YasmCommandLine.jpg" width="50%">
To verify the installation, open a new command prompt and run: <br>
<p style="font-family: 'Courier New', monospace;">where.exe yasm<br>yasm --version</p>
The first command lists the YASM executables found on the Path; the second should report YASM version 1.3.0. Check that they identify the installation you intended to use.
</li>
</ol>
</p>
@@ -295,10 +292,6 @@ Below are the procedure steps. Clicking on any of the link takes directly to the
<li>C++ ATL for latest v143 build tools (ARM64)</li>
<li>C++ ATL for latest v143 build tools with Spectre Mitigations (x86 & x64)</li>
<li>C++ ATL for latest v143 build tools with Spectre Mitigations (ARM64)</li>
<li>C++ MFC for latest v143 build tools (x86 & x64)</li>
<li>C++ MFC for latest v143 build tools (ARM64)</li>
<li>C++ MFC for latest v143 build tools with Spectre Mitigations (x86 & x64)</li>
<li>C++ MFC for latest v143 build tools with Spectre Mitigations (ARM64)</li>
<li>Windows 10/11 SDK (10.0.19041.0 or newer)</li>
</ol>
</li>
@@ -357,10 +350,6 @@ Below are the procedure steps. Clicking on any of the link takes directly to the
<li>C++ ATL for latest v143 build tools (ARM64)</li>
<li>C++ ATL for latest v143 build tools with Spectre Mitigations (x86 & x64)</li>
<li>C++ ATL for latest v143 build tools with Spectre Mitigations (ARM64)</li>
<li>C++ MFC for latest v143 build tools (x86 & x64)</li>
<li>C++ MFC for latest v143 build tools (ARM64)</li>
<li>C++ MFC for latest v143 build tools with Spectre Mitigations (x86 & x64)</li>
<li>C++ MFC for latest v143 build tools with Spectre Mitigations (ARM64)</li>
<li>Windows 10/11 SDK (10.0.19041.0 or newer)</li>
</ol>
</li>
@@ -414,16 +403,16 @@ Below are the procedure steps. Clicking on any of the link takes directly to the
The compiling process should end with warnings, but without errors. Some projects should be skipped.
</li>
<li>
Please select "Release|Win32" as active configuration and build the solution to compile the Win32 setup/helper projects used by the release packaging scripts. The installer projects ("VeraCryptSetup.exe", "VeraCryptPortable.exe", "VeraCryptCOMRegBase.exe") are only built by this configuration, which is why this step is required in addition to the x64 build.
Select "Release|Win32" as the active configuration and build the solution to compile the Setup, Portable, COMReg and SetupDLL projects used by the release packaging scripts. Standard "Release|x64" and "Release|ARM64" solution builds skip these Win32 projects, so this additional build is required when preparing release packages.
</li>
<li>
To build VeraCrypt drivers, select the "Driver" project and build it for "Release|x64" and "Release|ARM64".
</li>
<li>
Build "ReleaseCustomEFI|x64" or "ReleaseCustomEFI|ARM64" only if you need the custom EFI/bootloader release configurations. These configurations include the Boot project and require the optional legacy BIOS bootloader tools listed above.
Build "ReleaseCustomEFI|x64" or "ReleaseCustomEFI|ARM64" only if you need the custom EFI/bootloader release configurations. These configurations include the Boot project and require the optional legacy BIOS bootloader tools listed above. They also build the Setup, Portable, COMReg and SetupDLL projects using their Win32 configurations.
</li>
<li>
If you are using Build Tools for Visual Studio 2022 instead of the Visual Studio IDE, open "Developer Command Prompt for VS 2022" or "Developer PowerShell for VS 2022", change to the VeraCrypt source root, and run the equivalent MSBuild commands (administrator rights are not required for compiling; they are only needed for the signing and certificate import steps below):
If you are using Build Tools for Visual Studio 2022 instead of the Visual Studio IDE, open "Developer Command Prompt for VS 2022" or "Developer PowerShell for VS 2022", change to the VeraCrypt source root, and run the equivalent MSBuild commands (administrator rights are not required for compiling):
<br>
<code>
msbuild src\VeraCrypt.sln /m /p:Configuration=Release /p:Platform=x64 <br>
@@ -454,7 +443,7 @@ Below are the procedure steps. Clicking on any of the link takes directly to the
<p>
<ol>
<li>
Please open a Visual Studio 2022 command line as administrator so that the Windows SDK signing tools, including "signtool.exe", are available on the Path.
Open a Visual Studio 2022 developer command prompt as administrator for the signing and packaging workflow below. Make sure the Windows SDK signing tools, including "signtool.exe", are available on the Path.
</li>
<li>
Go into the folder "src/Signing/"
@@ -503,11 +492,11 @@ Below are the procedure steps. Clicking on any of the link takes directly to the
<ul>
<li>
<b>Common build errors and their causes</b> <br>
If a required component is missing, the build stops with one of the following errors. Each of them maps to a specific item of the component list above:
Missing build components can cause the following errors. Check the corresponding items in the component lists above:
<ul>
<li>
<p style="font-family: 'Courier New', monospace;">error MSB8040: Spectre-mitigated libraries are required for this project</p>
The "Spectre-mitigated libs" components are not installed. In the Visual Studio Installer, under "Individual components", install "MSVC v143 - VS 2022 C++ x64/x86 Spectre-mitigated libs (Latest)" as well as the ATL and MFC variants "with Spectre Mitigations" for every architecture you build.
In the Visual Studio Installer, under "Individual components", install the MSVC v143 Spectre-mitigated libraries matching your toolset version and each target architecture (x64/x86 or ARM64), along with the corresponding ATL components "with Spectre Mitigations".
</li>
<li>
<p style="font-family: 'Courier New', monospace;">error C1083: Cannot open include file: 'atlbase.h' (or 'atlcomcli.h')</p>
-8
View File
@@ -315,10 +315,6 @@
<li>C++ ATL for latest v143 build tools (ARM64)</li>
<li>C++ ATL for latest v143 build tools with Spectre Mitigations (x86 & x64)</li>
<li>C++ ATL for latest v143 build tools with Spectre Mitigations (ARM64)</li>
<li>C++ MFC for latest v143 build tools (x86 & x64)</li>
<li>C++ MFC for latest v143 build tools (ARM64)</li>
<li>C++ MFC for latest v143 build tools with Spectre Mitigations (x86 & x64)</li>
<li>C++ MFC for latest v143 build tools with Spectre Mitigations (ARM64)</li>
<li>Windows 10/11 SDK (10.0.19041.0 или новее)</li>
</ol>
</li>
@@ -377,10 +373,6 @@
<li>C++ ATL for latest v143 build tools (ARM64)</li>
<li>C++ ATL for latest v143 build tools with Spectre Mitigations (x86 & x64)</li>
<li>C++ ATL for latest v143 build tools with Spectre Mitigations (ARM64)</li>
<li>C++ MFC for latest v143 build tools (x86 & x64)</li>
<li>C++ MFC for latest v143 build tools (ARM64)</li>
<li>C++ MFC for latest v143 build tools with Spectre Mitigations (x86 & x64)</li>
<li>C++ MFC for latest v143 build tools with Spectre Mitigations (ARM64)</li>
<li>Windows 10/11 SDK (10.0.19041.0 или новее)</li>
</ol>
</li>
@@ -315,10 +315,6 @@
<li>C++ ATL for latest v143 build tools (ARM64)</li>
<li>C++ ATL for latest v143 build tools with Spectre Mitigations (x86 & x64)</li>
<li>C++ ATL for latest v143 build tools with Spectre Mitigations (ARM64)</li>
<li>C++ MFC for latest v143 build tools (x86 & x64)</li>
<li>C++ MFC for latest v143 build tools (ARM64)</li>
<li>C++ MFC for latest v143 build tools with Spectre Mitigations (x86 & x64)</li>
<li>C++ MFC for latest v143 build tools with Spectre Mitigations (ARM64)</li>
<li>Windows 10/11 SDK (10.0.19041.0或更高版本)</li>
</ol>
</li>
@@ -377,10 +373,6 @@
<li>C++ ATL for latest v143 build tools (ARM64)</li>
<li>C++ ATL for latest v143 build tools with Spectre Mitigations (x86 & x64)</li>
<li>C++ ATL for latest v143 build tools with Spectre Mitigations (ARM64)</li>
<li>C++ MFC for latest v143 build tools (x86 & x64)</li>
<li>C++ MFC for latest v143 build tools (ARM64)</li>
<li>C++ MFC for latest v143 build tools with Spectre Mitigations (x86 & x64)</li>
<li>C++ MFC for latest v143 build tools with Spectre Mitigations (ARM64)</li>
<li>Windows 10/11 SDK (10.0.19041.0或更高版本)</li>
</ol>
</li>