VeraCrypt
aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMounir IDRASSI <mounir.idrassi@idrix.fr>2015-09-06 18:58:41 +0200
committerMounir IDRASSI <mounir.idrassi@idrix.fr>2015-09-06 20:31:07 +0200
commit13bfb2db5952703de6759393fc96b8a0539da7a1 (patch)
tree66a63e91cf26372069c67f20bfe83071226d69bf
parente445863ae477b36ed2831591e3e414685aab2785 (diff)
downloadVeraCrypt-13bfb2db5952703de6759393fc96b8a0539da7a1.tar.gz
VeraCrypt-13bfb2db5952703de6759393fc96b8a0539da7a1.zip
Windows: Installer and Traveler Disk Setup both always copy 32-bit and 64-bit executable binaries.
-rw-r--r--src/Mount/Mount.c37
-rw-r--r--src/Setup/Setup.c30
-rw-r--r--src/Setup/Setup.h6
3 files changed, 70 insertions, 3 deletions
diff --git a/src/Mount/Mount.c b/src/Mount/Mount.c
index 8afc1094..cf157ad9 100644
--- a/src/Mount/Mount.c
+++ b/src/Mount/Mount.c
@@ -3932,8 +3932,11 @@ BOOL CALLBACK TravelerDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lPa
StringCbPrintfA (dstPath, sizeof(dstPath), "%s\\VeraCrypt", dstDir);
CreateDirectory (dstPath, NULL);
- // Main app
- StringCbPrintfA (srcPath, sizeof(srcPath), "%s\\VeraCrypt.exe", appDir);
+ // Main app 32-bit
+ if (Is64BitOs ())
+ StringCbPrintfA (srcPath, sizeof(srcPath), "%s\\VeraCrypt-x86.exe", appDir);
+ else
+ StringCbPrintfA (srcPath, sizeof(srcPath), "%s\\VeraCrypt.exe", appDir);
StringCbPrintfA (dstPath, sizeof(dstPath), "%s\\VeraCrypt\\VeraCrypt.exe", dstDir);
if (!TCCopyFile (srcPath, dstPath))
{
@@ -3941,16 +3944,44 @@ BOOL CALLBACK TravelerDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lPa
goto stop;
}
+ // Main app 64-bit
+ if (Is64BitOs ())
+ StringCbPrintfA (srcPath, sizeof(srcPath), "%s\\VeraCrypt.exe", appDir);
+ else
+ StringCbPrintfA (srcPath, sizeof(srcPath), "%s\\VeraCrypt-x64.exe", appDir);
+ StringCbPrintfA (dstPath, sizeof(dstPath), "%s\\VeraCrypt\\VeraCrypt-x64.exe", dstDir);
+ if (!TCCopyFile (srcPath, dstPath))
+ {
+ handleWin32Error (hwndDlg, SRC_POS);
+ goto stop;
+ }
+
// Wizard
if (copyWizard)
{
- StringCbPrintfA (srcPath, sizeof(srcPath), "%s\\VeraCrypt Format.exe", appDir);
+ // Wizard 32-bit
+ if (Is64BitOs ())
+ StringCbPrintfA (srcPath, sizeof(srcPath), "%s\\VeraCrypt Format-x86.exe", appDir);
+ else
+ StringCbPrintfA (srcPath, sizeof(srcPath), "%s\\VeraCrypt Format.exe", appDir);
StringCbPrintfA (dstPath, sizeof(dstPath), "%s\\VeraCrypt\\VeraCrypt Format.exe", dstDir);
if (!TCCopyFile (srcPath, dstPath))
{
handleWin32Error (hwndDlg, SRC_POS);
goto stop;
}
+
+ // Wizard 64-bit
+ if (Is64BitOs ())
+ StringCbPrintfA (srcPath, sizeof(srcPath), "%s\\VeraCrypt Format.exe", appDir);
+ else
+ StringCbPrintfA (srcPath, sizeof(srcPath), "%s\\VeraCrypt Format-x64.exe", appDir);
+ StringCbPrintfA (dstPath, sizeof(dstPath), "%s\\VeraCrypt\\VeraCrypt Format-x64.exe", dstDir);
+ if (!TCCopyFile (srcPath, dstPath))
+ {
+ handleWin32Error (hwndDlg, SRC_POS);
+ goto stop;
+ }
}
// Driver
diff --git a/src/Setup/Setup.c b/src/Setup/Setup.c
index 98b94b08..bd7a6ee4 100644
--- a/src/Setup/Setup.c
+++ b/src/Setup/Setup.c
@@ -641,6 +641,18 @@ BOOL DoFilesInstall (HWND hwndDlg, char *szDestDir)
continue; // Destination = target
}
+ // skip files that don't apply to the current architecture
+ if ( (Is64BitOs () && (strcmp (szFiles[i], "AVeraCrypt-x64.exe") == 0))
+ || (Is64BitOs () && (strcmp (szFiles[i], "AVeraCryptExpander-x64.exe") == 0))
+ || (Is64BitOs () && (strcmp (szFiles[i], "AVeraCrypt Format-x64.exe") == 0))
+ || (!Is64BitOs () && (strcmp (szFiles[i], "AVeraCrypt-x86.exe") == 0))
+ || (!Is64BitOs () && (strcmp (szFiles[i], "AVeraCryptExpander-x86.exe") == 0))
+ || (!Is64BitOs () && (strcmp (szFiles[i], "AVeraCrypt Format-x86.exe") == 0))
+ )
+ {
+ continue;
+ }
+
if (*szFiles[i] == 'A')
StringCbCopyA (szDir, sizeof(szDir), szDestDir);
else if (*szFiles[i] == 'D')
@@ -700,17 +712,35 @@ BOOL DoFilesInstall (HWND hwndDlg, char *szDestDir)
}
if (Is64BitOs ()
+ && strcmp (szFiles[i], "AVeraCrypt-x86.exe") == 0)
+ {
+ StringCbCopyNA (curFileName, sizeof(curFileName), "VeraCrypt.exe", sizeof ("VeraCrypt.exe"));
+ }
+
+ if (Is64BitOs ()
&& strcmp (szFiles[i], "AVeraCryptExpander.exe") == 0)
{
StringCbCopyNA (curFileName, sizeof(curFileName), "VeraCryptExpander-x64.exe", sizeof ("VeraCryptExpander-x64.exe"));
}
if (Is64BitOs ()
+ && strcmp (szFiles[i], "AVeraCryptExpander-x86.exe") == 0)
+ {
+ StringCbCopyNA (curFileName, sizeof(curFileName), "VeraCryptExpander.exe", sizeof ("VeraCryptExpander.exe"));
+ }
+
+ if (Is64BitOs ()
&& strcmp (szFiles[i], "AVeraCrypt Format.exe") == 0)
{
StringCbCopyNA (curFileName, sizeof(curFileName), "VeraCrypt Format-x64.exe", sizeof ("VeraCrypt Format-x64.exe"));
}
+ if (Is64BitOs ()
+ && strcmp (szFiles[i], "AVeraCrypt Format-x86.exe") == 0)
+ {
+ StringCbCopyNA (curFileName, sizeof(curFileName), "VeraCrypt Format.exe", sizeof ("VeraCrypt Format.exe"));
+ }
+
if (!bDevm)
{
bResult = FALSE;
diff --git a/src/Setup/Setup.h b/src/Setup/Setup.h
index c7ccc293..99a60615 100644
--- a/src/Setup/Setup.h
+++ b/src/Setup/Setup.h
@@ -28,6 +28,12 @@ static char *szFiles[]=
"AVeraCrypt.exe",
"AVeraCryptExpander.exe",
"AVeraCrypt Format.exe",
+ "AVeraCrypt-x86.exe",
+ "AVeraCryptExpander-x86.exe",
+ "AVeraCrypt Format-x86.exe",
+ "AVeraCrypt-x64.exe",
+ "AVeraCryptExpander-x64.exe",
+ "AVeraCrypt Format-x64.exe",
"Averacrypt.sys",
"Averacrypt-x64.sys",
"Dveracrypt.sys",