mirror of
https://github.com/veracrypt/VeraCrypt.git
synced 2026-01-05 05:08:12 -06:00
Windows installer: solve Windows XP 32-bit incompatibility issue introduced previously.
This commit is contained in:
@@ -1070,6 +1070,13 @@ BOOL DoApplicationDataUninstall (HWND hwndDlg)
|
|||||||
BOOL DoRegUninstall (HWND hwndDlg, BOOL bRemoveDeprecated)
|
BOOL DoRegUninstall (HWND hwndDlg, BOOL bRemoveDeprecated)
|
||||||
{
|
{
|
||||||
char regk [64];
|
char regk [64];
|
||||||
|
typedef LSTATUS (WINAPI *RegDeleteKeyExAFn) (HKEY hKey,LPCSTR lpSubKey,REGSAM samDesired,WORD Reserved);
|
||||||
|
RegDeleteKeyExAFn RegDeleteKeyExAPtr = NULL;
|
||||||
|
HMODULE hAdvapiDll = LoadLibrary ("Advapi32.dll");
|
||||||
|
if (hAdvapiDll)
|
||||||
|
{
|
||||||
|
RegDeleteKeyExAPtr = (RegDeleteKeyExAFn) GetProcAddress(hAdvapiDll, "RegDeleteKeyExA");
|
||||||
|
}
|
||||||
|
|
||||||
// Unregister COM servers
|
// Unregister COM servers
|
||||||
if (!bRemoveDeprecated && IsOSAtLeast (WIN_VISTA))
|
if (!bRemoveDeprecated && IsOSAtLeast (WIN_VISTA))
|
||||||
@@ -1081,13 +1088,21 @@ BOOL DoRegUninstall (HWND hwndDlg, BOOL bRemoveDeprecated)
|
|||||||
if (!bRemoveDeprecated)
|
if (!bRemoveDeprecated)
|
||||||
StatusMessage (hwndDlg, "REMOVING_REG");
|
StatusMessage (hwndDlg, "REMOVING_REG");
|
||||||
|
|
||||||
RegDeleteKeyEx (HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\VeraCrypt", KEY_WOW64_32KEY, 0);
|
if (RegDeleteKeyExAPtr)
|
||||||
|
{
|
||||||
|
RegDeleteKeyExAPtr (HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\VeraCrypt", KEY_WOW64_32KEY, 0);
|
||||||
|
RegDeleteKeyExAPtr (HKEY_CURRENT_USER, "Software\\VeraCrypt", KEY_WOW64_32KEY, 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
RegDeleteKey (HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\VeraCrypt");
|
||||||
|
RegDeleteKey (HKEY_LOCAL_MACHINE, "Software\\VeraCrypt");
|
||||||
|
}
|
||||||
RegDeleteKey (HKEY_LOCAL_MACHINE, "Software\\Classes\\VeraCryptVolume\\Shell\\open\\command");
|
RegDeleteKey (HKEY_LOCAL_MACHINE, "Software\\Classes\\VeraCryptVolume\\Shell\\open\\command");
|
||||||
RegDeleteKey (HKEY_LOCAL_MACHINE, "Software\\Classes\\VeraCryptVolume\\Shell\\open");
|
RegDeleteKey (HKEY_LOCAL_MACHINE, "Software\\Classes\\VeraCryptVolume\\Shell\\open");
|
||||||
RegDeleteKey (HKEY_LOCAL_MACHINE, "Software\\Classes\\VeraCryptVolume\\Shell");
|
RegDeleteKey (HKEY_LOCAL_MACHINE, "Software\\Classes\\VeraCryptVolume\\Shell");
|
||||||
RegDeleteKey (HKEY_LOCAL_MACHINE, "Software\\Classes\\VeraCryptVolume\\DefaultIcon");
|
RegDeleteKey (HKEY_LOCAL_MACHINE, "Software\\Classes\\VeraCryptVolume\\DefaultIcon");
|
||||||
RegDeleteKey (HKEY_LOCAL_MACHINE, "Software\\Classes\\VeraCryptVolume");
|
RegDeleteKey (HKEY_LOCAL_MACHINE, "Software\\Classes\\VeraCryptVolume");
|
||||||
RegDeleteKeyEx (HKEY_CURRENT_USER, "Software\\VeraCrypt", KEY_WOW64_32KEY, 0);
|
|
||||||
|
|
||||||
if (!bRemoveDeprecated)
|
if (!bRemoveDeprecated)
|
||||||
{
|
{
|
||||||
@@ -1121,6 +1136,9 @@ BOOL DoRegUninstall (HWND hwndDlg, BOOL bRemoveDeprecated)
|
|||||||
SHChangeNotify (SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL);
|
SHChangeNotify (SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (hAdvapiDll)
|
||||||
|
FreeLibrary (hAdvapiDll);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user