VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/html/CompilingGuidelineLinux.html329
-rw-r--r--doc/html/CompilingGuidelineWin.html1231
-rw-r--r--doc/html/CompilingGuidelineWin/AddNewSystemVar.jpgbin0 -> 71100 bytes
-rw-r--r--doc/html/CompilingGuidelineWin/CertVerifyFails.jpgbin0 -> 15443 bytes
-rw-r--r--doc/html/CompilingGuidelineWin/CertificateCannotBeVerified.jpgbin0 -> 87022 bytes
-rw-r--r--doc/html/CompilingGuidelineWin/DistributionPackageDamaged.jpgbin0 -> 10581 bytes
-rw-r--r--doc/html/CompilingGuidelineWin/DownloadVS2010.jpgbin0 -> 167558 bytes
-rw-r--r--doc/html/CompilingGuidelineWin/DownloadVS2019.jpgbin0 -> 231800 bytes
-rw-r--r--doc/html/CompilingGuidelineWin/DownloadVSBuildTools.jpgbin0 -> 187788 bytes
-rw-r--r--doc/html/CompilingGuidelineWin/NasmCommandLine.jpgbin0 -> 27541 bytes
-rw-r--r--doc/html/CompilingGuidelineWin/RegeditPermissions-1.jpgbin0 -> 42281 bytes
-rw-r--r--doc/html/CompilingGuidelineWin/RegeditPermissions-2.jpgbin0 -> 82730 bytes
-rw-r--r--doc/html/CompilingGuidelineWin/RegeditPermissions-3.jpgbin0 -> 48073 bytes
-rw-r--r--doc/html/CompilingGuidelineWin/RegeditPermissions-4.jpgbin0 -> 20213 bytes
-rw-r--r--doc/html/CompilingGuidelineWin/SelectAdvancedSystemSettings.jpgbin0 -> 142348 bytes
-rw-r--r--doc/html/CompilingGuidelineWin/SelectEnvironmentVariables.jpgbin0 -> 41283 bytes
-rw-r--r--doc/html/CompilingGuidelineWin/SelectPathVariable.jpgbin0 -> 71894 bytes
-rw-r--r--doc/html/CompilingGuidelineWin/SelectThisPC.jpgbin0 -> 50245 bytes
-rw-r--r--doc/html/CompilingGuidelineWin/VS2010BuildSolution.jpgbin0 -> 59737 bytes
-rw-r--r--doc/html/CompilingGuidelineWin/VS2010Win32Config.jpgbin0 -> 167454 bytes
-rw-r--r--doc/html/CompilingGuidelineWin/VS2010X64Config.jpgbin0 -> 149165 bytes
-rw-r--r--doc/html/CompilingGuidelineWin/VS2019ARM64Config.jpgbin0 -> 58551 bytes
-rw-r--r--doc/html/CompilingGuidelineWin/VS2019BuildSolution.jpgbin0 -> 49572 bytes
-rw-r--r--doc/html/CompilingGuidelineWin/YasmCommandLine.jpgbin0 -> 33328 bytes
-rw-r--r--doc/html/CompilingGuidelineWin/gzipCommandLine.jpgbin0 -> 28217 bytes
-rw-r--r--doc/html/CompilingGuidelineWin/upxCommandLine.jpgbin0 -> 52807 bytes
-rw-r--r--doc/html/Documentation.html489
-rw-r--r--doc/html/LinuxPrepAndBuild.sh20
-rw-r--r--doc/html/Miscellaneous.html48
29 files changed, 1956 insertions, 161 deletions
diff --git a/doc/html/CompilingGuidelineLinux.html b/doc/html/CompilingGuidelineLinux.html
new file mode 100644
index 00000000..a8460518
--- /dev/null
+++ b/doc/html/CompilingGuidelineLinux.html
@@ -0,0 +1,329 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<style>
+.textbox {
+ vertical-align: top;
+ height: auto !important;
+ font-family: Helvetica,sans-serif;
+ font-size: 20px;
+ font-weight: bold;
+ margin: 10px;
+ padding: 10px;
+ background-color: white;
+ width: auto;
+ border-radius: 10px;
+}
+
+.texttohide {
+ display:none;
+ font-family: Helvetica,sans-serif;
+ font-size: 14px;
+ font-weight: normal;
+}
+
+.show {
+ display: none;
+ text-decoration: none;
+}
+
+.hide:target + .show {
+ display: inline;
+ text-decoration: none;
+}
+
+.hide:target {
+ display: none;
+ text-decoration: none;
+}
+
+.hide:target ~ .texttohide {
+ display:inline;
+ text-decoration: none;
+
+}
+
+@media print {
+ .hide, .show {
+ display: none;
+ }
+}
+
+</style>
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<title>VeraCrypt - Free Open source disk encryption with strong security for the Paranoid</title>
+<meta name="description" content="VeraCrypt is free open-source disk encryption software for Windows, Mac OS X and Linux. In case an attacker forces you to reveal the password, VeraCrypt provides plausible deniability. In contrast to file encryption, data encryption performed by VeraCrypt is real-time (on-the-fly), automatic, transparent, needs very little memory, and does not involve temporary unencrypted files."/>
+<meta name="keywords" content="encryption, security"/>
+<link href="styles.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div>
+<a href="Documentation.html"><img src="VeraCrypt128x128.png" alt="VeraCrypt"/></a>
+</div>
+
+<div id="menu">
+ <ul>
+ <li><a href="Home.html">Home</a></li>
+ <li><a href="/code/">Source Code</a></li>
+ <li><a href="Downloads.html">Downloads</a></li>
+ <li><a class="active" href="Documentation.html">Documentation</a></li>
+ <li><a href="Donation.html">Donate</a></li>
+ <li><a href="https://sourceforge.net/p/veracrypt/discussion/" target="_blank">Forums</a></li>
+ </ul>
+</div>
+
+<div>
+<p>
+<a href="Documentation.html">Documentation</a>
+<img src="arrow_right.gif" alt=">>" style="margin-top: 5px">
+<a href="CompilingGuidelineLinux.html">Compiling Gudineline for Linux</a>
+</p></div>
+
+<div class="wikidoc">
+This guide describes how to set up a Linux System that can compile the VeraCrypt. Further it is described how VeraCrypt is going to be compiled. <br>
+The procedure for a Ubuntu 22.04 LTS system is described here as an example, but the procedure for other Linux systems is analogous.
+</div>
+
+<div class="wikidoc">
+<br>
+<br>
+The following components are required for compiling VeraCrypt:
+<ol>
+ <li>GNU Make</li>
+ <li>GNU C++ Compiler 4.0</li>
+ <li>YASM 1.3.0</li>
+ <li>pkg-config</li>
+ <li>wxWidgets 3.2 shared library and header files installed or wxWidgets 3.0 library source code </li>
+ <li>FUSE library and header files</li>
+</ol>
+</div>
+
+<div class="wikidoc">
+If you do not want to perform the single steps below, you can run these commands to build an environment and to compile VeraCrpyt: <br>
+Download as script: <a href="LinuxPrepAndBuild.sh" target="_blank">Script</a> <br>
+<code>
+sudo apt update <br>
+sudo apt install -y build-essential yasm pkg-config libgtk-3-dev <br>
+wget https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.0/wxWidgets-3.2.0.tar.bz2 <br>
+tar -xf wxWidgets-3.2.0.tar.bz2 <br>
+cd wxWidgets-3.2.0 <br>
+mkdir gtk-build <br>
+cd gtk-build <br>
+../configure <br>
+make <br>
+sudo make install <br>
+sudo ldconfig <br>
+cd ../.. <br>
+rm -r wxWidgets-3.2.0 <br>
+rm wxWidgets-3.2.0.tar.bz2 <br>
+sudo apt install -y libfuse-dev git <br>
+git clone https://github.com/veracrypt/VeraCrypt.git
+cd ~/VeraCrypt/src <br>
+make
+</code>
+</div>
+
+<div class="wikidoc">
+ <div class="textbox" id="InstallationOfGNUMake">
+ <a href="#hide1" class="hide" id="hide1">Installation of GNU Make</a>
+ <a href="#show1" class="show" id="show1">Installation of GNU Make</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Open a terminal
+ </li>
+ <li>
+ Execute the following commands: <br>
+ <code>
+ sudo apt update <br>
+ sudo apt install build-essential
+ </code>
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfGNUCompiler">
+ <a href="#hide2" class="hide" id="hide2">Installation of GNU C++ Compiler 4.0</a>
+ <a href="#show2" class="show" id="show2">Installation of GNU C++ Compiler 4.0</a>
+ <div class="texttohide">
+ <p> If the build-essential were already installed in the step before, this step can be skipped.
+ <ol>
+ <li>
+ Open a terminal
+ </li>
+ <li>
+ Execute the following commands: <br>
+ <code>
+ sudo apt update <br>
+ sudo apt install build-essential
+ </code>
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfYASM">
+ <a href="#hide3" class="hide" id="hide3">Installation of YASM</a>
+ <a href="#show3" class="show" id="show3">Installation of YASM</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Open a terminal
+ </li>
+ <li>
+ Execute the following commands: <br>
+ <code>
+ sudo apt update <br>
+ sudo apt install yasm
+ </code>
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfPKGConfig">
+ <a href="#hide4" class="hide" id="hide4">Installation of pkg-config</a>
+ <a href="#show4" class="show" id="show4">Installation of pkg-config</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Open a terminal
+ </li>
+ <li>
+ Execute the following commands: <br>
+ <code>
+ sudo apt update <br>
+ sudo apt install pkg-config
+ </code>
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfwxWidgets">
+ <a href="#hide5" class="hide" id="hide5">Installation of wxWidgets 3.2</a>
+ <a href="#show5" class="show" id="show5">Installation of wxWidgets 3.2</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Open a terminal
+ </li>
+ <li>
+ Execute the following commands: <br>
+ <code>
+ sudo apt install libgtk-3-dev <br>
+ wget https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.0/wxWidgets-3.2.0.tar.bz2 <br>
+ tar -xf wxWidgets-3.2.0.tar.bz2 <br>
+ cd wxWidgets-3.2.0 <br>
+ mkdir gtk-build <br>
+ cd gtk-build <br>
+ ../configure <br>
+ make <br>
+ sudo make install <br>
+ sudo ldconfig <br>
+ cd ../.. <br>
+ rm -r wxWidgets-3.2.0 <br>
+ </code>
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfFuse">
+ <a href="#hide6" class="hide" id="hide6">Installation of libfuse</a>
+ <a href="#show6" class="show" id="show6">Installation of libfuse</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Open a terminal
+ </li>
+ <li>
+ Execute the following commands: <br>
+ <code>
+ sudo apt update <br>
+ sudo apt install libfuse-dev
+ </code>
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="DownloadVeraCrypt">
+ <a href="#hide7" class="hide" id="hide7">Download VeraCrypt</a>
+ <a href="#show7" class="show" id="show7">Download VeraCrypt</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Open a terminal
+ </li>
+ <li>
+ Execute the following commands: <br>
+ <code>
+ sudo apt update <br>
+ sudo apt install git <br>
+ git clone https://github.com/veracrypt/VeraCrypt.git
+ </code>
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="CompileVeraCrypt">
+ <a href="#hide8" class="hide" id="hide8">Compile VeraCrypt</a>
+ <a href="#show8" class="show" id="show8">Compile VeraCrypt</a>
+ <div class="texttohide">
+ <p> Remarks: <br>
+ <ul>
+ <li>
+ If you have not installed wxWidgets like described here, you may have to modify the make statement to reference to the right file: <br>
+ <code>make WXSTATIC=1</code>
+ </li>
+ <li>
+ By default, a universal executable supporting both graphical and text user interface (through the switch --text) is built. <br>
+ On Linux, a console-only executable, which requires no GUI library, can be built using the 'NOGUI' parameter: <br>
+ <code>
+ make NOGUI=1 WXSTATIC=1 WX_ROOT=/usr/src/wxWidgets wxbuild <br>
+ make NOGUI=1 WXSTATIC=1
+ </code>
+ </li>
+ </ul>
+ Steps:
+ <ol>
+ <li>
+ Open a terminal
+ </li>
+ <li>
+ Execute the following commands: <br>
+ <code>
+ cd ~/VeraCrypt/src <br>
+ make
+ </code>
+ </li>
+ <li>
+ If successful, the VeraCrypt executable should be located in the directory 'Main'.
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+</div>
+</body></html>
diff --git a/doc/html/CompilingGuidelineWin.html b/doc/html/CompilingGuidelineWin.html
new file mode 100644
index 00000000..5b5554c2
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin.html
@@ -0,0 +1,1231 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<style>
+.textbox {
+ vertical-align: top;
+ height: auto !important;
+ font-family: Helvetica,sans-serif;
+ font-size: 20px;
+ font-weight: bold;
+ margin: 10px;
+ padding: 10px;
+ background-color: white;
+ width: auto;
+ border-radius: 10px;
+}
+
+.texttohide {
+ display:none;
+ font-family: Helvetica,sans-serif;
+ font-size: 14px;
+ font-weight: normal;
+}
+
+.show {
+ display: none;
+ text-decoration: none;
+}
+
+.hide:target + .show {
+ display: inline;
+ text-decoration: none;
+}
+
+.hide:target {
+ display: none;
+ text-decoration: none;
+}
+
+.hide:target ~ .texttohide {
+ display:inline;
+ text-decoration: none;
+
+}
+
+@media print {
+ .hide, .show {
+ display: none;
+ }
+}
+
+</style>
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<title>VeraCrypt - Free Open source disk encryption with strong security for the Paranoid</title>
+<meta name="description" content="VeraCrypt is free open-source disk encryption software for Windows, Mac OS X and Linux. In case an attacker forces you to reveal the password, VeraCrypt provides plausible deniability. In contrast to file encryption, data encryption performed by VeraCrypt is real-time (on-the-fly), automatic, transparent, needs very little memory, and does not involve temporary unencrypted files."/>
+<meta name="keywords" content="encryption, security"/>
+<link href="styles.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div>
+<a href="Documentation.html"><img src="VeraCrypt128x128.png" alt="VeraCrypt"/></a>
+</div>
+
+<div id="menu">
+ <ul>
+ <li><a href="Home.html">Home</a></li>
+ <li><a href="/code/">Source Code</a></li>
+ <li><a href="Downloads.html">Downloads</a></li>
+ <li><a class="active" href="Documentation.html">Documentation</a></li>
+ <li><a href="Donation.html">Donate</a></li>
+ <li><a href="https://sourceforge.net/p/veracrypt/discussion/" target="_blank">Forums</a></li>
+ </ul>
+</div>
+
+<div>
+<p>
+<a href="Documentation.html">Documentation</a>
+<img src="arrow_right.gif" alt=">>" style="margin-top: 5px">
+<a href="CompilingGuidelineWin.html">Compiling Gudineline for Windows</a>
+</p></div>
+
+<div class="wikidoc">
+This guide describes how to set up a Windows system that can compile the VeraCrypt. Further it is described how VeraCrypt is going to be compiled. <br>
+The procedure for a Windows 10 system is described here as an example, but the procedure for other Windows systems is analogous.
+</div>
+
+<div class="wikidoc">
+The following components are required for compiling VeraCrypt:
+
+<ol>
+ <li>Microsoft Visual Studio 2010</li>
+ <li>Microsoft Visual Studio 2010 Service Pack 1</li>
+ <li>NASM</li>
+ <li>YASM</li>
+ <li>Visual C++ 1.52</li>
+ <li>Windows SDK 7.1</li>
+ <li>Windows Driver Kit 7.1</li>
+ <li>Windows 8.1 SDK</li>
+ <li>gzip</li>
+ <li>upx</li>
+ <li>7zip</li>
+ <li>Wix3</li>
+ <li>Microsoft Visual Studio 2019</li>
+ <li>Windows 10 SDK</li>
+ <li>Windows Driver Kit 1903</li>
+ <li>Visual Studio build tools</li>
+
+</ol>
+
+</div>
+
+
+<div class="wikidoc">
+ <div class="textbox" id="InstallationOfMicrosoftVisualStudio2010">
+ <a href="#hide1" class="hide" id="hide1">Installation of Microsoft Visual Studio 2010</a>
+ <a href="#show1" class="show" id="show1">Installation of Microsoft Visual Studio 2010</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Visit the following Microsoft website and log in with a free Microsoft account: <br>
+ <a href="https://my.visualstudio.com/Downloads?q=Visual%20Studio%202010%20Professional&pgroup=" target="_blank">https://my.visualstudio.com/Downloads?q=Visual%20Studio%202010%20Professional&pgroup=</a>
+ </li>
+ <li>
+ Please download a (trial) version of “Visual Studio Professional 2010” <br>
+ <img src="CompilingGuidelineWin/DownloadVS2010.jpg" width="80%">
+ </li>
+ <li>
+ Mount the downloaded ISO file by doubleclicking it
+ </li>
+ <li>
+ Run the file "autorun.exe" as administrator
+ </li>
+ <li>
+ Install Microsoft Visual Studio 2010 with the default settings
+ </li>
+ </ol>
+ The installation of the Microsoft SQL Server 2008 Express Service Pack 1 (x64) may fail, but it is not required for compiling VeraCrypt.
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfMicrosoftVisualStudio2010ServicePack1">
+ <a href="#hide2" class="hide" id="hide2">Installation of Microsoft Visual Studio 2010 Service Pack 1</a>
+ <a href="#show2" class="show" id="show2">Installation of Microsoft Visual Studio 2010 Service Pack 1</a>
+ <div class="texttohide">
+ <p>
+ Note: The content the official installer from Microsoft tries to download is no longer available. Therefore, it is necessary to use an offline installer.
+ <ol>
+ <li>
+ Visit the website of the internet archive and download the iso image of the Microsoft Visual Studio 2010 Service Pack 1:<br>
+ <a href="https://archive.org/details/vs-2010-sp-1dvd-1" target="_blank">https://archive.org/details/vs-2010-sp-1dvd-1</a>
+ </li>
+ <li>
+ Mount the downloaded ISO file by doubleclicking it
+ </li>
+ <li>
+ Run the file "Setup.exe" as administrator
+ </li>
+ <li>
+ Install Microsoft Visual Studio 2010 Service Pack 1 with the default settings
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfNASM">
+ <a href="#hide3" class="hide" id="hide3">Installation of NASM</a>
+ <a href="#show3" class="show" id="show3">Installation of NASM</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Download “nasm-2.08-installer.exe” at: <br>
+ <a href="https://www.nasm.us/pub/nasm/releasebuilds/2.08/win32/" target="_blank">https://www.nasm.us/pub/nasm/releasebuilds/2.08/win32/</a>
+ </li>
+ <li>
+ Run the file as administrator
+ </li>
+ <li>
+ Install NASM with the default settings
+ </li>
+ <li>
+ Add NASM to the path Variable. This will make the command globally available on the command line. <br>
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ Open a file explorer
+ </li>
+ <li>
+ Within the left file tree, please make a right click on "This PC" and select "Properties" <br>
+ <img src="CompilingGuidelineWin/SelectThisPC.jpg" width="40%">
+ </li>
+ <li>
+ Within the right menu, please click on "Advanced system settings" <br>
+ <img src="CompilingGuidelineWin/SelectAdvancedSystemSettings.jpg" width="50%">
+ </li>
+ <li>
+ Please click on "Environment Variables" <br>
+ <img src="CompilingGuidelineWin/SelectEnvironmentVariables.jpg" width="17%">
+ </li>
+ <li>
+ Within the area of the system variables, please select the "Path" variable and click on "Edit..." <br>
+ <img src="CompilingGuidelineWin/SelectPathVariable.jpg" width="25%">
+ </li>
+ <li>
+ Click on "New" and add the following value: <br>
+ <p style="font-family: 'Courier New', monospace;">C:\Program Files (x86)\nasm</p>
+ </li>
+ <li>
+ Close the windows by clicking on "OK"
+ </li>
+ </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%">
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfYASM">
+ <a href="#hide4" class="hide" id="hide4">Installation of YASM</a>
+ <a href="#show4" class="show" id="show4">Installation of YASM</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Please create the following folder: <br>
+ C:\Program Files\YASM
+ </li>
+ <li>
+ Please download the file "Win64 VS2010 .zip" at: <br>
+ <a href="https://yasm.tortall.net/Download.html" target="_blank">https://yasm.tortall.net/Download.html</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>
+ Unzip the zip file and copy the files to “C:\Program Files\YASM”
+ </li>
+ <li>
+ Please download the file "Win64 .exe" at: <br>
+ <a href="https://yasm.tortall.net/Download.html" target="_blank">https://yasm.tortall.net/Download.html</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>
+ <li>
+ Add YASM to the path Variable and create a new system variable for YASM. This will make the command globally available on the command line. <br>
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ Open a file explorer
+ </li>
+ <li>
+ Within the left file tree, please make a right click on "This PC" and select "Properties" <br>
+ <img src="CompilingGuidelineWin/SelectThisPC.jpg" width="40%">
+ </li>
+ <li>
+ Within the right menu, please click on "Advanced system settings" <br>
+ <img src="CompilingGuidelineWin/SelectAdvancedSystemSettings.jpg" width="50%">
+ </li>
+ <li>
+ Please click on "Environment Variables" <br>
+ <img src="CompilingGuidelineWin/SelectEnvironmentVariables.jpg" width="17%">
+ </li>
+ <li>
+ Within the area of the system variables, please select the "Path" variable and click on "Edit..." <br>
+ <img src="CompilingGuidelineWin/SelectPathVariable.jpg" width="25%">
+ </li>
+ <li>
+ Click on "New" and add the following value: <br>
+ <p style="font-family: 'Courier New', monospace;">C:\Program Files\YASM</p>
+ </li>
+ <li>
+ Close the top window by clicking on "OK"
+ </li>
+ <li>
+ Within the area of the system variables, please click on "New..." <br>
+ <img src="CompilingGuidelineWin/AddNewSystemVar.jpg" width="25%">
+ </li>
+ <li>
+ Fill out the form with the following values: <br>
+ <p style="font-family: 'Courier New', monospace;">Variable name: YASMPATH<br> Variable value: C:\Program Files\YASM</p>
+ </li>
+ <li>
+ Close the windows by clicking on "OK"
+ </li>
+ </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>
+ and <br>
+ <p style="font-family: 'Courier New', monospace;">vsyasm</p> <br>
+ <img src="CompilingGuidelineWin/YasmCommandLine.jpg" width="50%">
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfVisualC++">
+ <a href="#hide5" class="hide" id="hide5">Installation of Microsoft Visual C++ 1.52</a>
+ <a href="#show5" class="show" id="show5">Installation of Microsoft Visual C++ 1.52</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Visual C++ 1.52 is available via the paid Microsoft MSDN subscription. If you do not have a subscription, you download the ISO image via the internet archive: <br>
+ <a href="https://archive.org/details/ms-vc152 target="_blank">https://archive.org/details/ms-vc152</a>
+ </li>
+ <li>
+ Create the folder “C:\MSVC15”
+ </li>
+ <li>
+ Mount the ISO file and copy the content of the folder “MSVC” to “C:\MSVC15”
+ </li>
+ <li>
+ Create a system variable for Microsoft Visual C++ 1.52 <br>
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ Open a file explorer
+ </li>
+ <li>
+ Within the left file tree, please make a right click on "This PC" and select "Properties" <br>
+ <img src="CompilingGuidelineWin/SelectThisPC.jpg" width="40%">
+ </li>
+ <li>
+ Within the right menu, please click on "Advanced system settings" <br>
+ <img src="CompilingGuidelineWin/SelectAdvancedSystemSettings.jpg" width="50%">
+ </li>
+ <li>
+ Please click on "Environment Variables" <br>
+ <img src="CompilingGuidelineWin/SelectEnvironmentVariables.jpg" width="17%">
+ </li>
+ <li>
+ Within the area of the system variables, please click on "New..." <br>
+ <img src="CompilingGuidelineWin/AddNewSystemVar.jpg" width="25%">
+ </li>
+ <li>
+ Fill out the form with the following values: <br>
+ <p style="font-family: 'Courier New', monospace;">Variable name: MSVC16_ROOT<br> Variable value: C:\MSVC15</p>
+ </li>
+ <li>
+ Close the windows by clicking on "OK"
+ </li>
+ </ol>
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfWindowsSDK71++">
+ <a href="#hide6" class="hide" id="hide6">Installation of the Windows SDK 7.1</a>
+ <a href="#show6" class="show" id="show6">Installation of the Windows SDK 7.1</a>
+ <div class="texttohide">
+ <p>
+ The installer requires .Net Framework 4 (Not a newer one like .Net Framework 4.8!). Since a newer version is already preinstalled with Windows 10, the installer has to be tricked:
+ <ol>
+ <li>
+ Click on the start button and search for: "regedit.msc". Start the first finding.
+ </li>
+ <li>
+ Navigate to "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\"
+ </li>
+ <li>
+ Change the permissions for the "Client" folder, so you can edit the keys: <br>
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ Right click on the subfolder "Client" and select "Permissions..."
+ </li>
+ <li>
+ Click on "Advanced" <br>
+ <img src="CompilingGuidelineWin/RegeditPermissions-1.jpg" width="17%">
+ </li>
+ <li>
+ Change the owner to your user and click on "Add" <br>
+ <img src="CompilingGuidelineWin/RegeditPermissions-2.jpg" width="35%">
+ </li>
+ <li>
+ Set the principal to your user, select "Full Control" and click on "OK" <br>
+ <img src="CompilingGuidelineWin/RegeditPermissions-3.jpg" width="35%">
+ </li>
+ <li>
+ Within the folder "Client" note down the value of the entry "Version"
+ </li>
+ <li>
+ Doubleclick on the entry "Version" and change the value to "4.0.30319" <br>
+ <img src="CompilingGuidelineWin/RegeditPermissions-4.jpg" width="30%">
+ </li>
+ </ol>
+ </li>
+ <li>
+ Change the permissions for the "Full" folder, so you can edit the keys: <br>
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ Right click on the subfolder "Full" and select "Permissions..."
+ </li>
+ <li>
+ Click on "Advanced" <br>
+ <img src="CompilingGuidelineWin/RegeditPermissions-1.jpg" width="17%">
+ </li>
+ <li>
+ Change the owner to your user and click on "Add" <br>
+ <img src="CompilingGuidelineWin/RegeditPermissions-2.jpg" width="35%">
+ </li>
+ <li>
+ Set the principal to your user, select "Full Control" and click on "OK" <br>
+ <img src="CompilingGuidelineWin/RegeditPermissions-3.jpg" width="35%">
+ </li>
+ <li>
+ Within the folder "Full" note down the value of the entry "Version"
+ </li>
+ <li>
+ Doubleclick on the entry "Version" and change the value to "4.0.30319" <br>
+ <img src="CompilingGuidelineWin/RegeditPermissions-4.jpg" width="30%">
+ </li>
+ </ol>
+ </li>
+ <li>
+ Download the Windows SDK 7.1 at: <br>
+ <a href="https://www.microsoft.com/en-us/download/details.aspx?id=8279" target="_blank">https://www.microsoft.com/en-us/download/details.aspx?id=8279</a>
+ </li>
+ <li>
+ Run the downloaded file as administrator and install the application with default settings
+ </li>
+ <li>
+ After the installation, revert the changes done in the registry editor. <br>
+ <b>Note:</b> The owner "TrustedInstaller" can be restored by searching for: "NT Service\TrustedInstaller"
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfWDK71++">
+ <a href="#hide7" class="hide" id="hide7">Installation of the Windows Driver Kit 7.1</a>
+ <a href="#show7" class="show" id="show7">Installation of the Windows Driver Kit 7.1</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Please download the ISO of the Windows Diver Kit 7.1 at: <br>
+ <a href="https://www.microsoft.com/en-us/download/details.aspx?id=11800" target="_blank">https://www.microsoft.com/en-us/download/details.aspx?id=11800</a>
+ </li>
+ <li>
+ Mount the downloaded ISO file by doubleclicking it
+ </li>
+ <li>
+ Run the file "KitSetup.exe" as administrator. Within the installation select all features to be installed. <br>
+ <b>Note: </b>It might be that during the installed you are requested to install the .NET Framework 3.5. In this case click on "Download and install this feature".
+ </li>
+ <li>
+ Install the Driver Kit to the default location
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfSDK81++">
+ <a href="#hide8" class="hide" id="hide8">Installation of the Windows 8.1 SDK</a>
+ <a href="#show8" class="show" id="show8">Installation of the Windows 8.1 SDK</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Please download the ISO of the Windows 8.1 SDK at: <br>
+ <a href="https://developer.microsoft.com/de-de/windows/downloads/sdk-archive/" target="_blank">https://developer.microsoft.com/de-de/windows/downloads/sdk-archive/</a>
+ </li>
+ <li>
+ Run the downloaded file as administrator and install the Windows 8.1 SDK with default settings
+ </li>
+ <li>
+ Create a system variable for the Windows 8.1 SDK <br>
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ Open a file explorer
+ </li>
+ <li>
+ Within the left file tree, please make a right click on "This PC" and select "Properties" <br>
+ <img src="CompilingGuidelineWin/SelectThisPC.jpg" width="40%">
+ </li>
+ <li>
+ Within the right menu, please click on "Advanced system settings" <br>
+ <img src="CompilingGuidelineWin/SelectAdvancedSystemSettings.jpg" width="50%">
+ </li>
+ <li>
+ Please click on "Environment Variables" <br>
+ <img src="CompilingGuidelineWin/SelectEnvironmentVariables.jpg" width="17%">
+ </li>
+ <li>
+ Within the area of the system variables, please click on "New..." <br>
+ <img src="CompilingGuidelineWin/AddNewSystemVar.jpg" width="25%">
+ </li>
+ <li>
+ Fill out the form with the following values: <br>
+ <p style="font-family: 'Courier New', monospace;">Variable name: WSDK81<br> Variable value: C:\Program Files (x86)\Windows Kits\8.1\</p>
+ </li>
+ <li>
+ Close the windows by clicking on "OK"
+ </li>
+ </ol>
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfGzip">
+ <a href="#hide9" class="hide" id="hide9">Installation of gzip</a>
+ <a href="#show9" class="show" id="show9">Installation of gzip</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Please create the following folder: <br>
+ C:\Program Files (x86)\gzip
+ </li>
+ <li>
+ Please download gzip version at: <br>
+ <a href="https://sourceforge.net/projects/gnuwin32/files/gzip/1.3.12-1/gzip-1.3.12-1-bin.zip/download?use-mirror=netix&download=" target="_blank">https://sourceforge.net/projects/gnuwin32/files/gzip/1.3.12-1/gzip-1.3.12-1-bin.zip/download?use-mirror=netix&download=</a>
+ </li>
+ <li>
+ Copy the content of the downloaded zip to “C:\Program Files (x86)\gzip”
+ </li>
+ <li>
+ Add gzip to the path Variable. This will make the command globally available on the command line. <br>
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ Open a file explorer
+ </li>
+ <li>
+ Within the left file tree, please make a right click on "This PC" and select "Properties" <br>
+ <img src="CompilingGuidelineWin/SelectThisPC.jpg" width="40%">
+ </li>
+ <li>
+ Within the right menu, please click on "Advanced system settings" <br>
+ <img src="CompilingGuidelineWin/SelectAdvancedSystemSettings.jpg" width="50%">
+ </li>
+ <li>
+ Please click on "Environment Variables" <br>
+ <img src="CompilingGuidelineWin/SelectEnvironmentVariables.jpg" width="17%">
+ </li>
+ <li>
+ Within the area of the system variables, please select the "Path" variable and click on "Edit..." <br>
+ <img src="CompilingGuidelineWin/SelectPathVariable.jpg" width="25%">
+ </li>
+ <li>
+ Click on "New" and add the following value: <br>
+ <p style="font-family: 'Courier New', monospace;">C:\Program Files (x86)\gzip\bin</p>
+ </li>
+ <li>
+ Close the windows by clicking on "OK"
+ </li>
+ </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;">gzip</p> <br>
+ <img src="CompilingGuidelineWin/gzipCommandLine.jpg" width="50%">
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfUpx">
+ <a href="#hide10" class="hide" id="hide10">Installation of upx</a>
+ <a href="#show10" class="show" id="show10">Installation of upx</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Please create the following folder: <br>
+ C:\Program Files (x86)\upx
+ </li>
+ <li>
+ Please download the latest upx-X-XX-win64.zip version at: <br>
+ <a href="https://github.com/upx/upx/releases/tag/v3.96" target="_blank">https://github.com/upx/upx/releases/tag/v3.96</a>
+ </li>
+ <li>
+ Copy the content of the downloaded zip to “C:\Program Files (x86)\upx”
+ </li>
+ <li>
+ Add gzip to the path Variable. This will make the command globally available on the command line. <br>
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ Open a file explorer
+ </li>
+ <li>
+ Within the left file tree, please make a right click on "This PC" and select "Properties" <br>
+ <img src="CompilingGuidelineWin/SelectThisPC.jpg" width="40%">
+ </li>
+ <li>
+ Within the right menu, please click on "Advanced system settings" <br>
+ <img src="CompilingGuidelineWin/SelectAdvancedSystemSettings.jpg" width="50%">
+ </li>
+ <li>
+ Please click on "Environment Variables" <br>
+ <img src="CompilingGuidelineWin/SelectEnvironmentVariables.jpg" width="17%">
+ </li>
+ <li>
+ Within the area of the system variables, please select the "Path" variable and click on "Edit..." <br>
+ <img src="CompilingGuidelineWin/SelectPathVariable.jpg" width="25%">
+ </li>
+ <li>
+ Click on "New" and add the following value: <br>
+ <p style="font-family: 'Courier New', monospace;">C:\Program Files (x86)\upx</p>
+ </li>
+ <li>
+ Close the windows by clicking on "OK"
+ </li>
+ </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;">upx</p> <br>
+ <img src="CompilingGuidelineWin/upxCommandLine.jpg" width="50%">
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOf7zip">
+ <a href="#hide11" class="hide" id="hide11">Installation of 7zip</a>
+ <a href="#show11" class="show" id="show11">Installation of 7zip</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Please download the latest version of 7zip at: <br>
+ <a href="https://www.7-zip.de/" target="_blank">https://www.7-zip.de/</a>
+ </li>
+ <li>
+ Run the downloaded file as administrator and install 7zip with default settings
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfWix3">
+ <a href="#hide12" class="hide" id="hide12">Installation of Wix3</a>
+ <a href="#show12" class="show" id="show12">Installation of Wix3</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Please download wix311.exe at: <br>
+ <a href="https://github.com/wixtoolset/wix3/releases" target="_blank">https://github.com/wixtoolset/wix3/releases</a>
+ </li>
+ <li>
+ Run the downloaded file as administrator and install 7zip with default settings
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfVS2019">
+ <a href="#hide13" class="hide" id="hide13">Installation of Microsoft Visual Studio 2019</a>
+ <a href="#show13" class="show" id="show13">Installation of Microsoft Visual Studio 2019</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Visit the following Microsoft website and log in with a free Microsoft account: <br>
+ <a href="https://my.visualstudio.com/Downloads?q=visual%20studio%202019%20Professional" target="_blank">https://my.visualstudio.com/Downloads?q=visual%20studio%202019%20Professional</a>
+ </li>
+ <li>
+ Please download the latest (trial) version of “Visual Studio Professional 2019” <br>
+ <img src="CompilingGuidelineWin/DownloadVS2019.jpg" width="80%">
+ </li>
+ <li>
+ Run the downloaded file as administrator and go through the wizard. <br>
+ Select the following Workloads for installation: <br>
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ Desktop development with C++
+ </li>
+ <li>
+ .NET desktop development
+ </li>
+ </ol>
+ Select the following individual components for installation:
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ .NET
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ .NET 6.0 Runtime
+ </li>
+ <li>
+ .NET Core 3.1 Runtime (LTS)
+ </li>
+ <li>
+ .NET Framework 4 targeting pack
+ </li>
+ <li>
+ .NET Framework 4.5 targeting pack
+ </li>
+ <li>
+ .NET Framework 4.5.1 targeting pack
+ </li>
+ <li>
+ .NET Framework 4.5.2 targeting pack
+ </li>
+ <li>
+ .NET Framework 4.6 targeting pack
+ </li>
+ <li>
+ .NET Framework 4.6.1 targeting pack
+ </li>
+ <li>
+ .NET Framework 4.7.2 targeting pack
+ </li>
+ <li>
+ .NET Framework 4.8 SDK
+ </li>
+ <li>
+ .NET Framework 4.8 targeting pack
+ </li>
+ <li>
+ .NET SDK
+ </li>
+ <li>
+ ML.NET Model Builder (Preview)
+ </li>
+ </ol>
+ </li>
+ <li>
+ Cloud, database, and server
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ CLR data types for SQL Server
+ </li>
+ <li>
+ Connectivity and publishing tools
+ </li>
+ </ol>
+ </li>
+ <li>
+ Code tools
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ NuGet package manager
+ </li>
+ <li>
+ Text Template Transformation
+ </li>
+ </ol>
+ </li>
+ <li>
+ Compilers, build tools, and runtimes
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ .NET Compiler Platform SDK
+ </li>
+ <li>
+ C# and Visual Basic Roslyn compilers
+ </li>
+ <li>
+ C++ 2019 Redistributable Update
+ </li>
+ <li>
+ C++ CMake tools for Windows
+ </li>
+ <li>
+ C++/CLI support for v142 build tools (Latest)
+ </li>
+ <li>
+ MSBuild
+ </li>
+ <li>
+ MSVC v142 - VS 2019 C++ ARM64 build tools (Latest)
+ </li>
+ <li>
+ MSVC v142 - VS 2019 C++ ARM64 Spectre-mitigated libs (Latest)
+ </li>
+ <li>
+ MSVC v142 - VS 2019 C++ x64/x86 build tools (Latest)
+ </li>
+ <li>
+ MSVC v142 - VS 2019 C++ x64/x86 Spectre-mitigated libs (Latest)
+ </li>
+ </ol>
+ </li>
+ <li>
+ Debugging and testing
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ .NET profiling tools
+ </li>
+ <li>
+ C++ AddressSanatizer
+ </li>
+ <li>
+ C++ profiling tools
+ </li>
+ <li>
+ Just-In-Time debugger
+ </li>
+ <li>
+ Test Adapter for Boost.Test
+ </li>
+ <li>
+ Test Adapter for Google Test
+ </li>
+ </ol>
+ </li>
+ <li>
+ Development activities
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ C# and Visual Basic
+ </li>
+ <li>
+ C++ core features
+ </li>
+ <li>
+ F# language support
+ </li>
+ <li>
+ IntelliCode
+ </li>
+ <li>
+ JavaScript and TypeScript language support
+ </li>
+ <li>
+ Live Share
+ </li>
+ </ol>
+ </li>
+ <li>
+ Emulators
+ <ol style="list-style-type: upper-roman;">
+ NONE
+ </ol>
+ </li>
+ <li>
+ Games and Graphics
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ Graphics debugger and GPU profiler for DirectX
+ </li>
+ </ol>
+ </li>
+ <li>
+ SDKs, libraries, and frameworks
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ C++ ATL for latest v142 build tools (ARM64)
+ </li>
+ <li>
+ C++ ATL for latest v142 build tools (x86 & x64)
+ </li>
+ <li>
+ C++ ATL for latest v142 build tools with Spectre Mitigations (ARM64)
+ </li>
+ <li>
+ C++ ATL for latest v142 build tools with Spectre Mitigations (x86 & x64)
+ </li>
+ <li>
+ C++ MFC for latest v142 build tools (ARM64)
+ </li>
+ <li>
+ C++ MFC for latest v142 build tools (x86 & x64)
+ </li>
+ <li>
+ C++ MFC for latest v142 build tools with Spectre Mitigations (ARM64)
+ </li>
+ <li>
+ C++ MFC for latest v142 build tools with Spectre Mitigations (x86 & x64)
+ </li>
+ <li>
+ Entity Framework 6 tools
+ </li>
+ <li>
+ TypeScript 4.3 SDK
+ </li>
+ <li>
+ Windows 10 SDK (10.0.19041.0)
+ </li>
+ <li>
+ Windows Universal C Runtime
+ </li>
+ </ol>
+ </li>
+ </ol>
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfWDK10">
+ <a href="#hide14" class="hide" id="hide14">Installation of the Windows Driver Kit 2004</a>
+ <a href="#show14" class="show" id="show14">Installation of the Windows Driver Kit 2004</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Please download the Windows Driver Kit (WDK) 2004 at: <br>
+ <a href="https://docs.microsoft.com/en-us/windows-hardware/drivers/other-wdk-downloads" target="_blank">https://docs.microsoft.com/en-us/windows-hardware/drivers/other-wdk-downloads</a>
+ </li>
+ <li>
+ Run the downloaded file as administrator and install the WDK with default settings
+ </li>
+ <li>
+ At the end of the installation you will be asked, if you want to "install Windows Driver Kit Visual Studio extension". <br>
+ Please make sure, that this option is selected before closing the dialog.
+ </li>
+ <li>
+ A different setup will start automatically and will detect Visual Studio Professional 2019 as possible tarket for the extension. <br>
+ Please select it and proceed with the installation.
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfVisualBuildTools">
+ <a href="#hide15" class="hide" id="hide15">Installation of the Visual Studio build tools</a>
+ <a href="#show15" class="show" id="show15">Installation of the Visual Studio build tools</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Visit the following Microsoft website and log in with a free Microsoft account: <br>
+ <a href="https://my.visualstudio.com/Downloads?q=visual%20studio%202019%20build%20tools" target="_blank">https://my.visualstudio.com/Downloads?q=visual%20studio%202019%20build%20tools</a>
+ </li>
+ <li>
+ Please download the latest version of “Build Tools for Visual Studio 2019” <br>
+ <img src="CompilingGuidelineWin/DownloadVSBuildTools.jpg" width="80%">
+ </li>
+ <li>
+ Run the downloaded file as administrator and go through the wizard. Select the following individual components for installation:
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ .NET
+ <ol style="list-style-type: upper-roman;">
+ NONE
+ </ol>
+ </li>
+ <li>
+ Cloud, database, and server
+ <ol style="list-style-type: upper-roman;">
+ NONE
+ </ol>
+ </li>
+ <li>
+ Code tools
+ <ol style="list-style-type: upper-roman;">
+ NONE
+ </ol>
+ </li>
+ <li>
+ Compilers, build tools, and runtimes
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ C++/CLI support for v142 build tools (Latest)
+ </li>
+ <li>
+ MSVC v142 - VS 2019 C++ ARM64 build tools (Latest)
+ </li>
+ <li>
+ MSVC v142 - VS 2019 C++ ARM64 Spectre-mitigated libs (Latest)
+ </li>
+ <li>
+ MSVC v142 - VS 2019 C++ x64/x86 build tools (Latest)
+ </li>
+ <li>
+ MSVC v142 - VS 2019 C++ x64/x86 Spectre-mitigated libs (Latest)
+ </li>
+ </ol>
+ </li>
+ <li>
+ Debugging and testing
+ <ol style="list-style-type: upper-roman;">
+ NONE
+ </ol>
+ </li>
+ <li>
+ Development activities
+ <ol style="list-style-type: upper-roman;">
+ NONE
+ </ol>
+ </li>
+ <li>
+ SDKs, libraries, and frameworks
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ C++ ATL for latest v142 build tools (ARM64)
+ </li>
+ <li>
+ C++ ATL for latest v142 build tools (x86 & x64)
+ </li>
+ <li>
+ C++ ATL for latest v142 build tools with Spectre Mitigations (ARM64)
+ </li>
+ <li>
+ C++ ATL for latest v142 build tools with Spectre Mitigations (x86 & x64)
+ </li>
+ </ol>
+ </li>
+ </ol>
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="DownloadVeraCrypt">
+ <a href="#hide16" class="hide" id="hide16">Download VeraCrypt Source Files</a>
+ <a href="#show16" class="show" id="show16">Download VeraCrypt Source Files</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Visit the VeraCrypt Github repository at: <br>
+ <a href="https://github.com/veracrypt/VeraCrypt" target="_blank">https://github.com/veracrypt/VeraCrypt</a>
+ </li>
+ <li>
+ Please click on the green button with the label "Code" and download the code. <br>
+ You can download the repository as zip file, but you may consider to use the git protocol in order to track changes.
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="CompileWin32X64">
+ <a href="#hide17" class="hide" id="hide17">Compile the Win32/x64 Versions of VeraCrypt</a>
+ <a href="#show17" class="show" id="show17">Compile the Win32/x64 Versions of VeraCrypt</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Please open the file "src/VeraCrypt.sln" in Visual Studio <b>2010</b>
+ </li>
+ <li>
+ Please select "All|Win32" as active configuration <br>
+ <img src="CompilingGuidelineWin/VS2010Win32Config.jpg" width="80%">
+ </li>
+ <li>
+ Please click on "Build -> Build Solution" <br>
+ <img src="CompilingGuidelineWin/VS2010BuildSolution.jpg" width="40%">
+ </li>
+ <li>
+ The compiling process should end with warnings, but without errors. Some projects should be skipped.
+ </li>
+ <li>
+ Please select "All|x64" as active configuration <br>
+ <img src="CompilingGuidelineWin/VS2010X64Config.jpg" width="80%">
+ </li>
+ <li>
+ Please click on "Build -> Build Solution" <br>
+ <img src="CompilingGuidelineWin/VS2010BuildSolution.jpg" width="40%">
+ </li>
+ <li>
+ The compiling process should end with warnings, but without errors. Some projects should be skipped. <br>
+ Please close Visual Studio 2010 after the compiling process finished
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="CompileARM64">
+ <a href="#hide18" class="hide" id="hide18">Compile the ARM64 Version of VeraCrypt</a>
+ <a href="#show18" class="show" id="show18">Compile the ARM64 Version of VeraCrypt</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Please open the file "src/VeraCrypt_vs2019.sln" in Visual Studio <b>2019</b>
+ </li>
+ <li>
+ Please select "All|ARM64" as active configuration <br>
+ <img src="CompilingGuidelineWin/VS2019ARM64Config.jpg" width="80%">
+ </li>
+ <li>
+ Please click on "Build -> Build Solution" <br>
+ <img src="CompilingGuidelineWin/VS2019BuildSolution.jpg" width="40%">
+ </li>
+ <li>
+ The compiling process should end with warnings, but without errors. One project should be skipped. <br>
+ Please close Visual Studio 2019 after the compiling process finished
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="BuildVeraCryptExecutables">
+ <a href="#hide19" class="hide" id="hide19">Build the VeraCrypt Executables</a>
+ <a href="#show19" class="show" id="show19">Build the VeraCrypt Executables</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Please open a command line as administrator
+ </li>
+ <li>
+ Go into the folder "src/Signing/"
+ </li>
+ <li>
+ Run the script "sign_test.bat"
+ </li>
+ <li>
+ You will find the generated exectuables within the folder "src/Release/Setup Files"
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="ImportCertificates">
+ <a href="#hide20" class="hide" id="hide20">Import the Certificates</a>
+ <a href="#show20" class="show" id="show20">Import the Certificates</a>
+ <div class="texttohide">
+ <p> With the sign_test.bat script you just signed the VeraCrypt executables. This is necessary, since Windows only accepts drivers, which are trusted by a signed Certificate Authority. <br>
+ Since you did not use the official VeraCrypt signing certificate to sign your code, but a public development version, you have to import and therefore trust the certifcates used.
+ <ol>
+ <li>
+ Open the folder "src/Signing"
+ </li>
+ <li>
+ Import the following certificates to your Local Machine Certificate storage, by double clicking them:
+ <ul>
+ <li>GlobalSign_R3Cross.cer</li>
+ <li>GlobalSign_SHA256_EV_CodeSigning_CA.cer</li>
+ <li>TestCertificates/idrix_codeSign.pfx</li>
+ <li>TestCertificates/idrix_Sha256CodeSign.pfx</li>
+ <li>TestCertificates/idrix_SHA256TestRootCA.crt</li>
+ <li>TestCertificates/idrix_TestRootCA.crt</li>
+ </ul>
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="KnownIssues">
+ <a href="#hide21" class="hide" id="hide21">Known Issues</a>
+ <a href="#show21" class="show" id="show21">Known Issues</a>
+ <div class="texttohide">
+ <p>
+ <ul>
+ <li>
+ <b>This distribution package is damaged</b> <br>
+ <img src="CompilingGuidelineWin/DistributionPackageDamaged.jpg" width="20%"> <br>
+ On Windows 10 or higher you might get the error message above. It occurs, if the authenticode signature check fails. <br>
+ Currently this check works incorrectly, so it might fail every time. A workaround is to skip the verification. <br>
+ Please see <a href="https://sourceforge.net/p/veracrypt/discussion/technical/thread/83d5a2d6e8/" target="_blank">https://sourceforge.net/p/veracrypt/discussion/technical/thread/83d5a2d6e8/</a> for further details.
+ <ol>
+ <li>
+ Open the file "src/Common/Dlgcode.c"
+ </li>
+ <li>
+ Look for the function "VerifyModuleSignature"
+ </li>
+ <li>
+ Replace the following lines: <br>
+ Find:<br>
+ <p style="font-family: 'Courier New', monospace;">
+ if (!IsOSAtLeast (WIN_10)) <br>
+ return TRUE;
+ </p> <br>
+ Replace:<br>
+ <p style="font-family: 'Courier New', monospace;">
+ return TRUE;
+ </p>
+ </li>
+ <li>
+ Compile the VeraCrypt code again
+ </li>
+ </ol>
+ </li>
+ <li>
+ <b>Certificate failure</b> <br>
+ <img src="CompilingGuidelineWin/CertVerifyFails.jpg" width="20%"> <br>
+ Windows validates the signature for every driver which is going to be installed.<br>
+ This validation can fail during the installation process of VeraCrypt for two reasons:
+ <ol>
+ <li>
+ <b>The certificate used for signing is not trusted by Windows</b><br>
+ You can verify if you are affected by checking the properties of the executable:
+ <ol>
+ <li>
+ Make a right click on the VeraCrypt Setup executable: "src/Release/Setup Files/VeraCrypt Setup 1.XX.exe"
+ </li>
+ <li>
+ Click on properties
+ </li>
+ <li>
+ Go to the top menu "Digital Signatures". Her you will find two signatures in the Signature list
+ </li>
+ Check both by double clicking on it. If the headline says "The certificate in the signature cannot be verified", the corresponding signing certificate was not imported correctly.<br>
+ Click on "View Certificate" and then on "Install Certificate..." to import the certificate to your certificate storage <br>
+ <img src="CompilingGuidelineWin/CertificateCannotBeVerified.jpg" width="40%"> <br>
+ <li>
+ </ol>
+ </li>
+ <li>
+ <b>The driver was modified after the signing process.</b> <br>
+ In this case, please use the script "src/Signing/sign_test.bat" to sign your code again with the test certificates
+ </li>
+ </ol>
+ </li>
+ </ul>
+ </p>
+ </div>
+ </div>
+
+</div>
+</body></html>
diff --git a/doc/html/CompilingGuidelineWin/AddNewSystemVar.jpg b/doc/html/CompilingGuidelineWin/AddNewSystemVar.jpg
new file mode 100644
index 00000000..8e4bded1
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/AddNewSystemVar.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/CertVerifyFails.jpg b/doc/html/CompilingGuidelineWin/CertVerifyFails.jpg
new file mode 100644
index 00000000..c7166ffa
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/CertVerifyFails.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/CertificateCannotBeVerified.jpg b/doc/html/CompilingGuidelineWin/CertificateCannotBeVerified.jpg
new file mode 100644
index 00000000..f5dc2f21
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/CertificateCannotBeVerified.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/DistributionPackageDamaged.jpg b/doc/html/CompilingGuidelineWin/DistributionPackageDamaged.jpg
new file mode 100644
index 00000000..e04f07c7
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/DistributionPackageDamaged.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/DownloadVS2010.jpg b/doc/html/CompilingGuidelineWin/DownloadVS2010.jpg
new file mode 100644
index 00000000..1e4ba165
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/DownloadVS2010.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/DownloadVS2019.jpg b/doc/html/CompilingGuidelineWin/DownloadVS2019.jpg
new file mode 100644
index 00000000..98428292
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/DownloadVS2019.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/DownloadVSBuildTools.jpg b/doc/html/CompilingGuidelineWin/DownloadVSBuildTools.jpg
new file mode 100644
index 00000000..37217733
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/DownloadVSBuildTools.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/NasmCommandLine.jpg b/doc/html/CompilingGuidelineWin/NasmCommandLine.jpg
new file mode 100644
index 00000000..d3a2f2f3
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/NasmCommandLine.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/RegeditPermissions-1.jpg b/doc/html/CompilingGuidelineWin/RegeditPermissions-1.jpg
new file mode 100644
index 00000000..46fcabbc
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/RegeditPermissions-1.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/RegeditPermissions-2.jpg b/doc/html/CompilingGuidelineWin/RegeditPermissions-2.jpg
new file mode 100644
index 00000000..5e3432cc
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/RegeditPermissions-2.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/RegeditPermissions-3.jpg b/doc/html/CompilingGuidelineWin/RegeditPermissions-3.jpg
new file mode 100644
index 00000000..7aa66aa0
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/RegeditPermissions-3.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/RegeditPermissions-4.jpg b/doc/html/CompilingGuidelineWin/RegeditPermissions-4.jpg
new file mode 100644
index 00000000..aa9f1c7b
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/RegeditPermissions-4.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/SelectAdvancedSystemSettings.jpg b/doc/html/CompilingGuidelineWin/SelectAdvancedSystemSettings.jpg
new file mode 100644
index 00000000..753840d5
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/SelectAdvancedSystemSettings.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/SelectEnvironmentVariables.jpg b/doc/html/CompilingGuidelineWin/SelectEnvironmentVariables.jpg
new file mode 100644
index 00000000..709589ba
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/SelectEnvironmentVariables.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/SelectPathVariable.jpg b/doc/html/CompilingGuidelineWin/SelectPathVariable.jpg
new file mode 100644
index 00000000..ef5aa44d
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/SelectPathVariable.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/SelectThisPC.jpg b/doc/html/CompilingGuidelineWin/SelectThisPC.jpg
new file mode 100644
index 00000000..439182d7
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/SelectThisPC.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/VS2010BuildSolution.jpg b/doc/html/CompilingGuidelineWin/VS2010BuildSolution.jpg
new file mode 100644
index 00000000..7870cb51
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/VS2010BuildSolution.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/VS2010Win32Config.jpg b/doc/html/CompilingGuidelineWin/VS2010Win32Config.jpg
new file mode 100644
index 00000000..f0be29b0
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/VS2010Win32Config.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/VS2010X64Config.jpg b/doc/html/CompilingGuidelineWin/VS2010X64Config.jpg
new file mode 100644
index 00000000..b8d989a2
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/VS2010X64Config.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/VS2019ARM64Config.jpg b/doc/html/CompilingGuidelineWin/VS2019ARM64Config.jpg
new file mode 100644
index 00000000..825079da
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/VS2019ARM64Config.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/VS2019BuildSolution.jpg b/doc/html/CompilingGuidelineWin/VS2019BuildSolution.jpg
new file mode 100644
index 00000000..015ab357
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/VS2019BuildSolution.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/YasmCommandLine.jpg b/doc/html/CompilingGuidelineWin/YasmCommandLine.jpg
new file mode 100644
index 00000000..9b414160
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/YasmCommandLine.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/gzipCommandLine.jpg b/doc/html/CompilingGuidelineWin/gzipCommandLine.jpg
new file mode 100644
index 00000000..958f3f6a
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/gzipCommandLine.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/upxCommandLine.jpg b/doc/html/CompilingGuidelineWin/upxCommandLine.jpg
new file mode 100644
index 00000000..cb0af820
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/upxCommandLine.jpg
Binary files differ
diff --git a/doc/html/Documentation.html b/doc/html/Documentation.html
index f9315c22..0466abe4 100644
--- a/doc/html/Documentation.html
+++ b/doc/html/Documentation.html
@@ -1,5 +1,52 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<style>
+.textbox {
+ vertical-align: top;
+ height: auto !important;
+ font-weight: bold;
+ padding: 5px;
+ width: auto;
+ border-radius: 10px;
+}
+
+.texttohide {
+ display:none;
+ font-family: Helvetica,sans-serif;
+ font-size: 14px;
+ font-weight: normal;
+}
+
+.show {
+ display: none;
+ text-decoration: none;
+}
+
+.hide:target + .show {
+ display: inline;
+ text-decoration: none;
+}
+
+.hide:target {
+ display: none;
+ text-decoration: none;
+}
+
+.hide:target ~ .texttohide {
+ display:inline;
+ text-decoration: none;
+
+}
+
+@media print {
+ .hide, .show {
+ display: none;
+ }
+}
+
+</style>
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
@@ -29,119 +76,335 @@
<h1>Table of Contents</h1>
<p><em style="text-align:left">This documentation is not guaranteed to be error-free and is provided &quot;as is&quot; without warranty of any kind. For more information, see
<a href="Disclaimers.html">Disclaimers</a>.</em></p>
-<ul>
-<li><a title="Preface" href="Preface.html"><strong>Preface</strong></a>
-</li><li><strong><a href="Introduction.html">Introduction</a></strong>
-</li><li><strong><a href="Beginner%27s%20Tutorial.html">Beginner's Tutorial</a></strong>
-</li><li><strong><a href="VeraCrypt%20Volume.html">VeraCrypt Volume</a></strong>
-<ul>
-<li><a href="Creating%20New%20Volumes.html">Creating a New VeraCrypt Volume</a>
-</li><li><a href="Favorite%20Volumes.html">Favorite Volumes</a>
-</li><li><a href="System%20Favorite%20Volumes.html">System Favorite Volumes</a>
-</li></ul>
-</li><li><strong><a href="System%20Encryption.html">System Encryption</a></strong>
-<ul>
-<li><a href="Hidden%20Operating%20System.html">Hidden Operating System</a>
-</li><li><a href="Supported%20Systems%20for%20System%20Encryption.html">Operating Systems Supported for System Encryption</a>
-</li><li><a href="VeraCrypt%20Rescue%20Disk.html">VeraCrypt Rescue Disk</a>
-</li></ul>
-</li><li><strong><a href="Plausible%20Deniability.html">Plausible Deniability</a></strong><br>
-<ul>
-<li><a href="Hidden%20Volume.html">Hidden Volume</a>
-<ul>
-<li><a href="Protection%20of%20Hidden%20Volumes.html">Protection of Hidden Volumes Against Damage</a>
-</li><li><a href="Security%20Requirements%20for%20Hidden%20Volumes.html">Security Requirements and Precautions Pertaining to Hidden Volumes</a>
-</li></ul>
-</li><li><a href="VeraCrypt%20Hidden%20Operating%20System.html">Hidden Operating System</a>
-</li></ul>
-</li><li><strong><a href="Main%20Program%20Window.html">Main Program Window</a></strong>
-<ul>
-<li><a href="Program%20Menu.html">Program Menu</a>
-</li><li><a href="Mounting%20VeraCrypt%20Volumes.html">Mounting Volumes</a>
-</li></ul>
-</li><li><strong><a href="Parallelization.html">Parallelization</a></strong>
-</li><li><strong><a href="Pipelining.html">Pipelining</a></strong>
-</li><li><strong><a href="Hardware%20Acceleration.html">Hardware acceleration</a></strong>
-</li><li><strong><a href="Hot%20Keys.html">Hot keys</a></strong>
-</li><li><strong><a href="Keyfiles%20in%20VeraCrypt.html">Keyfiles</a></strong>
-</li><li><strong><a href="Security%20Tokens%20%26%20Smart%20Cards.html">Security Tokens &amp; Smart Cards</a></strong>
-</li><li><strong><a href="Portable%20Mode.html">Portable Mode</a></strong>
-</li><li><strong><a href="TrueCrypt%20Support.html">TrueCrypt Support</a></strong>
-</li><li><strong><a href="Converting%20TrueCrypt%20volumes%20and%20partitions.html">Converting TrueCrypt Volumes &amp; Partitions</a></strong>
-</li><li><strong><a href="Default%20Mount%20Parameters.html">Default Mount Parameters</a></strong>
-</li><li><strong><a href="Language%20Packs.html">Language Packs</a></strong>
-</li><li><strong><a href="Encryption%20Algorithms.html">Encryption Algorithms</a></strong>
-<ul>
-<li><a href="AES.html">AES</a> </li><li><a href="Camellia.html">Camellia</a>
-</li><li><a href="Kuznyechik.html">Kuznyechik</a>
-</li><li><a href="Serpent.html">Serpent</a> </li><li><a href="Twofish.html">Twofish</a> </li><li><a href="Cascades.html">Cascades of ciphers</a>
-</li></ul>
-</li><li><strong><a href="Hash%20Algorithms.html">Hash Algorithms</a></strong>
-<ul>
-<li><a href="BLAKE2s-256.html">BLAKE2s-256</a>
-</li><li><a href="SHA-256.html">SHA-256</a> </li><li><a href="SHA-512.html">SHA-512</a> </li><li><a href="Whirlpool.html">Whirlpool</a>
-</li><li><a href="Streebog.html">Streebog</a></li></ul>
-</li><li><strong><a href="Supported%20Operating%20Systems.html">Supported Operating Systems</a></strong>
-</li><li><strong><a href="Command%20Line%20Usage.html">Command Line Usage</a></strong>
-</li><li><strong><a href="Security%20Model.html">Security Model</a></strong>
-</li><li><strong><a href="Security%20Requirements%20and%20Precautions.html">Security Requirements And Precautions<br>
-</a></strong>
-<ul>
-<li><a href="Data%20Leaks.html">Data Leaks</a>
-<ul>
-<li><a href="Paging%20File.html">Paging File</a>
-</li><li><a href="Memory%20Dump%20Files.html">Memory Dump Files</a>
-</li><li><a href="Hibernation%20File.html">Hibernation File</a>
-</li></ul>
-</li><li><a href="Unencrypted%20Data%20in%20RAM.html">Unencrypted Data in RAM</a>
-</li><li><a href="Physical%20Security.html">Physical Security</a>
-</li><li><a href="Malware.html">Malware</a> </li><li><a href="Multi-User%20Environment.html">Multi-User Environment</a>
-</li><li><a href="Authenticity%20and%20Integrity.html">Authenticity and Integrity</a>
-</li><li><a href="Choosing%20Passwords%20and%20Keyfiles.html">Choosing Passwords and Keyfiles</a>
-</li><li><a href="Changing%20Passwords%20and%20Keyfiles.html">Changing Passwords and Keyfiles</a>
-</li><li><a href="Trim%20Operation.html">Trim Operation</a>
-</li><li><a href="Wear-Leveling.html">Wear-Leveling</a>
-</li><li><a href="Reallocated%20Sectors.html">Reallocated Sectors</a>
-</li><li><a href="Defragmenting.html">Defragmenting</a>
-</li><li><a href="Journaling%20File%20Systems.html">Journaling File Systems</a>
-</li><li><a href="Volume%20Clones.html">Volume Clones</a>
-</li><li><a href="Additional%20Security%20Requirements%20and%20Precautions.html">Additional Security Requirements and Precautions</a>
-</li></ul>
-</li><li><strong><a href="How%20to%20Back%20Up%20Securely.html">How To Back Up Securely</a></strong>
-</li><li><strong><a href="Miscellaneous.html">Miscellaneous</a></strong>
-<ul>
-<li><a href="Using%20VeraCrypt%20Without%20Administrator%20Privileges.html">Using VeraCrypt Without Administrator Privileges</a>
-</li><li><a href="Sharing%20over%20Network.html">Sharing Over Network</a>
-</li><li><a href="VeraCrypt%20Background%20Task.html">VeraCrypt Background Task</a>
-</li><li><a href="Removable%20Medium%20Volume.html">Volume Mounted as Removable Medium</a>
-</li><li><a href="VeraCrypt%20System%20Files.html">VeraCrypt System Files &amp; Application Data</a>
-</li><li><a href="Removing%20Encryption.html">How To Remove Encryption</a>
-</li><li><a href="Uninstalling%20VeraCrypt.html">Uninstalling VeraCrypt</a>
-</li><li><a href="Digital%20Signatures.html">Digital Signatures</a>
-</li></ul>
-</li><li><strong><a href="Troubleshooting.html">Troubleshooting</a></strong>
-</li><li><strong><a href="Incompatibilities.html">Incompatibilities</a></strong>
-</li><li><strong><a href="Issues%20and%20Limitations.html">Known Issues and Limitations</a></strong>
-</li><li><strong><a href="FAQ.html">Frequently Asked Questions</a></strong>
-</li><li><strong><a href="Technical%20Details.html">Technical Details</a></strong>
-<ul>
-<li><a href="Notation.html">Notation</a>
-</li><li><a href="Encryption%20Scheme.html">Encryption Scheme</a>
-</li><li><a href="Modes%20of%20Operation.html">Modes of Operation</a>
-</li><li><a href="Header%20Key%20Derivation.html">Header Key Derivation, Salt, and Iteration Count</a>
-</li><li><a href="Random%20Number%20Generator.html">Random Number Generator</a>
-</li><li><a href="Keyfiles.html">Keyfiles</a>
-</li><li><a title="PIM" href="Personal%20Iterations%20Multiplier%20(PIM).html">PIM</a>
-</li><li><a href="VeraCrypt%20Volume%20Format%20Specification.html">VeraCrypt Volume Format Specification</a>
-</li><li><a href="Standard%20Compliance.html">Compliance with Standards and Specifications</a>
-</li><li><a href="Source%20Code.html">Source Code</a>
-</li></ul>
-</li><li><strong><a href="Contact.html">Contact</a></strong>
-</li><li><strong><a href="Legal%20Information.html">Legal Information</a></strong>
-</li><li><strong><a href="Release%20Notes.html">Version History</a></strong>
-</li><li><strong><a href="Acknowledgements.html">Acknowledgements</a></strong>
-</li><li><strong><a href="References.html">References</a></strong>
-</li></ul>
+
+
+<a title="Preface" href="Preface.html"><strong>Preface</strong></a> <br>
+<a href="Introduction.html"><strong>Introduction</strong></a>
+
+<div class="wikidoc">
+ <div class="textbox" id="EndUserGuides">
+ <a href="#hide1" class="hide" id="hide1">&#9654; &nbsp; End-User Guidelines and Information</a>
+ <a href="#show1" class="show" id="show1">&#9660; &nbsp; End-User Guidelines and Information</a>
+ <div class="texttohide">
+ <ul>
+ <li>
+ <strong><a href="Beginner%27s%20Tutorial.html">Beginner's Tutorial</a></strong>
+ </li>
+
+ <li>
+ <strong><a href="Main%20Program%20Window.html">Main Program Window</a></strong>
+ <ul>
+ <li>
+ <a href="Program%20Menu.html">Program Menu</a>
+ </li>
+ <li>
+ <a href="Mounting%20VeraCrypt%20Volumes.html">Mounting Volumes</a>
+ </li>
+ </ul>
+ </li>
+
+ <li>
+ <strong><a href="Portable%20Mode.html">Portable Mode</a></strong>
+ </li>
+
+ <li>
+ <strong><a href="Language%20Packs.html">Language Packs</a></strong>
+ </li>
+ <li>
+ <strong><a href="Supported%20Operating%20Systems.html">Supported Operating Systems</a></strong>
+ </li>
+ <li>
+ <strong><a href="How%20to%20Back%20Up%20Securely.html">How To Back Up Securely</a></strong>
+ </li>
+ <li>
+ <strong><a href="Using%20VeraCrypt%20Without%20Administrator%20Privileges.html">Using VeraCrypt Without Administrator Privileges</a></strong>
+ </li>
+ <li>
+ <strong><a href="Sharing%20over%20Network.html">Sharing Over Network</a></strong>
+ </li>
+ <li>
+ <strong><a href="VeraCrypt%20Background%20Task.html">VeraCrypt Background Task</a></strong>
+ </li>
+ <li>
+ <strong><a href="Removable%20Medium%20Volume.html">Volume Mounted as Removable Medium</a></strong>
+ </li>
+ <li>
+ <strong><a href="Removing%20Encryption.html">How To Remove Encryption</a></strong>
+ </li>
+ <li>
+ <strong><a href="Uninstalling%20VeraCrypt.html">Uninstalling VeraCrypt</a></strong>
+ </li>
+
+ </ul>
+ </div>
+</div>
+
+<div class="wikidoc">
+ <div class="textbox" id="SoftwareDevGuidelines">
+ <a href="#hide2" class="hide" id="hide2">&#9654; &nbsp; Software Development Guidelines</a>
+ <a href="#show2" class="show" id="show2">&#9660; &nbsp; Software Development Guidelines</a>
+ <div class="texttohide">
+ <ul>
+ <li>
+ <strong><a href="CompilingGuidelineWin.html">Windows Compiling Guideline</a></strong>
+ </li>
+ <li>
+ <strong><a href="CompilingGuidelineLinux.html">Linux Compiling Guideline</a></strong>
+ </li>
+ </ul>
+ </div>
+ </div>
+
+<div class="wikidoc">
+ <div class="textbox" id="TechnicalDetails">
+ <a href="#hide3" class="hide" id="hide3">&#9654; &nbsp; Technical Details</a>
+ <a href="#show3" class="show" id="show3">&#9660; &nbsp; Technical Details</a>
+ <div class="texttohide">
+ <ul>
+ <li>
+ <strong><a href="VeraCrypt%20Volume.html">VeraCrypt Volume</a></strong>
+ <ul>
+ <li>
+ <a href="Creating%20New%20Volumes.html">Creating a New VeraCrypt Volume</a>
+ </li>
+ <li>
+ <a href="Favorite%20Volumes.html">Favorite Volumes</a>
+ </li>
+ <li>
+ <a href="System%20Favorite%20Volumes.html">System Favorite Volumes</a>
+ </li>
+ </ul>
+ </li>
+
+ <li>
+ <strong><a href="System%20Encryption.html">System Encryption</a></strong>
+ <ul>
+ <li>
+ <a href="Hidden%20Operating%20System.html">Hidden Operating System</a>
+ </li>
+ <li>
+ <a href="Supported%20Systems%20for%20System%20Encryption.html">Operating Systems Supported for System Encryption</a>
+ </li>
+ <li>
+ <a href="VeraCrypt%20Rescue%20Disk.html">VeraCrypt Rescue Disk</a>
+ </li>
+ </ul>
+ </li>
+
+ <li>
+ <strong><a href="Plausible%20Deniability.html">Plausible Deniability</a></strong><br>
+ <ul>
+ <li>
+ <a href="Hidden%20Volume.html">Hidden Volume</a>
+ <ul>
+ <li>
+ <a href="Protection%20of%20Hidden%20Volumes.html">Protection of Hidden Volumes Against Damage</a>
+ </li>
+ <li>
+ <a href="Security%20Requirements%20for%20Hidden%20Volumes.html">Security Requirements and Precautions Pertaining to Hidden Volumes</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="VeraCrypt%20Hidden%20Operating%20System.html">Hidden Operating System</a>
+ </li>
+ </ul>
+ </li>
+
+ <li>
+ <strong><a href="Encryption%20Algorithms.html">Encryption Algorithms</a></strong>
+ <ul>
+ <li>
+ <a href="AES.html">AES</a> </li><li><a href="Camellia.html">Camellia</a>
+ </li>
+ <li>
+ <a href="Kuznyechik.html">Kuznyechik</a>
+ </li>
+ <li>
+ <a href="Serpent.html">Serpent</a>
+ </li>
+ <li>
+ <a href="Twofish.html">Twofish</a>
+ </li>
+ <li>
+ <a href="Cascades.html">Cascades of ciphers</a>
+ </li>
+ </ul>
+ </li>
+
+ <li>
+ <strong><a href="Hash%20Algorithms.html">Hash Algorithms</a></strong>
+ <ul>
+ <li>
+ <a href="BLAKE2s-256.html">BLAKE2s-256</a>
+ </li>
+ <li>
+ <a href="SHA-256.html">SHA-256</a>
+ </li>
+ <li>
+ <a href="SHA-512.html">SHA-512</a>
+ </li>
+ <li>
+ <a href="Whirlpool.html">Whirlpool</a>
+ </li>
+ <li>
+ <a href="Streebog.html">Streebog</a>
+ </li>
+ </ul>
+ </li>
+
+
+ <li>
+ <strong><a href="Security%20Requirements%20and%20Precautions.html">Security Requirements And Precautions<br> </a></strong>
+ <ul>
+ <li>
+ <a href="Data%20Leaks.html">Data Leaks</a>
+ <ul>
+ <li>
+ <a href="Paging%20File.html">Paging File</a>
+ </li>
+ <li>
+ <a href="Memory%20Dump%20Files.html">Memory Dump Files</a>
+ </li>
+ <li>
+ <a href="Hibernation%20File.html">Hibernation File</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="Unencrypted%20Data%20in%20RAM.html">Unencrypted Data in RAM</a>
+ </li>
+ <li>
+ <a href="Physical%20Security.html">Physical Security</a>
+ </li>
+ <li>
+ <a href="Malware.html">Malware</a>
+ </li>
+ <li>
+ <a href="Multi-User%20Environment.html">Multi-User Environment</a>
+ </li>
+ <li>
+ <a href="Authenticity%20and%20Integrity.html">Authenticity and Integrity</a>
+ </li>
+ <li>
+ <a href="Choosing%20Passwords%20and%20Keyfiles.html">Choosing Passwords and Keyfiles</a>
+ </li>
+ <li>
+ <a href="Changing%20Passwords%20and%20Keyfiles.html">Changing Passwords and Keyfiles</a>
+ </li>
+ <li>
+ <a href="Trim%20Operation.html">Trim Operation</a>
+ </li>
+ <li>
+ <a href="Wear-Leveling.html">Wear-Leveling</a>
+ </li>
+ <li>
+ <a href="Reallocated%20Sectors.html">Reallocated Sectors</a>
+ </li>
+ <li>
+ <a href="Defragmenting.html">Defragmenting</a>
+ </li>
+ <li>
+ <a href="Journaling%20File%20Systems.html">Journaling File Systems</a>
+ </li>
+ <li>
+ <a href="Volume%20Clones.html">Volume Clones</a>
+ </li>
+ <li>
+ <a href="Additional%20Security%20Requirements%20and%20Precautions.html">Additional Security Requirements and Precautions</a>
+ </li>
+ </ul>
+ </li>
+
+ <li>
+ <strong><a href="Parallelization.html">Parallelization</a></strong>
+ </li>
+ <li>
+ <strong><a href="Pipelining.html">Pipelining</a></strong>
+ </li>
+ <li>
+ <strong><a href="Hardware%20Acceleration.html">Hardware acceleration</a></strong>
+ </li>
+ <li>
+ <strong><a href="Hot%20Keys.html">Hot keys</a></strong>
+ </li>
+ <li>
+ <strong><a href="Keyfiles%20in%20VeraCrypt.html">Keyfiles</a></strong>
+ </li>
+ <li>
+ <strong><a href="Security%20Tokens%20%26%20Smart%20Cards.html">Security Tokens &amp; Smart Cards</a></strong>
+ </li>
+ <li>
+ <strong><a href="TrueCrypt%20Support.html">TrueCrypt Support</a></strong>
+ </li>
+ <li>
+ <strong><a href="Converting%20TrueCrypt%20volumes%20and%20partitions.html">Converting TrueCrypt Volumes &amp; Partitions</a></strong>
+ </li>
+ <li>
+ <strong><a href="Default%20Mount%20Parameters.html">Default Mount Parameters</a></strong>
+ </li>
+ <li>
+ <strong><a href="Command%20Line%20Usage.html">Command Line Usage</a></strong>
+ </li>
+ <li>
+ <strong><a href="Security%20Model.html">Security Model</a></strong>
+ </li>
+
+ <li>
+ <strong><a href="Technical%20Details.html">Technical Details</a></strong>
+ <ul>
+ <li>
+ <a href="Notation.html">Notation</a>
+ </li>
+ <li>
+ <a href="Encryption%20Scheme.html">Encryption Scheme</a>
+ </li>
+ <li>
+ <a href="Modes%20of%20Operation.html">Modes of Operation</a>
+ </li>
+ <li>
+ <a href="Header%20Key%20Derivation.html">Header Key Derivation, Salt, and Iteration Count</a>
+ </li>
+ <li>
+ <a href="Random%20Number%20Generator.html">Random Number Generator</a>
+ </li>
+ <li>
+ <a href="Keyfiles.html">Keyfiles</a>
+ </li>
+ <li>
+ <a title="PIM" href="Personal%20Iterations%20Multiplier%20(PIM).html">PIM</a>
+ </li>
+ <li>
+ <a href="VeraCrypt%20Volume%20Format%20Specification.html">VeraCrypt Volume Format Specification</a>
+ </li>
+ <li>
+ <a href="Standard%20Compliance.html">Compliance with Standards and Specifications</a>
+ </li>
+ <li>
+ <a href="Source%20Code.html">Source Code</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <strong><a href="VeraCrypt%20System%20Files.html">VeraCrypt System Files &amp; Application Data</a></strong>
+ </li>
+ <li>
+ <strong><a href="Digital%20Signatures.html">Digital Signatures</a></strong>
+ </li>
+
+ </ul>
+ </div>
</div>
+</div>
+
+<strong><a href="Troubleshooting.html">Troubleshooting</a></strong> <br>
+<strong><a href="Incompatibilities.html">Incompatibilities</a></strong> <br>
+<strong><a href="Issues%20and%20Limitations.html">Known Issues and Limitations</a></strong> <br>
+<strong><a href="FAQ.html">Frequently Asked Questions</a></strong> <br>
+<strong><a href="Contact.html">Contact</a></strong> <br>
+<strong><a href="Legal%20Information.html">Legal Information</a></strong> <br>
+<strong><a href="Release%20Notes.html">Version History</a></strong> <br>
+<strong><a href="Acknowledgements.html">Acknowledgements</a></strong> <br>
+<strong><a href="References.html">References</a></strong> <br>
</body></html>
diff --git a/doc/html/LinuxPrepAndBuild.sh b/doc/html/LinuxPrepAndBuild.sh
new file mode 100644
index 00000000..58329b8f
--- /dev/null
+++ b/doc/html/LinuxPrepAndBuild.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+sudo apt update
+sudo apt install -y build-essential yasm pkg-config libgtk-3-dev
+wget https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.0/wxWidgets-3.2.0.tar.bz2
+tar -xf wxWidgets-3.2.0.tar.bz2
+cd wxWidgets-3.2.0
+mkdir gtk-build
+cd gtk-build
+../configure
+make
+sudo make install
+sudo ldconfig
+cd ../..
+rm -r wxWidgets-3.2.0
+rm wxWidgets-3.2.0.tar.bz2
+sudo apt install -y libfuse-dev git
+git clone https://github.com/veracrypt/VeraCrypt.git
+cd ~/VeraCrypt/src
+make
diff --git a/doc/html/Miscellaneous.html b/doc/html/Miscellaneous.html
deleted file mode 100644
index 95eb6af8..00000000
--- a/doc/html/Miscellaneous.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="content-type" content="text/html; charset=utf-8" />
-<title>VeraCrypt - Free Open source disk encryption with strong security for the Paranoid</title>
-<meta name="description" content="VeraCrypt is free open-source disk encryption software for Windows, Mac OS X and Linux. In case an attacker forces you to reveal the password, VeraCrypt provides plausible deniability. In contrast to file encryption, data encryption performed by VeraCrypt is real-time (on-the-fly), automatic, transparent, needs very little memory, and does not involve temporary unencrypted files."/>
-<meta name="keywords" content="encryption, security"/>
-<link href="styles.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-
-<div>
-<a href="Documentation.html"><img src="VeraCrypt128x128.png" alt="VeraCrypt"/></a>
-</div>
-
-<div id="menu">
- <ul>
- <li><a href="Home.html">Home</a></li>
- <li><a href="/code/">Source Code</a></li>
- <li><a href="Downloads.html">Downloads</a></li>
- <li><a class="active" href="Documentation.html">Documentation</a></li>
- <li><a href="Donation.html">Donate</a></li>
- <li><a href="https://sourceforge.net/p/veracrypt/discussion/" target="_blank">Forums</a></li>
- </ul>
-</div>
-
-<div>
-<p>
-<a href="Documentation.html">Documentation</a>
-<img src="arrow_right.gif" alt=">>" style="margin-top: 5px">
-<a href="Miscellaneous.html">Miscellaneous</a>
-</p></div>
-
-<div class="wikidoc">
-<h1>Miscellaneous</h1>
-<ul>
-<li><a href="Using%20VeraCrypt%20Without%20Administrator%20Privileges.html">Use Without Admin Rights</a>
-</li><li><a href="Sharing%20over%20Network.html">Sharing over Network</a>
-</li><li><a href="VeraCrypt%20Background%20Task.html">Background Task</a>
-</li><li><a href="Removable%20Medium%20Volume.html">Removable Medium Volumes</a>
-</li><li><a href="VeraCrypt%20System%20Files.html">VeraCrypt System Files</a>
-</li><li><a href="Removing%20Encryption.html">Removing Encryption</a>
-</li><li><a href="Uninstalling%20VeraCrypt.html">Uninstalling VeraCrypt</a>
-</li><li><a href="Digital%20Signatures.html">Digital Signatures</a>
-</li></ul>
-</div>
-</body></html>