[PATCH 4/7] msi: Implement the INSTALL top-level action.

Zebediah Figura z.figura12 at gmail.com
Tue Sep 12 20:51:19 CDT 2017


Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
 dlls/msi/action.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/dlls/msi/action.c b/dlls/msi/action.c
index ad085ee006..ee1622bdab 100644
--- a/dlls/msi/action.c
+++ b/dlls/msi/action.c
@@ -5666,6 +5666,18 @@ static UINT ACTION_ExecuteAction(MSIPACKAGE *package)
     return rc;
 }
 
+static UINT ACTION_INSTALL(MSIPACKAGE *package)
+{
+    msi_set_property(package->db, szEXECUTEACTION, szINSTALL, -1);
+    if (needs_ui_sequence(package) && ui_sequence_exists(package))
+    {
+        package->script->InWhatSequence |= SEQUENCE_UI;
+        return ACTION_ProcessUISequence(package);
+    }
+    else
+        return ACTION_ExecuteAction(package);
+}
+
 WCHAR *msi_create_component_advertise_string( MSIPACKAGE *package, MSICOMPONENT *component, const WCHAR *feature )
 {
     static const WCHAR fmt[] = {'%','s','%','s','%','c','%','s',0};
@@ -7817,6 +7829,7 @@ StandardActions[] =
     { szWriteEnvironmentStrings, IDS_DESC_WRITEENVIRONMENTSTRINGS, IDS_TEMP_WRITEENVIRONMENTSTRINGS, ACTION_WriteEnvironmentStrings, szRemoveEnvironmentStrings },
     { szWriteIniValues, IDS_DESC_WRITEINIVALUES, IDS_TEMP_WRITEINIVALUES, ACTION_WriteIniValues, szRemoveIniValues },
     { szWriteRegistryValues, IDS_DESC_WRITEREGISTRYVALUES, IDS_TEMP_WRITEREGISTRYVALUES, ACTION_WriteRegistryValues, szRemoveRegistryValues },
+    { szINSTALL, 0, 0, ACTION_INSTALL, NULL },
     { 0 }
 };
 
-- 
2.14.1




More information about the wine-patches mailing list