From 9f949dd99baaf5abab3e4aee82e92b4c9d9b4ed8 Mon Sep 17 00:00:00 2001 From: ge0rdi Date: Fri, 9 Jun 2023 17:52:18 +0200 Subject: [PATCH] Remove old updating mechanism We have our own updating already and don't plan to use old one. There is no need to keep it around. --- Src/Lib/DownloadHelper.cpp | 249 +------------ Src/Lib/DownloadHelper.h | 23 -- Src/Lib/LanguageSettingsHelper.cpp | 167 --------- Src/Lib/Lib.rc | 15 - Src/OpenShell.sln | 10 - Src/Setup/UpdateBin/Flags/gd-GB.bmp | Bin 848 -> 0 bytes Src/Setup/UpdateBin/UpdateBin.rc | Bin 13406 -> 0 bytes Src/Setup/UpdateBin/UpdateBin.vcxproj | 506 -------------------------- Src/Setup/UpdateBin/resource.h | 10 - Src/Setup/UpdateBin/update_4.1.0.txt | Bin 6560 -> 0 bytes Src/Setup/UpdateBin/update_4.2.0.txt | Bin 6560 -> 0 bytes Src/Setup/UpdateBin/update_4.2.1.txt | Bin 6642 -> 0 bytes Src/Setup/UpdateBin/update_4.2.2.txt | Bin 6642 -> 0 bytes Src/Setup/UpdateBin/update_4.2.3.txt | Bin 6642 -> 0 bytes Src/Setup/UpdateBin/update_4.2.4.txt | Bin 6184 -> 0 bytes Src/Setup/UpdateBin/update_4.2.5.txt | Bin 5754 -> 0 bytes Src/Setup/UpdateBin/update_4.2.6.txt | Bin 5754 -> 0 bytes Src/Setup/UpdateBin/update_4.2.7.txt | Bin 5754 -> 0 bytes Src/Setup/UpdateBin/update_4.3.0.txt | Bin 5876 -> 0 bytes Src/Setup/UpdateBin/update_4.3.1.txt | Bin 4886 -> 0 bytes Src/Setup/Utility/Utility.cpp | 257 ------------- Src/Update/Update.cpp | 63 +--- Src/Update/Update.rc | 2 - 23 files changed, 6 insertions(+), 1296 deletions(-) delete mode 100644 Src/Setup/UpdateBin/Flags/gd-GB.bmp delete mode 100644 Src/Setup/UpdateBin/UpdateBin.rc delete mode 100644 Src/Setup/UpdateBin/UpdateBin.vcxproj delete mode 100644 Src/Setup/UpdateBin/resource.h delete mode 100644 Src/Setup/UpdateBin/update_4.1.0.txt delete mode 100644 Src/Setup/UpdateBin/update_4.2.0.txt delete mode 100644 Src/Setup/UpdateBin/update_4.2.1.txt delete mode 100644 Src/Setup/UpdateBin/update_4.2.2.txt delete mode 100644 Src/Setup/UpdateBin/update_4.2.3.txt delete mode 100644 Src/Setup/UpdateBin/update_4.2.4.txt delete mode 100644 Src/Setup/UpdateBin/update_4.2.5.txt delete mode 100644 Src/Setup/UpdateBin/update_4.2.6.txt delete mode 100644 Src/Setup/UpdateBin/update_4.2.7.txt delete mode 100644 Src/Setup/UpdateBin/update_4.3.0.txt delete mode 100644 Src/Setup/UpdateBin/update_4.3.1.txt diff --git a/Src/Lib/DownloadHelper.cpp b/Src/Lib/DownloadHelper.cpp index aa65757..76408d6 100644 --- a/Src/Lib/DownloadHelper.cpp +++ b/Src/Lib/DownloadHelper.cpp @@ -4,7 +4,6 @@ #include #include "resource.h" -#include "..\Setup\UpdateBin\resource.h" #include "DownloadHelper.h" #include "Settings.h" #include "SettingsUIHelper.h" @@ -371,60 +370,6 @@ static DWORD WINAPI ThreadVersionCheck( void *param ) data.bNewVersion=(data.newVersion>curVersion); data.bIgnoreVersion=(data.bNewVersion && data.newVersion<=remindedVersion); } - { - wchar_t languages[100]={0}; - CString language2=GetSettingString(L"Language"); - if (!language2.IsEmpty()) - { - Strcpy(languages,_countof(languages)-1,language2); - } - else - { - ULONG size=0; - ULONG len=_countof(languages); - GetUserPreferredUILanguages(MUI_LANGUAGE_NAME,&size,languages,&len); - } - - bool bNewLanguage=false; - for (wchar_t *lang=languages;*lang;lang+=Strlen(lang)+1) - { - if (_wcsicmp(lang,L"en")==0 || _wcsnicmp(lang,L"en-",3)==0) - break; // English - DWORD dllVersion=0, dllBuild=0; - HINSTANCE resInstance=LoadTranslationDll(lang); - if (resInstance) - { - dllVersion=GetVersionEx(resInstance,&dllBuild); - FreeLibrary(resInstance); - } - - DWORD newVersion=0, newBuild=0; - for (std::vector::const_iterator it=data.languages.begin();it!=data.languages.end();++it) - { - if (_wcsicmp(it->language,lang)==0) - { - newVersion=it->version; - newBuild=it->build; - break; - } - } - if (newVersion==0) - continue; - - if (newVersion>dllVersion || (newVersion==dllVersion && newBuild>dllBuild)) - { - // a new DLL for this language exists - data.bNewLanguage=true; - data.newLanguage=lang; - data.encodedLangVersion=(newVersion&0xFFFF0000)|((newVersion&0xFF)<<8)|(newBuild&0xFF); - DWORD remindedVersion; - if (regKey.QueryDWORDValue(L"RemindedLangVersion",remindedVersion)!=ERROR_SUCCESS) - remindedVersion=0; - data.bIgnoreLanguage=(data.encodedLangVersion<=remindedVersion); - } - break; - } - } data.bValid=true; if (params.check==CHECK_UPDATE) @@ -433,7 +378,7 @@ static DWORD WINAPI ThreadVersionCheck( void *param ) g_bCheckingVersion=false; return 1; } - if ((data.bNewVersion && !data.bIgnoreVersion) || (data.bNewLanguage && !data.bIgnoreLanguage)) + if (data.bNewVersion && !data.bIgnoreVersion) params.callback(data); g_bCheckingVersion=false; return 0; @@ -576,39 +521,6 @@ static CString LoadStringEx( HMODULE hModule, int stringId, int langId ) return res; } -static BOOL CALLBACK EnumStringLanguages( HMODULE hModule, LPCTSTR lpszType, LPCTSTR lpszName, WORD wIDLanguage, LONG_PTR lParam ) -{ - VersionData &data=*(VersionData*)lParam; - CString url=LoadStringEx(hModule,IDS_LNG_URL,wIDLanguage); - if (url.IsEmpty()) return TRUE; - CString ver=LoadStringEx(hModule,IDS_LNG_VERSION,wIDLanguage); - if (ver.IsEmpty()) return TRUE; - CString crc=LoadStringEx(hModule,IDS_LNG_CRC,wIDLanguage); - if (crc.IsEmpty()) return TRUE; - - LanguageVersionData langData; - langData.bBasic=(ver[ver.GetLength()-1]=='*'); - - int v1, v2, v3, v4; - if (swscanf_s(ver,L"%d.%d.%d.%d",&v1,&v2,&v3,&v4)==4) - { - wchar_t buf[100]; - if (GetLocaleInfo(wIDLanguage,LOCALE_SNAME,buf,_countof(buf))) - { - langData.languageId=wIDLanguage; - langData.language=buf; - langData.version=(v1<<24)|(v2<<16)|v3; - langData.build=v4; - langData.url=url; - wchar_t *q; - langData.hash=wcstoul(crc,&q,16); - data.languages.push_back(langData); - } - } - - return TRUE; -} - static bool VerifyDigitalCertificate( const wchar_t *fname, const wchar_t *signer ) { // verify the certificate @@ -710,38 +622,24 @@ static bool VerifyDigitalCertificate( const wchar_t *fname, const wchar_t *signe void VersionData::Clear( void ) { bValid=false; - newVersion=encodedLangVersion=0; + newVersion=0; downloadUrl.Empty(); downloadSigner.Empty(); news.Empty(); - updateLink.Empty(); - languageLink.Empty(); - altUrl.Empty(); - bNewVersion=bIgnoreVersion=bNewLanguage=bIgnoreLanguage=false; - newLanguage.Empty(); - for (std::vector::iterator it=languages.begin();it!=languages.end();++it) - if (it->bitmap) - DeleteObject(it->bitmap); - languages.clear(); + updateLink="https://github.com/Open-Shell/Open-Shell-Menu/releases"; + bNewVersion=bIgnoreVersion=false; } void VersionData::Swap( VersionData &data ) { std::swap(bValid,data.bValid); std::swap(newVersion,data.newVersion); - std::swap(encodedLangVersion,data.encodedLangVersion); std::swap(downloadUrl,data.downloadUrl); std::swap(downloadSigner,data.downloadSigner); std::swap(news,data.news); std::swap(updateLink,data.updateLink); - std::swap(languageLink,data.languageLink); - std::swap(altUrl,data.altUrl); std::swap(bNewVersion,data.bNewVersion); std::swap(bIgnoreVersion,data.bIgnoreVersion); - std::swap(bNewLanguage,data.bNewLanguage); - std::swap(bIgnoreLanguage,data.bIgnoreLanguage); - std::swap(newLanguage,data.newLanguage); - std::swap(languages,data.languages); } std::vector DownloadUrl(const wchar_t* url) @@ -850,69 +748,6 @@ VersionData::TLoadResult VersionData::Load(bool official) } } -VersionData::TLoadResult VersionData::Load( const wchar_t *fname, bool bLoadFlags ) -{ - Clear(); - if (!VerifyDigitalCertificate(fname,L"Ivaylo Beltchev")) - return LOAD_BAD_FILE; - - HMODULE hModule=LoadLibraryEx(fname,NULL,LOAD_LIBRARY_AS_DATAFILE|LOAD_LIBRARY_AS_IMAGE_RESOURCE); - if (!hModule) return LOAD_BAD_FILE; - - if (GetVersionEx(hModule)!=GetVersionEx(g_Instance)) - { - FreeLibrary(hModule); - return LOAD_BAD_VERSION; - } - - wchar_t defLang[100]=L""; - { - CRegKey regKeyLng; - if (regKeyLng.Open(HKEY_LOCAL_MACHINE,L"Software\\OpenShell\\OpenShell",KEY_READ|KEY_WOW64_64KEY)==ERROR_SUCCESS) - { - ULONG size=_countof(defLang); - if (regKeyLng.QueryStringValue(L"DefaultLanguage",defLang,&size)!=ERROR_SUCCESS) - defLang[0]=0; - } - } - - const int DEFAULT_LANGUAGE=0x409; - - int defLangId; - if (!defLang[0] || !GetLocaleInfoEx(defLang,LOCALE_ILANGUAGE|LOCALE_RETURN_NUMBER,(LPWSTR)&defLangId,4)) - defLangId=DEFAULT_LANGUAGE; - - downloadUrl=LoadStringEx(hModule,IDS_INSTALL_URL,defLangId); - // these are always in en-US - downloadSigner=LoadStringEx(hModule,IDS_INSTALL_SIGNER,DEFAULT_LANGUAGE); - CString strVer=LoadStringEx(hModule,IDS_VERSION,defLangId); - if (strVer.IsEmpty()) - strVer=LoadStringEx(hModule,IDS_VERSION,DEFAULT_LANGUAGE); - updateLink=LoadStringEx(hModule,IDS_UPDATE_LINK,DEFAULT_LANGUAGE); - languageLink=LoadStringEx(hModule,IDS_LANGUAGE_LINK,DEFAULT_LANGUAGE); - altUrl=LoadStringEx(hModule,IDS_ALT_URL,DEFAULT_LANGUAGE); - - int v1, v2, v3; - if (!downloadUrl.IsEmpty() && swscanf_s(strVer,L"%d.%d.%d",&v1,&v2,&v3)==3) - { - newVersion=(v1<<24)|(v2<<16)|v3; - news=LoadStringEx(hModule,IDS_NEWS,defLangId); - if (news.IsEmpty()) - news=LoadStringEx(hModule,IDS_NEWS,DEFAULT_LANGUAGE); - - EnumResourceLanguages(hModule,RT_STRING,MAKEINTRESOURCE((IDS_LNG_URL>>4)+1),EnumStringLanguages,(LONG_PTR)this); - for (std::vector::iterator it=languages.begin();it!=languages.end();++it) - it->bitmap=(HBITMAP)LoadImage(hModule,MAKEINTRESOURCE(it->languageId),IMAGE_BITMAP,22,27,LR_CREATEDIBSECTION); - } - - FreeLibrary(hModule); - - if (newVersion && !downloadUrl.IsEmpty() && !news.IsEmpty()) - return LOAD_OK; - Clear(); - return LOAD_ERROR; -} - struct DownloadFileParams { // input @@ -989,82 +824,6 @@ static DWORD WINAPI ThreadDownloadFile( void *param ) return 0; } -DWORD DownloadLanguageDll( HWND owner, TSettingsComponent component, const LanguageVersionData &data, CString &error ) -{ - // download file - wchar_t path[_MAX_PATH]=L"%ALLUSERSPROFILE%\\OpenShell\\Languages"; - DoEnvironmentSubst(path,_countof(path)); - SHCreateDirectory(NULL,path); - wchar_t fname[_MAX_PATH]; - Sprintf(fname,_countof(fname),L"%s.dll",data.language); - - CProgressDlg progress; - progress.Create(owner,LoadStringEx(IDS_PROGRESS_TITLE_DOWNLOAD)); - - DownloadFileParams params; - params.url=data.url; - params.signer=NULL; - params.hash=data.hash; - params.path=path; - params.fname=fname; - params.progress=&progress; - params.bAcceptCached=true; - params.component=component; - - HANDLE hThread=CreateThread(NULL,0,ThreadDownloadFile,¶ms,0,NULL); - - while (1) - { - DWORD wait=MsgWaitForMultipleObjects(1,&hThread,FALSE,INFINITE,QS_ALLINPUT); - if (wait!=WAIT_OBJECT_0+1) - break; - MSG msg; - while (PeekMessage(&msg,0,0,0,PM_REMOVE)) - { - TranslateMessage(&msg); - DispatchMessage(&msg); - } - } - progress.DestroyWindow(); - CloseHandle(hThread); - - if (params.downloadRes==DOWNLOAD_CANCEL) - return 2; - if (params.downloadRes==DOWNLOAD_INTERNET) - { - error=LoadStringEx(IDS_INTERNET_FAIL); - return 0; - } - else if (params.downloadRes==DOWNLOAD_START) - { - error=LoadStringEx(IDS_INITIATE_FAIL); - return 0; - } - else if (params.downloadRes==DOWNLOAD_FAIL) - { - error=LoadStringEx(IDS_LANG_DOWNLOAD_FAIL); - return 0; - } - - if (params.saveRes) - { - wchar_t msg[256]; - FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL,params.saveRes,0,msg,_countof(msg),NULL); - error.Format(LoadStringEx(IDS_LANG_SAVE_FAIL),params.fname); - error+="\r\n"; - error+=msg; - return 0; - } - - if (!params.valid) - { - error=LoadStringEx(IDS_LANG_DOWNLOAD_FAIL); - return 0; - } - - return 1; -} - DWORD DownloadNewVersion( HWND owner, TSettingsComponent component, const wchar_t *url, const wchar_t *signer, CString &fname, CString &error ) { CComString pPath; diff --git a/Src/Lib/DownloadHelper.h b/Src/Lib/DownloadHelper.h index 20d5d02..12e8bec 100644 --- a/Src/Lib/DownloadHelper.h +++ b/Src/Lib/DownloadHelper.h @@ -15,37 +15,16 @@ enum TVersionCheck enum TSettingsComponent; -struct LanguageVersionData -{ - CString language; - CString url; - DWORD version; - DWORD build; - DWORD hash; - bool bBasic; - WORD languageId; - HBITMAP bitmap; - - LanguageVersionData( void ) { bBasic=false; bitmap=NULL; } -}; - struct VersionData { bool bValid = false; DWORD newVersion = 0; - DWORD encodedLangVersion = 0; CString downloadUrl; CString downloadSigner; CString news; CString updateLink; - CString languageLink; - CString altUrl; bool bNewVersion = false; bool bIgnoreVersion = false; - bool bNewLanguage = false; - bool bIgnoreLanguage = false; - CString newLanguage; - std::vector languages; ~VersionData( void ) { Clear(); } void Clear( void ); @@ -60,7 +39,6 @@ struct VersionData }; TLoadResult Load(bool official); - TLoadResult Load( const wchar_t *fname, bool bLoadFlags ); private: void operator=( const VersionData& ); }; @@ -69,5 +47,4 @@ typedef void (*tNewVersionCallback)( VersionData &data ); // 0 - fail, 1 - success, 2 - cancel DWORD CheckForNewVersion( HWND owner, TSettingsComponent component, TVersionCheck check, tNewVersionCallback callback ); -DWORD DownloadLanguageDll( HWND owner, TSettingsComponent component, const LanguageVersionData &data, CString &error ); DWORD DownloadNewVersion( HWND owner, TSettingsComponent component, const wchar_t *url, const wchar_t *signer, CString &fname, CString &error ); diff --git a/Src/Lib/LanguageSettingsHelper.cpp b/Src/Lib/LanguageSettingsHelper.cpp index ad35b04..a9c4c63 100644 --- a/Src/Lib/LanguageSettingsHelper.cpp +++ b/Src/Lib/LanguageSettingsHelper.cpp @@ -68,17 +68,13 @@ public: MESSAGE_HANDLER( WM_INITDIALOG, OnInitDialog ) MESSAGE_HANDLER( WM_DESTROY, OnDestroy ) MESSAGE_HANDLER( WM_SIZE, OnSize ) - COMMAND_ID_HANDLER( IDC_BUTTONCHECK, OnCheckUpdates ) NOTIFY_HANDLER( IDC_LISTLANGUAGE, LVN_ITEMCHANGED, OnSelChange ) NOTIFY_HANDLER( IDC_LISTLANGUAGE, LVN_ITEMCHANGING, OnSelChanging ) NOTIFY_HANDLER( IDC_LISTLANGUAGE, NM_CUSTOMDRAW, OnCustomDraw ) - NOTIFY_HANDLER( IDC_LINKDOWNLOAD, NM_CLICK, OnDownload ) END_MSG_MAP() BEGIN_RESIZE_MAP RESIZE_CONTROL(IDC_LISTLANGUAGE,MOVE_SIZE_X|MOVE_SIZE_Y) - RESIZE_CONTROL(IDC_BUTTONCHECK,MOVE_MOVE_Y) - RESIZE_CONTROL(IDC_LINKDOWNLOAD,MOVE_SIZE_X|MOVE_MOVE_Y) END_RESIZE_MAP void SetGroup( CSetting *pGroup ); @@ -92,11 +88,9 @@ protected: LRESULT OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); LRESULT OnDestroy( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); LRESULT OnSize( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnCheckUpdates( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); LRESULT OnSelChange( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); LRESULT OnSelChanging( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); LRESULT OnCustomDraw( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - LRESULT OnDownload( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); private: CSetting *m_pSetting; @@ -114,17 +108,12 @@ private: bool operator<( const LangInfo &info ) { return _wcsicmp(name,info.name)<0; } }; std::vector m_LanguageIDs; // the order matches the items in the listbox - static VersionData s_VersionData; - static void NewVersionCallback( VersionData &data ); void UpdateFlags( void ); - void UpdateLink( const wchar_t *language ); void AddFlag( const wchar_t *langName, int langId, HBITMAP bmp ); }; -VersionData CLanguageSettingsDlg::s_VersionData; - void CLanguageSettingsDlg::AddFlag( const wchar_t *langName, int langId, HBITMAP bmp ) { int idx=1; @@ -156,39 +145,6 @@ void CLanguageSettingsDlg::AddFlag( const wchar_t *langName, int langId, HBITMAP void CLanguageSettingsDlg::UpdateFlags( void ) { - // add flags from s_VersionData - for (std::vector::const_iterator it=s_VersionData.languages.begin();it!=s_VersionData.languages.end();++it) - { - if (it->bitmap) - { - BITMAPINFO bi={0}; - bi.bmiHeader.biSize=sizeof(BITMAPINFOHEADER); - bi.bmiHeader.biWidth=m_bLargeFlags?32:24; - bi.bmiHeader.biHeight=m_bLargeFlags?16:11; - bi.bmiHeader.biPlanes=1; - bi.bmiHeader.biBitCount=32; - - HDC hdc=CreateCompatibleDC(NULL); - HBITMAP bmp=CreateDIBSection(hdc,&bi,DIB_RGB_COLORS,NULL,NULL,0); - HGDIOBJ bmp0=SelectObject(hdc,bmp); - HDC hsrc=CreateCompatibleDC(hdc); - HGDIOBJ bmp02=SelectObject(hsrc,it->bitmap); - SetDCBrushColor(hdc,0xFF00FF); - RECT rc={0,0,bi.bmiHeader.biWidth,bi.bmiHeader.biHeight}; - FillRect(hdc,&rc,(HBRUSH)GetStockObject(DC_BRUSH)); - if (m_bLargeFlags) - BitBlt(hdc,3,0,22,16,hsrc,0,11,SRCCOPY); - else - BitBlt(hdc,2,0,16,11,hsrc,0,0,SRCCOPY); - SelectObject(hsrc,bmp02); - DeleteDC(hsrc); - SelectObject(hdc,bmp0); - DeleteDC(hdc); - AddFlag(it->language,it->languageId,bmp); - DeleteObject(bmp); - } - } - // add flags from dlls for (int pass=0;pass<2;pass++) { @@ -288,7 +244,6 @@ LRESULT CLanguageSettingsDlg::OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lPa ListView_SetExtendedListViewStyleEx(list,LVS_EX_DOUBLEBUFFER,LVS_EX_DOUBLEBUFFER); LVCOLUMN column={LVCF_WIDTH,0,rc.right-rc.left}; ListView_InsertColumn(list,0,&column); - SetDlgItemText(IDC_LINKDOWNLOAD,L""); m_LanguageIDs.resize(_countof(g_LanguageIDs)+1); { @@ -331,11 +286,6 @@ LRESULT CLanguageSettingsDlg::OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lPa ListView_InsertItem(list,&item); } - // parse update.ver in data and add all flags - wchar_t path[_MAX_PATH]=L"%ALLUSERSPROFILE%\\OpenShell\\update.ver"; - DoEnvironmentSubst(path,_countof(path)); - s_VersionData.bValid=(s_VersionData.Load(path,true)==VersionData::LOAD_OK); - UpdateFlags(); m_Tooltip.Create(TOOLTIPS_CLASS,m_hWnd,NULL,NULL,WS_POPUP|TTS_NOPREFIX); @@ -359,40 +309,6 @@ LRESULT CLanguageSettingsDlg::OnSize( UINT uMsg, WPARAM wParam, LPARAM lParam, B return 0; } -void CLanguageSettingsDlg::NewVersionCallback( VersionData &data ) -{ - s_VersionData.Swap(data); -} - -LRESULT CLanguageSettingsDlg::OnCheckUpdates( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - DWORD res=CheckForNewVersion(m_hWnd,m_Component,CHECK_UPDATE,NewVersionCallback); - if (res==2) return 0; - if (res) - { - UpdateFlags(); - CString language=GetSettingString(L"Language"); - CWindow list=GetDlgItem(IDC_LISTLANGUAGE); - for (int idx=0;idx<(int)m_LanguageIDs.size();idx++) - { - const wchar_t *name=idx>0?m_LanguageIDs[idx].name.GetString():L""; - if (_wcsicmp(language,name)==0) - { - ListView_SetItemState(list,idx,LVIS_SELECTED|LVIS_FOCUSED,LVIS_SELECTED|LVIS_FOCUSED); - ListView_EnsureVisible(list,idx,FALSE); - break; - } - } - UpdateLink(language); - } - else - { - s_VersionData.Clear(); - SetDlgItemText(IDC_LINKDOWNLOAD,LoadStringEx(IDS_LANGUAGE_FAIL)); - } - return 0; -} - LRESULT CLanguageSettingsDlg::OnSelChange( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) { // set setting @@ -411,7 +327,6 @@ LRESULT CLanguageSettingsDlg::OnSelChange( int idCtrl, LPNMHDR pnmh, BOOL& bHand m_pSetting->flags|=CSetting::FLAG_DEFAULT; else m_pSetting->flags&=~CSetting::FLAG_DEFAULT; - UpdateLink(name); return 0; } @@ -448,41 +363,6 @@ static HRESULT CALLBACK TaskDialogCallbackProc( HWND hwnd, UINT uNotification, W return S_OK; } -LRESULT CLanguageSettingsDlg::OnDownload( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - CString language=GetSettingString(L"Language"); - if (language.IsEmpty()) - language=m_LanguageIDs[0].name; - - for (std::vector::const_iterator it=s_VersionData.languages.begin();it!=s_VersionData.languages.end();++it) - { - if (_wcsicmp(it->language,language)==0) - { - CString error; - DWORD res=DownloadLanguageDll(m_hWnd,m_Component,*it,error); - if (res==2) - return 0; - if (res) - MessageBox(LoadStringEx(it->bBasic?IDS_LANGUAGE_SUCCESS2:IDS_LANGUAGE_SUCCESS),LoadStringEx(IDS_UPDATE_TITLE),MB_OK|(it->bBasic?MB_ICONWARNING:MB_ICONINFORMATION)); - else - { - if (!s_VersionData.languageLink.IsEmpty()) - error+=L" "+LoadStringEx(IDS_DOWNLOAD_TIP)+L"\r\n\r\n"+s_VersionData.languageLink; - TASKDIALOGCONFIG task={sizeof(task),m_hWnd,NULL,TDF_ENABLE_HYPERLINKS|TDF_ALLOW_DIALOG_CANCELLATION|TDF_USE_HICON_MAIN,TDCBF_OK_BUTTON}; - CString title=LoadStringEx(IDS_UPDATE_TITLE); - task.pszWindowTitle=title; - task.pszContent=error; - task.hMainIcon=LoadIcon(NULL,IDI_ERROR); - task.pfCallback=TaskDialogCallbackProc; - TaskDialogIndirect(&task,NULL,NULL,NULL); - } - UpdateLink(language); - break; - } - } - return 0; -} - void CLanguageSettingsDlg::SetGroup( CSetting *pGroup ) { m_bLocked=false; @@ -504,7 +384,6 @@ void CLanguageSettingsDlg::SetGroup( CSetting *pGroup ) break; } } - UpdateLink(m_pSetting->value.bstrVal); m_bLocked=m_pSetting->IsLocked(); TOOLINFO tool={sizeof(tool),0,m_hWnd,'CLSH'}; @@ -517,52 +396,6 @@ void CLanguageSettingsDlg::SetGroup( CSetting *pGroup ) ListView_SetBkColor(list,GetSysColor(m_bLocked?COLOR_BTNFACE:COLOR_WINDOW)); } -void CLanguageSettingsDlg::UpdateLink( const wchar_t *language ) -{ - TOOLINFO tool={sizeof(tool),TTF_SUBCLASS|TTF_IDISHWND,m_hWnd,'CLSH'}; - tool.uId=(UINT_PTR)GetDlgItem(IDC_LINKDOWNLOAD).m_hWnd; - m_Tooltip.SendMessage(TTM_DELTOOL,0,(LPARAM)&tool); - - if (!s_VersionData.bValid) - { - SetDlgItemText(IDC_LINKDOWNLOAD,L""); - return; - } - if (!*language) - language=m_LanguageIDs[0].name; - - wchar_t text[1024]; - for (std::vector::const_iterator it=s_VersionData.languages.begin();it!=s_VersionData.languages.end();++it) - { - if (_wcsicmp(it->language,language)==0) - { - DWORD dllVersion=0, dllBuild=0; - HINSTANCE resInstance=LoadTranslationDll(language); - if (resInstance) - { - dllVersion=GetVersionEx(resInstance,&dllBuild); - FreeLibrary(resInstance); - } - if (it->version>dllVersion || (it->version==dllVersion && it->build>dllBuild)) - { - Sprintf(text,_countof(text),LoadStringEx(IDS_LANGUAGE_DOWNLOAD),language); - SetDlgItemText(IDC_LINKDOWNLOAD,text); - - tool.lpszText=(LPWSTR)(LPCWSTR)it->url; - m_Tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - } - else - { - Sprintf(text,_countof(text),LoadStringEx(IDS_LANGUAGE_UPDATED),language); - SetDlgItemText(IDC_LINKDOWNLOAD,text); - } - return; - } - } - Sprintf(text,_countof(text),LoadStringEx(IDS_LANGUAGE_MISSING),language); - SetDlgItemText(IDC_LINKDOWNLOAD,text); -} - class CLanguageSettingsPanel: public ISettingsPanel { public: diff --git a/Src/Lib/Lib.rc b/Src/Lib/Lib.rc index 479584a..d34dbaf 100644 --- a/Src/Lib/Lib.rc +++ b/Src/Lib/Lib.rc @@ -98,8 +98,6 @@ FONT 9, "Segoe UI", 400, 0, 0x0 BEGIN CONTROL "",IDC_LISTLANGUAGE,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOCOLUMNHEADER | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,7,18,302,99 LTEXT "Select a language for the user interface:",IDC_STATICHINT,7,7,131,8 - PUSHBUTTON "&Check for Updates",IDC_BUTTONCHECK,7,123,75,14 - CONTROL "download link goes here",IDC_LINKDOWNLOAD,"SysLink",WS_TABSTOP,85,126,224,10 END IDD_CUSTOMTREE DIALOGEX 0, 0, 365, 183 @@ -279,20 +277,12 @@ BEGIN IDS_SETTING_SEARCH "Search Results" IDS_WEBSITE_TIP "Visit Open-Shell on the web - https://open-shell.github.io/Open-Shell-Menu" IDS_LOCATE_SETTING "Locate setting" - IDS_LANGUAGE_UPDATED "The language %s is up to date." - IDS_LANGUAGE_MISSING "Update for language %s is not available." - IDS_LANGUAGE_DOWNLOAD "New update for language %s is available. Click here to install it." - IDS_LANGUAGE_SUCCESS "The language file was installed successfully.\nYou need to log off and back on for the update to take effect." - IDS_LANGUAGE_SUCCESS2 "The language file was installed successfully.\nYou need to log off and back on for the update to take effect.\n\nNote: This update provides only basic translations. It supports only the main text found in the start menu and in Explorer. The settings will not be translated." - IDS_LANGUAGE_FAIL "Failed to check for updates." IDS_INTERNET_FAIL "Failed to connect to the Internet." END STRINGTABLE BEGIN IDS_INITIATE_FAIL "Failed to initiate the download." - IDS_LANG_DOWNLOAD_FAIL "Failed to download the language file." - IDS_LANG_SAVE_FAIL "Failed to save language file '%s'." IDS_UPDATE_TITLE "Open-Shell Update" IDS_INST_DOWNLOAD_FAIL "Failed to download the new version." IDS_INST_SAVE_FAIL "Failed to save file '%s'." @@ -308,11 +298,6 @@ BEGIN IDS_UNSAVED_TITLE "Unsaved changes" END -STRINGTABLE -BEGIN - IDS_VERSION_URL "http://www.classicshell.net/files/updates/update_" -END - #endif // English (U.S.) resources ///////////////////////////////////////////////////////////////////////////// diff --git a/Src/OpenShell.sln b/Src/OpenShell.sln index f29cef0..192313d 100644 --- a/Src/OpenShell.sln +++ b/Src/OpenShell.sln @@ -54,8 +54,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Win8", "Skins\Win8\Win8.vcx EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "StartMenuHelper", "StartMenu\StartMenuHelper\StartMenuHelper.vcxproj", "{A42C6159-ACA8-46D1-A0FB-19C398B137D5}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UpdateBin", "Setup\UpdateBin\UpdateBin.vcxproj", "{F92A5473-F9E0-412F-923C-6632A66D13C1}" -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Utility", "Setup\Utility\Utility.vcxproj", "{DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Midnight7", "Skins\Midnight7\Midnight7.vcxproj", "{7BD26CB3-5280-48FD-9A86-C13E321018D5}" @@ -320,13 +318,6 @@ Global {A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Setup|Win32.Build.0 = Setup|Win32 {A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Setup|x64.ActiveCfg = Setup|x64 {A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Setup|x64.Build.0 = Setup|x64 - {F92A5473-F9E0-412F-923C-6632A66D13C1}.Debug|Win32.ActiveCfg = update_4.3.1|Win32 - {F92A5473-F9E0-412F-923C-6632A66D13C1}.Debug|x64.ActiveCfg = update_4.2.7|Win32 - {F92A5473-F9E0-412F-923C-6632A66D13C1}.Release|Win32.ActiveCfg = update_4.2.7|Win32 - {F92A5473-F9E0-412F-923C-6632A66D13C1}.Release|Win32.Build.0 = update_4.2.7|Win32 - {F92A5473-F9E0-412F-923C-6632A66D13C1}.Release|x64.ActiveCfg = update_4.2.7|Win32 - {F92A5473-F9E0-412F-923C-6632A66D13C1}.Setup|Win32.ActiveCfg = update_4.2.7|Win32 - {F92A5473-F9E0-412F-923C-6632A66D13C1}.Setup|x64.ActiveCfg = update_4.3.0|Win32 {DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Debug|Win32.ActiveCfg = Debug|Win32 {DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Debug|Win32.Build.0 = Debug|Win32 {DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Debug|x64.ActiveCfg = Debug|x64 @@ -434,7 +425,6 @@ Global {31C016FB-9EA1-4AF5-987A-37210C04DA06} = {409484D8-C0DB-4991-AF03-124128EDEF98} {5C875214-0E3A-4CF0-BC0C-BFF6FAA4C089} = {409484D8-C0DB-4991-AF03-124128EDEF98} {ED74EBA9-1BCB-4B8F-9AE1-DC63B3C24A94} = {409484D8-C0DB-4991-AF03-124128EDEF98} - {F92A5473-F9E0-412F-923C-6632A66D13C1} = {B695E1F6-785D-45CB-BCE0-0E9635DFC1DE} {DAE66C9B-05DC-4ACE-97DA-2547B490BBFF} = {B695E1F6-785D-45CB-BCE0-0E9635DFC1DE} {7BD26CB3-5280-48FD-9A86-C13E321018D5} = {409484D8-C0DB-4991-AF03-124128EDEF98} {598AB4AC-008E-4501-90B3-C5213834C1DA} = {409484D8-C0DB-4991-AF03-124128EDEF98} diff --git a/Src/Setup/UpdateBin/Flags/gd-GB.bmp b/Src/Setup/UpdateBin/Flags/gd-GB.bmp deleted file mode 100644 index a3cabea63e1f361cca7fc9c69bae281ef3c1a9e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 848 zcmZ?r4Pa&f12Z700mKqO%nihhU={;|6i{9WC;-AR@Sov75IuVI=)r>rhnrQ~85sIm z8D`5fOcrM7=Vj<-XXs=Ep;88hR0f8np$u2R0HO<%ygWbj_wV1oe*OCS82lFx~Ck6sI$Nw)+b#Pj;Dp`uOG(7_3cXz%&6OGFO!0{^m-cIUu8c{(N{~;=U}s zBNdv5N|m?A%H7=705squ7@VH$p2&dHoUQ&0*XCuNYWDna_XxzOZ=c^BF4I3)r1km3 zi!WckeE$6T$=UUrA_VrA8aLxMXL~Tiy$$(SrumH!r*K3{10S%pX+i%HtKMN)&?KdV-500YNby1 zS-0XgXKysagDqv(=0u!n4tcbv`Olv}&|v@h6XL2Ht1@;bs2(g=I6K+ClND$9?2l)- zy|nVuq?j+yul@ytAD>^HZgxLa@AUPnqaBar^7>&f5QA@aOl}`y0xy&n>yTuHf#v+`DTs zZ>~ta(4Tm1e$4l;?;xff?X|^~et_v22yV{yUailt*^^;!EW^%FhV6k2o4pw}x-)Ea aWtgwbFp+`baINg!yLYc#xrAvB0|Nkr6#+E> diff --git a/Src/Setup/UpdateBin/UpdateBin.rc b/Src/Setup/UpdateBin/UpdateBin.rc deleted file mode 100644 index 3849c02d2942f1854133c1f1dd71af6b77adbdd0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13406 zcmdU$Yfl?T7=`C6mHHnnJ~dK}@5ZjuO4wjRLIT1jRjWvmF&GFJ8{5Rdk8k^&84v5V zAxpHTVYOQCZFcsZIcMJ6jQ{;7V_xd^v-!!&mNGSSZO+ZHX`6vL<@eI0%rA3yUm3lj zecP;=4`$QsbKEo=l+KzP_PqIZa-O>{+cYh+XSQtl7UgTay)IkXaX`5kbzVmhYB{fyC_bM9pLEz*X9`D!Y>H8fwSr^t3- zZn>Y~cx=+hvB}$qls@NsfdsjU1Vx?}*mLaJP>KAcMBX$^nR@Fy-!P>~nGIUHe&70+ zihagPDCttje?s3~(sx64A>X2J+qS1iJn8YQO)m-C7H6mQsyGtOhhj`VxrL)ZzC8`Gx0-ZOw?*9U}dht88;9^+1P8DAYS;3w#CJ!W zX}^LcW6M^3H%)K;iL7xrSb~FVaCD8@%ltYfCy|49Akv{%#J@VYxGQO+Xr7f~@+^+t znPpf8jIWXUg5L_rQ5%e#yy0=)M9D5dC4X||`u1>7xJA!5FSf+Ry zrcNDscvj+Ag>6Y?*#^CJj2$>-^f@iF&z)07rhJN&X>#W6LbS%I#^zjkV%Y*eBVb6* ztWKVOK)NyKvd<|z8jTcLJK5wEsCysf6Zb!H@AntIc`5xdO&fNwlk(jHDlWj4oKG?{r!I_I~8eA*#3YSTl&t{i*cF^wo zjI0*d;S%ocaG7w4r`F*mXxR916FJ{A+M4Dak}H0c*4v(uHYn?3%-Iq<)Zm^K=iY9a zzi6G0Pjhq6o3yz`o2N@5`3GcjzHWyUaI*wbKa=j?xBOATM3zSf)3or@3)@&E|Nd(e7u~+Gdp2lAWv{6 zUTRN5uBSntNi+CJTi3E!9qvYZz4h2$?{nvKy0ph}Rn|RDTrZ#0~tJN@HXl>fO zC60;GFyGD=D@&;S-8wp^kl>kucZ>>`|8cXF!F4q9FJpc(529VHh;p|*bY%tf?>MjU zd%$=<<8GQbGp;|82k}*q)+|IN!HBP8V_jZJ(UvlzE)zJQ?_6$d80ovpy8gIPANZ1e z^!gclpOH8Qb7lP6;NC&+-+;YlD$}%aJ94ytdv03DS7`GFdjqYXR9(MoM@W#fch?T} z=p2YvmWAUoOxk1JFJK8RZm@XpxXV<-BaMmoHh1ZClD9 z-oUO%zZB3kNyUB-{o-bxgNP-3FB*B5>2n!up9}iGRz1!8lULZ0E0`=FUy-W($Rc+x ztv8T?4e~CO@qdaxS)!EBOuLMVU;R`9b*(;FtJz;=ox)eEQ^~LQM9&(hEY~5n_xetiMQw0 zF8b96{*JP-(JWhk5!U4dtPk*CD~$RZel=&OD~%v|uS0Z==A7cLIgxcymSUZ)#4)MX zrA5yS=%K)W^>>c&&!SOp{6N&_ElVED(F6ZBTM4Uq$hl&$9{OLoP|b*HO=EQ2>N6F& zkX{NbOV(NzWkWUll2r6}=@mEE=`G6^*E)|vJ`d-AT(mlmeAQ+oPwiO0!NWX47i;v( z!|Z~5msTl5`84Do_bF=VdAHuIPW`KiMSgxobrT(+`Fdr>l?{+B5W>FXQ&zbKtEuyL zzEQsB_xPF5AI)l2a|eDe+S`zadBA=SC$vsXtHZRyf5> - - - - update_4.1.0 - Win32 - - - update_4.2.0 - Win32 - - - update_4.2.1 - Win32 - - - update_4.2.2 - Win32 - - - update_4.2.3 - Win32 - - - update_4.2.4 - Win32 - - - update_4.2.5 - Win32 - - - update_4.2.6 - Win32 - - - update_4.2.7 - Win32 - - - update_4.3.0 - Win32 - - - update_4.3.1 - Win32 - - - - {F92A5473-F9E0-412F-923C-6632A66D13C1} - UpdateBin - Win32Proj - 10.0 - - - - DynamicLibrary - v143 - Unicode - - - DynamicLibrary - v143 - Unicode - - - DynamicLibrary - v143 - Unicode - - - DynamicLibrary - v143 - Unicode - - - DynamicLibrary - v143 - Unicode - - - DynamicLibrary - v143 - Unicode - - - DynamicLibrary - v143 - Unicode - - - DynamicLibrary - v143 - Unicode - - - DynamicLibrary - v143 - Unicode - - - DynamicLibrary - v143 - Unicode - - - DynamicLibrary - v143 - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - $(Configuration)\ - $(Configuration)\ - false - false - - - $(Configuration)\ - $(Configuration)\ - false - false - - - $(Configuration)\ - $(Configuration)\ - false - false - - - $(Configuration)\ - $(Configuration)\ - false - false - - - $(Configuration)\ - $(Configuration)\ - false - false - - - $(Configuration)\ - $(Configuration)\ - false - false - - - $(Configuration)\ - $(Configuration)\ - false - false - - - $(Configuration)\ - $(Configuration)\ - false - false - - - $(Configuration)\ - $(Configuration)\ - false - false - - - $(Configuration)\ - $(Configuration)\ - false - false - - - $(Configuration)\ - $(Configuration)\ - false - false - - - - ..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc - - - MaxSpeed - true - WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions) - MultiThreadedDLL - true - - Level3 - ProgramDatabase - - - ..\Final\$(Configuration).ver - false - Windows - true - true - true - - - - - ..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc - - - MaxSpeed - true - WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions) - MultiThreadedDLL - true - - Level3 - ProgramDatabase - - - ..\Final\$(Configuration).ver - false - Windows - true - true - true - - - - - ..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc - - - MaxSpeed - true - WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions) - MultiThreadedDLL - true - - Level3 - ProgramDatabase - - - ..\Final\$(Configuration).ver - false - Windows - true - true - true - - - - - ..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc - - - MaxSpeed - true - WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions) - MultiThreadedDLL - true - - Level3 - ProgramDatabase - - - ..\Final\$(Configuration).ver - false - Windows - true - true - true - - - - - ..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc - - - MaxSpeed - true - WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions) - MultiThreadedDLL - true - - Level3 - ProgramDatabase - - - ..\Final\$(Configuration).ver - false - Windows - true - true - true - - - - - ..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc - - - MaxSpeed - true - WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions) - MultiThreadedDLL - true - - Level3 - ProgramDatabase - - - ..\Final\$(Configuration).ver - false - Windows - true - true - true - - - - - ..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc - - - MaxSpeed - true - WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions) - MultiThreadedDLL - true - - Level3 - ProgramDatabase - - - ..\Final\$(Configuration).ver - false - Windows - true - true - true - - - - - ..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc - - - MaxSpeed - true - WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions) - MultiThreadedDLL - true - - Level3 - ProgramDatabase - - - ..\Final\$(Configuration).ver - false - Windows - true - true - true - - - - - ..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc - - - MaxSpeed - true - WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions) - MultiThreadedDLL - true - - Level3 - ProgramDatabase - - - ..\Final\$(Configuration).ver - false - Windows - true - true - true - - - - - ..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc - - - MaxSpeed - true - WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions) - MultiThreadedDLL - true - - Level3 - ProgramDatabase - - - ..\Final\$(Configuration).ver - false - Windows - true - true - true - - - - - ..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc - - - MaxSpeed - true - WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions) - MultiThreadedDLL - true - - Level3 - ProgramDatabase - - - ..\Final\$(Configuration).ver - false - Windows - true - true - true - - - - - - - - - - - - - - - - - - - - - - - - {dae66c9b-05dc-4ace-97da-2547b490bbff} - false - - - - - - \ No newline at end of file diff --git a/Src/Setup/UpdateBin/resource.h b/Src/Setup/UpdateBin/resource.h deleted file mode 100644 index 06d0a79..0000000 --- a/Src/Setup/UpdateBin/resource.h +++ /dev/null @@ -1,10 +0,0 @@ -#define IDS_VERSION 16 -#define IDS_NEWS 17 -#define IDS_INSTALL_URL 18 -#define IDS_INSTALL_SIGNER 19 -#define IDS_LNG_URL 20 -#define IDS_LNG_VERSION 21 -#define IDS_LNG_CRC 22 -#define IDS_UPDATE_LINK 23 -#define IDS_LANGUAGE_LINK 24 -#define IDS_ALT_URL 25 diff --git a/Src/Setup/UpdateBin/update_4.1.0.txt b/Src/Setup/UpdateBin/update_4.1.0.txt deleted file mode 100644 index 6c4ba5a35ec51e826397a128185ac7b4b190ab3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6560 zcmd6s>rWd;6vgl7O8p;J{aAJF@CYF&i4;;uXvsqXntq5>`Gqmq*w|}>9pztd`#UpC zc8zy&w!%`ivb~R)x#ymH?w#53KYxF*_jYK%+F$mE?b%2BYMWNEH9n8*NBhCP*gNij zy7PR)weio7?7&{TR_c9V6RX+Oy4JVIcCE!(VhuavY;rr|iG9H0OFL%dul9`g5zmLT zIJM{Y6XyxXz;>+4aqW%@V{~ab;^=TbawB%RSFuZaCiHvp-EE&SZjJWdgF~>q!-o@o zUxVrB0Z~;!HpJE?h=o4^ecxS`!CO2^z9;*)QS}k6z|m(u`aZ;Z0~}p&%rbaB)1zxm zT1;Sbhzizj72r8KfT1HIwnMC1;E!QTJpH#=Rk743T9?@DgQ5vL)mwgAoF})D$y#k< zH%2$o%&M%)#-hKc@Dba-%Z^o9mW@Tr9hiv8spA#;EE|iK2Sg(#PY+jUSvD3e4{eO) zkLYW4ah8om%QJKp+bfj5I?J-rK=(z~kEyk*wVsf7vhERt+NZp(TO0p(sewfZdgMow z%2A_IcTjALn$jSHdt~q3jIL5cnzl}x$F!bOO*W`0o3=%T>Cvm2u~(s`YWX6j!oYFE2usDaN$C9+bs2LJ@6HJ%OPq$GYRKZRcRC!d|F9#hBV4 zkBQu_{ro`Ddjcz4u(3@&9x)rQ^O+H&N8nMsQ;Wr@&Rj0PxhI#)F||d^q^EP3>e*8& z*O^^8Wo_Vpl`GW_*(=7hyr!1JG)Dh@w49)yCJ5HKx^g;iJDyT|#h4W5*nXqlK1}9K zz|+F|6}r;O;|ksea5mwp3s0%NVoVqK5!>(g%zEW`(u!^q)l6LGJwaD%Ai6~%QwJQ%xl`ELgdbtr=FSAwx51R!TZZYrHC#DNGom#? z+fPxD(2SXruZV@J`qOWiWG{=!ucG#;l6s%j$}XL&zv7?XL)*mtbLM^pE%eBsbY1n**SA2@$iCFD_)J0tiVaP;vn z;aW-<^83ko?$@^?uJvXd!L6du`Nl_$wo~q(FhbMS0sk&3o3eMzy%F)O^Q%#HE=Dzm zR)3LerJWM(7PP^n6?qK>UT`IxW9|#5R@|y6L;HoRgqAmakGXESJL<1?;YqefmVpr0 zxAaS}q!qaKR#I#cao76gjC(zYOCD;!MS2Jxh^ZD&1BTHz70K^lMasVfW#q=`xbf26 zkUU&9{O>qSiDNdwXYD>{4XC+V{t1O<0DmSgeC$$d{{6(G*FJ;Lip?Hp@=QJF+eFT$ zyv##Ycb0`kE2~r`d*IUCthgvcG`jH4M^u{9K8tTL;#YfJUI7{{jh*kSvBa!U&S*Dq zZL~T#<4VfS!=5zfl<&||`!YVtLK<}JtHNFHv#7p5)5O@= z`4*x27E!NrM=@=d@N+~DF(Yl<<=4mLPkT#sRP3ZL?KovsQKW_)hasY^j*cz4wf%4mBK8;wmWO1G^=8EDMR0+n}Xpt~@)7JcNAldQ^^fGq!}wXIHA!KAZ}f zYLqI|yk7G>7WQl%&O?^&*lKk7A%->nBIYnhgc#-5zWjVtJy*nhUa9&G-?62Y7 zfTvk)2IhUA`C6CtrA*HG8n}mk!mK0v*UnqNE2)u-=1kQmUymZts;+rXe8rV!vbf&! zRC-s;G~bw`y|Y-DHH#r25SKwj*#I9}qds<7rs{r@l@*|c`6I>*!xL CKwzf; diff --git a/Src/Setup/UpdateBin/update_4.2.0.txt b/Src/Setup/UpdateBin/update_4.2.0.txt deleted file mode 100644 index 3c5e5b82a792c679520f323962c3393cfc0c3d3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6560 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 diff --git a/Src/Setup/UpdateBin/update_4.2.2.txt b/Src/Setup/UpdateBin/update_4.2.2.txt deleted file mode 100644 index 2b6311e807f88d85f885320f8eda8b600403a575..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6642 zcmd6sTW{M&5QXQtK>q`g=SqsCxQ>G)K$0e@TRRCHr!9&Ag-pqotgCgitssBB?RR#y zAZ3wOSV%xYP$rkloij6M&Mw#g{Qbq=+mZcbf7x&L+D`1NJ+iXZ-1)tIXJ70c?Z4l7 zUgvq${PT}?Xm4FFy?tnNYuK&zY-o|av=&!Wi>=MoeEG&F`+&t4cFM?K?J4~uo{#Bq zZqMui*Hey>J+TVMwL8j;(WB>tqr>&Yjo72DYy;k$^4{}r?)#K+8}#=c9D(H>K78Wu zTQGgxBB~0=#@HHwSoo))AG*6Dc=Jce_TS;4cv^#p%E0s)D5<*&1MT2#O}rsVw8u;(EHwOxkJ_ zyCrxd&g{ynY^?ixPCQEX##P6zEX&5a-8P zmQUcy{Vrs${QV`tB^tMhx%ste>K_yR|;0?quB~2->H*KC=t_e~AX>A?Q;d zO_Za7Qg>i%3r&fs;6BxRx1uZd*sf5KnjP34{rAz7KAKbGtr7Q?l)W-*cU9Sk>MxFK3Y za#n?bF{~1|l)FTy^D(uZy8L{Px)j4Srw(RdxFuExt}-s*ai4odtwJuOX0n%$X|u`~ z!&FCKM)3KZGj>S!VEYVy?SrfW$}p?sW4d&F`h^)_JA4}2C0wczkH^bn!QU9RYrRq7 zsrV~<`Ix$7y=1>`jpJH*Ot8NXstG7=xYFGvIHgaCy?jhs!IYRW^5@B7xqC>4+V+rG z&0O`>;no5!?SttNm=b&Wm^RPd#V}o9zYBXhL`N#M$Jr!yU9xutro`TTn8dl4TgzRS z_{`9#7QbgiYmOQ`;?(N)p~DpH2(RMy9%!CSYqe_{mb?UeSky;IsIjv?wPYh5?4#u$*H zhzg0&Ln)E&Til7^G5sza&Kd2(sWrT~KDHmYlbsuWXWX}3i{4ki@Fe|48d1pWG4D;W zq&2;EYZ7b`dDr@*Oh z944*#<&So$#l~B0J3jeoA!}88PB+d_9N$uw&MM%ANS7J*+e<^4RdiVTkCfLs5{82h6pBcd8_D zyv$#*R5cxHSlSY?f4Yt-pm@$$>9~c;$*(ijzv8dm))_GhN}{hCzx$f-GfTy?tljnA zM@%{tQyS&tFw93uZ zT3pq-v@bPw>tyEa^r2eC^n%P9Vr4B*oJTs-r;+&$E q9`P7I^xqR{wBFK;sq6~1sx-aY@Uzp@c@q?0^NMx>I!-w}kNyP_@NcC6 diff --git a/Src/Setup/UpdateBin/update_4.2.3.txt b/Src/Setup/UpdateBin/update_4.2.3.txt deleted file mode 100644 index ead837f862c67cac2975bbe4bcdfcd2f9791c4e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6642 zcmd6sTW{M&5QXQtK>q`g=gNwuxQ>k^K$0e@Tjzql%rY90mF7ZNIat z1u2WP!a@QHf-<>W?wpx9b9TA@=kG7})=upw`^$c_7xv!1+5_9O8fV?Ux9{wWy`la0 zThHq}-(NmIvlDyedg<*Gn_0s?ThE3T*)wZ#l~`92yhd#^3y5$kss8FY;JG3kt>z2nh z#qxXjwYxma#=7MNysFr9n7%v9vJu1kBJ1a9?QX3n)Saw*1VQ^$*B5q$|Ig6CA_RTv zqlt1fQ0fkhZJ{YK72KzKZ&!5H9@-~Vq-IBUK>tHDrH|&+cx%LcHDhm&x25Iln56W| z$)8)obU@}C;FyALpJT$AFkc_y<$w8m8e{t4)K0QL_QIjeWEf4NuPM_^EY;p z4a!%H=@PG`6q$OU~FKIe_g`_;m=fDk#IOQjF=^@#z<4fbH;UXxDJ5Mm!!aj|G2Y*sk?P zm8asb>=k3`lJ$!Hx;2h#srS^(3X$4bZ#weaA%jNDq8EV^o zVl{QuSBF~*xO51n2VhF=6=T{wcbCI-h5at<=@1>M)B$Ic*mcR?CorYtoDmn-sLbIkSTp%EYPPpOwyM? z8$4G;=^>a>d&QXaRaIeKysi1J28tm}YH%D7sV3KBYI_Jy=~HU27}MtUW4Soh!Jryz z6Mw0|i0Dil!kNomYHt&!yH=IuF!exi0gfvWC7{!~Z4Sp;M6FJoJSN%8V)E-czmuS^ z#y9kzv*PTaXA$1%i&NkA`ZA6fS-THmhv6}M0{`D5tfVX8K7ltQSLO1kNy`Lv8gUG1 zO}M{wR}s;X=brf!+V|0{h~0+)hg8ucUi zu%tD;c56~>5qa18qfJ}i;gW~i!4V&V2Z~gSrvbxc#qVH6%pHI-a^rN|c%`z)$&uQWw<>U@h} zeT%GL&>}m{5`Ic`6&W$&c6>dD{;=1q0hK%POM6&ZRur+}*kOq1t3y$cjeE?sfp@AT zaeR-zVyS96)UdQAV*hjAv9fUsl~Y`2s(-~_yRB1V6qH0?HGcOsL>@BX}vs%6ECG*=UuU ztF^eQby;7^)STDA7w{*{Ii8 diff --git a/Src/Setup/UpdateBin/update_4.2.4.txt b/Src/Setup/UpdateBin/update_4.2.4.txt deleted file mode 100644 index d8974cbf7b9aacf76b8f821bfdf7f4fba5d1dd1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6184 zcmd6r>2KRc5XI+nf&LFfKUb2e%T|ySh*KwZ>o|pv7AOJ~iY_abC51YC1o_w7{@$)= z$`)yrsRR@RB_6vwZ{EC_UGCq1eYSUYWIx)U_M08piG8uE6|Kx!wQubk`)tQN|NYVX z3h%?k`%^o#H?Ea>AKKiSc54G0Sz!Ct;c99vyWncR=y7hpV)3P&G4dCCPWyoO5iPp* z!oK5r$}zTQR^qsJN0BiGw48ACxt_QY2Rtj2!mrN+64{H3YHnPeDI&cX{w;kCN`m>qS(3M2m3ro>RX^SZ{%20FJvQJn!i-ur@8` zuo)5k@ zMw;1{RoPhew+kNyd+oAgTb5;G)p8#u3gpz;7JZhDRm)?dQ6Nu`wrE*4RxL+1!}1CG z+FqPxW7YBT!l)gR7ve82KS=P^}wcE8mCGTY2BZzCC^7@1I@PD5gn1$eq{Ag1- znpEmOitSKST4eAQ+50%7OZJIYA@A!};ksot?mlspd0wMOVy{SV)$&zLs`QG<9~;6{ zBl1n~&TJ1fA)|-r|JEA#J_b`_FB{YPN|cYM8Vru$WCsilyQD5RU{~{A#3^Ru%9o8v zRkN^|yV7e^K1?$Z^f;<8a!aJT{ExtP1DZ=PCHAs0bzxf7OY4G7V5-1|G^P2g3Z^Rm zEsi>B8h|OW_Y|gewLBkBLQn(2*v+O_XuAeSHQVKP?l8snvN2t_iucnK6)zvA0oJwV zs-g2CXPuZ;x$DAN1x$&(Y)tECo_v@(PCF48dPMPtIL^tyGUt@*5^9TQx@=4zot}PX zR@#i7M)nat%J8wbIPUmw!IIWMCEiNEvX_nNlB_7$FB{W%1UDflZa8;AGDBHi;@9P0 zm=b&0n6#=YFpFi+-T7jtmFq5XQyr)gtr~bVj}53(w_r-_Wn)^up2&x(4DUT+*CB!t zF;nJM9b+GeTM4$}^~+P3q`Cc##cmFcJ=hrYzk{MHL{T`Dd#VLvr*YZK#uPa{ov<3; zjK;6AEk)_uqYhhFAgeG}Xui>!JF)i^rgbZ_e6iE_&@T4tpt?j$ZCLwARS4m(?l8sn zvN26yw7?fg_SZl@ObzrCl5HV~u835KzC#pN2WJ^fiM?!0`qC?~R^QZoCykHDxh98d zd7JA9&PGo6{+rO-%f_^RO`DG=@i734Rw|lxD_n>C-f@QTl-OH`>8X`&K1`Qrx&cRh z5QMO!6-$GwYo6@fW0JjPOn$BDcQ^DUdrWp*vkLB`!obY{5mEPF>j61j#KU;k;|2Q^ z|KB5C-52oV(5YEjt~ssElZl&C#yp9rM*;EFRRBBk+^^y%+=p-%up=_$=->0vr0p%w z&&iQCoKG2b+1?q?CghM*t5J2WaW%#e)dXZnK!h%Mulo*nYTKe+j~*k?35D8>oYo`z zo;%sO;de%xj(ej1Y8Ss*?y-z0j_X_cO|hi!4DBE#*aD}NDVPG-(zx&?VQQm4k%~NKcUc9me|tnh`3ek z5^Me|%%j(CiqMM9E3V|3dOmCuIGge^4V6|N+J*CbRf$Rt7IT_3qkW z8@KfQD#}6{>sZ(WW*a}F$KI!*O7{E4&Ijp16-kkM%tM@evBuIhmF}nVM5sJosX8#P zam8JJjyckmkfxz!U;bOw__~o|{twViTo>fYwd2k2j%nnqs;1oZiV5&r%Jb~{oM=7L z&^z9052MAYnxN=tt-V?oV_dK9RjTNV*X0_xI%9ZMrB&5seqQ3O@ZKeXqrEK)C33F*XFc~zt_`2Bp~>&Mi26X&EdzvsA71@emg E2Q$GT2LJ#7 diff --git a/Src/Setup/UpdateBin/update_4.2.5.txt b/Src/Setup/UpdateBin/update_4.2.5.txt deleted file mode 100644 index a82fa45a4fa8217fb42644ea0bb62b5bee099f36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5754 zcmd6r>u=gt7{=evllDJY`#eLTkc6t8)O2l^ElsCfHfgFf5zMU+AU1@As{i`7-*b#> zQ*f9kkS5Fa@$ot5dEV=}{QcJ_dvB-qqy1^W*=swu&sMXNRk`c-t$kyk?2P)~zxw}_ z|CQzc3p=s5u9bS9*qt@)!G<FK}OstnQ?YmLAh!y-UC<)wbwl&4F}WKjcfef&l~ zvoBO(tjpU$AHKbD(XlUNVXPzf(S%P-UG7n4VXPxhu!c{Zp6(G@80*NP%|JfKzxHQm zVXPxB@GIY5;pzKB7Dfxd&qKc?*X|d6O56!OW{~7Q#r3syk^h(+n8)CT_z1`xO)_;K zk8P7vT14;-(ff5om-#y;i;uty@v#Z5ns!TG8KM0uJyN_9y_L(?IVsc2CV%XRQyuIk zOlEe(3|3+E3fvy7f$S4FrFi+Awr8SZdU^`}z_DrYJV3K^-T{od@RDYe%$LteS<_$6 zU7K@MF;0=wNZsyX67uX|ttQuiQU^{cUOuM|?UlW>F4zU92FMGvGr)HDl-l;hm9BY< zQ;PQ(r){~sn4SXkq?O455(en%-uYFPvbc&zwgVt)_O)HQb%?Umt~%yjvjK01H;nOSK!{xr6a zaH*n?qvf^W-GY_YKxO{Qe}$LNX+Vzi?U$YT_?=sMiB$`$NmC(S^#l*Ob$Uwi@;PZ$ zXw%si+GnX$7gwpW@|n+Ptc$g(aH~+RVGrfZ z6z?%k^10)k*-rj+gWV=rD{_7$Z<6f>T;i1A<#P(1Kb^B0-;Iyol96uFPy-Fsc*?hH z)Qr&9A)HdY$2e_UkrlJuty>p}&j40+tT*GZ^6)!G-D9*8QYNP!FF2?8|6a-J-baoT{AS{!Tyt7L zO@zfJTw`jde0N;QLpzc@Ud2b$Yu52N5s_~DU-Z$W*8}xej1ZvfDWhibE~$%%9eHg? zJC!xA#u(u{9ueY^6?^>GcbhM@ZPBjlc+RL7Pwgw@>!E$mmvHWR&iHP-8ueGZ%~ z@zOJ&O}v`O-*=o8Ly|`)XOgxJ%NgI&QADlAR!LICwoB3CU0BRsrzv8q+|&%Gkzy;hwTJNd)8U!4jP)xki)rG=;_flqtV*9{ z^`23*D{gVi%Vep|k(MC6`XaZqDYR@>Va=cYK#@_32frFq4MPF7d7pW16kn>a?r xS=x~$6p8Yd?1=A>L#Md1i+U+aqz|!HzRYHr*dwP-n#9WTrLNPBd^(Pse*ox0+9Ch| diff --git a/Src/Setup/UpdateBin/update_4.2.6.txt b/Src/Setup/UpdateBin/update_4.2.6.txt deleted file mode 100644 index 5523b9d2a36a209405af0bf1b5255dd4a4ab6b33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5754 zcmd6r?Qhyv7{#B@llDJY`#eLTkc6t8)O2l^ElsDqY|>O|BAB;AfY=Zcs{ZTSe&-t3 zrrWOn)YBr8=Ggx)}}SJmi1`eE#J7ZUqO6nmyG<`p3~psc}S0r zy|C|SPdO&`%*q^dca#`oNY99)PdjoW4!Kvd5pPa;?}vZg_c`M>=^tBo3YRl%xZ?jU zoGy0AstmIbtPzaGe+v7tyDGvrf0WIZyjglR_Gk%>KJe4|6!aE6hVWQq_vs zsry81o0`%hgKx;*uQR&L(=krz;u2ID}MNW~r-NPj0+`(H-jsdL>oKn1eP96HIdTCv-3r-D?7pOD9clWf~_QbWW z`4^`Y?=eo>YI!l80(8>KymOpnF^POs?JlBQKg0r$Nq@@+4Du0TX&uRO5q8O(+JOWru$gnQns=}>8yM{kh zGgG|BI4S0icji0A(+z%`;H}8Tk)lby8*qqIf|t)Jbn$e~YJ4{_eoIBVMWF@?)i^7* zYup*3)*+lyyvI0gTagv>-K|>}h|d64b-Xv@r@8o^Tok7SFP~F{9X?+m`CkLYI91W6 z0;48;nv8t_w<98K!c`wmDPBG&ed+nE)ps@DRnbXxQ}b?}$O>qO3PVQ+9HHTA*w~fO0{{KaEMmyPEZuN`o8hp zIDI!>y63ZrR}=gDj+1go_Gsr!*0y0e<60U;+|}4>$%@!_DO&s$7PHrGirA{Q-_Vj} zdULgp=P+gECRW!DSzNSpl}5>Hcxi5xU$jq@@Llz&VoJM7agT_9?dZi3pwUv_$<~$| zD~=_P4DN%VJ|RzfTq$xlaonujDwD)^F;b04v6b8UhVXdO;hgl0^_7>!G>Kzz_n2)~ ztO|axia&0I?w?RQ=bt{mwP6 zq2Mr2AWatL+P=Q$Jm-12*Z1$gKG}OawIA(I`^{e4xqY^pm8{C|(7v^A?30~w|M#z+ zKjnF4@%+M0?5*piw@>WO0(-E5jm)!SYtfom)4H_o7H?eHuOPm(OGf@|&*|^+JfcV2 zUf6fECmdsYW@V0r>4+*m1TP}S#`Fs8mbx-T{VH!{cqQIeEnnxPN-v-Mu_I1( zumhM(?T8ty!sr#aJy-+V$8gH<@;PmdM3*%|*Kj5_d=vT5bZ=cKCX zFXpbzHL4h=*eO!CdzeI=+juMB=+kP$DZ|U>)TY0xm(~Tl;M4$ljyipOcTcNjPh9Jo ze{st29^FykeYc`05&UhGdzt zRPi;3Q3I9%oHD$8PTOamVw^@Wn&COE-;#KbQ0kgr74^#SOlP`$P9I%7{miVin|K=8 zN4Qkc<7jcr`ESBXYoIbu6~DsE=hUah`S#1sV*Jjnyu_-B*Q8WLR6QX=ZkC25yE0jhIQ~(6>b&UHTGr|-eEP7eT=G{7x71EB#?GdV}K4p0MoVKrN zi|JG$mge~B5FZ`FtHFPr+|wFr2B!>f8>h!sy2Uu@J96k4bivmevjUeInb$?Jl#}q5 zIVEe&WOqYfvS(;IV-?(EEYHmV5nfNe);&fmVP(4O@q&Gd|L>8m?tSbyA#TPl%QdHk z+==nnm}A7<3D<4c@=!;XC#(3F`_IG$7Pi>JOT6zh?F&y{fQIZwH6xjTAa{n97P zZ!9xP{rZmgCLrlMLpw+rHxIvS{n6!~zEOtGLhULk9#RXWREwu6hj_*A6h)D%?;FpJ z({tlxdp?_Z1=!znoRmYdM>}V-wgt;6*U~8FuEthNRwTa5(2}pPguQlC#8$QahL$YT zo2z|1hbb#JvATB1;-a0aEJ|L(OLMFIqJ5&2@2W=?Q`${Rdc^!|M=yy0jh6XNwl>{Z zNi2C}a1R9aiFnfGN|C#X<7VYnnWVOhk!nPSt=!f(gvXOM=d@>{ue>a#X&j5Y$857| z{W7cfjH0jNCO<`)JheH~QlwX3?3S8BTh6NW8kF$dl&8x)UZT5{S8ix$byfY$UjzCi zIV#RlN1jk7Dq5CDe1{#{#g$+5ma;^8h_&kFa)n7Ea^kE>y{uU3IBgWuN#6Ve6%E=X diff --git a/Src/Setup/UpdateBin/update_4.3.0.txt b/Src/Setup/UpdateBin/update_4.3.0.txt deleted file mode 100644 index 427001085f412a18f5dc824ca7ab74f6c25e3da1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5876 zcmd6rYi}Ay6o${|O8pP3e(oA$FvL+(DNd8rspC|>v{DtR;<8+9?qD#E^4Hrw?+lxT z!kTUcQniAe-JO~DJ=ZxifBpH{KH9ncXn)wR_Qo#lixus_3j7Z3Tl>a7+Xe4`+weWV z_w^c*gI*x#(U1723*eZg5h_&WuFa1sCeva>MOkstBs&|VW``;%E1H6ktz{hBPlU-StPFLci!&brDdRcj*uDcLuT zL6^v^ld~$U5p7~6BAeC79bNLqKXXZr9M-WCE69=M(Ra~q8S!8zWVD7IGa|t|V6;|| zbxvAiWRu@_#OWBHtHAf(p214I@uW_!{Fq#cA6rl8sXd2C5{6MAb3v5iC@D-8z2a6yv3HYGLcp zetII;X5-XGBggJ{42u~)T|)myuxdDeO7PM-ZC~@UahiZXf=wS=RcJ@VTobwTFpco1 z1TUS_t+VfY*2CTSQy(i8;L^fw{(9tILvyOWa(tCP2``<~9TJ81^Ui#{g)iNqsR`IK zGSZZvD#bi(j^LEwrE^j}7qW__R}I;0_YCYNxk&YB6OEN=&AB3;RWT-b>72G#GTAr{ z(EH3;uY`U&cvT54m9d|4XAZ5!mD5w4RM(yE%yxY|DG#q(cobnW72&M5wiD5--l%5q_u5|eWvJYPLx$${7uQ1^8OrLW4v@u+GB?75_YxT z9pMXo$D~4*?82oAg7#|4pME#$@zObMuW7UCsqC;%U?Crur&rKW8Gc1PDu=hnHS{)4 zPgT0vIQh!t4*h67>0&?CEIRL)!7An?yk$WztleYrS zVtQQdullGkYR>x`W>CGVx^Nlqns?(x{EX zNvQKI`9my$G!^kR=HPdbLXt!=iafUm%fQVeKU_X-+Qh4Z{B6fc`w+>aGdoEe!SbGG z>1fPb&8?QC@U~0P{4UJ1*Ex>Z%IaNOl1w94`veYCQf^{Zb;#nPGqc1?-oQ(1tL&l( ziTSQtR6eD1EZ<|yU1y2j12kJ=JIPveb9rA1$RKSH)Mvz(7Eg-BO&m9CZk0(ayBPK0 zkYFpewTB4!(%?Vt>Gdlsi>Z85Qi^-PYO^Z+GOLfwqFr%~pS(<#+8k*y((A8sOPfMl zj;i$>s&-%rc#<^TWy diff --git a/Src/Setup/UpdateBin/update_4.3.1.txt b/Src/Setup/UpdateBin/update_4.3.1.txt deleted file mode 100644 index c75f89e2c074addb85c301df3d17befbb577de79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4886 zcmd6rZExCE7>1wEllC91eK#}-P^j8T&9-*gvUJMJCQX$lV;~S53^oKt)xX~Ex^0lr z=m9Sa(qtKqU+>G$bDwh_`}3y{_Rh}jd;8OVvmflzK3dHxcEWmOU)xvq!7kYU`;OyR zc4lw0vvl>DJy>9WS!A(!c4}Q(Qwyz6>tS`r8~YW-*LKaFKiW&q_c)$#M$cZ^H?*fL zV|!s$mU*^RxJSg9Da(L%n%yyCU&TgTIpw-a$h{ZpJKF+rO4X^tyUw)D|tE}c3tq`O4tol7iJ%l5IW4Xceo+~2jaK;1COmM-; z$^m(d&WO+z8GAvly72o%OL2N!uBs@-WNU+n9%+lCa9+M59etLdDWoc|HCpJU*5`P^o&(hdd zmh=2o|36forLnEN#L>QeM;|-fGfN|+$GOz68RZYFKBdP?JttU?x*Ad1cFXghGWxm* z?&+Bw#;kxjVnAQ%GMa^q9ruhI+7q!yBS?)iP8h?QXr*??EK*}>Gb05YFLWy0O|!=~ zi{=*P;*UqM{BvBZS{<(iaL!;lVo6!2@U(d5F-(P?n`!^pS1vv^R7bWzy#__io}r!) zrI4*YEQOAnWq&Uz$C6qjTQsj9lbL{cEFgH!b{&>N$Ia5?Dvgh-Jigpxcd=~es)d)9 zxM@hP7PPuVNUb*iJ(vo;T}=CCi(O2Gmq)nd8L?R4@&+UkS!+Oci?e4L%UZ|H(&tRy ze%vvZmSbt)klZD5^N`34aZih$CbBBAU+cJ8_RnSISn9ZANDo(Cm=K{!ma_>gF|nzV zz4e^wX1U9J^Aq#i)A%MPIw!cek6ZF($$yA%R83VmDxXTv%`}AHx1S&B<-#||X!XdB zdU=d%ns6;?H~DSDQs}r@RG0b8M()|aT&~7sXUICnCvzCaWGsLqByS5?3LQ7g{z{}A zOBdA%3^QC(XA~Y2jTSueb_bS1XBUgSb^4!kbWaQt)Vru_Z0SNJk^${T#O`@>icLABUX6%=T3mrF$-T{58_@|nuj>&xtRlriG zw&>7Kh*eDPG~N_?Zl?V;XSw(squFMSh);-v$1JMBQi$fT6gvA@c2%I|SY{~p$jzLn z=v}*+trNE9S*4h>NN1BJuL1M#9D1j{Ack|Q(gEK0vJpJtY4Z1W5C3g`A9=+Wi~sMk zuC{%i<6YLD^zB4dbi|$%4=Y&; z6LSZT*eY&$ZKZ3D=*ycNuQ{eVv%@ic`AKQ(dylTVWm{? #include "SaveLogFile.h" @@ -412,256 +411,6 @@ qqq: /////////////////////////////////////////////////////////////////////////////// -struct LanguageData -{ - std::map strings; - CString bitmap; -}; - -int GenerateUpdateFile( wchar_t *const *params, int count ) -{ - if (count<3) return 3; - - std::vector buf; - LoadFile(params[1],buf); - if (buf.empty()) return 1; - buf.push_back(0); - buf.push_back(0); - - wchar_t token[256]; - - std::map languages; - const int DEFAULT_LANGUAGE=0x409; - - const wchar_t *str0=(wchar_t*)&buf[0]; - if (*str0==0xFEFF) str0++; - const wchar_t *str; - - // old (current) version - str=wcsstr(str0,L"{OLD_VER}"); - if (!str) return 1; - GetToken(str+9,token,_countof(token),L"\r\n"); - int v1, v2, v3; - swscanf_s(token,L"%d.%d.%d",&v1,&v2,&v3); - - // new version - str=wcsstr(str0,L"{NEW_VER}"); - if (!str) return 1; - GetToken(str+9,token,_countof(token),L"\r\n"); - languages[DEFAULT_LANGUAGE].strings[IDS_VERSION]=token; - - // signer - str=wcsstr(str0,L"{SIGNER}"); - if (!str) return 1; - GetToken(str+8,token,_countof(token),L"\r\n"); - languages[DEFAULT_LANGUAGE].strings[IDS_INSTALL_SIGNER]=token; - - // update - str=wcsstr(str0,L"{UPDATE}"); - if (!str) return 1; - GetToken(str+8,token,_countof(token),L"\r\n"); - languages[DEFAULT_LANGUAGE].strings[IDS_UPDATE_LINK]=token; - - // languages - str=wcsstr(str0,L"{LANGUAGES}"); - if (!str) return 1; - GetToken(str+11,token,_countof(token),L"\r\n"); - languages[DEFAULT_LANGUAGE].strings[IDS_LANGUAGE_LINK]=token; - - // language folder - str=wcsstr(str0,L"{LANGFOLDER}"); - if (!str) return 1; - wchar_t langFolder[_MAX_PATH]; - GetToken(str+12,langFolder,_countof(langFolder),L"\r\n"); - - // alt url - str=wcsstr(str0,L"{ALT}"); - if (str) - { - GetToken(str+5,token,_countof(token),L"\r\n"); - languages[DEFAULT_LANGUAGE].strings[IDS_ALT_URL]=token; - } - - // news - str=wcsstr(str0,L"{NEWS}"); - if (!str) return 1; - languages[DEFAULT_LANGUAGE].strings[IDS_NEWS]=str+6; - - // look for {INST: - str=str0; - bool res=true; - while (1) - { - str=wcsstr(str,L"{INST: "); - res=true; - if (!str) break; - res=false; - str+=7; - str=GetToken(str,token,_countof(token),L"}\r\n"); - int language; - if (!GetLocaleInfoEx(token,LOCALE_ILANGUAGE|LOCALE_RETURN_NUMBER,(LPWSTR)&language,4)) - break; - str=GetToken(str,token,_countof(token),L"\r\n"); - languages[language].strings[IDS_INSTALL_URL]=token; - // languages[language].strings[IDS_VERSION]=...; // TODO: allow per-language version of the installer - } - - if (!res) return 1; - - str=str0; - while (1) - { - str=wcsstr(str,L"{LANG: "); - res=true; - if (!str) break; - res=false; - str+=7; - str=GetToken(str,token,_countof(token),L"}\r\n"); - int len=Strlen(token); - bool bBasic=(len>0 && token[len-1]=='*'); - if (bBasic) token[len-1]=0; - int language; - if (!GetLocaleInfoEx(token,LOCALE_ILANGUAGE|LOCALE_RETURN_NUMBER,(LPWSTR)&language,4)) - break; - - wchar_t fname[_MAX_PATH]; - Sprintf(fname,_countof(fname),L"%s\\%s.dll",langFolder,token); -/* if (GetFileAttributes(fname)==INVALID_FILE_ATTRIBUTES) - { - fname[0]=0; - wchar_t find[_MAX_PATH]; - Sprintf(find,_countof(find),L"%s\\*.*",langFolder); - WIN32_FIND_DATA data; - HANDLE h=FindFirstFile(find,&data); - while (h!=INVALID_HANDLE_VALUE) - { - if ((data.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY) && data.cFileName[0]!='.') - { - Sprintf(fname,_countof(fname),L"%s\\%s\\%s.dll",langFolder,data.cFileName,token); - if (GetFileAttributes(fname)!=INVALID_FILE_ATTRIBUTES) - { - FindClose(h); - break; - } - } - if (!FindNextFile(h,&data)) - { - FindClose(h); - break; - } - } - }*/ - if (!fname[0]) break; - - unsigned long hash=0; - wchar_t version[100]; - - hash=CalcFileFNV(fname); - if (!hash) break; - - DWORD dllBuild; - DWORD dllVer=GetFileVersion(fname,&dllBuild); - if (!dllVer) break; - if (dllVer>(DWORD)((v1<<24)|(v2<<16)|v3)) break; - - Sprintf(version,_countof(version),L"%d.%d.%d.%d%s",dllVer>>24,(dllVer>>16)&255,dllVer&65535,dllBuild,bBasic?L"*":L""); - - Sprintf(token,_countof(token),L"%08X",hash); - languages[language].strings[IDS_LNG_CRC]=token; - - languages[language].strings[IDS_LNG_VERSION]=version; - str=GetToken(str,token,_countof(token),L"\r\n"); - languages[language].strings[IDS_LNG_URL]=token; - } - - if (!res) return 1; - - // look for {FLAG: - str=str0; - while (1) - { - str=wcsstr(str,L"{FLAG: "); - res=true; - if (!str) break; - res=false; - str+=7; - str=GetToken(str,token,_countof(token),L"}\r\n"); - int language; - if (!GetLocaleInfoEx(token,LOCALE_ILANGUAGE|LOCALE_RETURN_NUMBER,(LPWSTR)&language,4)) - break; - str=GetToken(str,token,_countof(token),L"\r\n"); - languages[language].bitmap=token; - } - - if (!res) return 1; - - FILE *f=NULL; - if (_wfopen_s(&f,params[2],L"wb") || !f) - { - return 1; - } - fwprintf(f,L"\xFEFF"); - for (std::map::const_iterator it=languages.begin();it!=languages.end();++it) - { - fwprintf(f,L"/////////////////////////////////////////////////////////////////////////////\r\n"); - GetLocaleInfo(it->first,LOCALE_SLANGUAGE,token,_countof(token)); - fwprintf(f,L"// %s\r\n\r\n",token); - fwprintf(f,L"LANGUAGE 0x%02X, 0x%X\r\n",it->first&0x3FF,it->first>>10); - fwprintf(f,L"\r\nSTRINGTABLE\r\nBEGIN\r\n"); - for (std::map::const_iterator it2=it->second.strings.begin();it2!=it->second.strings.end();++it2) - { - CString str=it2->second; - str.Replace(L"\r\n",L"\\r\\n"); - str.Replace(L"\"",L"\"\""); - fwprintf(f,L"%4d \"%s\"\r\n",it2->first,(const wchar_t*)str); - } - fwprintf(f,L"END\r\n\r\n"); - - if (it->first==DEFAULT_LANGUAGE) - { - fwprintf(f,L"1 VERSIONINFO\r\n"); - fwprintf(f,L" FILEVERSION %d,%d,%d,0\r\n",v1,v2,v3); - fwprintf(f,L" PRODUCTVERSION %d,%d,%d,0\r\n",v1,v2,v3); - fwprintf(f,L" FILEFLAGSMASK 0x17L\r\n"); - fwprintf(f,L" FILEFLAGS 0x0L\r\n"); - fwprintf(f,L" FILEOS 0x4L\r\n"); - fwprintf(f,L" FILETYPE 0x1L\r\n"); - fwprintf(f,L" FILESUBTYPE 0x0L\r\n"); - fwprintf(f,L"BEGIN\r\n"); - fwprintf(f,L"\tBLOCK \"StringFileInfo\"\r\n"); - fwprintf(f,L"\tBEGIN\r\n"); - fwprintf(f,L"\t\tBLOCK \"040904b0\"\r\n"); - fwprintf(f,L"\t\tBEGIN\r\n"); - fwprintf(f,L"\t\t\tVALUE \"CompanyName\", \"OpenShell\"\r\n"); - fwprintf(f,L"\t\t\tVALUE \"FileDescription\", \"Update information\"\r\n"); - fwprintf(f,L"\t\t\tVALUE \"FileVersion\", \"%d, %d, %d, 0\"\r\n",v1,v2,v3); - fwprintf(f,L"\t\t\tVALUE \"InternalName\", \"Update\"\r\n"); - fwprintf(f,L"\t\t\tVALUE \"LegalCopyright\", \"Copyright (C) 2017-2018, The Open-Shell Team\"\r\n"); - fwprintf(f,L"\t\t\tVALUE \"OriginalFilename\", \"update.ver\"\r\n"); - fwprintf(f,L"\t\t\tVALUE \"ProductName\", \"Open-Shell\"\r\n"); - fwprintf(f,L"\t\t\tVALUE \"ProductVersion\", \"%d, %d, %d, 0\"\r\n",v1,v2,v3); - fwprintf(f,L"\t\tEND\r\n"); - fwprintf(f,L"\tEND\r\n"); - fwprintf(f,L"\tBLOCK \"VarFileInfo\"\r\n"); - fwprintf(f,L"\tBEGIN\r\n"); - fwprintf(f,L"\t\tVALUE \"Translation\", 0x409, 1200\r\n"); - fwprintf(f,L"\tEND\r\n"); - fwprintf(f,L"END\r\n\r\n"); - - for (std::map::const_iterator it3=languages.begin();it3!=languages.end();++it3) - { - if (!it3->second.bitmap.IsEmpty()) - fwprintf(f,L"%d BITMAP \"%s\"\r\n",it3->first,(const wchar_t*)it3->second.bitmap); - } - fwprintf(f,L"\r\n"); - } - } - fclose(f); - return 0; -} - -/////////////////////////////////////////////////////////////////////////////// - static void UnsescapeString( wchar_t *string ) { wchar_t *dst=string; @@ -1097,7 +846,6 @@ static HRESULT CALLBACK TaskDialogCallback( HWND hwnd, UINT uNotification, WPARA // extract // extracts the string table, the dialog text, and the L10N text from a DLL and stores it in a CSV // extract en-us.dll // extracts the string table, the dialog text, and the L10N text from two DLL and stores it in a CSV // import // replaces the string table in the DLL with the text from the CSV -// update // generates a resource file for UpdateBin.dll by calculating the DLL hashes int WINAPI wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpstrCmdLine, int nCmdShow ) { @@ -1176,11 +924,6 @@ int WINAPI wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpstrC return ImportStrings(params,count); } - if (_wcsicmp(params[0],L"update")==0) - { - return GenerateUpdateFile(params,count); - } - if (_wcsicmp(params[0],L"colors")==0) { ShowMetroColorViewer(); diff --git a/Src/Update/Update.cpp b/Src/Update/Update.cpp index d7324a8..c6c5226 100644 --- a/Src/Update/Update.cpp +++ b/Src/Update/Update.cpp @@ -103,7 +103,6 @@ public: void Run( void ); void UpdateData( void ); - bool HasNewLanguage( void ) { return (m_Data.bNewLanguage && !m_Data.bIgnoreLanguage) && !(m_Data.bNewVersion && !m_Data.bIgnoreVersion); } protected: // Handler prototypes: @@ -204,7 +203,7 @@ LRESULT CUpdateDlg::OnCancel( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bH LRESULT CUpdateDlg::OnColorStatic( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) { - if ((m_Data.bNewVersion || m_Data.bNewLanguage) && lParam==(LPARAM)GetDlgItem(IDC_STATICLATEST).m_hWnd) + if (m_Data.bNewVersion && lParam==(LPARAM)GetDlgItem(IDC_STATICLATEST).m_hWnd) { HDC hdc=(HDC)wParam; SetTextColor(hdc,0xFF); @@ -288,37 +287,6 @@ LRESULT CUpdateDlg::OnDownload( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& } } } - else if (m_Data.bNewLanguage) - { - for (std::vector::const_iterator it=m_Data.languages.begin();it!=m_Data.languages.end();++it) - { - if (_wcsicmp(m_Data.newLanguage,it->language)==0) - { - CString error; - DWORD res=DownloadLanguageDll(m_hWnd,COMPONENT_UPDATE,*it,error); - if (res==2) - return 0; - if (res) - { - MessageBox(LoadStringEx(it->bBasic?IDS_LANGUAGE_SUCCESS2:IDS_LANGUAGE_SUCCESS),LoadStringEx(IDS_UPDATE_TITLE),MB_OK|(it->bBasic?MB_ICONWARNING:MB_ICONINFORMATION)); - SetDlgItemText(IDC_STATICLATEST,L""); - } - else - { - error+=LoadStringEx(IDS_DOWNLOAD_TIP)+L"\r\n\r\n"+m_Data.languageLink; - TASKDIALOGCONFIG task={sizeof(task),m_hWnd,NULL,TDF_ENABLE_HYPERLINKS|TDF_ALLOW_DIALOG_CANCELLATION|TDF_USE_HICON_MAIN,TDCBF_OK_BUTTON}; - CString title=LoadStringEx(IDS_UPDATE_TITLE); - task.pszWindowTitle=title; - task.pszContent=error; - task.hMainIcon=LoadIcon(NULL,IDI_ERROR); - task.pfCallback=TaskDialogCallbackProc; - TaskDialogIndirect(&task,NULL,NULL,NULL); - } - return 0; - } - } - Assert(0); // NEWLanguage is not in the list - } return 0; } @@ -332,11 +300,6 @@ LRESULT CUpdateDlg::OnDontRemind( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL m_Data.bIgnoreVersion=(IsDlgButtonChecked(IDC_CHECKDONT)==BST_CHECKED); regKey.SetDWORDValue(L"RemindedVersion",m_Data.bIgnoreVersion?m_Data.newVersion:0); } - else if (m_Data.bNewLanguage) - { - m_Data.bIgnoreLanguage=(IsDlgButtonChecked(IDC_CHECKDONT)==BST_CHECKED); - regKey.SetDWORDValue(L"RemindedLangVersion",m_Data.bIgnoreLanguage?m_Data.encodedLangVersion:0); - } return 0; } @@ -378,28 +341,6 @@ void CUpdateDlg::UpdateUI( void ) tool.lpszText=(LPWSTR)(LPCWSTR)m_Data.downloadUrl; m_Tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); } - else if (m_Data.bNewLanguage) - { - SetDlgItemText(IDC_STATICLATEST,LoadStringEx(IDS_LANG_OUTOFDATE)); - SetDlgItemText(IDC_EDITTEXT,L""); - GetDlgItem(IDC_EDITTEXT).ShowWindow(SW_HIDE); - GetDlgItem(IDC_BUTTONDOWNLOAD).ShowWindow(SW_SHOW); - bool check=true; - if (g_Settings[SETTING_UPDATE].value.vt==VT_I4) - check=g_Settings[SETTING_UPDATE].value.intVal!=0; - GetDlgItem(IDC_CHECKDONT).ShowWindow(check?SW_SHOW:SW_HIDE); - CheckDlgButton(IDC_CHECKDONT,m_Data.bIgnoreLanguage?BST_CHECKED:BST_UNCHECKED); - TOOLINFO tool={sizeof(tool),TTF_SUBCLASS|TTF_IDISHWND,m_hWnd,(UINT_PTR)GetDlgItem(IDC_BUTTONDOWNLOAD).m_hWnd}; - for (std::vector::const_iterator it=m_Data.languages.begin();it!=m_Data.languages.end();++it) - { - if (_wcsicmp(m_Data.newLanguage,it->language)==0) - { - tool.lpszText=(LPWSTR)(LPCWSTR)it->url; - break; - } - } - m_Tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - } else { SetDlgItemText(IDC_STATICLATEST,LoadStringEx(IDS_UPDATED)); @@ -550,7 +491,7 @@ int WINAPI wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpstrC Sleep(sleep); auto title = LoadStringEx(IDS_UPDATE_TITLE); - auto message = LoadStringEx(g_UpdateDlg.HasNewLanguage() ? IDS_LANG_NEWVERSION : IDS_NEWVERSION); + auto message = LoadStringEx(IDS_NEWVERSION); if (toasts) { diff --git a/Src/Update/Update.rc b/Src/Update/Update.rc index 382ed11..4f91f02 100644 --- a/Src/Update/Update.rc +++ b/Src/Update/Update.rc @@ -183,8 +183,6 @@ BEGIN IDS_OUTOFDATE "There is a new version of Open-Shell" IDS_NEWVERSION "There is a new version of Open-Shell.\nClick here to see what's new or to change the reminder settings." IDS_UPDATE_FAIL "Failed to check for new version" - IDS_LANG_OUTOFDATE "There is a new language file for this version of Open-Shell" - IDS_LANG_NEWVERSION "There is a new language file for this version of Open-Shell.\nClick here to install it or to change the reminder settings." END #endif // English (U.S.) resources