Windows: when extracting files in Setup or Portable mode, decompress zip files docs.zip and Languages.zip in order to have ready to use configuration.

This commit is contained in:
Mounir IDRASSI 2018-04-10 22:40:16 +02:00
parent 29b80ec6df
commit 9e36039630
No known key found for this signature in database
GPG Key ID: DD0C382D5FCFB8FC
1 changed files with 23 additions and 5 deletions

View File

@ -644,20 +644,38 @@ void __cdecl ExtractAllFilesThread (void *hwndDlg)
{
wchar_t fileName [TC_MAX_PATH] = {0};
wchar_t filePath [TC_MAX_PATH] = {0};
BOOL bResult = FALSE, zipFile = FALSE;
// Filename
StringCchCopyNW (fileName, ARRAYSIZE(fileName), Decompressed_Files[fileNo].fileName, Decompressed_Files[fileNo].fileNameLength);
StringCchCopyW (filePath, ARRAYSIZE(filePath), DestExtractPath);
StringCchCatW (filePath, ARRAYSIZE(filePath), fileName);
if ((wcslen (fileName) > 4) && (0 == wcscmp (L".zip", &fileName[wcslen(fileName) - 4])))
zipFile = TRUE;
StatusMessageParam (hwndDlg, "EXTRACTING_VERB", filePath);
if (zipFile)
{
bResult = DecompressZipToDir (
Decompressed_Files[fileNo].fileContent,
Decompressed_Files[fileNo].fileLength,
DestExtractPath,
CopyMessage,
hwndDlg);
}
else
{
bResult = SaveBufferToFile (
(char *) Decompressed_Files[fileNo].fileContent,
filePath,
Decompressed_Files[fileNo].fileLength,
FALSE, FALSE);
}
// Write the file
if (!SaveBufferToFile (
Decompressed_Files[fileNo].fileContent,
filePath,
Decompressed_Files[fileNo].fileLength,
FALSE, FALSE))
if (!bResult)
{
wchar_t szTmp[512];