Author: akhaldi
Date: Sat Jun 25 11:27:22 2016
New Revision: 71667
URL:
http://svn.reactos.org/svn/reactos?rev=71667&view=rev
Log:
[MSI] Sync with Wine Staging 1.9.12. CORE-11266
Modified:
trunk/reactos/dll/win32/msi/action.c
trunk/reactos/dll/win32/msi/custom.c
trunk/reactos/dll/win32/msi/dialog.c
trunk/reactos/dll/win32/msi/msvchelper.h
trunk/reactos/dll/win32/msi/where.c
trunk/reactos/media/doc/README.WINE
Modified: trunk/reactos/dll/win32/msi/action.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msi/action.c?rev…
==============================================================================
--- trunk/reactos/dll/win32/msi/action.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/msi/action.c [iso-8859-1] Sat Jun 25 11:27:22 2016
@@ -2987,11 +2987,7 @@
{
*p = 0;
if (!p[1]) continue; /* trailing backslash */
-#ifdef __REACTOS__ /* CORE-10587 */
hkey = open_key( comp, root, subkey, FALSE, access | READ_CONTROL );
-#else
- hkey = open_key( comp, root, subkey, FALSE, access );
-#endif
if (!hkey) break;
res = RegDeleteKeyExW( hkey, p + 1, access, 0 );
RegCloseKey( hkey );
@@ -5806,6 +5802,7 @@
LPWSTR name = NULL, disp = NULL, load_order = NULL, serv_name = NULL;
LPWSTR depends = NULL, pass = NULL, args = NULL, image_path = NULL;
DWORD serv_type, start_type, err_control;
+ BOOL is_vital;
SERVICE_DESCRIPTIONW sd = {NULL};
UINT ret = ERROR_SUCCESS;
@@ -5844,6 +5841,13 @@
deformat_string(package, MSI_RecordGetString(rec, 11), &args);
deformat_string(package, MSI_RecordGetString(rec, 13), &sd.lpDescription);
+ /* Should the complete install fail if CreateService fails? */
+ is_vital = (err_control & msidbServiceInstallErrorControlVital);
+
+ /* Remove the msidbServiceInstallErrorControlVital-flag from err_control.
+ CreateService (under Windows) would fail if not. */
+ err_control &= ~msidbServiceInstallErrorControlVital;
+
/* fetch the service path */
row = MSI_QueryGetRecord(package->db, query, comp);
if (!row)
@@ -5885,7 +5889,12 @@
if (!service)
{
if (GetLastError() != ERROR_SERVICE_EXISTS)
- ERR("Failed to create service %s: %d\n", debugstr_w(name),
GetLastError());
+ {
+ WARN("Failed to create service %s: %d\n", debugstr_w(name),
GetLastError());
+ if (is_vital)
+ ret = ERROR_INSTALL_FAILURE;
+
+ }
}
else if (sd.lpDescription)
{
Modified: trunk/reactos/dll/win32/msi/custom.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msi/custom.c?rev…
==============================================================================
--- trunk/reactos/dll/win32/msi/custom.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/msi/custom.c [iso-8859-1] Sat Jun 25 11:27:22 2016
@@ -527,6 +527,7 @@
__ASM_CFI(".cfi_rel_offset %ebp,0\n\t")
"movl %esp,%ebp\n\t"
__ASM_CFI(".cfi_def_cfa_register %ebp\n\t")
+ "subl $4,%esp\n\t"
"pushl 12(%ebp)\n\t"
"movl 8(%ebp),%eax\n\t"
"call *%eax\n\t"
Modified: trunk/reactos/dll/win32/msi/dialog.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msi/dialog.c?rev…
==============================================================================
--- trunk/reactos/dll/win32/msi/dialog.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/msi/dialog.c [iso-8859-1] Sat Jun 25 11:27:22 2016
@@ -3590,7 +3590,7 @@
dialog->size.cx = sz.cx;
dialog->size.cy = sz.cy;
- TRACE("%u %u %u %u\n", pos->left, pos->top, pos->right,
pos->bottom);
+ TRACE("%s\n", wine_dbgstr_rect(pos));
style = GetWindowLongPtrW( dialog->hwnd, GWL_STYLE );
AdjustWindowRect( pos, style, FALSE );
Modified: trunk/reactos/dll/win32/msi/msvchelper.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msi/msvchelper.h…
==============================================================================
--- trunk/reactos/dll/win32/msi/msvchelper.h [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/msi/msvchelper.h [iso-8859-1] Sat Jun 25 11:27:22 2016
@@ -14,6 +14,7 @@
{
push ebp
mov ebp, esp
+ sub esp, 4
push dword ptr [ebp + 12]
mov eax, dword ptr [ebp + 8]
call eax
Modified: trunk/reactos/dll/win32/msi/where.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msi/where.c?rev=…
==============================================================================
--- trunk/reactos/dll/win32/msi/where.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/msi/where.c [iso-8859-1] Sat Jun 25 11:27:22 2016
@@ -578,7 +578,7 @@
default:
ERR("Invalid expression type\n");
- break;
+ return ERROR_FUNCTION_FAILED;
}
return ERROR_SUCCESS;
Modified: trunk/reactos/media/doc/README.WINE
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=…
==============================================================================
--- trunk/reactos/media/doc/README.WINE [iso-8859-1] (original)
+++ trunk/reactos/media/doc/README.WINE [iso-8859-1] Sat Jun 25 11:27:22 2016
@@ -114,7 +114,7 @@
reactos/dll/win32/msgsm32.acm # Synced to WineStaging-1.9.4
reactos/dll/win32/mshtml # Synced to WineStaging-1.7.55
reactos/dll/win32/mshtml.tlb # Synced to WineStaging-1.7.55
-reactos/dll/win32/msi # Synced to WineStaging-1.9.4
+reactos/dll/win32/msi # Synced to WineStaging-1.9.12
reactos/dll/win32/msimg32 # Synced to WineStaging-1.9.4
reactos/dll/win32/msimtf # Synced to WineStaging-1.9.4
reactos/dll/win32/msisip # Synced to WineStaging-1.9.4