diff --git a/src/Cedar/SW.c b/src/Cedar/SW.c index f9935461..26c8ebd0 100644 --- a/src/Cedar/SW.c +++ b/src/Cedar/SW.c @@ -5640,6 +5640,15 @@ UINT SwWelcomeDlg(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, WIZARD *wiz break; } + if (MsIsKB3033929RequiredAndMissing()) + { + // KB3033929 is missing + if (MsgBoxEx(hWnd, MB_ICONINFORMATION | MB_OKCANCEL, _UU("SW_KB3033929_REQUIRED")) == IDCANCEL) + { + break; + } + } + if (sw->DoubleClickBlocker) { break; diff --git a/src/Mayaqua/Microsoft.c b/src/Mayaqua/Microsoft.c index ddb08c80..97a82973 100644 --- a/src/Mayaqua/Microsoft.c +++ b/src/Mayaqua/Microsoft.c @@ -1717,6 +1717,59 @@ HANDLE MsCreateUserToken() return hNewToken; } +// Check whether SHA-2 kernel mode signature is supported +bool MsIsSha2KernelModeSignatureSupported() +{ + HINSTANCE hDll; + bool ret = false; + + if (MsIsWindows8()) + { + return true; + } + + hDll = LoadLibrary("Wintrust.dll"); + if (hDll == NULL) + { + return false; + } + + if (GetProcAddress(hDll, "CryptCATAdminAcquireContext2") != NULL) + { + ret = true; + } + + FreeLibrary(hDll); + + return ret; +} + +// Check whether KB3033929 is required +bool MsIsKB3033929RequiredAndMissing() +{ + OS_INFO *info = GetOsInfo(); + + if (info == NULL) + { + return false; + } + + if (OS_IS_WINDOWS_NT(info->OsType)) + { + if (GET_KETA(info->OsType, 100) == 6) + { + if (MsIsX64()) + { + if (MsIsSha2KernelModeSignatureSupported() == false) + { + return true; + } + } + } + } + + return false; +} // Check the digital signature of the file bool MsCheckFileDigitalSignatureW(HWND hWnd, wchar_t *name, bool *danger) diff --git a/src/Mayaqua/Microsoft.h b/src/Mayaqua/Microsoft.h index 38fc5aa1..23b187fb 100644 --- a/src/Mayaqua/Microsoft.h +++ b/src/Mayaqua/Microsoft.h @@ -847,6 +847,8 @@ bool MsIsInfCatalogRequired(); bool MsCheckFileDigitalSignatureW(HWND hWnd, wchar_t *name, bool *danger); +bool MsIsKB3033929RequiredAndMissing(); +bool MsIsSha2KernelModeSignatureSupported(); bool MsGetProcessExeName(char *path, UINT size, UINT id); bool MsGetWindowOwnerProcessExeName(char *path, UINT size, HWND hWnd); diff --git a/src/bin/hamcore/strtable_cn.stb b/src/bin/hamcore/strtable_cn.stb index 5e35bd09..c88135ad 100644 --- a/src/bin/hamcore/strtable_cn.stb +++ b/src/bin/hamcore/strtable_cn.stb @@ -7163,6 +7163,8 @@ SW_WEB2_TITLE 指定文件夹 SW_UNINSTALLINFO_URL http://selinks.org/ SW_UNINSTALLINFO_PUBLISHER SoftEther VPN Project +SW_KB3033929_REQUIRED In Windows 7 and Windows Server 2008 R2, some SoftEther VPN functions require the Microsoft's Windows Update module KB3033929 installed.\r\n\r\nIf KB3033929 is not installed in your Windows, please install it from Windows Update or Microsoft website before installing SoftEther VPN. + SW_COMPONENTS_ABOUT_TAG 关于 %s SW_COMPONENTS_REQUIRE_ADMIN 安装需要管理员权限 diff --git a/src/bin/hamcore/strtable_en.stb b/src/bin/hamcore/strtable_en.stb index c71c9506..f69fbb94 100644 --- a/src/bin/hamcore/strtable_en.stb +++ b/src/bin/hamcore/strtable_en.stb @@ -7156,6 +7156,8 @@ SW_WEB2_TITLE Specify Files SW_UNINSTALLINFO_URL http://selinks.org/ SW_UNINSTALLINFO_PUBLISHER SoftEther VPN Project +SW_KB3033929_REQUIRED In Windows 7 and Windows Server 2008 R2, some SoftEther VPN functions require the Microsoft's Windows Update module KB3033929 installed.\r\n\r\nIf KB3033929 is not installed in your Windows, please install it from Windows Update or Microsoft website before installing SoftEther VPN. + SW_COMPONENTS_ABOUT_TAG About %s SW_COMPONENTS_REQUIRE_ADMIN Installation Requires Administrators Privileges diff --git a/src/bin/hamcore/strtable_ja.stb b/src/bin/hamcore/strtable_ja.stb index 525c35da..e998deba 100644 --- a/src/bin/hamcore/strtable_ja.stb +++ b/src/bin/hamcore/strtable_ja.stb @@ -7158,6 +7158,8 @@ SW_WEB2_TITLE ファイルの指定 SW_UNINSTALLINFO_URL http://selinks.org/ SW_UNINSTALLINFO_PUBLISHER SoftEther VPN Project +SW_KB3033929_REQUIRED Windows 7 および Windows Server 2008 R2 では、SoftEther VPN の一部の機能を利用するためには、Microsoft 社の Windows Update プログラム KB3033929 がインストールされている必要があります。\r\n\r\nKB3033929 がインストールされていない場合は、SoftEther VPN をインストールする前に、Windows Update または Microsoft 社の Web サイトから KB3033929 をインストールをしてください。 + SW_COMPONENTS_ABOUT_TAG 「%s」とは SW_COMPONENTS_REQUIRE_ADMIN インストールには管理者権限が必要です diff --git a/src/bin/hamcore/strtable_ko.stb b/src/bin/hamcore/strtable_ko.stb index db764cb7..b462924b 100644 --- a/src/bin/hamcore/strtable_ko.stb +++ b/src/bin/hamcore/strtable_ko.stb @@ -7134,6 +7134,8 @@ SW_WEB2_TITLE 파일 지정 SW_UNINSTALLINFO_URL http://selinks.org/ SW_UNINSTALLINFO_PUBLISHER SoftEther VPN Project +SW_KB3033929_REQUIRED In Windows 7 and Windows Server 2008 R2, some SoftEther VPN functions require the Microsoft's Windows Update module KB3033929 installed.\r\n\r\nIf KB3033929 is not installed in your Windows, please install it from Windows Update or Microsoft website before installing SoftEther VPN. + SW_COMPONENTS_ABOUT_TAG '%s'는 SW_COMPONENTS_REQUIRE_ADMIN 설치하려면 관리자 권한이 있어야합니다 diff --git a/src/bin/hamcore/strtable_ru.stb b/src/bin/hamcore/strtable_ru.stb index 5c97a6f7..9f6a71c4 100644 --- a/src/bin/hamcore/strtable_ru.stb +++ b/src/bin/hamcore/strtable_ru.stb @@ -7127,6 +7127,8 @@ SW_WEB2_TITLE Specify Files SW_UNINSTALLINFO_URL http://selinks.org/ SW_UNINSTALLINFO_PUBLISHER SoftEther VPN Project +SW_KB3033929_REQUIRED In Windows 7 and Windows Server 2008 R2, some SoftEther VPN functions require the Microsoft's Windows Update module KB3033929 installed.\r\n\r\nIf KB3033929 is not installed in your Windows, please install it from Windows Update or Microsoft website before installing SoftEther VPN. + SW_COMPONENTS_ABOUT_TAG About %s SW_COMPONENTS_REQUIRE_ADMIN Installation Requires Administrators Privileges diff --git a/src/bin/hamcore/strtable_tw.stb b/src/bin/hamcore/strtable_tw.stb index cef0f67c..15c20e0d 100644 --- a/src/bin/hamcore/strtable_tw.stb +++ b/src/bin/hamcore/strtable_tw.stb @@ -7165,6 +7165,7 @@ SW_WEB2_TITLE 指定資料夾 SW_UNINSTALLINFO_URL http://selinks.org/ SW_UNINSTALLINFO_PUBLISHER SoftEther VPN Project +SW_KB3033929_REQUIRED In Windows 7 and Windows Server 2008 R2, some SoftEther VPN functions require the Microsoft's Windows Update module KB3033929 installed.\r\n\r\nIf KB3033929 is not installed in your Windows, please install it from Windows Update or Microsoft website before installing SoftEther VPN. SW_COMPONENTS_ABOUT_TAG 關於 %s SW_COMPONENTS_REQUIRE_ADMIN 安裝需要管理員許可權