msiexec /x syntax patch

Andrey Turkin pancha at mail.nnov.ru
Thu Sep 21 21:16:52 CDT 2006


Native msiexec accepts package right after /x (e.g msiexec 
/x{PRODUCTCODE} will work). This patch modifies Wine's msiexec to allow 
such syntax too.

ChangeLog:

msiexec should recognize /xpackage syntax
-------------- next part --------------
--- wine-0.9.20-orig/programs/msiexec/msiexec.c	2006-08-24 18:11:45.000000000 +0400
+++ wine-0.9.20/programs/msiexec/msiexec.c	2006-08-29 15:27:34.000000000 +0400
@@ -546,14 +546,18 @@
 			WINE_TRACE("argvW[%d] = %s\n", i, wine_dbgstr_w(argvW[i]));
 			PackageName = argvW[i];
 		}
-		else if(msi_option_equal(argvW[i], "x"))
+		else if(msi_option_prefix(argvW[i], "x"))
 		{
 			FunctionInstall = TRUE;
-			i++;
-			if(i >= argc)
-				ShowUsage(1);
-			WINE_TRACE("argvW[%d] = %s\n", i, wine_dbgstr_w(argvW[i]));
-			PackageName = argvW[i];
+			PackageName = argvW[i]+2;
+			if (!PackageName[0])
+			{
+				i++;
+				if (i >= argc)
+					ShowUsage(1);
+				PackageName = argvW[i];
+			}
+			WINE_TRACE("PackageName = %s\n", wine_dbgstr_w(PackageName));
 			StringListAppend(&property_list, RemoveAll);
 		}
 		else if(msi_option_prefix(argvW[i], "j"))


More information about the wine-patches mailing list