VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/SetupDLL/Setup.h
diff options
context:
space:
mode:
authorMounir IDRASSI <mounir.idrassi@idrix.fr>2021-03-22 07:59:32 +0100
committerMounir IDRASSI <mounir.idrassi@idrix.fr>2021-03-22 08:03:01 +0100
commitee79ff0579e25eca9189d72019e5361404437794 (patch)
treea4d7cc039c7fbd11062c0295b9afefeb493d177f /src/SetupDLL/Setup.h
parentbda088045314d1349a004853f701bb79c851da3d (diff)
downloadVeraCrypt-ee79ff0579e25eca9189d72019e5361404437794.tar.gz
VeraCrypt-ee79ff0579e25eca9189d72019e5361404437794.zip
Windows: first implementation of MSI installer for silent mode deployment (ACCEPTLICENSE=YES must be set in msiexec command line)
Diffstat (limited to 'src/SetupDLL/Setup.h')
-rw-r--r--src/SetupDLL/Setup.h137
1 files changed, 137 insertions, 0 deletions
diff --git a/src/SetupDLL/Setup.h b/src/SetupDLL/Setup.h
new file mode 100644
index 00000000..e38dd75a
--- /dev/null
+++ b/src/SetupDLL/Setup.h
@@ -0,0 +1,137 @@
+/*
+ Legal Notice: Some portions of the source code contained in this file were
+ derived from the source code of TrueCrypt 7.1a, which is
+ Copyright (c) 2003-2012 TrueCrypt Developers Association and which is
+ governed by the TrueCrypt License 3.0, also from the source code of
+ Encryption for the Masses 2.02a, which is Copyright (c) 1998-2000 Paul Le Roux
+ and which is governed by the 'License Agreement for Encryption for the Masses'
+ Modifications and additions to the original source code (contained in this file)
+ and all other portions of this file are Copyright (c) 2013-2017 IDRIX
+ and are governed by the Apache License 2.0 the full text of which is
+ contained in the file License.txt included in VeraCrypt binary and source
+ code distribution packages. */
+
+#ifndef SETUP_H
+#define SETUP_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+// Specifies what files to install, where (determined by the prefix), and in what order
+static wchar_t *szFiles[]=
+{
+ L"ALicense.txt",
+ L"ALICENSE",
+ L"ANOTICE",
+ L"AVeraCrypt.exe",
+ L"AVeraCryptExpander.exe",
+ L"AVeraCrypt Format.exe",
+ L"Averacrypt.inf",
+ L"Averacrypt.cat",
+ L"Averacrypt.sys",
+ L"Dveracrypt.sys",
+ L"AVeraCrypt Setup.exe",
+ L"XLanguages.zip",
+ L"Xdocs.zip",
+};
+
+// Specifies what files are included in self-extracting packages (no other files will be packaged or extracted).
+static wchar_t *szCompressedFiles[]=
+{
+ L"License.txt",
+ L"LICENSE",
+ L"NOTICE",
+ L"VeraCrypt.exe",
+ L"VeraCryptExpander.exe",
+ L"VeraCrypt Format.exe",
+ L"VeraCrypt-x64.exe",
+ L"VeraCryptExpander-x64.exe",
+ L"VeraCrypt Format-x64.exe",
+ L"VeraCrypt-arm64.exe",
+ L"VeraCryptExpander-arm64.exe",
+ L"VeraCrypt Format-arm64.exe",
+ L"veracrypt.inf",
+ L"veracrypt.cat",
+ L"veracrypt.sys",
+ L"veracrypt-x64.cat",
+ L"veracrypt-x64.sys",
+ L"veracrypt-arm64.cat",
+ L"veracrypt-arm64.sys",
+ L"Languages.zip",
+ L"docs.zip"
+};
+
+// Specifies what legacy files to remove during install
+static wchar_t *szLegacyFiles[]=
+{
+ L"VeraCrypt-x86.exe",
+ L"VeraCryptExpander-x86.exe",
+ L"VeraCrypt Format-x86.exe",
+ L"VeraCrypt-x64.exe",
+ L"VeraCryptExpander-x64.exe",
+ L"VeraCrypt Format-x64.exe",
+ L"veracrypt-x64.sys",
+};
+
+#define FILENAME_64BIT_DRIVER L"veracrypt-x64.sys"
+#define NBR_COMPRESSED_FILES (sizeof(szCompressedFiles) / sizeof(szCompressedFiles[0]))
+
+void localcleanup (void);
+BOOL StatDeleteFile ( wchar_t *lpszFile, BOOL bCheckForOldFile );
+BOOL StatRemoveDirectory ( wchar_t *lpszDir );
+HRESULT CreateLink ( wchar_t *lpszPathObj , wchar_t *lpszArguments , wchar_t *lpszPathLink );
+void GetProgramPath ( HWND hwndDlg , wchar_t *path );
+void StatusMessage (HWND hwndDlg, char *stringId);
+void StatusMessageParam (HWND hwndDlg, char *stringId, const wchar_t *param);
+void ClearLogWindow (HWND hwndDlg);
+void RegMessage ( HWND hwndDlg , const wchar_t *txt );
+void RegRemoveMessage (HWND hwndDlg, const wchar_t *txt);
+void _cdecl CopyMessage ( HWND hwndDlg , const wchar_t *txt );
+void RemoveMessage ( HWND hwndDlg , const wchar_t *txt );
+void IconMessage ( HWND hwndDlg , const wchar_t *txt );
+static int CALLBACK BrowseCallbackProc ( HWND hwnd , UINT uMsg , LPARAM lp , LPARAM pData );
+void LoadLicense ( HWND hwndDlg );
+void DetermineUpgradeDowngradeStatus (BOOL bCloseDriverHandle, LONG *driverVersionPtr);
+BOOL DoFilesInstall ( HWND hwndDlg , wchar_t *szDestDir );
+BOOL DoRegInstall ( HWND hwndDlg , wchar_t *szDestDir , BOOL bInstallType );
+BOOL DoRegUninstall (HWND hwndDlg, BOOL bRemoveDeprecated);
+BOOL DoServiceUninstall ( HWND hwndDlg , wchar_t *lpszService );
+BOOL DoDriverUnload ( HWND hwndDlg );
+BOOL DoShortcutsInstall ( HWND hwndDlg , wchar_t *szDestDir , BOOL bProgGroup, BOOL bDesktopIcon );
+BOOL DoShortcutsUninstall (HWND hwndDlg, wchar_t *szDestDir);
+void OutcomePrompt ( HWND hwndDlg , BOOL bOK );
+void DoUninstall ( void *hwndDlg );
+void DoInstall ( void *hwndDlg );
+void SetInstallationPath (HWND hwndDlg);
+BOOL UpgradeBootLoader (HWND hwndDlg);
+BOOL CALLBACK InstallDlgProc ( HWND hwndDlg , UINT msg , WPARAM wParam , LPARAM lParam );
+#ifdef VC_EFI_CUSTOM_MODE
+BOOL CheckSecureBootCompatibility (HWND hWnd);
+#endif
+
+extern BOOL bDevm;
+extern BOOL Rollback;
+extern BOOL bUpgrade;
+extern BOOL bUpdateRescueDisk;
+extern BOOL bPossiblyFirstTimeInstall;
+extern BOOL bRepairMode;
+extern BOOL bReinstallMode;
+extern BOOL bSystemRestore;
+extern BOOL bDisableSwapFiles;
+extern BOOL bForAllUsers;
+extern BOOL bRegisterFileExt;
+extern BOOL bAddToStartMenu;
+extern BOOL bDesktopIcon;
+extern BOOL bDesktopIconStatusDetermined;
+extern BOOL SystemEncryptionUpdate;
+extern BOOL bRestartRequired;
+extern HMODULE volatile SystemRestoreDll;
+extern wchar_t InstallationPath[TC_MAX_PATH];
+extern wchar_t SetupFilesDir[TC_MAX_PATH];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // #ifndef SETUP_H