1--- C:/Users/CHRIST~1/AppData/Local/Temp/install.-rev47414.svn001.tmp.c Sa Mai 29 16:46:40 2010 2+++ C:/Users/Christoph/Desktop/Projekte/ReactOS/dll/win32/mshtml/install.c Sa Mai 29 16:43:49 2010 3@@ -60,6 +60,11 @@ 4 '\\','W','i','n','e', 5 '\\','M','S','H','T','M','L',0}; 6 7+static const CHAR mshtml_keyA[] = 8+ {'S','o','f','t','w','a','r','e', 9+ '\\','W','i','n','e', 10+ '\\','M','S','H','T','M','L',0}; 11+ 12 static HWND install_dialog = NULL; 13 static LPWSTR tmp_file_name = NULL; 14 static HANDLE tmp_file = INVALID_HANDLE_VALUE; 15@@ -225,23 +230,18 @@ 16 static BOOL install_from_registered_dir(void) 17 { 18 char *file_name; 19- HKEY hkey; 20 DWORD res, type, size = MAX_PATH; 21 BOOL ret; 22 23+ file_name = heap_alloc(size+sizeof(GECKO_FILE_NAME)); 24 /* @@ Wine registry key: HKCU\Software\Wine\MSHTML */ 25- res = RegOpenKeyW(HKEY_CURRENT_USER, mshtml_keyW, &hkey); 26- if(res != ERROR_SUCCESS) 27- return FALSE; 28- 29- file_name = heap_alloc(size+sizeof(GECKO_FILE_NAME)); 30- res = RegQueryValueExA(hkey, "GeckoCabDir", NULL, &type, (PBYTE)file_name, &size); 31+ res = RegGetValueA(HKEY_CURRENT_USER, mshtml_keyA, "GeckoCabDir", RRF_RT_ANY, &type, (PBYTE)file_name, &size); 32 if(res == ERROR_MORE_DATA) { 33 file_name = heap_realloc(file_name, size+sizeof(GECKO_FILE_NAME)); 34- res = RegQueryValueExA(hkey, "GeckoCabDir", NULL, &type, (PBYTE)file_name, &size); 35+ res = RegGetValueA(HKEY_CURRENT_USER, mshtml_keyA, "GeckoCabDir", RRF_RT_ANY, &type, (PBYTE)file_name, &size); 36 } 37- RegCloseKey(hkey); 38- if(res != ERROR_SUCCESS || type != REG_SZ) { 39+ 40+ if(res != ERROR_SUCCESS || (type != REG_SZ && type != REG_EXPAND_SZ)) { 41 heap_free(file_name); 42 return FALSE; 43 } 44