From 43bbef89b50308878e0a60e673cdcdff62b34dfc Mon Sep 17 00:00:00 2001 From: Michael Martin Date: Sun, 5 Apr 2009 20:05:40 +0000 Subject: [PATCH] - Create Common Files directory when creating Program Files to match windows fresh install and add registry key for CommonFilesDir. This prevents the key from being incorrectly set using an environment variable. svn path=/trunk/; revision=40377 --- reactos/dll/win32/userenv/lang/bg-BG.rc | 1 + reactos/dll/win32/userenv/lang/cs-CZ.rc | 1 + reactos/dll/win32/userenv/lang/de-DE.rc | 1 + reactos/dll/win32/userenv/lang/el-GR.rc | 1 + reactos/dll/win32/userenv/lang/en-US.rc | 1 + reactos/dll/win32/userenv/lang/es-ES.rc | 1 + reactos/dll/win32/userenv/lang/fi-FI.rc | 1 + reactos/dll/win32/userenv/lang/fr-FR.rc | 1 + reactos/dll/win32/userenv/lang/hu-HU.rc | 1 + reactos/dll/win32/userenv/lang/id-ID.rc | 1 + reactos/dll/win32/userenv/lang/it-IT.rc | 1 + reactos/dll/win32/userenv/lang/ja-JP.rc | 1 + reactos/dll/win32/userenv/lang/lt-LT.rc | 1 + reactos/dll/win32/userenv/lang/nl-NL.rc | 1 + reactos/dll/win32/userenv/lang/no-NO.rc | 1 + reactos/dll/win32/userenv/lang/pl-PL.rc | 1 + reactos/dll/win32/userenv/lang/ru-RU.rc | 1 + reactos/dll/win32/userenv/lang/sk-SK.rc | 1 + reactos/dll/win32/userenv/lang/sv-SE.rc | 1 + reactos/dll/win32/userenv/lang/th-TH.rc | 1 + reactos/dll/win32/userenv/lang/uk-UA.rc | 1 + reactos/dll/win32/userenv/resources.h | 1 + reactos/dll/win32/userenv/setup.c | 41 +++++++++++++++++++++++++ 23 files changed, 63 insertions(+) diff --git a/reactos/dll/win32/userenv/lang/bg-BG.rc b/reactos/dll/win32/userenv/lang/bg-BG.rc index df81f389e38..c0b5c313cde 100644 --- a/reactos/dll/win32/userenv/lang/bg-BG.rc +++ b/reactos/dll/win32/userenv/lang/bg-BG.rc @@ -44,4 +44,5 @@ BEGIN IDS_HISTORY "Ìåñòíè íàñòðîéêè\\Ïîñåòåíè" IDS_COOKIES "Êóðàáèéêè" IDS_PROGRAMFILES "%SystemDrive%\\Program Files" + IDS_COMMONFILES "Common Files" END diff --git a/reactos/dll/win32/userenv/lang/cs-CZ.rc b/reactos/dll/win32/userenv/lang/cs-CZ.rc index 66b779276e0..aed3eb27a5d 100644 --- a/reactos/dll/win32/userenv/lang/cs-CZ.rc +++ b/reactos/dll/win32/userenv/lang/cs-CZ.rc @@ -45,4 +45,5 @@ BEGIN IDS_HISTORY "Local Settings\\History" IDS_COOKIES "Cookies" IDS_PROGRAMFILES "%SystemDrive%\\Program Files" + IDS_COMMONFILES "Common Files" END diff --git a/reactos/dll/win32/userenv/lang/de-DE.rc b/reactos/dll/win32/userenv/lang/de-DE.rc index 9f300c994b6..21d7894e337 100644 --- a/reactos/dll/win32/userenv/lang/de-DE.rc +++ b/reactos/dll/win32/userenv/lang/de-DE.rc @@ -44,4 +44,5 @@ BEGIN IDS_HISTORY "Lokale Einstellungen\\Verlauf" IDS_COOKIES "Cookies" IDS_PROGRAMFILES "%SystemDrive%\\Programme" + IDS_COMMONFILES "Common Files" END diff --git a/reactos/dll/win32/userenv/lang/el-GR.rc b/reactos/dll/win32/userenv/lang/el-GR.rc index e9ae54e5a63..6fde4aee20a 100644 --- a/reactos/dll/win32/userenv/lang/el-GR.rc +++ b/reactos/dll/win32/userenv/lang/el-GR.rc @@ -44,4 +44,5 @@ BEGIN IDS_HISTORY "Local Settings\\History" IDS_COOKIES "Cookies" IDS_PROGRAMFILES "%SystemDrive%\\Program Files" + IDS_COMMONFILES "Common Files" END diff --git a/reactos/dll/win32/userenv/lang/en-US.rc b/reactos/dll/win32/userenv/lang/en-US.rc index af2d25a5fef..1c1bb78e310 100644 --- a/reactos/dll/win32/userenv/lang/en-US.rc +++ b/reactos/dll/win32/userenv/lang/en-US.rc @@ -44,4 +44,5 @@ BEGIN IDS_HISTORY "Local Settings\\History" IDS_COOKIES "Cookies" IDS_PROGRAMFILES "%SystemDrive%\\Program Files" + IDS_COMMONFILES "Common Files" END diff --git a/reactos/dll/win32/userenv/lang/es-ES.rc b/reactos/dll/win32/userenv/lang/es-ES.rc index 0a70968f369..4253542f806 100644 --- a/reactos/dll/win32/userenv/lang/es-ES.rc +++ b/reactos/dll/win32/userenv/lang/es-ES.rc @@ -50,4 +50,5 @@ BEGIN IDS_HISTORY "Configuración local\\Historial" IDS_COOKIES "Cookies" IDS_PROGRAMFILES "%SystemDrive%\\Archivos de programa" + IDS_COMMONFILES "Common Files" END diff --git a/reactos/dll/win32/userenv/lang/fi-FI.rc b/reactos/dll/win32/userenv/lang/fi-FI.rc index bd98b7155b7..debcd71cec2 100644 --- a/reactos/dll/win32/userenv/lang/fi-FI.rc +++ b/reactos/dll/win32/userenv/lang/fi-FI.rc @@ -44,5 +44,6 @@ BEGIN IDS_HISTORY "Paikalliset Asetukset\\Historia" IDS_COOKIES "Keksit" IDS_PROGRAMFILES "%SystemDrive%\\Program Files" + IDS_COMMONFILES "Common Files" END diff --git a/reactos/dll/win32/userenv/lang/fr-FR.rc b/reactos/dll/win32/userenv/lang/fr-FR.rc index afca99368e7..a9b82452d32 100644 --- a/reactos/dll/win32/userenv/lang/fr-FR.rc +++ b/reactos/dll/win32/userenv/lang/fr-FR.rc @@ -44,4 +44,5 @@ BEGIN IDS_HISTORY "Local Settings\\Historique" IDS_COOKIES "Cookies" IDS_PROGRAMFILES "%SystemDrive%\\Program Files" + IDS_COMMONFILES "Common Files" END diff --git a/reactos/dll/win32/userenv/lang/hu-HU.rc b/reactos/dll/win32/userenv/lang/hu-HU.rc index 0e5a3523d51..65816b71b8e 100644 --- a/reactos/dll/win32/userenv/lang/hu-HU.rc +++ b/reactos/dll/win32/userenv/lang/hu-HU.rc @@ -45,4 +45,5 @@ BEGIN IDS_HISTORY "Local Settings\\History" IDS_COOKIES "Cookies" IDS_PROGRAMFILES "%SystemDrive%\\Program Files" + IDS_COMMONFILES "Common Files" END diff --git a/reactos/dll/win32/userenv/lang/id-ID.rc b/reactos/dll/win32/userenv/lang/id-ID.rc index c4af0472366..37ba4aa1ad2 100644 --- a/reactos/dll/win32/userenv/lang/id-ID.rc +++ b/reactos/dll/win32/userenv/lang/id-ID.rc @@ -44,4 +44,5 @@ BEGIN IDS_HISTORY "Local Settings\\History" IDS_COOKIES "Cookies" IDS_PROGRAMFILES "%SystemDrive%\\Program Files" + IDS_COMMONFILES "Common Files" END diff --git a/reactos/dll/win32/userenv/lang/it-IT.rc b/reactos/dll/win32/userenv/lang/it-IT.rc index 8079ab28dc1..f6e3acf380d 100644 --- a/reactos/dll/win32/userenv/lang/it-IT.rc +++ b/reactos/dll/win32/userenv/lang/it-IT.rc @@ -38,4 +38,5 @@ BEGIN IDS_HISTORY "Impostazioni locali\\Cronologia" IDS_COOKIES "Cookies" IDS_PROGRAMFILES "%SystemDrive%\\Programmi" + IDS_COMMONFILES "Common Files" END diff --git a/reactos/dll/win32/userenv/lang/ja-JP.rc b/reactos/dll/win32/userenv/lang/ja-JP.rc index f1f32d990f1..149052634f9 100644 --- a/reactos/dll/win32/userenv/lang/ja-JP.rc +++ b/reactos/dll/win32/userenv/lang/ja-JP.rc @@ -26,4 +26,5 @@ BEGIN IDS_HISTORY "Local Settings\\History" IDS_COOKIES "Cookies" IDS_PROGRAMFILES "%SystemDrive%\\Program Files" + IDS_COMMONFILES "Common Files" END diff --git a/reactos/dll/win32/userenv/lang/lt-LT.rc b/reactos/dll/win32/userenv/lang/lt-LT.rc index 9051706954a..aad8484b98c 100644 --- a/reactos/dll/win32/userenv/lang/lt-LT.rc +++ b/reactos/dll/win32/userenv/lang/lt-LT.rc @@ -46,4 +46,5 @@ BEGIN IDS_HISTORY "Local Settings\\History" IDS_COOKIES "Slapukai" IDS_PROGRAMFILES "%SystemDrive%\\Program Files" + IDS_COMMONFILES "Common Files" END diff --git a/reactos/dll/win32/userenv/lang/nl-NL.rc b/reactos/dll/win32/userenv/lang/nl-NL.rc index 17165d1cebe..67bce945025 100644 --- a/reactos/dll/win32/userenv/lang/nl-NL.rc +++ b/reactos/dll/win32/userenv/lang/nl-NL.rc @@ -44,4 +44,5 @@ BEGIN IDS_HISTORY "Local Settings\\Geschiedenis" IDS_COOKIES "Cookies" IDS_PROGRAMFILES "%SystemDrive%\\Program Files" + IDS_COMMONFILES "Common Files" END diff --git a/reactos/dll/win32/userenv/lang/no-NO.rc b/reactos/dll/win32/userenv/lang/no-NO.rc index 32fc9a4fac8..9e6e86f2a04 100644 --- a/reactos/dll/win32/userenv/lang/no-NO.rc +++ b/reactos/dll/win32/userenv/lang/no-NO.rc @@ -47,4 +47,5 @@ BEGIN IDS_HISTORY "Lokale innstillinger\\Logg" IDS_COOKIES "Informasjonkapsel" IDS_PROGRAMFILES "%SystemDrive%\\Programfiler" + IDS_COMMONFILES "Common Files" END diff --git a/reactos/dll/win32/userenv/lang/pl-PL.rc b/reactos/dll/win32/userenv/lang/pl-PL.rc index 748830724cf..b70f349a10e 100644 --- a/reactos/dll/win32/userenv/lang/pl-PL.rc +++ b/reactos/dll/win32/userenv/lang/pl-PL.rc @@ -49,4 +49,5 @@ BEGIN IDS_HISTORY "Ustawienia lokalne\\Historia" IDS_COOKIES "Ciasteczka" IDS_PROGRAMFILES "%SystemDrive%\\Program Files" + IDS_COMMONFILES "Common Files" END diff --git a/reactos/dll/win32/userenv/lang/ru-RU.rc b/reactos/dll/win32/userenv/lang/ru-RU.rc index 31bf5d55566..0fc6d2cf64f 100644 --- a/reactos/dll/win32/userenv/lang/ru-RU.rc +++ b/reactos/dll/win32/userenv/lang/ru-RU.rc @@ -44,4 +44,5 @@ BEGIN IDS_HISTORY "Local Settings\\History" IDS_COOKIES "Cookies" IDS_PROGRAMFILES "%SystemDrive%\\Program Files" + IDS_COMMONFILES "Common Files" END diff --git a/reactos/dll/win32/userenv/lang/sk-SK.rc b/reactos/dll/win32/userenv/lang/sk-SK.rc index 84144bc3778..e26af03742a 100644 --- a/reactos/dll/win32/userenv/lang/sk-SK.rc +++ b/reactos/dll/win32/userenv/lang/sk-SK.rc @@ -48,4 +48,5 @@ BEGIN IDS_HISTORY "Local Settings\\History" IDS_COOKIES "Cookies" IDS_PROGRAMFILES "%SystemDrive%\\Program Files" + IDS_COMMONFILES "Common Files" END diff --git a/reactos/dll/win32/userenv/lang/sv-SE.rc b/reactos/dll/win32/userenv/lang/sv-SE.rc index 3dfa331ed53..0ef28e08ee4 100644 --- a/reactos/dll/win32/userenv/lang/sv-SE.rc +++ b/reactos/dll/win32/userenv/lang/sv-SE.rc @@ -44,4 +44,5 @@ BEGIN IDS_HISTORY "Lokala inställningar\\Tidigare" IDS_COOKIES "Cookies" IDS_PROGRAMFILES "%SystemDrive%\\Program" + IDS_COMMONFILES "Common Files" END diff --git a/reactos/dll/win32/userenv/lang/th-TH.rc b/reactos/dll/win32/userenv/lang/th-TH.rc index 1b956676bc6..d74d27ff4fe 100644 --- a/reactos/dll/win32/userenv/lang/th-TH.rc +++ b/reactos/dll/win32/userenv/lang/th-TH.rc @@ -44,4 +44,5 @@ BEGIN IDS_HISTORY "¡ÒõÑ駤èÒµÑé§µé¹\\»ÃÐÇѵÔãªé§Ò¹" IDS_COOKIES "¤Ø¡¡Õé" IDS_PROGRAMFILES "%SystemDrive%\\â»Ãá¡ÃÁä¿Åì" + IDS_COMMONFILES "Common Files" END diff --git a/reactos/dll/win32/userenv/lang/uk-UA.rc b/reactos/dll/win32/userenv/lang/uk-UA.rc index 922cd336671..fda490d3aaf 100644 --- a/reactos/dll/win32/userenv/lang/uk-UA.rc +++ b/reactos/dll/win32/userenv/lang/uk-UA.rc @@ -44,4 +44,5 @@ BEGIN IDS_HISTORY "Local Settings\\History" IDS_COOKIES "Cookies" IDS_PROGRAMFILES "%SystemDrive%\\Program Files" + IDS_COMMONFILES "Common Files" END diff --git a/reactos/dll/win32/userenv/resources.h b/reactos/dll/win32/userenv/resources.h index 14c2dcff9ce..53e7ba6cae6 100644 --- a/reactos/dll/win32/userenv/resources.h +++ b/reactos/dll/win32/userenv/resources.h @@ -49,5 +49,6 @@ #define IDS_HISTORY 22 #define IDS_COOKIES 23 #define IDS_PROGRAMFILES 24 +#define IDS_COMMONFILES 25 /* EOF */ diff --git a/reactos/dll/win32/userenv/setup.c b/reactos/dll/win32/userenv/setup.c index 70fdc598de4..24119d2b18c 100644 --- a/reactos/dll/win32/userenv/setup.c +++ b/reactos/dll/win32/userenv/setup.c @@ -109,6 +109,7 @@ InitializeProfiles(VOID) { WCHAR szProfilesPath[MAX_PATH]; WCHAR szProfilePath[MAX_PATH]; + WCHAR szCommonFilesDirPath[MAX_PATH]; WCHAR szBuffer[MAX_PATH]; DWORD dwLength; PFOLDERDATA lpFolderData; @@ -584,6 +585,14 @@ InitializeProfiles(VOID) return FALSE; } + if (!LoadStringW(hInstance, + IDS_COMMONFILES, + szCommonFilesDirPath, + MAX_PATH)) + { + DPRINT1("Warning: %lu\n", GetLastError()); + } + /* Expand it */ if (!ExpandEnvironmentStringsW(szBuffer, szProfilesPath, @@ -593,6 +602,17 @@ InitializeProfiles(VOID) return FALSE; } + wcscpy(szBuffer, szProfilesPath); + wcscat(szBuffer, L"\\"); + wcscat(szBuffer, szCommonFilesDirPath); + + if (!ExpandEnvironmentStringsW(szBuffer, + szCommonFilesDirPath, + MAX_PATH)) + { + DPRINT1("Warning: %lu\n", GetLastError()); + } + /* Store it */ Error = RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion", @@ -621,6 +641,18 @@ InitializeProfiles(VOID) return FALSE; } + dwLength = (wcslen(szCommonFilesDirPath) + 1) * sizeof(WCHAR); + Error = RegSetValueExW(hKey, + L"CommonFilesDir", + 0, + REG_SZ, + (LPBYTE)szCommonFilesDirPath, + dwLength); + if (Error != ERROR_SUCCESS) + { + DPRINT1("Warning: %lu\n", Error); + } + RegCloseKey (hKey); /* Create directory */ @@ -633,6 +665,15 @@ InitializeProfiles(VOID) } } + /* Create directory */ + if (!CreateDirectoryW(szCommonFilesDirPath, NULL)) + { + if (GetLastError () != ERROR_ALREADY_EXISTS) + { + DPRINT1("Warning: %lu\n", GetLastError()); + } + } + DPRINT("Success\n"); return TRUE;