Add patch to create AppData\LocalLow directory

This commit is contained in:
Michael Müller 2014-07-27 03:02:59 +02:00
parent c3a2198919
commit 283dd7e35c
4 changed files with 80 additions and 0 deletions

View File

@ -15,6 +15,7 @@ These patches fix the following Wine bugs:
* Workaround for TransactNamedPipe not being supported ([Wine Bug #17273](http://bugs.winehq.org/show_bug.cgi?id=17273 "Many apps and games need SetNamedPipeHandleState implementation (support for named pipe message mode)(FireFox+Flash, Win8/NET 4.x SDK/vcrun2012, WiX installers)"))
* ATL IOCS data should not be stored in GWLP_USERDATA ([Wine Bug #21767](http://bugs.winehq.org/show_bug.cgi?id=21767 "JLC's Internet TV crashes on startup"))
* Support for process ACLs ([Wine Bug #22006](http://bugs.winehq.org/show_bug.cgi?id=22006 "OpenProcess does not enforce ACL"))
* Create AppData\LocalLow in user profile directory ([Wine Bug #22896](http://bugs.winehq.org/show_bug.cgi?id=22896 "Multiple applications and games need support for shell32 FOLDERID_LocalAppDataLow (.NET based Unity Engine games, Java JRE 6 in Vista mode)"))
* Return correct IMediaSeeking stream positions in quartz ([Wine Bug #23174](http://bugs.winehq.org/show_bug.cgi?id=23174 "Fallout 3: Diologue and Video/sound issues"))
* Add implementation of WTSEnumerateProcessesW ([Wine Bug #29903](http://bugs.winehq.org/show_bug.cgi?id=29903 "Some Microsoft debuggers fail to enumerate processes due to wtsapi32.WTSEnumerateProcessesW() being a stub (Microsoft Visual Studio 2005, DbgCLR from .NET 2.0 SDK)"))
* Fix race conditions and deadlocks in strmbase/quartz ([Wine Bug #31566](http://bugs.winehq.org/show_bug.cgi?id=31566 "Fallout 3: regression causes block at critical section when radio is enabled"))

View File

@ -24,6 +24,7 @@ PATCHLIST := Miscellaneous.ok \
server-Misc_ACL.ok \
server-Stored_ACLs.ok \
shell32-Default_Folder_ACLs.ok \
shell32-Register_Folders.ok \
shell32-SHCreateSessionKey.ok \
shlwapi-UrlCombine.ok \
strmbase-Lock_Race_Conditions.ok \
@ -409,6 +410,24 @@ shell32-Default_Folder_ACLs.ok:
echo '+ { "shell32-Default_Folder_ACLs", "Erich E. Hoover", "Generate default ACLs for user shell folders. [rev 6]" },'; \
) > shell32-Default_Folder_ACLs.ok
# Patchset shell32-Register_Folders
# |
# | Included patches:
# | * Create AppData\LocalLow in user profile directory. [by Michael Müller]
# |
# | This patchset fixes the following Wine bugs:
# | * [#22896] Multiple applications and games need support for shell32 FOLDERID_LocalAppDataLow (.NET based Unity Engine
# | games, Java JRE 6 in Vista mode)
# |
# | Modified files:
# | * dlls/shell32/shellpath.c, include/shlobj.h
# |
shell32-Register_Folders.ok:
$(PATCH) < shell32-Register_Folders/0001-shell32-create-AppData-LocalLow-directory.patch
@( \
echo '+ { "shell32-Register_Folders", "Michael Müller", "Create AppData\\\\LocalLow in user profile directory." },'; \
) > shell32-Register_Folders.ok
# Patchset shell32-SHCreateSessionKey
# |
# | Included patches:

View File

@ -0,0 +1,56 @@
From 093b6e556c965b00693148f49ff0b35063cd1d01 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 27 Jul 2014 02:53:11 +0200
Subject: shell32: create AppData\LocalLow directory
---
dlls/shell32/shellpath.c | 6 ++++--
include/shlobj.h | 1 +
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/dlls/shell32/shellpath.c b/dlls/shell32/shellpath.c
index 78487e2..30db774 100644
--- a/dlls/shell32/shellpath.c
+++ b/dlls/shell32/shellpath.c
@@ -772,6 +772,7 @@ static const WCHAR szCurrentVersion[] = {'S','o','f','t','w','a','r','e','\\','M
static const WCHAR Administrative_ToolsW[] = {'A','d','m','i','n','i','s','t','r','a','t','i','v','e',' ','T','o','o','l','s','\0'};
static const WCHAR AppDataW[] = {'A','p','p','D','a','t','a','\0'};
static const WCHAR AppData_LocalLowW[] = {'A','p','p','D','a','t','a','\\','L','o','c','a','l','L','o','w','\0'};
+static const WCHAR AppData_LocalLow_FOLDERIDW[] = {'{','A','5','2','0','A','1','A','4','-','1','7','8','0','-','4','F','F','6','-','B','D','1','8','-','1','6','7','3','4','C','5','A','F','1','6','}','\0'};
static const WCHAR Application_DataW[] = {'A','p','p','l','i','c','a','t','i','o','n',' ','D','a','t','a','\0'};
static const WCHAR CacheW[] = {'C','a','c','h','e','\0'};
static const WCHAR CD_BurningW[] = {'C','D',' ','B','u','r','n','i','n','g','\0'};
@@ -1349,7 +1350,7 @@ static const CSIDL_DATA CSIDL_Data[] =
{ /* 0x4e */
&FOLDERID_LocalAppDataLow,
CSIDL_Type_User,
- NULL,
+ AppData_LocalLow_FOLDERIDW,
AppData_LocalLowW
},
{ /* 0x4f */
@@ -2542,7 +2543,8 @@ static HRESULT _SHRegisterUserShellFolders(BOOL bDefault)
CSIDL_HISTORY,
CSIDL_MYPICTURES,
CSIDL_FONTS,
- CSIDL_ADMINTOOLS
+ CSIDL_ADMINTOOLS,
+ CSIDL_WINE_APPDATA_LOCALLOW
};
WCHAR userShellFolderPath[MAX_PATH], shellFolderPath[MAX_PATH];
LPCWSTR pUserShellFolderPath, pShellFolderPath;
diff --git a/include/shlobj.h b/include/shlobj.h
index 9025a73..1189ae2 100644
--- a/include/shlobj.h
+++ b/include/shlobj.h
@@ -1529,6 +1529,7 @@ HRESULT WINAPI SHGetFolderPathW(HWND hwnd, int nFolder, HANDLE hToken, DWORD dwF
#define CSIDL_CDBURN_AREA 0x003b
#define CSIDL_COMPUTERSNEARME 0x003d
#define CSIDL_PROFILES 0x003e
+#define CSIDL_WINE_APPDATA_LOCALLOW 0x004e
#define CSIDL_FOLDER_MASK 0x00ff
#define CSIDL_FLAG_PER_USER_INIT 0x0800
#define CSIDL_FLAG_NO_ALIAS 0x1000
--
1.8.3.2

View File

@ -0,0 +1,4 @@
Author: Michael Müller
Subject: Create AppData\LocalLow in user profile directory.
Revision: 1
Fixes: [22896] Create AppData\LocalLow in user profile directory