Updated SFX EXE-header (7zSD.sfx).
This commit is contained in:
parent
7d64285b50
commit
01dea18270
@ -1,30 +1,23 @@
|
|||||||
CPP/7zip/Bundles/SFXSetup/Compat.xml | 12 +++++++
|
CPP/7zip/Bundles/SFXSetup/Compat.xml | 1 +
|
||||||
CPP/7zip/Bundles/SFXSetup/SfxSetup.cpp | 52 ++++++++++++++++++++++++------
|
CPP/7zip/Bundles/SFXSetup/SfxSetup.cpp | 52 +++++++++++++++++++-----
|
||||||
CPP/7zip/Bundles/SFXSetup/resource.rc | 4 +--
|
CPP/7zip/Bundles/SFXSetup/resource.rc | 4 +-
|
||||||
CPP/7zip/UI/Explorer/MyMessages.cpp | 4 +--
|
CPP/7zip/UI/Explorer/MyMessages.cpp | 4 +-
|
||||||
CPP/7zip/UI/Explorer/MyMessages.h | 2 +-
|
CPP/7zip/UI/Explorer/MyMessages.h | 2 +-
|
||||||
CPP/7zip/UI/FileManager/FormatUtils.cpp | 2 +-
|
CPP/7zip/UI/FileManager/FormatUtils.cpp | 2 +-
|
||||||
CPP/7zip/UI/FileManager/ProgressDialog.cpp | 4 +--
|
CPP/7zip/UI/FileManager/ProgressDialog.cpp | 4 +-
|
||||||
7 files changed, 63 insertions(+), 17 deletions(-)
|
CPP/Common/MyWindows.h | 1 +
|
||||||
|
CPP/Windows/FileDir.cpp | 63 ++++++++++++++++++++++++++----
|
||||||
|
CPP/Windows/FileDir.h | 1 +
|
||||||
|
10 files changed, 110 insertions(+), 24 deletions(-)
|
||||||
|
|
||||||
diff --git a/CPP/7zip/Bundles/SFXSetup/Compat.xml b/CPP/7zip/Bundles/SFXSetup/Compat.xml
|
diff --git a/CPP/7zip/Bundles/SFXSetup/Compat.xml b/CPP/7zip/Bundles/SFXSetup/Compat.xml
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..632a8fa
|
index 0000000..76fecef
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/CPP/7zip/Bundles/SFXSetup/Compat.xml
|
+++ b/CPP/7zip/Bundles/SFXSetup/Compat.xml
|
||||||
@@ -0,0 +1,12 @@
|
@@ -0,0 +1 @@
|
||||||
+<?xml version="1.0" encoding="utf-8"?>
|
+<?xml version="1.0" encoding="utf-8"?><assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"><compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"><application><supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/><supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/><supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/><supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/><supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/></application></compatibility></assembly>
|
||||||
+<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
\ No newline at end of file
|
||||||
+ <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
|
||||||
+ <application>
|
|
||||||
+ <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
|
|
||||||
+ <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
|
|
||||||
+ <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
|
|
||||||
+ <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
|
|
||||||
+ <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
|
|
||||||
+ </application>
|
|
||||||
+ </compatibility>
|
|
||||||
+</assembly>
|
|
||||||
diff --git a/CPP/7zip/Bundles/SFXSetup/SfxSetup.cpp b/CPP/7zip/Bundles/SFXSetup/SfxSetup.cpp
|
diff --git a/CPP/7zip/Bundles/SFXSetup/SfxSetup.cpp b/CPP/7zip/Bundles/SFXSetup/SfxSetup.cpp
|
||||||
index aef2e19..7f856f1 100644
|
index aef2e19..7f856f1 100644
|
||||||
--- a/CPP/7zip/Bundles/SFXSetup/SfxSetup.cpp
|
--- a/CPP/7zip/Bundles/SFXSetup/SfxSetup.cpp
|
||||||
@ -212,3 +205,122 @@ index 65201a9..4d23499 100644
|
|||||||
_inCancelMessageBox = false;
|
_inCancelMessageBox = false;
|
||||||
Sync.SetPaused(paused);
|
Sync.SetPaused(paused);
|
||||||
if (res == IDCANCEL || res == IDNO)
|
if (res == IDCANCEL || res == IDNO)
|
||||||
|
diff --git a/CPP/Common/MyWindows.h b/CPP/Common/MyWindows.h
|
||||||
|
index 139a4e8..c40767f 100644
|
||||||
|
--- a/CPP/Common/MyWindows.h
|
||||||
|
+++ b/CPP/Common/MyWindows.h
|
||||||
|
@@ -6,6 +6,7 @@
|
||||||
|
#ifdef _WIN32
|
||||||
|
|
||||||
|
#include <windows.h>
|
||||||
|
+#include <shlobj.h>
|
||||||
|
|
||||||
|
#ifdef UNDER_CE
|
||||||
|
#undef VARIANT_TRUE
|
||||||
|
diff --git a/CPP/Windows/FileDir.cpp b/CPP/Windows/FileDir.cpp
|
||||||
|
index da71b71..f21400b 100644
|
||||||
|
--- a/CPP/Windows/FileDir.cpp
|
||||||
|
+++ b/CPP/Windows/FileDir.cpp
|
||||||
|
@@ -14,6 +14,8 @@
|
||||||
|
extern bool g_IsNT;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+static CFSTR kTempDirName = FTEXT("TEMP");
|
||||||
|
+
|
||||||
|
using namespace NWindows;
|
||||||
|
using namespace NFile;
|
||||||
|
using namespace NName;
|
||||||
|
@@ -67,6 +69,36 @@ bool GetSystemDir(FString &path)
|
||||||
|
}
|
||||||
|
return (needLength > 0 && needLength <= MAX_PATH);
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+bool GetAppDataDir(FString &path)
|
||||||
|
+{
|
||||||
|
+ HRESULT hResult;
|
||||||
|
+ static const int FolderId[] = { CSIDL_LOCAL_APPDATA, CSIDL_APPDATA, CSIDL_PROFILE, NULL };
|
||||||
|
+ for(size_t i = 0; i < 3; ++i)
|
||||||
|
+ {
|
||||||
|
+ #ifndef _UNICODE
|
||||||
|
+ if (!g_IsNT)
|
||||||
|
+ {
|
||||||
|
+ TCHAR s[MAX_PATH + 2];
|
||||||
|
+ s[0] = 0;
|
||||||
|
+ hResult = ::SHGetFolderPath(NULL, FolderId[i] | CSIDL_FLAG_CREATE, NULL, 0, s);
|
||||||
|
+ path = fas2fs(s);
|
||||||
|
+ }
|
||||||
|
+ else
|
||||||
|
+ #endif
|
||||||
|
+ {
|
||||||
|
+ WCHAR s[MAX_PATH + 2];
|
||||||
|
+ s[0] = 0;
|
||||||
|
+ hResult = ::SHGetFolderPathW(NULL, FolderId[i] | CSIDL_FLAG_CREATE, NULL, 0, s);
|
||||||
|
+ path = us2fs(s);
|
||||||
|
+ }
|
||||||
|
+ if(hResult == S_OK)
|
||||||
|
+ {
|
||||||
|
+ return true; /*success*/
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ return false;
|
||||||
|
+}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
bool SetDirTime(CFSTR path, const FILETIME *cTime, const FILETIME *aTime, const FILETIME *mTime)
|
||||||
|
@@ -566,7 +598,7 @@ bool MyGetTempPath(FString &path)
|
||||||
|
{
|
||||||
|
WCHAR s[MAX_PATH + 2];
|
||||||
|
s[0] = 0;
|
||||||
|
- needLength = ::GetTempPathW(MAX_PATH + 1, s);;
|
||||||
|
+ needLength = ::GetTempPathW(MAX_PATH + 1, s);
|
||||||
|
path = us2fs(s);
|
||||||
|
}
|
||||||
|
return (needLength > 0 && needLength <= MAX_PATH);
|
||||||
|
@@ -671,12 +703,29 @@ bool CTempDir::Create(CFSTR prefix)
|
||||||
|
if (!Remove())
|
||||||
|
return false;
|
||||||
|
FString tempPath;
|
||||||
|
- if (!MyGetTempPath(tempPath))
|
||||||
|
- return false;
|
||||||
|
- if (!CreateTempFile(tempPath + prefix, true, _path, NULL))
|
||||||
|
- return false;
|
||||||
|
- _mustBeDeleted = true;
|
||||||
|
- return true;
|
||||||
|
+ if (MyGetTempPath(tempPath))
|
||||||
|
+ {
|
||||||
|
+ if (CreateTempFile(tempPath + prefix, true, _path, NULL))
|
||||||
|
+ {
|
||||||
|
+ _mustBeDeleted = true;
|
||||||
|
+ return true;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ if (GetAppDataDir(tempPath))
|
||||||
|
+ {
|
||||||
|
+ tempPath.Add_PathSepar();
|
||||||
|
+ tempPath += kTempDirName;
|
||||||
|
+ if(CreateComplexDir(tempPath))
|
||||||
|
+ {
|
||||||
|
+ tempPath.Add_PathSepar();
|
||||||
|
+ if (CreateTempFile(tempPath + prefix, true, _path, NULL))
|
||||||
|
+ {
|
||||||
|
+ _mustBeDeleted = true;
|
||||||
|
+ return true;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CTempDir::Remove()
|
||||||
|
diff --git a/CPP/Windows/FileDir.h b/CPP/Windows/FileDir.h
|
||||||
|
index b13d1cc..1d87bbf 100644
|
||||||
|
--- a/CPP/Windows/FileDir.h
|
||||||
|
+++ b/CPP/Windows/FileDir.h
|
||||||
|
@@ -13,6 +13,7 @@ namespace NDir {
|
||||||
|
|
||||||
|
bool GetWindowsDir(FString &path);
|
||||||
|
bool GetSystemDir(FString &path);
|
||||||
|
+bool GetAppDataDir(FString &path);
|
||||||
|
|
||||||
|
bool SetDirTime(CFSTR path, const FILETIME *cTime, const FILETIME *aTime, const FILETIME *mTime);
|
||||||
|
bool SetFileAttrib(CFSTR path, DWORD attrib);
|
||||||
|
Binary file not shown.
@ -35,7 +35,7 @@
|
|||||||
#define VER_LAMEXP_MINOR_LO 4
|
#define VER_LAMEXP_MINOR_LO 4
|
||||||
#define VER_LAMEXP_TYPE Beta
|
#define VER_LAMEXP_TYPE Beta
|
||||||
#define VER_LAMEXP_PATCH 8
|
#define VER_LAMEXP_PATCH 8
|
||||||
#define VER_LAMEXP_BUILD 1910
|
#define VER_LAMEXP_BUILD 1912
|
||||||
#define VER_LAMEXP_CONFG 1818
|
#define VER_LAMEXP_CONFG 1818
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
Loading…
x
Reference in New Issue
Block a user