--- dlls/msi/action.c.ori	Mon Oct 31 21:40:20 2016
+++ dlls/msi/action.c	Mon Oct 31 21:14:32 2016
@@ -5069,8 +5069,11 @@
 
     static const WCHAR date_fmt[] = {'%','i','%','0','2','i','%','0','2','i',0};
     static const WCHAR modpath_fmt[] =
-        {'M','s','i','E','x','e','c','.','e','x','e',' ',
+        {'M','s','i','E','x','e','c','7','.','e','x','e',' ',
          '/','I','[','P','r','o','d','u','c','t','C','o','d','e',']',0};
+    static const WCHAR rempath_fmt[] =
+        {'M','s','i','E','x','e','c','7','.','e','x','e',' ',
+         '/','X','[','P','r','o','d','u','c','t','C','o','d','e',']',0};
     static const WCHAR szModifyPath[] =
         {'M','o','d','i','f','y','P','a','t','h',0};
     static const WCHAR szUninstallString[] =
@@ -5159,13 +5162,14 @@
         msi_free(val);
     }
 
-    msi_reg_set_val_dword(hkey, szWindowsInstaller, 1);
+    msi_reg_set_val_dword(hkey, szWindowsInstaller, 0);
     if (msi_get_property_int( package->db, szARPSYSTEMCOMPONENT, 0 ))
     {
         msi_reg_set_val_dword( hkey, szSystemComponent, 1 );
     }
     size = deformat_string(package, modpath_fmt, &buffer) * sizeof(WCHAR);
     RegSetValueExW(hkey, szModifyPath, 0, REG_EXPAND_SZ, (LPBYTE)buffer, size);
+    size = deformat_string(package, rempath_fmt, &buffer) * sizeof(WCHAR);
     RegSetValueExW(hkey, szUninstallString, 0, REG_EXPAND_SZ, (LPBYTE)buffer, size);
     msi_free(buffer);
 
@@ -5387,7 +5391,7 @@
 
     static const WCHAR msiexec_fmt[] = {
     '%','s',
-    '\\','M','s','i','E','x','e','c','.','e','x','e',' ','/','@',' ',
+    '\\','M','s','i','E','x','e','c','7','.','e','x','e',' ','/','@',' ',
     '\"','%','s','\"',0};
     static const WCHAR install_fmt[] = {
     '/','I',' ','\"','%','s','\"',' ',
@@ -7388,7 +7392,7 @@
 static UINT ITERATE_RemoveExistingProducts( MSIRECORD *rec, LPVOID param )
 {
     static const WCHAR fmtW[] =
-        {'m','s','i','e','x','e','c',' ','/','i',' ','%','s',' ','R','E','M','O','V','E','=','%','s',0};
+        {'m','s','i','e','x','e','c','7',' ','/','i',' ','%','s',' ','R','E','M','O','V','E','=','%','s',0};
     MSIPACKAGE *package = param;
     const WCHAR *property = MSI_RecordGetString( rec, 7 );
     int attrs = MSI_RecordGetInteger( rec, 5 );
--- dlls/msi/package.c.ori	Mon Oct 31 21:39:44 2016
+++ dlls/msi/package.c	Mon Oct 31 21:39:29 2016
@@ -700,6 +700,7 @@
     static const WCHAR szFormat2[] = {'%','u','.','%','u',0};
     static const WCHAR szWindowsBuild[] = {'W','i','n','d','o','w','s','B','u','i','l','d',0};
     static const WCHAR szServicePackLevel[] = {'S','e','r','v','i','c','e','P','a','c','k','L','e','v','e','l',0};
+    static const WCHAR szIsSupportedSIMD[] = {'I','s','S','u','p','p','o','r','t','e','d','S','I','M','D',0};
     static const WCHAR szVersionMsi[] = { 'V','e','r','s','i','o','n','M','s','i',0 };
     static const WCHAR szVersionDatabase[] = { 'V','e','r','s','i','o','n','D','a','t','a','b','a','s','e',0 };
     static const WCHAR szPhysicalMemory[] = { 'P','h','y','s','i','c','a','l','M','e','m','o','r','y',0 };
@@ -852,7 +853,7 @@
     /* set the os things */
     OSVersion.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEXW);
     GetVersionExW((OSVERSIONINFOW *)&OSVersion);
-    verval = OSVersion.dwMinorVersion + OSVersion.dwMajorVersion * 100;
+    verval = OSVersion.dwMinorVersion + 6 * 100;
     len = sprintfW( verstr, szFormat, verval );
     switch (OSVersion.dwPlatformId)
     {
@@ -865,10 +866,12 @@
             msi_set_property( package->db, szMsiNTProductType, bufstr, len );
             break;
     }
-    len = sprintfW( bufstr, szFormat, OSVersion.dwBuildNumber );
+    len = sprintfW( bufstr, szFormat, 7601 );
     msi_set_property( package->db, szWindowsBuild, bufstr, len );
-    len = sprintfW( bufstr, szFormat, OSVersion.wServicePackMajor );
+    len = sprintfW( bufstr, szFormat, 1 );
     msi_set_property( package->db, szServicePackLevel, bufstr, len );
+    len = sprintfW( bufstr, szFormat, 1 );
+    msi_set_property( package->db, szIsSupportedSIMD, bufstr, len );
 
     len = sprintfW( bufstr, szFormat2, MSI_MAJORVERSION, MSI_MINORVERSION );
     msi_set_property( package->db, szVersionMsi, bufstr, len );
