msi: Don't flag an error in the InstallServices action if the component does not...
authorHans Leidekker <hans@codeweavers.com>
Thu, 23 Dec 2010 16:08:47 +0000 (17:08 +0100)
committerAlexandre Julliard <julliard@winehq.org>
Thu, 23 Dec 2010 16:45:07 +0000 (17:45 +0100)
dlls/msi/action.c

index 48e77a36de30789ea65d09286f4bab10492b1ac6..db3eda865c20adc2f16fe814e99de9e1fe8052e7 100644 (file)
@@ -5525,6 +5525,10 @@ static UINT ITERATE_InstallService(MSIRECORD *rec, LPVOID param)
         goto done;
     }
 
+    comp = MSI_RecordGetString( rec, 12 );
+    if (!get_loaded_component( package, comp ))
+        goto done;
+
     start_type = MSI_RecordGetInteger(rec, 5);
     if (start_type == SERVICE_BOOT_START || start_type == SERVICE_SYSTEM_START)
         goto done;
@@ -5538,7 +5542,6 @@ static UINT ITERATE_InstallService(MSIRECORD *rec, LPVOID param)
     deformat_string(package, MSI_RecordGetString(rec, 9), &serv_name);
     deformat_string(package, MSI_RecordGetString(rec, 10), &pass);
     deformat_string(package, MSI_RecordGetString(rec, 11), &args);
-    comp = MSI_RecordGetString(rec, 12);
     deformat_string(package, MSI_RecordGetString(rec, 13), &sd.lpDescription);
 
     /* fetch the service path */