msi 2: Remove trailing whitespace

James Hawkins truiken at gmail.com
Mon Jul 16 17:00:14 CDT 2007


Hi,

I know we really frown on whitespace changes in patches, so I'm
sending this separate patch that cleans up all trailing whitespace
from msi source files.  I'm using a plugin in my editor that removes
trailing whitespaces on save, so I won't be introducing anymore than
there already are.  If this doesn't get accepted, then it's no big
deal.  I just thought I'd give it a shot for the sake of cleaning up.

Changelog:
* Remove trailing whitespace.

 35 files changed, 441 insertions(+), 441 deletions(-)

Thanks,
James Hawkins
-------------- next part --------------
diff --git a/dlls/msi/action.c b/dlls/msi/action.c
index 953ecb5..dd9b814 100644
--- a/dlls/msi/action.c
+++ b/dlls/msi/action.c
@@ -74,90 +74,90 @@ static const WCHAR szWriteRegistryValues
             'V','a','l','u','e','s',0};
 static const WCHAR szCostInitialize[] =
     {'C','o','s','t','I','n','i','t','i','a','l','i','z','e',0};
-static const WCHAR szFileCost[] = 
+static const WCHAR szFileCost[] =
     {'F','i','l','e','C','o','s','t',0};
-static const WCHAR szInstallInitialize[] = 
+static const WCHAR szInstallInitialize[] =
     {'I','n','s','t','a','l','l','I','n','i','t','i','a','l','i','z','e',0};
-static const WCHAR szInstallValidate[] = 
+static const WCHAR szInstallValidate[] =
     {'I','n','s','t','a','l','l','V','a','l','i','d','a','t','e',0};
-static const WCHAR szLaunchConditions[] = 
+static const WCHAR szLaunchConditions[] =
     {'L','a','u','n','c','h','C','o','n','d','i','t','i','o','n','s',0};
-static const WCHAR szProcessComponents[] = 
+static const WCHAR szProcessComponents[] =
     {'P','r','o','c','e','s','s','C','o','m','p','o','n','e','n','t','s',0};
-static const WCHAR szRegisterTypeLibraries[] = 
+static const WCHAR szRegisterTypeLibraries[] =
     {'R','e','g','i','s','t','e','r','T','y','p','e',
             'L','i','b','r','a','r','i','e','s',0};
-const WCHAR szRegisterClassInfo[] = 
+const WCHAR szRegisterClassInfo[] =
     {'R','e','g','i','s','t','e','r','C','l','a','s','s','I','n','f','o',0};
-const WCHAR szRegisterProgIdInfo[] = 
+const WCHAR szRegisterProgIdInfo[] =
     {'R','e','g','i','s','t','e','r','P','r','o','g','I','d','I','n','f','o',0};
-static const WCHAR szCreateShortcuts[] = 
+static const WCHAR szCreateShortcuts[] =
     {'C','r','e','a','t','e','S','h','o','r','t','c','u','t','s',0};
-static const WCHAR szPublishProduct[] = 
+static const WCHAR szPublishProduct[] =
     {'P','u','b','l','i','s','h','P','r','o','d','u','c','t',0};
-static const WCHAR szWriteIniValues[] = 
+static const WCHAR szWriteIniValues[] =
     {'W','r','i','t','e','I','n','i','V','a','l','u','e','s',0};
-static const WCHAR szSelfRegModules[] = 
+static const WCHAR szSelfRegModules[] =
     {'S','e','l','f','R','e','g','M','o','d','u','l','e','s',0};
-static const WCHAR szPublishFeatures[] = 
+static const WCHAR szPublishFeatures[] =
     {'P','u','b','l','i','s','h','F','e','a','t','u','r','e','s',0};
-static const WCHAR szRegisterProduct[] = 
+static const WCHAR szRegisterProduct[] =
     {'R','e','g','i','s','t','e','r','P','r','o','d','u','c','t',0};
-static const WCHAR szInstallExecute[] = 
+static const WCHAR szInstallExecute[] =
     {'I','n','s','t','a','l','l','E','x','e','c','u','t','e',0};
-static const WCHAR szInstallExecuteAgain[] = 
+static const WCHAR szInstallExecuteAgain[] =
     {'I','n','s','t','a','l','l','E','x','e','c','u','t','e',
             'A','g','a','i','n',0};
-static const WCHAR szInstallFinalize[] = 
+static const WCHAR szInstallFinalize[] =
     {'I','n','s','t','a','l','l','F','i','n','a','l','i','z','e',0};
-static const WCHAR szForceReboot[] = 
+static const WCHAR szForceReboot[] =
     {'F','o','r','c','e','R','e','b','o','o','t',0};
 static const WCHAR szResolveSource[] =
     {'R','e','s','o','l','v','e','S','o','u','r','c','e',0};
-static const WCHAR szAppSearch[] = 
+static const WCHAR szAppSearch[] =
     {'A','p','p','S','e','a','r','c','h',0};
-static const WCHAR szAllocateRegistrySpace[] = 
+static const WCHAR szAllocateRegistrySpace[] =
     {'A','l','l','o','c','a','t','e','R','e','g','i','s','t','r','y',
             'S','p','a','c','e',0};
-static const WCHAR szBindImage[] = 
+static const WCHAR szBindImage[] =
     {'B','i','n','d','I','m','a','g','e',0};
-static const WCHAR szCCPSearch[] = 
+static const WCHAR szCCPSearch[] =
     {'C','C','P','S','e','a','r','c','h',0};
-static const WCHAR szDeleteServices[] = 
+static const WCHAR szDeleteServices[] =
     {'D','e','l','e','t','e','S','e','r','v','i','c','e','s',0};
-static const WCHAR szDisableRollback[] = 
+static const WCHAR szDisableRollback[] =
     {'D','i','s','a','b','l','e','R','o','l','l','b','a','c','k',0};
-static const WCHAR szExecuteAction[] = 
+static const WCHAR szExecuteAction[] =
     {'E','x','e','c','u','t','e','A','c','t','i','o','n',0};
-const WCHAR szFindRelatedProducts[] = 
+const WCHAR szFindRelatedProducts[] =
     {'F','i','n','d','R','e','l','a','t','e','d',
             'P','r','o','d','u','c','t','s',0};
-static const WCHAR szInstallAdminPackage[] = 
+static const WCHAR szInstallAdminPackage[] =
     {'I','n','s','t','a','l','l','A','d','m','i','n',
             'P','a','c','k','a','g','e',0};
-static const WCHAR szInstallSFPCatalogFile[] = 
+static const WCHAR szInstallSFPCatalogFile[] =
     {'I','n','s','t','a','l','l','S','F','P','C','a','t','a','l','o','g',
             'F','i','l','e',0};
-static const WCHAR szIsolateComponents[] = 
+static const WCHAR szIsolateComponents[] =
     {'I','s','o','l','a','t','e','C','o','m','p','o','n','e','n','t','s',0};
-const WCHAR szMigrateFeatureStates[] = 
+const WCHAR szMigrateFeatureStates[] =
     {'M','i','g','r','a','t','e','F','e','a','t','u','r','e',
             'S','t','a','t','e','s',0};
-const WCHAR szMoveFiles[] = 
+const WCHAR szMoveFiles[] =
     {'M','o','v','e','F','i','l','e','s',0};
-static const WCHAR szMsiPublishAssemblies[] = 
+static const WCHAR szMsiPublishAssemblies[] =
     {'M','s','i','P','u','b','l','i','s','h',
             'A','s','s','e','m','b','l','i','e','s',0};
-static const WCHAR szMsiUnpublishAssemblies[] = 
+static const WCHAR szMsiUnpublishAssemblies[] =
     {'M','s','i','U','n','p','u','b','l','i','s','h',
             'A','s','s','e','m','b','l','i','e','s',0};
-static const WCHAR szInstallODBC[] = 
+static const WCHAR szInstallODBC[] =
     {'I','n','s','t','a','l','l','O','D','B','C',0};
-static const WCHAR szInstallServices[] = 
+static const WCHAR szInstallServices[] =
     {'I','n','s','t','a','l','l','S','e','r','v','i','c','e','s',0};
-const WCHAR szPatchFiles[] = 
+const WCHAR szPatchFiles[] =
     {'P','a','t','c','h','F','i','l','e','s',0};
-static const WCHAR szPublishComponents[] = 
+static const WCHAR szPublishComponents[] =
     {'P','u','b','l','i','s','h','C','o','m','p','o','n','e','n','t','s',0};
 static const WCHAR szRegisterComPlus[] =
     {'R','e','g','i','s','t','e','r','C','o','m','P','l','u','s',0};
@@ -250,10 +250,10 @@ static const struct _actions StandardAct
 
 static void ui_actionstart(MSIPACKAGE *package, LPCWSTR action)
 {
-    static const WCHAR Query_t[] = 
+    static const WCHAR Query_t[] =
         {'S','E','L','E','C','T',' ','*',' ','F','R','O','M',' ',
          '`','A','c','t','i','o', 'n','T','e','x','t','`',' ',
-         'W','H','E','R','E', ' ','`','A','c','t','i','o','n','`',' ','=', 
+         'W','H','E','R','E', ' ','`','A','c','t','i','o','n','`',' ','=',
          ' ','\'','%','s','\'',0};
     MSIRECORD * row;
 
@@ -264,7 +264,7 @@ static void ui_actionstart(MSIPACKAGE *p
     msiobj_release(&row->hdr);
 }
 
-static void ui_actioninfo(MSIPACKAGE *package, LPCWSTR action, BOOL start, 
+static void ui_actioninfo(MSIPACKAGE *package, LPCWSTR action, BOOL start,
                           UINT rc)
 {
     MSIRECORD * row;
@@ -275,7 +275,7 @@ static void ui_actioninfo(MSIPACKAGE *pa
         {'A','c','t','i','o','n',' ','e','n','d','e','d',' ','%','s',':',' ',
          '%','s', '.',' ','R','e','t','u','r','n',' ','v','a','l','u','e',' ',
          '%','i','.',0};
-    static const WCHAR format[] = 
+    static const WCHAR format[] =
         {'H','H','\'',':','\'','m','m','\'',':','\'','s','s',0};
     WCHAR message[1024];
     WCHAR timet[0x100];
@@ -285,10 +285,10 @@ static void ui_actioninfo(MSIPACKAGE *pa
         sprintfW(message,template_s,timet,action);
     else
         sprintfW(message,template_e,timet,action,rc);
-    
+
     row = MSI_CreateRecord(1);
     MSI_RecordSetStringW(row,1,message);
- 
+
     MSI_ProcessMessage(package, INSTALLMESSAGE_INFO, row);
     msiobj_release(&row->hdr);
 }
@@ -304,7 +304,7 @@ UINT msi_parse_command_line( MSIPACKAGE 
         return ERROR_SUCCESS;
 
     ptr = szCommandLine;
-       
+
     while (*ptr)
     {
         if (*ptr==' ')
@@ -321,7 +321,7 @@ UINT msi_parse_command_line( MSIPACKAGE 
             ERR("command line contains unknown string : %s\n", debugstr_w(ptr));
             break;
         }
- 
+
         quote = FALSE;
 
         len = ptr2-ptr;
@@ -329,9 +329,9 @@ UINT msi_parse_command_line( MSIPACKAGE 
         memcpy(prop,ptr,len*sizeof(WCHAR));
         prop[len]=0;
         ptr2++;
-       
-        len = 0; 
-        ptr = ptr2; 
+
+        len = 0;
+        ptr = ptr2;
         while (*ptr && (quote || (!quote && *ptr!=' ')))
         {
             if (*ptr == '"')
@@ -339,7 +339,7 @@ UINT msi_parse_command_line( MSIPACKAGE 
             ptr++;
             len++;
         }
-       
+
         if (*ptr2=='"')
         {
             ptr2++;
@@ -351,7 +351,7 @@ UINT msi_parse_command_line( MSIPACKAGE 
 
         if (lstrlenW(prop) > 0)
         {
-            TRACE("Found commandline property (%s) = (%s)\n", 
+            TRACE("Found commandline property (%s) = (%s)\n",
                    debugstr_w(prop), debugstr_w(val));
             MSI_SetPropertyW(package,prop,val);
         }
@@ -609,7 +609,7 @@ BOOL ui_sequence_exists( MSIPACKAGE *pac
 }
 
 /****************************************************
- * TOP level entry points 
+ * TOP level entry points
  *****************************************************/
 
 UINT MSI_InstallPackage( MSIPACKAGE *package, LPCWSTR szPackagePath,
@@ -627,7 +627,7 @@ UINT MSI_InstallPackage( MSIPACKAGE *pac
 
     package->script->InWhatSequence = SEQUENCE_INSTALL;
 
-    if (szPackagePath)   
+    if (szPackagePath)
     {
         LPWSTR p, check, dir;
 
@@ -691,7 +691,7 @@ UINT MSI_InstallPackage( MSIPACKAGE *pac
     }
     else
         rc = ACTION_ProcessExecSequence(package,FALSE);
-    
+
     if (rc == -1)
     {
         /* install was halted but should be considered a success */
@@ -703,16 +703,16 @@ UINT MSI_InstallPackage( MSIPACKAGE *pac
     /* process the ending type action */
     if (rc == ERROR_SUCCESS)
         ACTION_PerformActionSequence(package,-1,ui);
-    else if (rc == ERROR_INSTALL_USEREXIT) 
+    else if (rc == ERROR_INSTALL_USEREXIT)
         ACTION_PerformActionSequence(package,-2,ui);
-    else if (rc == ERROR_INSTALL_SUSPEND) 
+    else if (rc == ERROR_INSTALL_SUSPEND)
         ACTION_PerformActionSequence(package,-4,ui);
     else  /* failed */
         ACTION_PerformActionSequence(package,-3,ui);
 
     /* finish up running custom actions */
     ACTION_FinishCustomActions(package);
-    
+
     return rc;
 }
 
@@ -741,7 +741,7 @@ static UINT ACTION_PerformActionSequence
     {
         LPCWSTR action, cond;
 
-        TRACE("Running the actions\n"); 
+        TRACE("Running the actions\n");
 
         /* check conditions */
         cond = MSI_RecordGetString(row,2);
@@ -825,7 +825,7 @@ UINT MSI_Sequence( MSIPACKAGE *package, 
     static const WCHAR query[] =
         {'S','E','L','E','C','T',' ','*',' ','F','R','O','M',' ',
          '`','%','s','`',
-         ' ','W','H','E','R','E',' ', 
+         ' ','W','H','E','R','E',' ',
          '`','S','e','q','u','e','n','c','e','`',' ',
          '>',' ','0',' ','O','R','D','E','R',' ','B','Y',' ',
          '`','S','e','q','u','e','n','c','e','`',0};
@@ -915,7 +915,7 @@ static UINT ACTION_ProcessUISequence(MSI
         {'S','E','L','E','C','T',' ','*',' ','F','R','O','M',' ',
          '`','I','n','s','t','a','l','l',
          'U','I','S','e','q','u','e','n','c','e','`',
-         ' ','W','H','E','R','E',' ', 
+         ' ','W','H','E','R','E',' ',
          '`','S','e','q','u','e','n','c','e','`',' ',
          '>',' ','0',' ','O','R','D','E','R',' ','B','Y',' ',
          '`','S','e','q','u','e','n','c','e','`',0};
@@ -925,10 +925,10 @@ static UINT ACTION_ProcessUISequence(MSI
     iap.UI = TRUE;
 
     rc = MSI_DatabaseOpenViewW(package->db, ExecSeqQuery, &view);
-    
+
     if (rc == ERROR_SUCCESS)
     {
-        TRACE("Running the actions\n"); 
+        TRACE("Running the actions\n");
 
         rc = MSI_IterateRecords(view, NULL, ITERATE_Actions, &iap);
         msiobj_release(&view->hdr);
@@ -940,24 +940,24 @@ static UINT ACTION_ProcessUISequence(MSI
 /********************************************************
  * ACTION helper functions and functions that perform the actions
  *******************************************************/
-static BOOL ACTION_HandleStandardAction(MSIPACKAGE *package, LPCWSTR action, 
+static BOOL ACTION_HandleStandardAction(MSIPACKAGE *package, LPCWSTR action,
                                         UINT* rc, BOOL force )
 {
-    BOOL ret = FALSE; 
+    BOOL ret = FALSE;
     BOOL run = force;
     int i;
 
     if (!run && !package->script->CurrentlyScripting)
         run = TRUE;
-   
+
     if (!run)
     {
         if (strcmpW(action,szInstallFinalize) == 0 ||
             strcmpW(action,szInstallExecute) == 0 ||
-            strcmpW(action,szInstallExecuteAgain) == 0) 
+            strcmpW(action,szInstallExecuteAgain) == 0)
                 run = TRUE;
     }
-    
+
     i = 0;
     while (StandardActions[i].action != NULL)
     {
@@ -1006,17 +1006,17 @@ static BOOL ACTION_HandleCustomAction( M
     return ret;
 }
 
-/* 
+/*
  * A lot of actions are really important even if they don't do anything
  * explicit... Lots of properties are set at the beginning of the installation
  * CostFinalize does a bunch of work to translate the directories and such
- * 
+ *
  * But until I get write access to the database that is hard, so I am going to
  * hack it to see if I can get something to run.
  */
 UINT ACTION_PerformAction(MSIPACKAGE *package, const WCHAR *action, UINT script, BOOL force)
 {
-    UINT rc = ERROR_SUCCESS; 
+    UINT rc = ERROR_SUCCESS;
     BOOL handled;
 
     TRACE("Performing action (%s)\n",debugstr_w(action));
@@ -1112,7 +1112,7 @@ static UINT msi_create_directory( MSIPAC
 
     install_path = resolve_folder(package, dir, FALSE, FALSE, TRUE, &folder);
     if (!install_path)
-        return ERROR_FUNCTION_FAILED; 
+        return ERROR_FUNCTION_FAILED;
 
     /* create the path */
     if (folder->State == 0)
@@ -1141,7 +1141,7 @@ UINT msi_create_component_directories( M
 }
 
 /*
- * Also we cannot enable/disable components either, so for now I am just going 
+ * Also we cannot enable/disable components either, so for now I am just going
  * to do all the directories for all the components.
  */
 static UINT ACTION_CreateFolders(MSIPACKAGE *package)
@@ -1198,7 +1198,7 @@ static UINT load_component( MSIRECORD *r
 static UINT load_all_components( MSIPACKAGE *package )
 {
     static const WCHAR query[] = {
-        'S','E','L','E','C','T',' ','*',' ','F','R', 'O','M',' ', 
+        'S','E','L','E','C','T',' ','*',' ','F','R', 'O','M',' ',
          '`','C','o','m','p','o','n','e','n','t','`',0 };
     MSIQUERY *view;
     UINT r;
@@ -1285,7 +1285,7 @@ static UINT load_feature(MSIRECORD * row
 {
     MSIPACKAGE* package = (MSIPACKAGE*)param;
     MSIFEATURE* feature;
-    static const WCHAR Query1[] = 
+    static const WCHAR Query1[] =
         {'S','E','L','E','C','T',' ',
          '`','C','o','m','p','o','n','e','n','t','_','`',
          ' ','F','R','O','M',' ','`','F','e','a','t','u','r','e',
@@ -1304,7 +1304,7 @@ static UINT load_feature(MSIRECORD * row
 
     list_init( &feature->Children );
     list_init( &feature->Components );
-    
+
     feature->Feature = msi_dup_record_field( row, 1 );
 
     TRACE("Loading feature %s\n",debugstr_w(feature->Feature));
@@ -1315,7 +1315,7 @@ static UINT load_feature(MSIRECORD * row
 
     if (!MSI_RecordIsNull(row,5))
         feature->Display = MSI_RecordGetInteger(row,5);
-  
+
     feature->Level= MSI_RecordGetInteger(row,6);
     feature->Directory = msi_dup_record_field( row, 7 );
     feature->Attributes = MSI_RecordGetInteger(row,8);
@@ -1371,7 +1371,7 @@ static UINT load_all_features( MSIPACKAG
 
     if (!list_empty(&package->features))
         return ERROR_SUCCESS;
- 
+
     r = MSI_DatabaseOpenViewW( package->db, query, &view );
     if (r != ERROR_SUCCESS)
         return r;
@@ -1408,7 +1408,7 @@ static UINT load_file(MSIRECORD *row, LP
     file = msi_alloc_zero( sizeof (MSIFILE) );
     if (!file)
         return ERROR_NOT_ENOUGH_MEMORY;
- 
+
     file->File = msi_dup_record_field( row, 1 );
 
     component = MSI_RecordGetString( row, 2 );
@@ -1422,7 +1422,7 @@ static UINT load_file(MSIRECORD *row, LP
 
     file->ShortName = msi_dup_record_field( row, 3 );
     file->LongName = strdupW( folder_split_path(file->ShortName, '|'));
-    
+
     file->FileSize = MSI_RecordGetInteger( row, 4 );
     file->Version = msi_dup_record_field( row, 5 );
     file->Language = msi_dup_record_field( row, 6 );
@@ -1447,10 +1447,10 @@ static UINT load_file(MSIRECORD *row, LP
         file->IsCompressed = package->WordCount & MSIWORDCOUNT_COMPRESSED;
     }
 
-    TRACE("File Loaded (%s)\n",debugstr_w(file->File));  
+    TRACE("File Loaded (%s)\n",debugstr_w(file->File));
 
     list_add_tail( &package->files, &file->entry );
- 
+
     return ERROR_SUCCESS;
 }
 
@@ -1680,7 +1680,7 @@ static void ACTION_UpdateFeatureInstallS
     }
 }
 
-static BOOL process_state_property (MSIPACKAGE* package, LPCWSTR property, 
+static BOOL process_state_property (MSIPACKAGE* package, LPCWSTR property,
                                     INSTALLSTATE state)
 {
     static const WCHAR all[]={'A','L','L',0};
@@ -2155,9 +2155,9 @@ static UINT ACTION_CostFinalize(MSIPACKA
     return MSI_SetFeatureStates(package);
 }
 
-/* OK this value is "interpreted" and then formatted based on the 
+/* OK this value is "interpreted" and then formatted based on the
    first few characters */
-static LPSTR parse_value(MSIPACKAGE *package, LPCWSTR value, DWORD *type, 
+static LPSTR parse_value(MSIPACKAGE *package, LPCWSTR value, DWORD *type,
                          DWORD *size)
 {
     LPSTR data = NULL;
@@ -2182,9 +2182,9 @@ static LPSTR parse_value(MSIPACKAGE *pac
 
             data = msi_alloc(*size);
 
-            byte[0] = '0'; 
-            byte[1] = 'x'; 
-            byte[4] = 0; 
+            byte[0] = '0';
+            byte[1] = 'x';
+            byte[4] = 0;
             count = 0;
             /* if uneven pad with a zero in front */
             if (strlenW(ptr)%2)
@@ -2216,7 +2216,7 @@ static LPSTR parse_value(MSIPACKAGE *pac
             DWORD d = 0;
             deformat_string(package, &value[1], &deformated);
 
-            *type=REG_DWORD; 
+            *type=REG_DWORD;
             *size = sizeof(DWORD);
             data = msi_alloc(*size);
             p = deformated;
@@ -2268,7 +2268,7 @@ static LPSTR parse_value(MSIPACKAGE *pac
 static UINT ITERATE_WriteRegistryValues(MSIRECORD *row, LPVOID param)
 {
     MSIPACKAGE *package = (MSIPACKAGE*)param;
-    static const WCHAR szHCR[] = 
+    static const WCHAR szHCR[] =
         {'H','K','E','Y','_','C','L','A','S','S','E','S','_',
          'R','O','O','T','\\',0};
     static const WCHAR szHCU[] =
@@ -2322,7 +2322,7 @@ static UINT ITERATE_WriteRegistryValues(
         /* null values can have special meanings */
         if (name[0]=='-' && name[1] == 0)
                 return ERROR_SUCCESS;
-        else if ((name[0]=='+' && name[1] == 0) || 
+        else if ((name[0]=='+' && name[1] == 0) ||
                  (name[0] == '*' && name[1] == 0))
                 name = NULL;
         check_first = TRUE;
@@ -2334,7 +2334,7 @@ static UINT ITERATE_WriteRegistryValues(
     /* get the root key */
     switch (root)
     {
-        case -1: 
+        case -1:
             {
                 static const WCHAR szALLUSER[] = {'A','L','L','U','S','E','R','S',0};
                 LPWSTR all_users = msi_dup_property( package, szALLUSER );
@@ -2351,7 +2351,7 @@ static UINT ITERATE_WriteRegistryValues(
                 msi_free(all_users);
             }
                  break;
-        case 0:  root_key = HKEY_CLASSES_ROOT; 
+        case 0:  root_key = HKEY_CLASSES_ROOT;
                  szRoot = szHCR;
                  break;
         case 1:  root_key = HKEY_CURRENT_USER;
@@ -2360,7 +2360,7 @@ static UINT ITERATE_WriteRegistryValues(
         case 2:  root_key = HKEY_LOCAL_MACHINE;
                  szRoot = szHLM;
                  break;
-        case 3:  root_key = HKEY_USERS; 
+        case 3:  root_key = HKEY_USERS;
                  szRoot = szHU;
                  break;
         default:
@@ -2389,7 +2389,7 @@ static UINT ITERATE_WriteRegistryValues(
 
     value = MSI_RecordGetString(row,5);
     if (value)
-        value_data = parse_value(package, value, &type, &size); 
+        value_data = parse_value(package, value, &type, &size);
     else
     {
         static const WCHAR szEmpty[] = {0};
@@ -2514,14 +2514,14 @@ static UINT ACTION_InstallValidate(MSIPA
             debugstr_w(feature->Feature), feature->Installed, feature->Action,
             feature->ActionRequest);
     }
-    
+
     return ERROR_SUCCESS;
 }
 
 static UINT ITERATE_LaunchConditions(MSIRECORD *row, LPVOID param)
 {
     MSIPACKAGE* package = (MSIPACKAGE*)param;
-    LPCWSTR cond = NULL; 
+    LPCWSTR cond = NULL;
     LPCWSTR message = NULL;
     UINT r;
 
@@ -2652,7 +2652,7 @@ static UINT ACTION_GetSharedDLLsCount(LP
     DWORD type;
     DWORD sz = sizeof(count);
     DWORD rc;
-    
+
     hkey = openSharedDLLsKey();
     rc = RegQueryValueExW(hkey, dll, NULL, &type, (LPBYTE)&count, &sz);
     if (rc != ERROR_SUCCESS)
@@ -2684,8 +2684,8 @@ static void ACTION_RefCountComponent( MS
     BOOL write = FALSE;
 
     /* only refcount DLLs */
-    if (comp->KeyPath == NULL || 
-        comp->Attributes & msidbComponentAttributesRegistryKeyPath || 
+    if (comp->KeyPath == NULL ||
+        comp->Attributes & msidbComponentAttributesRegistryKeyPath ||
         comp->Attributes & msidbComponentAttributesODBCDataSource)
         write = FALSE;
     else
@@ -2738,11 +2738,11 @@ static void ACTION_RefCountComponent( MS
                 ACTION_WriteSharedDLLsCount( file->TargetPath, count );
         }
     }
-    
+
     /* add a count for permenent */
     if (comp->Attributes & msidbComponentAttributesPermanent)
         count ++;
-    
+
     comp->RefCount = count;
 
     if (write)
@@ -2859,13 +2859,13 @@ typedef struct {
     ITypeLib    *ptLib;
 } typelib_struct;
 
-static BOOL CALLBACK Typelib_EnumResNameProc( HMODULE hModule, LPCWSTR lpszType, 
+static BOOL CALLBACK Typelib_EnumResNameProc( HMODULE hModule, LPCWSTR lpszType,
                                        LPWSTR lpszName, LONG_PTR lParam)
 {
     TLIBATTR *attr;
     typelib_struct *tl_struct = (typelib_struct*) lParam;
     static const WCHAR fmt[] = {'%','s','\\','%','i',0};
-    int sz; 
+    int sz;
     HRESULT res;
 
     if (!IS_INTRESOURCE(lpszName))
@@ -2937,7 +2937,7 @@ static UINT ITERATE_RegisterTypeLibrarie
 
     comp->Action = INSTALLSTATE_LOCAL;
 
-    file = get_loaded_file( package, comp->KeyPath ); 
+    file = get_loaded_file( package, comp->KeyPath );
     if (!file)
         return ERROR_SUCCESS;
 
@@ -2994,7 +2994,7 @@ static UINT ITERATE_RegisterTypeLibrarie
 
 static UINT ACTION_RegisterTypeLibraries(MSIPACKAGE *package)
 {
-    /* 
+    /*
      * OK this is a bit confusing.. I am given a _Component key and I believe
      * that the file that is being registered as a type library is the "key file
      * of that component" which I interpret to mean "The file in the KeyPath of
@@ -3115,7 +3115,7 @@ static UINT ITERATE_CreateShortcuts(MSIR
     if (!MSI_RecordIsNull(row,9))
     {
         LPWSTR Path;
-        INT index; 
+        INT index;
 
         buffer = MSI_RecordGetString(row,9);
 
@@ -3146,7 +3146,7 @@ static UINT ITERATE_CreateShortcuts(MSIR
     TRACE("Writing shortcut to %s\n",debugstr_w(target_file));
     IPersistFile_Save(pf,target_file,FALSE);
 
-    msi_free(target_file);    
+    msi_free(target_file);
 
 err:
     if (pf)
@@ -3217,7 +3217,7 @@ static UINT ITERATE_PublishProduct(MSIRE
         return ERROR_SUCCESS;
     }
 
-    do 
+    do
     {
         DWORD write;
         sz = 1024;
@@ -3225,7 +3225,7 @@ static UINT ITERATE_PublishProduct(MSIRE
         if (rc != ERROR_SUCCESS)
         {
             ERR("Failed to get stream\n");
-            CloseHandle(the_file);  
+            CloseHandle(the_file);
             DeleteFileW(FilePath);
             break;
         }
@@ -3258,7 +3258,7 @@ static BOOL msi_check_publish(MSIPACKAGE
 }
 
 /*
- * 99% of the work done here is only done for 
+ * 99% of the work done here is only done for
  * advertised installs. However this is where the
  * Icon table is processed and written out
  * so that is what I am going to do here.
@@ -3341,15 +3341,15 @@ static UINT ACTION_PublishProduct(MSIPAC
         msi_reg_set_val_dword( hkey, INSTALLPROPERTY_VERSIONW, verdword );
     }
     msi_free(buffer);
-    
+
     /* FIXME: Need to write more keys to the user registry */
-  
+
     hDb= alloc_msihandle( &package->db->hdr );
     if (!hDb) {
         rc = ERROR_NOT_ENOUGH_MEMORY;
         goto end;
     }
-    rc = MsiGetSummaryInformationW(hDb, NULL, 0, &hSumInfo); 
+    rc = MsiGetSummaryInformationW(hDb, NULL, 0, &hSumInfo);
     MsiCloseHandle(hDb);
     if (rc == ERROR_SUCCESS)
     {
@@ -3430,7 +3430,7 @@ static UINT ITERATE_WriteIniValues(MSIRE
 
     comp->Action = INSTALLSTATE_LOCAL;
 
-    identifier = MSI_RecordGetString(row,1); 
+    identifier = MSI_RecordGetString(row,1);
     filename = MSI_RecordGetString(row,2);
     dirproperty = MSI_RecordGetString(row,3);
     section = MSI_RecordGetString(row,4);
@@ -3505,7 +3505,7 @@ static UINT ACTION_WriteIniValues(MSIPAC
 {
     UINT rc;
     MSIQUERY * view;
-    static const WCHAR ExecSeqQuery[] = 
+    static const WCHAR ExecSeqQuery[] =
         {'S','E','L','E','C','T',' ','*',' ','F','R','O','M',' ',
          '`','I','n','i','F','i','l','e','`',0};
 
@@ -3584,7 +3584,7 @@ static UINT ACTION_SelfRegModules(MSIPAC
 {
     UINT rc;
     MSIQUERY * view;
-    static const WCHAR ExecSeqQuery[] = 
+    static const WCHAR ExecSeqQuery[] =
         {'S','E','L','E','C','T',' ','*',' ','F','R','O','M',' ',
          '`','S','e','l','f','R','e','g','`',0};
 
@@ -3607,7 +3607,7 @@ static UINT ACTION_PublishFeatures(MSIPA
     UINT rc;
     HKEY hkey=0;
     HKEY hukey=0;
-    
+
     rc = MSIREG_OpenFeaturesKey(package->ProductCode,&hkey,TRUE);
     if (rc != ERROR_SUCCESS)
         goto end;
@@ -3807,18 +3807,18 @@ static UINT ACTION_RegisterProduct(MSIPA
     LPWSTR buffer = NULL;
     UINT rc;
     DWORD size, langid;
-    static const WCHAR szWindowsInstaller[] = 
+    static const WCHAR szWindowsInstaller[] =
         {'W','i','n','d','o','w','s','I','n','s','t','a','l','l','e','r',0};
-    static const WCHAR szUpgradeCode[] = 
+    static const WCHAR szUpgradeCode[] =
         {'U','p','g','r','a','d','e','C','o','d','e',0};
-    static const WCHAR modpath_fmt[] = 
+    static const WCHAR modpath_fmt[] =
         {'M','s','i','E','x','e','c','.','e','x','e',' ',
          '/','I','[','P','r','o','d','u','c','t','C','o','d','e',']',0};
-    static const WCHAR szModifyPath[] = 
+    static const WCHAR szModifyPath[] =
         {'M','o','d','i','f','y','P','a','t','h',0};
-    static const WCHAR szUninstallString[] = 
+    static const WCHAR szUninstallString[] =
         {'U','n','i','n','s','t','a','l','l','S','t','r','i','n','g',0};
-    static const WCHAR szEstimatedSize[] = 
+    static const WCHAR szEstimatedSize[] =
         {'E','s','t','i','m','a','t','e','d','S','i','z','e',0};
     static const WCHAR szProductLanguage[] =
         {'P','r','o','d','u','c','t','L','a','n','g','u','a','g','e',0};
@@ -3844,7 +3844,7 @@ static UINT ACTION_RegisterProduct(MSIPA
     msi_write_uninstall_property_vals( package, hkey );
 
     msi_reg_set_val_dword( hkey, szWindowsInstaller, 1 );
-    
+
     msi_make_package_local( package, hkey );
 
     /* do ModifyPath and UninstallString */
@@ -3855,11 +3855,11 @@ static UINT ACTION_RegisterProduct(MSIPA
 
     /* FIXME: Write real Estimated Size when we have it */
     msi_reg_set_val_dword( hkey, szEstimatedSize, 0 );
-   
+
     GetLocalTime(&systime);
     sprintfW(szDate,date_fmt,systime.wYear,systime.wMonth,systime.wDay);
     msi_reg_set_val_str( hkey, INSTALLPROPERTY_INSTALLDATEW, szDate );
-   
+
     langid = msi_get_property_int( package, szProductLanguage, 0 );
     msi_reg_set_val_dword( hkey, INSTALLPROPERTY_LANGUAGEW, langid );
 
@@ -3873,7 +3873,7 @@ static UINT ACTION_RegisterProduct(MSIPA
         msi_reg_set_val_dword( hkey, INSTALLPROPERTY_VERSIONMINORW, (verdword>>16)&0x00FF );
     }
     msi_free(buffer);
-    
+
     /* Handle Upgrade Codes */
     upgrade_code = msi_dup_property( package, szUpgradeCode );
     if (upgrade_code)
@@ -3891,7 +3891,7 @@ static UINT ACTION_RegisterProduct(MSIPA
 
         msi_free(upgrade_code);
     }
-    
+
     RegCloseKey(hkey);
 
     rc = MSIREG_OpenUserDataProductKey(package->ProductCode, &hudkey, TRUE);
@@ -4074,13 +4074,13 @@ static UINT ACTION_ResolveSource(MSIPACK
         LPWSTR msg;
         DWORD size = 0;
 
-        rc = MsiSourceListGetInfoW(package->ProductCode, NULL, 
+        rc = MsiSourceListGetInfoW(package->ProductCode, NULL,
                 MSIINSTALLCONTEXT_USERMANAGED, MSICODE_PRODUCT,
                 INSTALLPROPERTY_DISKPROMPTW,NULL,&size);
         if (rc == ERROR_MORE_DATA)
         {
             prompt = msi_alloc(size * sizeof(WCHAR));
-            MsiSourceListGetInfoW(package->ProductCode, NULL, 
+            MsiSourceListGetInfoW(package->ProductCode, NULL,
                     MSIINSTALLCONTEXT_USERMANAGED, MSICODE_PRODUCT,
                     INSTALLPROPERTY_DISKPROMPTW,prompt,&size);
         }
@@ -4114,7 +4114,7 @@ static UINT ACTION_RegisterUser(MSIPACKA
     LPWSTR productid;
     UINT rc,i;
 
-    static const WCHAR szPropKeys[][80] = 
+    static const WCHAR szPropKeys[][80] =
     {
         {'P','r','o','d','u','c','t','I','D',0},
         {'U','S','E','R','N','A','M','E',0},
@@ -4122,7 +4122,7 @@ static UINT ACTION_RegisterUser(MSIPACKA
         {0},
     };
 
-    static const WCHAR szRegKeys[][80] = 
+    static const WCHAR szRegKeys[][80] =
     {
         {'P','r','o','d','u','c','t','I','D',0},
         {'R','e','g','O','w','n','e','r',0},
@@ -4184,7 +4184,7 @@ static UINT ITERATE_PublishComponent(MSI
     component = MSI_RecordGetString(rec,3);
     comp = get_loaded_component(package,component);
 
-    if (!ACTION_VerifyComponentForAction( comp, INSTALLSTATE_LOCAL ) && 
+    if (!ACTION_VerifyComponentForAction( comp, INSTALLSTATE_LOCAL ) &&
        !ACTION_VerifyComponentForAction( comp, INSTALLSTATE_SOURCE ) &&
        !ACTION_VerifyComponentForAction( comp, INSTALLSTATE_ADVERTISED ))
     {
@@ -4200,10 +4200,10 @@ static UINT ITERATE_PublishComponent(MSI
     rc = MSIREG_OpenUserComponentsKey(compgroupid, &hkey, TRUE);
     if (rc != ERROR_SUCCESS)
         goto end;
-    
+
     text = MSI_RecordGetString(rec,4);
     feature = MSI_RecordGetString(rec,5);
-  
+
     advertise = create_component_advertise_string(package, comp, feature);
 
     sz = strlenW(advertise);
@@ -4213,7 +4213,7 @@ static UINT ITERATE_PublishComponent(MSI
 
     sz+=3;
     sz *= sizeof(WCHAR);
-           
+
     output = msi_alloc_zero(sz);
     strcpyW(output,advertise);
     msi_free(advertise);
@@ -4222,7 +4222,7 @@ static UINT ITERATE_PublishComponent(MSI
         strcatW(output,text);
 
     msi_reg_set_val_multi_str( hkey, qualifier, output );
-    
+
 end:
     RegCloseKey(hkey);
     msi_free(output);
@@ -4250,7 +4250,7 @@ static UINT ACTION_PublishComponents(MSI
         {'S','E','L','E','C','T',' ','*',' ','F','R','O','M',' ',
          '`','P','u','b','l','i','s','h',
          'C','o','m','p','o','n','e','n','t','`',0};
-    
+
     rc = MSI_DatabaseOpenViewW(package->db, ExecSeqQuery, &view);
     if (rc != ERROR_SUCCESS)
         return ERROR_SUCCESS;
@@ -4344,7 +4344,7 @@ static UINT ACTION_InstallServices( MSIP
     static const WCHAR ExecSeqQuery[] =
         {'S','E','L','E','C','T',' ','*',' ','F','R','O','M',' ',
          'S','e','r','v','i','c','e','I','n','s','t','a','l','l',0};
-    
+
     rc = MSI_DatabaseOpenViewW(package->db, ExecSeqQuery, &view);
     if (rc != ERROR_SUCCESS)
         return ERROR_SUCCESS;
@@ -4924,7 +4924,7 @@ static UINT msi_unimplemented_action_stu
     MSIQUERY *view = NULL;
     DWORD count = 0;
     UINT r;
-    
+
     r = MSI_OpenQuery( package->db, &view, query, table );
     if (r == ERROR_SUCCESS)
     {
diff --git a/dlls/msi/classes.c b/dlls/msi/classes.c
index 92c333d..4532cd3 100644
--- a/dlls/msi/classes.c
+++ b/dlls/msi/classes.c
@@ -63,7 +63,7 @@ static MSIAPPID *load_appid( MSIPACKAGE*
     appid = msi_alloc_zero( sizeof(MSIAPPID) );
     if (!appid)
         return NULL;
-    
+
     appid->AppID = msi_dup_record_field( row, 1 );
     TRACE("loading appid %s\n", debugstr_w( appid->AppID ));
 
@@ -78,7 +78,7 @@ static MSIAPPID *load_appid( MSIPACKAGE*
     appid->RunAsInteractiveUser = !MSI_RecordIsNull(row,7);
 
     list_add_tail( &package->appids, &appid->entry );
-    
+
     return appid;
 }
 
@@ -103,7 +103,7 @@ static MSIAPPID *load_given_appid( MSIPA
             return appid;
         }
     }
-    
+
     row = MSI_QueryGetRecord(package->db, ExecSeqQuery, name);
     if (!row)
         return NULL;
@@ -147,13 +147,13 @@ static MSIPROGID *load_progid( MSIPACKAG
 
     if (!MSI_RecordIsNull(row,6))
     {
-        INT icon_index = MSI_RecordGetInteger(row,6); 
+        INT icon_index = MSI_RecordGetInteger(row,6);
         LPCWSTR FileName = MSI_RecordGetString(row,5);
         LPWSTR FilePath;
         static const WCHAR fmt[] = {'%','s',',','%','i',0};
 
         FilePath = build_icon_path(package,FileName);
-       
+
         progid->IconPath = msi_alloc( (strlenW(FilePath)+10)* sizeof(WCHAR) );
 
         sprintfW(progid->IconPath,fmt,FilePath,icon_index);
@@ -183,7 +183,7 @@ static MSIPROGID *load_progid( MSIPACKAG
         progid->CurVer = parent;
         parent->VersionInd = progid;
     }
-    
+
     return progid;
 }
 
@@ -208,7 +208,7 @@ static MSIPROGID *load_given_progid(MSIP
             return progid;
         }
     }
-    
+
     row = MSI_QueryGetRecord( package->db, ExecSeqQuery, name );
     if (!row)
         return NULL;
@@ -253,13 +253,13 @@ static MSICLASS *load_class( MSIPACKAGE*
     if (!MSI_RecordIsNull(row,9))
     {
 
-        INT icon_index = MSI_RecordGetInteger(row,9); 
+        INT icon_index = MSI_RecordGetInteger(row,9);
         LPCWSTR FileName = MSI_RecordGetString(row,8);
         LPWSTR FilePath;
         static const WCHAR fmt[] = {'%','s',',','%','i',0};
 
         FilePath = build_icon_path(package,FileName);
-       
+
         cls->IconPath = msi_alloc( (strlenW(FilePath)+5)* sizeof(WCHAR) );
 
         sprintfW(cls->IconPath,fmt,FilePath,icon_index);
@@ -308,15 +308,15 @@ static MSICLASS *load_class( MSIPACKAGE*
     cls->Feature = get_loaded_feature(package,buffer);
 
     cls->Attributes = MSI_RecordGetInteger(row,13);
-    
+
     return cls;
 }
 
 /*
- * the Class table has 3 primary keys. Generally it is only 
+ * the Class table has 3 primary keys. Generally it is only
  * referenced through the first CLSID key. However when loading
  * all of the classes we need to make sure we do not ignore rows
- * with other Context and ComponentIndexs 
+ * with other Context and ComponentIndexs
  */
 static MSICLASS *load_given_class(MSIPACKAGE *package, LPCWSTR classid)
 {
@@ -329,7 +329,7 @@ static MSICLASS *load_given_class(MSIPAC
 
     if (!classid)
         return NULL;
-    
+
     /* check for classes already loaded */
     LIST_FOR_EACH_ENTRY( cls, &package->classes, MSICLASS, entry )
     {
@@ -363,7 +363,7 @@ static MSIMIME *load_mime( MSIPACKAGE* p
     if (!mt)
         return mt;
 
-    mt->ContentType = msi_dup_record_field( row, 1 ); 
+    mt->ContentType = msi_dup_record_field( row, 1 );
     TRACE("loading mime %s\n", debugstr_w(mt->ContentType));
 
     buffer = MSI_RecordGetString( row, 2 );
@@ -389,7 +389,7 @@ static MSIMIME *load_given_mime( MSIPACK
 
     if (!mime)
         return NULL;
-    
+
     /* check for mime already loaded */
     LIST_FOR_EACH_ENTRY( mt, &package->mimes, MSIMIME, entry )
     {
@@ -399,7 +399,7 @@ static MSIMIME *load_given_mime( MSIPACK
             return mt;
         }
     }
-    
+
     row = MSI_QueryGetRecord(package->db, ExecSeqQuery, mime);
     if (!row)
         return NULL;
@@ -445,7 +445,7 @@ static MSIEXTENSION *load_extension( MSI
 
 /*
  * While the extension table has 2 primary keys, this function is only looking
- * at the Extension key which is what is referenced as a forign key 
+ * at the Extension key which is what is referenced as a forign key
  */
 static MSIEXTENSION *load_given_extension( MSIPACKAGE *package, LPCWSTR name )
 {
@@ -470,7 +470,7 @@ static MSIEXTENSION *load_given_extensio
             return ext;
         }
     }
-    
+
     row = MSI_QueryGetRecord( package->db, ExecSeqQuery, name );
     if (!row)
         return NULL;
@@ -514,7 +514,7 @@ static UINT iterate_load_verb(MSIRECORD 
 
     /* assosiate the verb with the correct extension */
     list_add_tail( &extension->verbs, &verb->entry );
-    
+
     return ERROR_SUCCESS;
 }
 
@@ -545,7 +545,7 @@ static UINT iterate_all_classes(MSIRECOR
             break;
         }
     }
-    
+
     if (!match)
         load_class(package, rec);
 
@@ -750,7 +750,7 @@ static UINT register_appid(const MSIAPPI
          {'A','c','t','i','v','a','t','e','A','s','S','t','o','r','a','g','e',0};
     static const WCHAR szY[] = {'Y',0};
     static const WCHAR szRunAs[] = {'R','u','n','A','s',0};
-    static const WCHAR szUser[] = 
+    static const WCHAR szUser[] =
          {'I','n','t','e','r','a','c','t','i','v','e',' ','U','s','e','r',0};
 
     HKEY hkey2,hkey3;
@@ -784,11 +784,11 @@ static UINT register_appid(const MSIAPPI
 
 UINT ACTION_RegisterClassInfo(MSIPACKAGE *package)
 {
-    /* 
+    /*
      * Again I am assuming the words, "Whose key file represents" when referring
      * to a Component as to meaning that Components KeyPath file
      */
-    
+
     UINT rc;
     MSIRECORD *uirow;
     static const WCHAR szCLSID[] = { 'C','L','S','I','D',0 };
@@ -887,7 +887,7 @@ UINT ACTION_RegisterClassInfo(MSIPACKAGE
 
             if (cls->ProgID && cls->ProgID->VersionInd)
             {
-                msi_reg_set_subkey_val( hkey2, szVIProgID, NULL, 
+                msi_reg_set_subkey_val( hkey2, szVIProgID, NULL,
                                         cls->ProgID->VersionInd->ProgID );
             }
         }
@@ -903,7 +903,7 @@ UINT ACTION_RegisterClassInfo(MSIPACKAGE
 
         if (cls->IconPath)
         {
-            static const WCHAR szDefaultIcon[] = 
+            static const WCHAR szDefaultIcon[] =
                 {'D','e','f','a','u','l','t','I','c','o','n',0};
 
             msi_reg_set_subkey_val( hkey2, szDefaultIcon, NULL, cls->IconPath );
@@ -924,7 +924,7 @@ UINT ACTION_RegisterClassInfo(MSIPACKAGE
 
             msi_reg_set_subkey_val( hkey2, szInproc32, NULL, cls->DefInprocHandler32 );
         }
-        
+
         RegCloseKey(hkey2);
 
         /* if there is a FileTypeMask, register the FileType */
@@ -953,7 +953,7 @@ UINT ACTION_RegisterClassInfo(MSIPACKAGE
                 index ++;
             }
         }
-        
+
         uirow = MSI_CreateRecord(1);
 
         MSI_RecordSetStringW( uirow, 1, cls->clsid );
@@ -1033,7 +1033,7 @@ UINT ACTION_RegisterProgIdInfo(MSIPACKAG
                              debugstr_w(progid->ProgID));
             continue;
         }
-       
+
         TRACE("Registering progid %s\n", debugstr_w(progid->ProgID));
 
         register_progid( progid );
@@ -1047,7 +1047,7 @@ UINT ACTION_RegisterProgIdInfo(MSIPACKAG
     return ERROR_SUCCESS;
 }
 
-static UINT register_verb(MSIPACKAGE *package, LPCWSTR progid, 
+static UINT register_verb(MSIPACKAGE *package, LPCWSTR progid,
                 MSICOMPONENT* component, const MSIEXTENSION* extension,
                 MSIVERB* verb, INT* Sequence )
 {
@@ -1079,7 +1079,7 @@ static UINT register_verb(MSIPACKAGE *pa
      msi_reg_set_val_str( key, NULL, command );
      msi_free(command);
 
-     advertise = create_component_advertise_string(package, component, 
+     advertise = create_component_advertise_string(package, component,
                                                    extension->Feature->Feature);
 
      size = strlenW(advertise);
@@ -1099,7 +1099,7 @@ static UINT register_verb(MSIPACKAGE *pa
      }
 
      msi_reg_set_val_multi_str( key, szCommand, command );
-     
+
      RegCloseKey(key);
      msi_free(keyname);
      msi_free(advertise);
@@ -1127,7 +1127,7 @@ static UINT register_verb(MSIPACKAGE *pa
 
 UINT ACTION_RegisterExtensionInfo(MSIPACKAGE *package)
 {
-    static const WCHAR szContentType[] = 
+    static const WCHAR szContentType[] =
         {'C','o','n','t','e','n','t',' ','T','y','p','e',0 };
     HKEY hkey;
     MSIEXTENSION *ext;
@@ -1140,18 +1140,18 @@ UINT ACTION_RegisterExtensionInfo(MSIPAC
      * shortcuts and the like. Because Mike McCormack is working on this i am
      * going to default to TRUE
      */
-    
+
     LIST_FOR_EACH_ENTRY( ext, &package->extensions, MSIEXTENSION, entry )
     {
         LPWSTR extension;
         MSIFEATURE *feature;
-     
+
         if (!ext->Component)
             continue;
 
         feature = ext->Feature;
 
-        /* 
+        /*
          * yes. MSDN says that these are based on _Feature_ not on
          * Component.  So verify the feature is to be installed
          */
@@ -1189,14 +1189,14 @@ UINT ACTION_RegisterExtensionInfo(MSIPAC
 
         if (ext->ProgID || ext->ProgIDText)
         {
-            static const WCHAR szSN[] = 
+            static const WCHAR szSN[] =
                 {'\\','S','h','e','l','l','N','e','w',0};
             HKEY hkey2;
             LPWSTR newkey;
             LPCWSTR progid;
             MSIVERB *verb;
             INT Sequence = MSI_NULL_INTEGER;
-            
+
             if (ext->ProgID)
                 progid = ext->ProgID->ProgID;
             else
@@ -1204,7 +1204,7 @@ UINT ACTION_RegisterExtensionInfo(MSIPAC
 
             msi_reg_set_val_str( hkey, NULL, progid );
 
-            newkey = msi_alloc( (strlenW(progid)+strlenW(szSN)+1) * sizeof(WCHAR)); 
+            newkey = msi_alloc( (strlenW(progid)+strlenW(szSN)+1) * sizeof(WCHAR));
 
             strcpyW(newkey,progid);
             strcatW(newkey,szSN);
@@ -1220,7 +1220,7 @@ UINT ACTION_RegisterExtensionInfo(MSIPAC
                                ext, verb, &Sequence);
             }
         }
-        
+
         RegCloseKey(hkey);
 
         uirow = MSI_CreateRecord(1);
@@ -1234,7 +1234,7 @@ UINT ACTION_RegisterExtensionInfo(MSIPAC
 
 UINT ACTION_RegisterMIMEInfo(MSIPACKAGE *package)
 {
-    static const WCHAR szExten[] = 
+    static const WCHAR szExten[] =
         {'E','x','t','e','n','s','i','o','n',0 };
     MSIRECORD *uirow;
     MSIMIME *mt;
@@ -1246,12 +1246,12 @@ UINT ACTION_RegisterMIMEInfo(MSIPACKAGE 
         LPWSTR extension;
         LPCWSTR exten;
         LPCWSTR mime;
-        static const WCHAR fmt[] = 
+        static const WCHAR fmt[] =
             {'M','I','M','E','\\','D','a','t','a','b','a','s','e','\\',
              'C','o','n','t','e','n','t',' ','T','y','p','e','\\', '%','s',0};
         LPWSTR key;
 
-        /* 
+        /*
          * check if the MIME is to be installed. Either as requesed by an
          * extension or Class
          */
@@ -1265,7 +1265,7 @@ UINT ACTION_RegisterMIMEInfo(MSIPACKAGE 
                              debugstr_w(mt->ContentType));
             continue;
         }
-        
+
         mime = mt->ContentType;
         exten = mt->Extension->Extension;
 
diff --git a/dlls/msi/cond.y b/dlls/msi/cond.y
index 8612ffe..9b35fbb 100644
--- a/dlls/msi/cond.y
+++ b/dlls/msi/cond.y
@@ -125,14 +125,14 @@ static BOOL num_from_prop( LPCWSTR p, IN
 
 %nonassoc COND_ERROR COND_EOF
 
-%type <value> expression boolean_term boolean_factor 
+%type <value> expression boolean_term boolean_factor
 %type <value> value_i integer operator
 %type <string> identifier symbol_s value_s literal
 
 %%
 
 condition:
-    expression 
+    expression
         {
             COND_input* cond = (COND_input*) info;
             cond->result = $1;
@@ -145,7 +145,7 @@ condition:
     ;
 
 expression:
-    boolean_term 
+    boolean_term
         {
             $$ = $1;
         }
@@ -201,7 +201,7 @@ boolean_factor:
             int num;
             if (num_from_prop( $1, &num ))
                 $$ = compare_int( num, $2, $3 );
-            else 
+            else
                 $$ = ($2 == COND_NE || $2 == COND_INE );
             msi_free($1);
         }
@@ -210,7 +210,7 @@ boolean_factor:
             int num;
             if (num_from_prop( $3, &num ))
                 $$ = compare_int( $1, $2, num );
-            else 
+            else
                 $$ = ($2 == COND_NE || $2 == COND_INE );
             msi_free($3);
         }
@@ -272,7 +272,7 @@ value_s:
     symbol_s
     {
         $$ = $1;
-    } 
+    }
   | literal
     {
         $$ = $1;
@@ -297,7 +297,7 @@ value_i:
         {
             COND_input* cond = (COND_input*) info;
             INSTALLSTATE install = INSTALLSTATE_UNKNOWN, action = INSTALLSTATE_UNKNOWN;
-      
+
             MSI_GetComponentStateW(cond->package, $2, &install, &action );
             $$ = action;
             msi_free( $2 );
@@ -306,7 +306,7 @@ value_i:
         {
             COND_input* cond = (COND_input*) info;
             INSTALLSTATE install = INSTALLSTATE_UNKNOWN, action = INSTALLSTATE_UNKNOWN;
-      
+
             MSI_GetComponentStateW(cond->package, $2, &install, &action );
             $$ = install;
             msi_free( $2 );
@@ -315,7 +315,7 @@ value_i:
         {
             COND_input* cond = (COND_input*) info;
             INSTALLSTATE install = INSTALLSTATE_UNKNOWN, action = INSTALLSTATE_UNKNOWN;
-      
+
             MSI_GetFeatureStateW(cond->package, $2, &install, &action );
             $$ = action;
             msi_free( $2 );
@@ -324,7 +324,7 @@ value_i:
         {
             COND_input* cond = (COND_input*) info;
             INSTALLSTATE install = INSTALLSTATE_UNKNOWN, action = INSTALLSTATE_UNKNOWN;
-      
+
             MSI_GetFeatureStateW(cond->package, $2, &install, &action );
             $$ = install;
             msi_free( $2 );
@@ -454,7 +454,7 @@ static INT compare_string( LPCWSTR a, IN
 {
     if (operator >= COND_SS && operator <= COND_RHS)
         return compare_substring( a, operator, b );
-	
+
     /* null and empty string are equivalent */
     if (!a) a = szEmpty;
     if (!b) b = szEmpty;
@@ -533,7 +533,7 @@ static INT compare_int( INT a, INT opera
 
 static int COND_IsIdent( WCHAR x )
 {
-    return( COND_IsAlpha( x ) || COND_IsNumber( x ) || ( x == '_' ) 
+    return( COND_IsAlpha( x ) || COND_IsNumber( x ) || ( x == '_' )
             || ( x == '#' ) || (x == '.') );
 }
 
@@ -679,7 +679,7 @@ static int cond_lex( void *COND_lval, CO
     do {
         rc = COND_GetOne( str, cond );
     } while (rc == COND_SPACE);
-    
+
     return rc;
 }
 
@@ -731,7 +731,7 @@ MSICONDITION MSI_EvaluateConditionW( MSI
     cond.str   = szCondition;
     cond.n     = 0;
     cond.result = MSICONDITION_ERROR;
-    
+
     if ( !cond_parse( &cond ) )
         r = cond.result;
     else
diff --git a/dlls/msi/create.c b/dlls/msi/create.c
index 9c3fb39..f528d57 100644
--- a/dlls/msi/create.c
+++ b/dlls/msi/create.c
@@ -61,7 +61,7 @@ static UINT CREATE_execute( struct tagMS
     MSICREATEVIEW *cv = (MSICREATEVIEW*)view;
     MSITABLE *table;
 
-    TRACE("%p Table %s (%s)\n", cv, debugstr_w(cv->name), 
+    TRACE("%p Table %s (%s)\n", cv, debugstr_w(cv->name),
           cv->bIsTemp?"temporary":"permanent");
 
     return msi_create_table( cv->db, cv->name, cv->col_info, !cv->bIsTemp, &table);
diff --git a/dlls/msi/database.c b/dlls/msi/database.c
index 7adb362..797ab46 100644
--- a/dlls/msi/database.c
+++ b/dlls/msi/database.c
@@ -150,7 +150,7 @@ UINT MSI_OpenDatabaseW(LPCWSTR szDBPath,
     }
 
     if ( !IsEqualGUID( &stat.clsid, &CLSID_MsiDatabase ) &&
-         !IsEqualGUID( &stat.clsid, &CLSID_MsiPatch ) ) 
+         !IsEqualGUID( &stat.clsid, &CLSID_MsiPatch ) )
     {
         ERR("storage GUID is not a MSI database GUID %s\n",
              debugstr_guid(&stat.clsid) );
@@ -604,16 +604,16 @@ static UINT msi_add_records_to_table(MSI
 
     LPWSTR prelude = msi_build_insertsql_prelude(labels[0]);
     LPWSTR columns_sql = msi_build_insertsql_columns(columns, types, num_columns);
-    
+
     for (i = 0; i < num_records; i++)
     {
         LPWSTR data = msi_build_insertsql_data(records, types, num_columns, i);
 
-        size = lstrlenW(prelude) + lstrlenW(columns_sql) + sizeof(mid) + lstrlenW(data) + sizeof(end) - 1; 
+        size = lstrlenW(prelude) + lstrlenW(columns_sql) + sizeof(mid) + lstrlenW(data) + sizeof(end) - 1;
         insert_sql = msi_alloc(size * sizeof(WCHAR));
         if (!insert_sql)
             return ERROR_OUTOFMEMORY;
-    
+
         lstrcpyW(insert_sql, prelude);
         lstrcatW(insert_sql, columns_sql);
         lstrcatW(insert_sql, mid);
diff --git a/dlls/msi/delete.c b/dlls/msi/delete.c
index bd33956..01c801d 100644
--- a/dlls/msi/delete.c
+++ b/dlls/msi/delete.c
@@ -204,7 +204,7 @@ UINT DELETE_CreateView( MSIDATABASE *db,
     dv = msi_alloc_zero( sizeof *dv );
     if( !dv )
         return ERROR_FUNCTION_FAILED;
-    
+
     /* fill the structure */
     dv->view.ops = &delete_ops;
     dv->db = db;
diff --git a/dlls/msi/dialog.c b/dlls/msi/dialog.c
index 964d334..293ed35 100644
--- a/dlls/msi/dialog.c
+++ b/dlls/msi/dialog.c
@@ -97,7 +97,7 @@ struct msi_dialog_tag
 };
 
 typedef UINT (*msi_dialog_control_func)( msi_dialog *dialog, MSIRECORD *rec );
-struct control_handler 
+struct control_handler
 {
     LPCWSTR control_type;
     msi_dialog_control_func func;
@@ -133,7 +133,7 @@ static const WCHAR szMaskedEdit[] = { 'M
 static const WCHAR szPathEdit[] = { 'P','a','t','h','E','d','i','t',0 };
 static const WCHAR szProgressBar[] = {
      'P','r','o','g','r','e','s','s','B','a','r',0 };
-static const WCHAR szRadioButtonGroup[] = { 
+static const WCHAR szRadioButtonGroup[] = {
     'R','a','d','i','o','B','u','t','t','o','n','G','r','o','u','p',0 };
 static const WCHAR szIcon[] = { 'I','c','o','n',0 };
 static const WCHAR szSelectionTree[] = {
@@ -562,7 +562,7 @@ static HICON msi_load_icon( MSIDATABASE 
 
 
 /* called from the Control Event subscription code */
-void msi_dialog_handle_event( msi_dialog* dialog, LPCWSTR control, 
+void msi_dialog_handle_event( msi_dialog* dialog, LPCWSTR control,
                               LPCWSTR attribute, MSIRECORD *rec )
 {
     msi_control* ctrl;
@@ -1031,7 +1031,7 @@ static HBITMAP msi_load_picture( MSIDATA
         ERR("failed to get bitmap handle\n");
         goto end;
     }
- 
+
     /* make the bitmap the desired size */
     r = GetObjectW( hOleBitmap, sizeof bm, &bm );
     if (r != sizeof bm )
@@ -1095,7 +1095,7 @@ static UINT msi_dialog_bitmap_control( m
         ERR("Failed to load bitmap %s\n", debugstr_w(text));
 
     msi_free( text );
-    
+
     return ERROR_SUCCESS;
 }
 
@@ -1109,7 +1109,7 @@ static UINT msi_dialog_icon_control( msi
 
     control = msi_dialog_add_control( dialog, rec, szStatic,
                             SS_ICON | SS_CENTERIMAGE | WS_GROUP );
-            
+
     attributes = MSI_RecordGetInteger( rec, 8 );
     text = msi_get_deformatted_field( dialog->package, rec, 10 );
     control->hIcon = msi_load_icon( dialog->package->db, text, attributes );
@@ -1721,7 +1721,7 @@ static UINT msi_dialog_radiogroup_contro
     r = MSI_OpenQuery( package->db, &view, query, prop );
     if( r != ERROR_SUCCESS )
     {
-        ERR("query failed for dialog %s radio group %s\n", 
+        ERR("query failed for dialog %s radio group %s\n",
             debugstr_w(dialog->name), debugstr_w(prop));
         return ERROR_INVALID_PARAMETER;
     }
@@ -2477,7 +2477,7 @@ static void msi_dialog_vcl_add_columns( 
         lstrcpynW( num, begin + 1, end - begin );
         begin += end - begin + 1;
 
-        /* empty braces or '0' hides the column */ 
+        /* empty braces or '0' hides the column */
         if ( !num[0] || !lstrcmpW( num, zero ) )
         {
             count++;
@@ -3044,7 +3044,7 @@ static UINT msi_dialog_button_handler( m
 
         if ( r != ERROR_SUCCESS )
             goto done;
-    }    
+    }
 
     /* handle all other events */
     LIST_FOR_EACH_ENTRY_SAFE( rec_entry, next, &events, struct rec_list, entry )
@@ -3173,7 +3173,7 @@ static LRESULT msi_dialog_oncommand( msi
     case 2: /* escape */
         control = msi_dialog_find_control( dialog, dialog->control_cancel );
         break;
-    default: 
+    default:
         control = msi_dialog_find_control_by_hwnd( dialog, hwnd );
     }
 
@@ -3550,7 +3550,7 @@ static UINT msi_error_dialog_set_error( 
 {
     MSIRECORD * row;
 
-    static const WCHAR update[] = 
+    static const WCHAR update[] =
         {'U','P','D','A','T','E',' ','`','C','o','n','t','r','o','l','`',' ',
          'S','E','T',' ','`','T','e','x','t','`',' ','=',' ','\'','%','s','\'',' ',
          'W','H','E','R','E', ' ','`','D','i','a','l','o','g','_','`',' ','=',' ','\'','%','s','\'',' ',
diff --git a/dlls/msi/distinct.c b/dlls/msi/distinct.c
index 8513823..1c0bca4 100644
--- a/dlls/msi/distinct.c
+++ b/dlls/msi/distinct.c
@@ -301,7 +301,7 @@ UINT DISTINCT_CreateView( MSIDATABASE *d
     dv = msi_alloc_zero( sizeof *dv );
     if( !dv )
         return ERROR_FUNCTION_FAILED;
-    
+
     /* fill the structure */
     dv->view.ops = &distinct_ops;
     msiobj_addref( &db->hdr );
diff --git a/dlls/msi/events.c b/dlls/msi/events.c
index b85a5c5..ae8bf9a 100644
--- a/dlls/msi/events.c
+++ b/dlls/msi/events.c
@@ -92,7 +92,7 @@ static UINT event_do_dialog( MSIPACKAGE 
 /*
  * End a modal dialog box
  */
-static UINT ControlEvent_EndDialog(MSIPACKAGE* package, LPCWSTR argument, 
+static UINT ControlEvent_EndDialog(MSIPACKAGE* package, LPCWSTR argument,
                                    msi_dialog* dialog)
 {
     static const WCHAR szExit[] = {
@@ -131,7 +131,7 @@ static UINT ControlEvent_EndDialog(MSIPA
 /*
  * transition from one modal dialog to another modal dialog
  */
-static UINT ControlEvent_NewDialog(MSIPACKAGE* package, LPCWSTR argument, 
+static UINT ControlEvent_NewDialog(MSIPACKAGE* package, LPCWSTR argument,
                                    msi_dialog *dialog)
 {
     /* store the name of the next dialog, and signal this one to end */
@@ -144,7 +144,7 @@ static UINT ControlEvent_NewDialog(MSIPA
 /*
  * Create a new child dialog of an existing modal dialog
  */
-static UINT ControlEvent_SpawnDialog(MSIPACKAGE* package, LPCWSTR argument, 
+static UINT ControlEvent_SpawnDialog(MSIPACKAGE* package, LPCWSTR argument,
                               msi_dialog *dialog)
 {
     /* don't destroy a modeless dialogs that might be our parent */
@@ -158,21 +158,21 @@ static UINT ControlEvent_SpawnDialog(MSI
  * Creates a dialog that remains up for a period of time
  * based on a condition
  */
-static UINT ControlEvent_SpawnWaitDialog(MSIPACKAGE* package, LPCWSTR argument, 
+static UINT ControlEvent_SpawnWaitDialog(MSIPACKAGE* package, LPCWSTR argument,
                                   msi_dialog* dialog)
 {
     FIXME("Doing Nothing\n");
     return ERROR_SUCCESS;
 }
 
-static UINT ControlEvent_DoAction(MSIPACKAGE* package, LPCWSTR argument, 
+static UINT ControlEvent_DoAction(MSIPACKAGE* package, LPCWSTR argument,
                                   msi_dialog* dialog)
 {
     ACTION_PerformAction(package,argument,-1,TRUE);
     return ERROR_SUCCESS;
 }
 
-static UINT ControlEvent_AddLocal(MSIPACKAGE* package, LPCWSTR argument, 
+static UINT ControlEvent_AddLocal(MSIPACKAGE* package, LPCWSTR argument,
                                   msi_dialog* dialog)
 {
     static const WCHAR szAll[] = {'A','L','L',0};
@@ -192,7 +192,7 @@ static UINT ControlEvent_AddLocal(MSIPAC
     return ERROR_SUCCESS;
 }
 
-static UINT ControlEvent_Remove(MSIPACKAGE* package, LPCWSTR argument, 
+static UINT ControlEvent_Remove(MSIPACKAGE* package, LPCWSTR argument,
                                 msi_dialog* dialog)
 {
     static const WCHAR szAll[] = {'A','L','L',0};
@@ -212,7 +212,7 @@ static UINT ControlEvent_Remove(MSIPACKA
     return ERROR_SUCCESS;
 }
 
-static UINT ControlEvent_AddSource(MSIPACKAGE* package, LPCWSTR argument, 
+static UINT ControlEvent_AddSource(MSIPACKAGE* package, LPCWSTR argument,
                                    msi_dialog* dialog)
 {
     static const WCHAR szAll[] = {'A','L','L',0};
@@ -231,7 +231,7 @@ static UINT ControlEvent_AddSource(MSIPA
     return ERROR_SUCCESS;
 }
 
-static UINT ControlEvent_SetTargetPath(MSIPACKAGE* package, LPCWSTR argument, 
+static UINT ControlEvent_SetTargetPath(MSIPACKAGE* package, LPCWSTR argument,
                                    msi_dialog* dialog)
 {
     LPWSTR path = msi_dup_property( package, argument );
@@ -250,7 +250,7 @@ static UINT ControlEvent_SetTargetPath(M
     return r;
 }
 
-static UINT ControlEvent_Reset(MSIPACKAGE* package, LPCWSTR argument, 
+static UINT ControlEvent_Reset(MSIPACKAGE* package, LPCWSTR argument,
                                    msi_dialog* dialog)
 {
     msi_dialog_reset(dialog);
@@ -304,7 +304,7 @@ VOID ControlEvent_UnSubscribeToEvent( MS
     }
 }
 
-VOID ControlEvent_FireSubscribedEvent( MSIPACKAGE *package, LPCWSTR event, 
+VOID ControlEvent_FireSubscribedEvent( MSIPACKAGE *package, LPCWSTR event,
                                        MSIRECORD *rec )
 {
     struct subscriber *sub;
diff --git a/dlls/msi/files.c b/dlls/msi/files.c
index f2561d4..67a940c 100644
--- a/dlls/msi/files.c
+++ b/dlls/msi/files.c
@@ -133,7 +133,7 @@ static UINT writeout_cabinet_stream(MSIP
     HANDLE  the_file;
     WCHAR tmp[MAX_PATH];
 
-    rc = read_raw_stream_data(package->db,stream_name,&data,&size); 
+    rc = read_raw_stream_data(package->db,stream_name,&data,&size);
     if (rc != ERROR_SUCCESS)
         return rc;
 
@@ -205,7 +205,7 @@ static INT_PTR cabinet_open(char *pszFil
         dwCreateDisposition = CREATE_NEW;
     else if (oflag & _O_CREAT)
         dwCreateDisposition = CREATE_ALWAYS;
-    handle = CreateFileA( pszFile, dwAccess, dwShareMode, NULL, 
+    handle = CreateFileA( pszFile, dwAccess, dwShareMode, NULL,
                           dwCreateDisposition, 0, NULL );
     if (handle == INVALID_HANDLE_VALUE)
         return 0;
@@ -645,7 +645,7 @@ static UINT ready_media(MSIPACKAGE *pack
     return rc;
 }
 
-static UINT get_file_target(MSIPACKAGE *package, LPCWSTR file_key, 
+static UINT get_file_target(MSIPACKAGE *package, LPCWSTR file_key,
                             MSIFILE** file)
 {
     LIST_FOR_EACH_ENTRY( *file, &package->files, MSIFILE, entry )
@@ -732,7 +732,7 @@ static UINT copy_install_file(MSIFILE *f
 
 /*
  * ACTION_InstallFiles()
- * 
+ *
  * For efficiency, this is done in two passes:
  * 1) Correct all the TargetPaths and determine what files are to be installed.
  * 2) Extract Cabinets and copy files.
@@ -840,7 +840,7 @@ static UINT ITERATE_DuplicateFiles(MSIRE
         TRACE("Skipping copy due to disabled component %s\n",
                         debugstr_w(component));
 
-        /* the action taken was the same as the current install state */        
+        /* the action taken was the same as the current install state */
         comp->Action = comp->Installed;
 
         return ERROR_SUCCESS;
@@ -900,7 +900,7 @@ static UINT ITERATE_DuplicateFiles(MSIRE
     dest = build_directory_name(2, dest_path, dest_name);
 
     TRACE("Duplicating file %s to %s\n",debugstr_w(file->TargetPath),
-                    debugstr_w(dest)); 
+                    debugstr_w(dest));
 
     CreateDirectoryW(dest_path, NULL);
 
@@ -913,7 +913,7 @@ static UINT ITERATE_DuplicateFiles(MSIRE
         ERR("Failed to copy file %s -> %s, last error %d\n",
             debugstr_w(file->TargetPath), debugstr_w(dest_path), GetLastError());
 
-    FIXME("We should track these duplicate files as well\n");   
+    FIXME("We should track these duplicate files as well\n");
 
     msi_free(dest_path);
     msi_free(dest);
diff --git a/dlls/msi/format.c b/dlls/msi/format.c
index 8dc99b8..047f0a9 100644
--- a/dlls/msi/format.c
+++ b/dlls/msi/format.c
@@ -20,7 +20,7 @@
  */
 
 /*
-http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/msiformatrecord.asp 
+http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/msiformatrecord.asp
  */
 
 #include <stdarg.h>
@@ -44,14 +44,14 @@ #include "wine/unicode.h"
 WINE_DEFAULT_DEBUG_CHANNEL(msi);
 
 
-static DWORD deformat_string_internal(MSIPACKAGE *package, LPCWSTR ptr, 
+static DWORD deformat_string_internal(MSIPACKAGE *package, LPCWSTR ptr,
                                      WCHAR** data, DWORD len, MSIRECORD* record,
                                      BOOL* in_group);
 
 
 static LPWSTR build_default_format(const MSIRECORD* record)
 {
-    int i;  
+    int i;
     int count;
     LPWSTR rc, buf;
     static const WCHAR fmt[] = {'%','i',':',' ','%','s',' ',0};
@@ -134,7 +134,7 @@ static LPWSTR deformat_component(MSIPACK
     return value;
 }
 
-static LPWSTR deformat_file(MSIPACKAGE* package, LPCWSTR key, DWORD* sz, 
+static LPWSTR deformat_file(MSIPACKAGE* package, LPCWSTR key, DWORD* sz,
                             BOOL shortname)
 {
     LPWSTR value = NULL;
@@ -176,7 +176,7 @@ static LPWSTR deformat_file(MSIPACKAGE* 
     return value;
 }
 
-static LPWSTR deformat_environment(MSIPACKAGE* package, LPCWSTR key, 
+static LPWSTR deformat_environment(MSIPACKAGE* package, LPCWSTR key,
                                    DWORD* chunk)
 {
     LPWSTR value = NULL;
@@ -199,7 +199,7 @@ static LPWSTR deformat_environment(MSIPA
     return value;
 }
 
- 
+
 static LPWSTR deformat_NULL(DWORD* chunk)
 {
     LPWSTR value;
@@ -238,7 +238,7 @@ static BOOL is_key_number(LPCWSTR key)
 static LPWSTR deformat_index(MSIRECORD* record, LPCWSTR key, DWORD* chunk )
 {
     INT index;
-    LPWSTR value; 
+    LPWSTR value;
 
     index = atoiW(key);
     TRACE("record index %i\n",index);
@@ -269,10 +269,10 @@ static LPWSTR deformat_property(MSIPACKA
 }
 
 /*
- * Groups cannot be nested. They are just treated as from { to next } 
+ * Groups cannot be nested. They are just treated as from { to next }
  */
 static BOOL find_next_group(LPCWSTR source, DWORD len_remaining,
-                                    LPWSTR *group, LPCWSTR *mark, 
+                                    LPWSTR *group, LPCWSTR *mark,
                                     LPCWSTR* mark2)
 {
     int i;
@@ -293,7 +293,7 @@ static BOOL find_next_group(LPCWSTR sour
     if (! found)
         return FALSE;
 
-    *mark2 = &(*mark)[i]; 
+    *mark2 = &(*mark)[i];
 
     i = *mark2 - *mark;
     *group = msi_alloc(i*sizeof(WCHAR));
@@ -308,7 +308,7 @@ static BOOL find_next_group(LPCWSTR sour
 
 
 static BOOL find_next_outermost_key(LPCWSTR source, DWORD len_remaining,
-                                    LPWSTR *key, LPCWSTR *mark, LPCWSTR* mark2, 
+                                    LPWSTR *key, LPCWSTR *mark, LPCWSTR* mark2,
                                     BOOL *nested)
 {
     INT count = 0;
@@ -339,7 +339,7 @@ static BOOL find_next_outermost_key(LPCW
     if (count > 0)
         return FALSE;
 
-    *mark2 = &(*mark)[i-1]; 
+    *mark2 = &(*mark)[i-1];
 
     i = *mark2 - *mark;
     *key = msi_alloc(i*sizeof(WCHAR));
@@ -352,7 +352,7 @@ static BOOL find_next_outermost_key(LPCW
     return TRUE;
 }
 
-static LPWSTR deformat_group(MSIPACKAGE* package, LPWSTR group, DWORD len, 
+static LPWSTR deformat_group(MSIPACKAGE* package, LPWSTR group, DWORD len,
                       MSIRECORD* record, DWORD* size)
 {
     LPWSTR value = NULL;
@@ -363,7 +363,7 @@ static LPWSTR deformat_group(MSIPACKAGE*
     static const WCHAR fmt[] = {'{','%','s','}',0};
     UINT sz;
 
-    if (!group || group[0] == 0) 
+    if (!group || group[0] == 0)
     {
         *size = 0;
         return NULL;
@@ -415,7 +415,7 @@ static LPWSTR deformat_group(MSIPACKAGE*
  * len is in WCHARs
  * return is also in WCHARs
  */
-static DWORD deformat_string_internal(MSIPACKAGE *package, LPCWSTR ptr, 
+static DWORD deformat_string_internal(MSIPACKAGE *package, LPCWSTR ptr,
                                      WCHAR** data, DWORD len, MSIRECORD* record,
                                      INT* failcount)
 {
@@ -440,7 +440,7 @@ static DWORD deformat_string_internal(MS
     TRACE("Starting with %s\n",debugstr_wn(ptr,len));
 
     /* scan for special characters... fast exit */
-    if ((!scanW(ptr,'[',len) || (scanW(ptr,'[',len) && !scanW(ptr,']',len))) && 
+    if ((!scanW(ptr,'[',len) || (scanW(ptr,'[',len) && !scanW(ptr,']',len))) &&
         (scanW(ptr,'{',len) && !scanW(ptr,'}',len)))
     {
         /* not formatted */
@@ -449,7 +449,7 @@ static DWORD deformat_string_internal(MS
         TRACE("Returning %s\n",debugstr_wn(*data,len));
         return len;
     }
-  
+
     progress = ptr;
 
     while (progress - ptr < len)
@@ -458,14 +458,14 @@ static DWORD deformat_string_internal(MS
         if (find_next_group(progress, len - (progress - ptr), &key,
                                 &mark, &mark2))
         {
-            value = deformat_group(package, key, strlenW(key)+1, record, 
+            value = deformat_group(package, key, strlenW(key)+1, record,
                             &chunk);
             msi_free( key );
             key = NULL;
             nested = FALSE;
         }
         /* formatted string located */
-        else if (!find_next_outermost_key(progress, len - (progress - ptr), 
+        else if (!find_next_outermost_key(progress, len - (progress - ptr),
                                 &key, &mark, &mark2, &nested))
         {
             LPBYTE nd2;
@@ -497,7 +497,7 @@ static DWORD deformat_string_internal(MS
             else
                 tgt = msi_realloc(newdata,size);
             newdata  = tgt;
-            memcpy(&newdata[old_size],progress,(cnt * sizeof(WCHAR)));  
+            memcpy(&newdata[old_size],progress,(cnt * sizeof(WCHAR)));
         }
 
         progress = mark;
@@ -512,7 +512,7 @@ static DWORD deformat_string_internal(MS
             key = value;
         }
 
-        TRACE("Current %s .. %s\n",debugstr_wn((LPWSTR)newdata, 
+        TRACE("Current %s .. %s\n",debugstr_wn((LPWSTR)newdata,
                                 size/sizeof(WCHAR)),debugstr_w(key));
 
         if (!package)
@@ -520,7 +520,7 @@ static DWORD deformat_string_internal(MS
             /* only deformat number indexs */
             if (key && is_key_number(key))
             {
-                value = deformat_index(record,key,&chunk);  
+                value = deformat_index(record,key,&chunk);
                 if (!chunk && failcount && *failcount >= 0)
                     (*failcount)++;
             }
@@ -576,7 +576,7 @@ static DWORD deformat_string_internal(MS
                         }
                     else
                         value = deformat_property(package,key,&chunk);
-                break;      
+                break;
             }
         }
 
@@ -593,7 +593,7 @@ static DWORD deformat_string_internal(MS
                 nd2= msi_alloc(chunk);
             newdata = nd2;
             memcpy(&newdata[size],value,chunk);
-            size+=chunk;   
+            size+=chunk;
             msi_free(value);
         }
         else if (failcount && *failcount >=0 )
@@ -602,7 +602,7 @@ static DWORD deformat_string_internal(MS
         progress = mark2+1;
     }
 
-    TRACE("after everything %s\n",debugstr_wn((LPWSTR)newdata, 
+    TRACE("after everything %s\n",debugstr_wn((LPWSTR)newdata,
                             size/sizeof(WCHAR)));
 
     *data = (LPWSTR)newdata;
@@ -657,7 +657,7 @@ UINT MSI_FormatRecordW( MSIPACKAGE* pack
     return rc;
 }
 
-UINT WINAPI MsiFormatRecordW( MSIHANDLE hInstall, MSIHANDLE hRecord, 
+UINT WINAPI MsiFormatRecordW( MSIHANDLE hInstall, MSIHANDLE hRecord,
                               LPWSTR szResult, DWORD *sz )
 {
     UINT r = ERROR_INVALID_HANDLE;
diff --git a/dlls/msi/handle.c b/dlls/msi/handle.c
index ae42d84..0b06833 100644
--- a/dlls/msi/handle.c
+++ b/dlls/msi/handle.c
@@ -37,7 +37,7 @@ static CRITICAL_SECTION MSI_handle_cs;
 static CRITICAL_SECTION_DEBUG MSI_handle_cs_debug =
 {
     0, 0, &MSI_handle_cs,
-    { &MSI_handle_cs_debug.ProcessLocksList, 
+    { &MSI_handle_cs_debug.ProcessLocksList,
       &MSI_handle_cs_debug.ProcessLocksList },
       0, 0, { (DWORD_PTR)(__FILE__ ": MSI_handle_cs") }
 };
@@ -47,7 +47,7 @@ static CRITICAL_SECTION MSI_object_cs;
 static CRITICAL_SECTION_DEBUG MSI_object_cs_debug =
 {
     0, 0, &MSI_object_cs,
-    { &MSI_object_cs_debug.ProcessLocksList, 
+    { &MSI_object_cs_debug.ProcessLocksList,
       &MSI_object_cs_debug.ProcessLocksList },
       0, 0, { (DWORD_PTR)(__FILE__ ": MSI_object_cs") }
 };
diff --git a/dlls/msi/helpers.c b/dlls/msi/helpers.c
index d314699..3a6f666 100644
--- a/dlls/msi/helpers.c
+++ b/dlls/msi/helpers.c
@@ -48,7 +48,7 @@ LPWSTR build_icon_path(MSIPACKAGE *packa
 {
     LPWSTR SystemFolder, dest, FilePath;
 
-    static const WCHAR szInstaller[] = 
+    static const WCHAR szInstaller[] =
         {'M','i','c','r','o','s','o','f','t','\\',
          'I','n','s','t','a','l','l','e','r','\\',0};
     static const WCHAR szFolder[] =
@@ -220,7 +220,7 @@ static void clean_spaces_from_path( LPWS
     }
 }
 
-LPWSTR resolve_folder(MSIPACKAGE *package, LPCWSTR name, BOOL source, 
+LPWSTR resolve_folder(MSIPACKAGE *package, LPCWSTR name, BOOL source,
                       BOOL set_prop, BOOL load_prop, MSIFOLDER **folder)
 {
     MSIFOLDER *f;
@@ -396,7 +396,7 @@ UINT schedule_action(MSIPACKAGE *package
         return ERROR_FUNCTION_FAILED;
     }
     TRACE("Scheduling Action %s in script %i\n",debugstr_w(action), script);
-    
+
     count = package->script->ActionCount[script];
     package->script->ActionCount[script]++;
     if (count != 0)
@@ -652,7 +652,7 @@ void ACTION_free_package_structures( MSI
  *  build_directory_name()
  *
  *  This function is to save messing round with directory names
- *  It handles adding backslashes between path segments, 
+ *  It handles adding backslashes between path segments,
  *   and can add \ at the end of the directory name if told to.
  *
  *  It takes a variable number of arguments.
@@ -666,7 +666,7 @@ void ACTION_free_package_structures( MSI
  *  Path segments will be added with a \ separating them.
  *  A \ will not be added after the last segment, however if the
  *    last segment is NULL, then the last character will be a \
- * 
+ *
  */
 LPWSTR build_directory_name(DWORD count, ...)
 {
@@ -769,10 +769,10 @@ void ui_progress(MSIPACKAGE *package, in
 
 void ui_actiondata(MSIPACKAGE *package, LPCWSTR action, MSIRECORD * record)
 {
-    static const WCHAR Query_t[] = 
+    static const WCHAR Query_t[] =
         {'S','E','L','E','C','T',' ','*',' ','F','R','O','M',' ',
          '`','A','c','t','i','o', 'n','T','e','x','t','`',' ',
-         'W','H','E','R','E',' ', '`','A','c','t','i','o','n','`',' ','=', 
+         'W','H','E','R','E',' ', '`','A','c','t','i','o','n','`',' ','=',
          ' ','\'','%','s','\'',0};
     WCHAR message[1024];
     MSIRECORD * row = 0;
@@ -806,7 +806,7 @@ void ui_actiondata(MSIPACKAGE *package, 
 
     row = MSI_CreateRecord(1);
     MSI_RecordSetStringW(row,1,message);
- 
+
     MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, row);
 
     msiobj_release(&row->hdr);
@@ -854,7 +854,7 @@ void reduce_to_shortfilename(WCHAR* file
         *p = 0;
 }
 
-LPWSTR create_component_advertise_string(MSIPACKAGE* package, 
+LPWSTR create_component_advertise_string(MSIPACKAGE* package,
                 MSICOMPONENT* component, LPCWSTR feature)
 {
     static const WCHAR fmt[] = {'%','s','%','s','%','c','%','s',0};
@@ -879,14 +879,14 @@ LPWSTR create_component_advertise_string
 
     TRACE("prod=%s feat=%s comp=%s\n", debugstr_w(productid_85),
           debugstr_w(feature), debugstr_w(component_85));
- 
+
     sz = 20 + lstrlenW(feature) + 20 + 3;
 
     output = msi_alloc_zero(sz*sizeof(WCHAR));
 
     sprintfW(output, fmt, productid_85, feature,
              component?'>':'<', component_85);
-    
+
     return output;
 }
 
@@ -909,17 +909,17 @@ void ACTION_UpdateComponentStates(MSIPAC
     LIST_FOR_EACH_ENTRY( cl, &feature->Components, ComponentList, entry )
     {
         MSICOMPONENT* component = cl->component;
-    
+
         TRACE("MODIFYING(%i): Component %s (Installed %i, Action %i, Request %i)\n",
-            newstate, debugstr_w(component->Component), component->Installed, 
+            newstate, debugstr_w(component->Component), component->Installed,
             component->Action, component->ActionRequest);
-        
+
         if (!component->Enabled)
             continue;
- 
+
         if (newstate == INSTALLSTATE_LOCAL)
             msi_component_set_state( component, INSTALLSTATE_LOCAL );
-        else 
+        else
         {
             ComponentList *clist;
             MSIFEATURE *f;
@@ -959,9 +959,9 @@ void ACTION_UpdateComponentStates(MSIPAC
             }
         }
         TRACE("Result (%i): Component %s (Installed %i, Action %i, Request %i)\n",
-            newstate, debugstr_w(component->Component), component->Installed, 
+            newstate, debugstr_w(component->Component), component->Installed,
             component->Action, component->ActionRequest);
-    } 
+    }
 }
 
 UINT register_unique_action(MSIPACKAGE *package, LPCWSTR action)
@@ -973,7 +973,7 @@ UINT register_unique_action(MSIPACKAGE *
         return FALSE;
 
     TRACE("Registering Action %s as having fun\n",debugstr_w(action));
-    
+
     count = package->script->UniqueActionsCount;
     package->script->UniqueActionsCount++;
     if (count != 0)
diff --git a/dlls/msi/install.c b/dlls/msi/install.c
index cb88ebb..809d385 100644
--- a/dlls/msi/install.c
+++ b/dlls/msi/install.c
@@ -51,7 +51,7 @@ UINT WINAPI MsiDoActionA( MSIHANDLE hIns
 
     szwAction = strdupAtoW(szAction);
     if (szAction && !szwAction)
-        return ERROR_FUNCTION_FAILED; 
+        return ERROR_FUNCTION_FAILED;
 
     ret = MsiDoActionW( hInstall, szwAction );
     msi_free( szwAction );
@@ -104,7 +104,7 @@ UINT WINAPI MsiDoActionW( MSIHANDLE hIns
 
         return ERROR_SUCCESS;
     }
- 
+
     ret = ACTION_PerformUIAction( package, szAction, -1 );
     msiobj_release( &package->hdr );
 
@@ -123,7 +123,7 @@ UINT WINAPI MsiSequenceA( MSIHANDLE hIns
 
     szwTable = strdupAtoW(szTable);
     if (szTable && !szwTable)
-        return ERROR_FUNCTION_FAILED; 
+        return ERROR_FUNCTION_FAILED;
 
     ret = MsiSequenceW( hInstall, szwTable, iSequenceMode );
     msi_free( szwTable );
@@ -176,7 +176,7 @@ UINT WINAPI MsiSequenceW( MSIHANDLE hIns
 
     ret = MSI_Sequence( package, szTable, iSequenceMode );
     msiobj_release( &package->hdr );
- 
+
     return ret;
 }
 
@@ -189,11 +189,11 @@ UINT msi_strcpy_to_awstring( LPCWSTR str
 
     if (!sz)
         return r;
- 
+
     if (awbuf->unicode)
     {
         len = lstrlenW( str );
-        if (awbuf->str.w) 
+        if (awbuf->str.w)
             lstrcpynW( awbuf->str.w, str, *sz );
     }
     else
@@ -296,7 +296,7 @@ done:
 /***********************************************************************
  * MsiGetTargetPathA        (MSI.@)
  */
-UINT WINAPI MsiGetTargetPathA( MSIHANDLE hInstall, LPCSTR szFolder, 
+UINT WINAPI MsiGetTargetPathA( MSIHANDLE hInstall, LPCSTR szFolder,
                                LPSTR szPathBuf, DWORD* pcchPathBuf )
 {
     LPWSTR szwFolder;
@@ -307,7 +307,7 @@ UINT WINAPI MsiGetTargetPathA( MSIHANDLE
 
     szwFolder = strdupAtoW(szFolder);
     if (szFolder && !szwFolder)
-        return ERROR_FUNCTION_FAILED; 
+        return ERROR_FUNCTION_FAILED;
 
     path.unicode = FALSE;
     path.str.a = szPathBuf;
@@ -428,7 +428,7 @@ done:
 /***********************************************************************
  * MsiGetSourcePathA     (MSI.@)
  */
-UINT WINAPI MsiGetSourcePathA( MSIHANDLE hInstall, LPCSTR szFolder, 
+UINT WINAPI MsiGetSourcePathA( MSIHANDLE hInstall, LPCSTR szFolder,
                                LPSTR szPathBuf, DWORD* pcchPathBuf )
 {
     LPWSTR folder;
@@ -494,7 +494,7 @@ end:
  * changed a bit also. The given folder path does not have to actually already
  * exist, it just cannot be read only and must be a legal folder path.
  */
-UINT MSI_SetTargetPathW(MSIPACKAGE *package, LPCWSTR szFolder, 
+UINT MSI_SetTargetPathW(MSIPACKAGE *package, LPCWSTR szFolder,
                              LPCWSTR szFolderPath)
 {
     DWORD attrib;
@@ -522,7 +522,7 @@ UINT MSI_SetTargetPathW(MSIPACKAGE *pack
     if (lstrcmpiW(path, folder->Property) == 0)
     {
         /*
-         *  Resolved Target has not really changed, so just 
+         *  Resolved Target has not really changed, so just
          *  set this folder and do not recalculate everything.
          */
         msi_free(folder->ResolvedTarget);
@@ -569,7 +569,7 @@ UINT MSI_SetTargetPathW(MSIPACKAGE *pack
 /***********************************************************************
  * MsiSetTargetPathW  (MSI.@)
  */
-UINT WINAPI MsiSetTargetPathW(MSIHANDLE hInstall, LPCWSTR szFolder, 
+UINT WINAPI MsiSetTargetPathW(MSIHANDLE hInstall, LPCWSTR szFolder,
                              LPCWSTR szFolderPath)
 {
     MSIPACKAGE *package;
@@ -747,8 +747,8 @@ UINT WINAPI MsiSetFeatureStateA(MSIHANDL
 
     if (!szwFeature)
         return ERROR_FUNCTION_FAILED;
-   
-    rc = MsiSetFeatureStateW(hInstall,szwFeature, iState); 
+
+    rc = MsiSetFeatureStateW(hInstall,szwFeature, iState);
 
     msi_free(szwFeature);
 
@@ -769,7 +769,7 @@ UINT WINAPI MSI_SetFeatureStateW(MSIPACK
     if (!feature)
         return ERROR_UNKNOWN_FEATURE;
 
-    if (iState == INSTALLSTATE_ADVERTISED && 
+    if (iState == INSTALLSTATE_ADVERTISED &&
         feature->Attributes & msidbFeatureAttributesDisallowAdvertise)
         return ERROR_FUNCTION_FAILED;
 
@@ -783,7 +783,7 @@ UINT WINAPI MSI_SetFeatureStateW(MSIPACK
         if (lstrcmpW(szFeature, child->Feature_Parent) == 0)
             MSI_SetFeatureStateW(package, child->Feature, iState);
     }
-    
+
     return rc;
 }
 
@@ -846,7 +846,7 @@ UINT WINAPI MsiGetFeatureStateA(MSIHANDL
 {
     LPWSTR szwFeature = NULL;
     UINT rc;
-    
+
     szwFeature = strdupAtoW(szFeature);
 
     rc = MsiGetFeatureStateW(hInstall,szwFeature,piInstalled, piAction);
@@ -975,7 +975,7 @@ UINT WINAPI MsiGetComponentStateA(MSIHAN
 {
     LPWSTR szwComponent= NULL;
     UINT rc;
-    
+
     szwComponent= strdupAtoW(szComponent);
 
     rc = MsiGetComponentStateW(hInstall,szwComponent,piInstalled, piAction);
@@ -1133,7 +1133,7 @@ LANGID WINAPI MsiGetLanguage(MSIHANDLE h
     LANGID langid;
     static const WCHAR szProductLanguage[] =
         {'P','r','o','d','u','c','t','L','a','n','g','u','a','g','e',0};
-    
+
     package = msihandle2msiinfo(hInstall, MSIHANDLETYPE_PACKAGE);
     if (!package)
     {
diff --git a/dlls/msi/msi.c b/dlls/msi/msi.c
index b669c37..f0344d9 100644
--- a/dlls/msi/msi.c
+++ b/dlls/msi/msi.c
@@ -365,12 +365,12 @@ UINT WINAPI MsiConfigureProductExW(LPCWS
     }
 
     sz = sizeof(sourcepath);
-    MsiSourceListGetInfoW(szProduct, NULL, MSIINSTALLCONTEXT_USERMANAGED, 
+    MsiSourceListGetInfoW(szProduct, NULL, MSIINSTALLCONTEXT_USERMANAGED,
             MSICODE_PRODUCT, INSTALLPROPERTY_LASTUSEDSOURCEW, sourcepath,
             &sz);
 
     sz = sizeof(filename);
-    MsiSourceListGetInfoW(szProduct, NULL, MSIINSTALLCONTEXT_USERMANAGED, 
+    MsiSourceListGetInfoW(szProduct, NULL, MSIINSTALLCONTEXT_USERMANAGED,
             MSICODE_PRODUCT, INSTALLPROPERTY_PACKAGENAMEW, filename, &sz);
 
     lstrcatW(sourcepath,filename);
@@ -977,7 +977,7 @@ UINT WINAPI MsiMessageBoxA(HWND hWnd, LP
 {
     FIXME("%p %s %s %u %08x %08x\n", hWnd, debugstr_a(lpText), debugstr_a(lpCaption),
           uType, wLanguageId, f);
-    return MessageBoxExA(hWnd,lpText,lpCaption,uType,wLanguageId); 
+    return MessageBoxExA(hWnd,lpText,lpCaption,uType,wLanguageId);
 }
 
 UINT WINAPI MsiMessageBoxW(HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType,
@@ -985,7 +985,7 @@ UINT WINAPI MsiMessageBoxW(HWND hWnd, LP
 {
     FIXME("%p %s %s %u %08x %08x\n", hWnd, debugstr_w(lpText), debugstr_w(lpCaption),
           uType, wLanguageId, f);
-    return MessageBoxExW(hWnd,lpText,lpCaption,uType,wLanguageId); 
+    return MessageBoxExW(hWnd,lpText,lpCaption,uType,wLanguageId);
 }
 
 UINT WINAPI MsiProvideAssemblyA( LPCSTR szAssemblyName, LPCSTR szAppContext,
@@ -1645,7 +1645,7 @@ UINT WINAPI MsiProvideQualifiedComponent
                 LPCWSTR szQualifier, DWORD dwInstallMode, LPWSTR lpPathBuf,
                 DWORD* pcchPathBuf)
 {
-    return MsiProvideQualifiedComponentExW(szComponent, szQualifier, 
+    return MsiProvideQualifiedComponentExW(szComponent, szQualifier,
                     dwInstallMode, NULL, 0, 0, lpPathBuf, pcchPathBuf);
 }
 
@@ -2064,13 +2064,13 @@ UINT WINAPI MsiReinstallFeatureW( LPCWST
     if (dwReinstallMode & REINSTALLMODE_PACKAGE)
         *ptr++ = 'v';
     *ptr = 0;
-    
+
     sz = sizeof(sourcepath);
-    MsiSourceListGetInfoW(szProduct, NULL, MSIINSTALLCONTEXT_USERMANAGED, 
+    MsiSourceListGetInfoW(szProduct, NULL, MSIINSTALLCONTEXT_USERMANAGED,
             MSICODE_PRODUCT, INSTALLPROPERTY_LASTUSEDSOURCEW, sourcepath, &sz);
 
     sz = sizeof(filename);
-    MsiSourceListGetInfoW(szProduct, NULL, MSIINSTALLCONTEXT_USERMANAGED, 
+    MsiSourceListGetInfoW(szProduct, NULL, MSIINSTALLCONTEXT_USERMANAGED,
             MSICODE_PRODUCT, INSTALLPROPERTY_PACKAGENAMEW, filename, &sz);
 
     lstrcatW( sourcepath, filename );
diff --git a/dlls/msi/msiquery.c b/dlls/msi/msiquery.c
index abec8d8..58f9eba 100644
--- a/dlls/msi/msiquery.c
+++ b/dlls/msi/msiquery.c
@@ -428,7 +428,7 @@ UINT WINAPI MsiViewExecute(MSIHANDLE hVi
     MSIQUERY *query;
     MSIRECORD *rec = NULL;
     UINT ret;
-    
+
     TRACE("%ld %ld\n", hView, hRec);
 
     query = msihandle2msiinfo( hView, MSIHANDLETYPE_VIEW );
@@ -709,7 +709,7 @@ UINT WINAPI MsiDatabaseApplyTransformW( 
     return r;
 }
 
-UINT WINAPI MsiDatabaseApplyTransformA( MSIHANDLE hdb, 
+UINT WINAPI MsiDatabaseApplyTransformA( MSIHANDLE hdb,
                  LPCSTR szTransformFile, int iErrorCond)
 {
     LPWSTR wstr;
@@ -731,7 +731,7 @@ UINT WINAPI MsiDatabaseApplyTransformA( 
 UINT WINAPI MsiDatabaseGenerateTransformA( MSIHANDLE hdb, MSIHANDLE hdbref,
                  LPCSTR szTransformFile, int iReserved1, int iReserved2 )
 {
-    FIXME("%ld %ld %s %d %d\n", hdb, hdbref, 
+    FIXME("%ld %ld %s %d %d\n", hdb, hdbref,
            debugstr_a(szTransformFile), iReserved1, iReserved2);
     return ERROR_CALL_NOT_IMPLEMENTED;
 }
@@ -739,7 +739,7 @@ UINT WINAPI MsiDatabaseGenerateTransform
 UINT WINAPI MsiDatabaseGenerateTransformW( MSIHANDLE hdb, MSIHANDLE hdbref,
                  LPCWSTR szTransformFile, int iReserved1, int iReserved2 )
 {
-    FIXME("%ld %ld %s %d %d\n", hdb, hdbref, 
+    FIXME("%ld %ld %s %d %d\n", hdb, hdbref,
            debugstr_w(szTransformFile), iReserved1, iReserved2);
     return ERROR_CALL_NOT_IMPLEMENTED;
 }
@@ -810,7 +810,7 @@ UINT MSI_DatabaseGetPrimaryKeys( MSIDATA
     MSIQUERY *query = NULL;
     MSIVIEW *view;
     UINT r;
-    
+
     r = MSI_OpenQuery( db, &query, sql, table );
     if( r != ERROR_SUCCESS )
         return r;
@@ -865,7 +865,7 @@ UINT WINAPI MsiDatabaseGetPrimaryKeysW( 
     return r;
 }
 
-UINT WINAPI MsiDatabaseGetPrimaryKeysA(MSIHANDLE hdb, 
+UINT WINAPI MsiDatabaseGetPrimaryKeysA(MSIHANDLE hdb,
                     LPCSTR table, MSIHANDLE* phRec)
 {
     LPWSTR szwTable = NULL;
diff --git a/dlls/msi/order.c b/dlls/msi/order.c
index c0ab643..e1f5315 100644
--- a/dlls/msi/order.c
+++ b/dlls/msi/order.c
@@ -98,7 +98,7 @@ static UINT ORDER_mergesort( MSIORDERVIE
         if( r != ERROR_SUCCESS )
             return r;
         if( swap )
-        { 
+        {
             temp = array[j];
             memmove( &array[i+1], &array[i], (j-i)*sizeof (UINT) );
             array[i] = temp;
@@ -340,7 +340,7 @@ UINT ORDER_CreateView( MSIDATABASE *db, 
     ov = msi_alloc_zero( sizeof *ov + sizeof (UINT) * count );
     if( !ov )
         return ERROR_FUNCTION_FAILED;
-    
+
     /* fill the structure */
     ov->view.ops = &order_ops;
     msiobj_addref( &db->hdr );
diff --git a/dlls/msi/package.c b/dlls/msi/package.c
index d9ed7d9..e3ca65a 100644
--- a/dlls/msi/package.c
+++ b/dlls/msi/package.c
@@ -353,45 +353,45 @@ static VOID set_installer_properties(MSI
     SYSTEMTIME systemtime;
 
     static const WCHAR cszbs[]={'\\',0};
-    static const WCHAR CFF[] = 
+    static const WCHAR CFF[] =
 {'C','o','m','m','o','n','F','i','l','e','s','F','o','l','d','e','r',0};
-    static const WCHAR PFF[] = 
+    static const WCHAR PFF[] =
 {'P','r','o','g','r','a','m','F','i','l','e','s','F','o','l','d','e','r',0};
-    static const WCHAR CADF[] = 
+    static const WCHAR CADF[] =
 {'C','o','m','m','o','n','A','p','p','D','a','t','a','F','o','l','d','e','r',0};
-    static const WCHAR FaF[] = 
+    static const WCHAR FaF[] =
 {'F','a','v','o','r','i','t','e','s','F','o','l','d','e','r',0};
-    static const WCHAR FoF[] = 
+    static const WCHAR FoF[] =
 {'F','o','n','t','s','F','o','l','d','e','r',0};
-    static const WCHAR SendTF[] = 
+    static const WCHAR SendTF[] =
 {'S','e','n','d','T','o','F','o','l','d','e','r',0};
-    static const WCHAR SMF[] = 
+    static const WCHAR SMF[] =
 {'S','t','a','r','t','M','e','n','u','F','o','l','d','e','r',0};
-    static const WCHAR StF[] = 
+    static const WCHAR StF[] =
 {'S','t','a','r','t','u','p','F','o','l','d','e','r',0};
-    static const WCHAR TemplF[] = 
+    static const WCHAR TemplF[] =
 {'T','e','m','p','l','a','t','e','F','o','l','d','e','r',0};
-    static const WCHAR DF[] = 
+    static const WCHAR DF[] =
 {'D','e','s','k','t','o','p','F','o','l','d','e','r',0};
-    static const WCHAR PMF[] = 
+    static const WCHAR PMF[] =
 {'P','r','o','g','r','a','m','M','e','n','u','F','o','l','d','e','r',0};
-    static const WCHAR ATF[] = 
+    static const WCHAR ATF[] =
 {'A','d','m','i','n','T','o','o','l','s','F','o','l','d','e','r',0};
-    static const WCHAR ADF[] = 
+    static const WCHAR ADF[] =
 {'A','p','p','D','a','t','a','F','o','l','d','e','r',0};
-    static const WCHAR SF[] = 
+    static const WCHAR SF[] =
 {'S','y','s','t','e','m','F','o','l','d','e','r',0};
-    static const WCHAR SF16[] = 
+    static const WCHAR SF16[] =
 {'S','y','s','t','e','m','1','6','F','o','l','d','e','r',0};
-    static const WCHAR LADF[] = 
+    static const WCHAR LADF[] =
 {'L','o','c','a','l','A','p','p','D','a','t','a','F','o','l','d','e','r',0};
-    static const WCHAR MPF[] = 
+    static const WCHAR MPF[] =
 {'M','y','P','i','c','t','u','r','e','s','F','o','l','d','e','r',0};
-    static const WCHAR PF[] = 
+    static const WCHAR PF[] =
 {'P','e','r','s','o','n','a','l','F','o','l','d','e','r',0};
-    static const WCHAR WF[] = 
+    static const WCHAR WF[] =
 {'W','i','n','d','o','w','s','F','o','l','d','e','r',0};
-    static const WCHAR WV[] = 
+    static const WCHAR WV[] =
 {'W','i','n','d','o','w','s','V','o','l','u','m','e',0};
     static const WCHAR TF[]=
 {'T','e','m','p','F','o','l','d','e','r',0};
@@ -407,7 +407,7 @@ static VOID set_installer_properties(MSI
     static const WCHAR szFormat[] = {'%','l','i',0};
     static const WCHAR szWinBuild[] =
 {'W','i','n','d','o','w','s','B','u','i','l','d', 0 };
-    static const WCHAR szSPL[] = 
+    static const WCHAR szSPL[] =
 {'S','e','r','v','i','c','e','P','a','c','k','L','e','v','e','l',0 };
     static const WCHAR szSix[] = {'6',0 };
 
@@ -518,7 +518,7 @@ static VOID set_installer_properties(MSI
     SHGetFolderPathW(NULL,CSIDL_WINDOWS,NULL,0,pth);
     strcatW(pth,cszbs);
     MSI_SetPropertyW(package, WF, pth);
-    
+
     /* Physical Memory is specified in MB. Using total amount. */
     msex.dwLength = sizeof(msex);
     GlobalMemoryStatusEx( &msex );
@@ -530,7 +530,7 @@ static VOID set_installer_properties(MSI
     if (ptr)
 	*(ptr+1) = 0;
     MSI_SetPropertyW(package, WV, pth);
-    
+
     GetTempPathW(MAX_PATH,pth);
     MSI_SetPropertyW(package, TF, pth);
 
@@ -547,7 +547,7 @@ static VOID set_installer_properties(MSI
     sprintfW(verstr,szFormat,verval);
     switch (OSVersion.dwPlatformId)
     {
-        case VER_PLATFORM_WIN32_WINDOWS:    
+        case VER_PLATFORM_WIN32_WINDOWS:
             MSI_SetPropertyW(package,v9x,verstr);
             break;
         case VER_PLATFORM_WIN32_NT:
@@ -779,12 +779,12 @@ MSIPACKAGE *MSI_CreatePackage( MSIDATABA
  * copy_package_to_temp   [internal]
  *
  * copy the msi file to a temp file to prevent locking a CD
- * with a multi disc install 
+ * with a multi disc install
  *
  * FIXME: I think this is wrong, and instead of copying the package,
  *        we should read all the tables to memory, then open the
  *        database to read binary streams on demand.
- */ 
+ */
 static LPCWSTR copy_package_to_temp( LPCWSTR szPackage, LPWSTR filename )
 {
     WCHAR path[MAX_PATH];
@@ -1035,7 +1035,7 @@ INT MSI_ProcessMessage( MSIPACKAGE *pack
     {
         static const WCHAR template_s[]=
             {'A','c','t','i','o','n',' ','%','s',':',' ','%','s','.',' ',0};
-        static const WCHAR format[] = 
+        static const WCHAR format[] =
             {'H','H','\'',':','\'','m','m','\'',':','\'','s','s',0};
         WCHAR timet[0x100];
         LPCWSTR action_text, action;
@@ -1360,7 +1360,7 @@ static MSIRECORD *MSI_GetPropertyRow( MS
 }
 
 /* internal function, not compatible with MsiGetPropertyW */
-UINT MSI_GetPropertyW( MSIPACKAGE *package, LPCWSTR szName, 
+UINT MSI_GetPropertyW( MSIPACKAGE *package, LPCWSTR szName,
                        LPWSTR szValueBuf, DWORD* pchValueBuf )
 {
     MSIRECORD *row;
diff --git a/dlls/msi/record.c b/dlls/msi/record.c
index 159f7d1..f3b3f1b 100644
--- a/dlls/msi/record.c
+++ b/dlls/msi/record.c
@@ -148,7 +148,7 @@ static BOOL string2intW( LPCWSTR str, in
 
     if( str[0] == '-' ) /* check if it's negative */
         x = -x;
-    *out = x; 
+    *out = x;
 
     return TRUE;
 }
@@ -329,7 +329,7 @@ BOOL WINAPI MsiRecordIsNull( MSIHANDLE h
 
 }
 
-UINT MSI_RecordGetStringA(MSIRECORD *rec, unsigned int iField, 
+UINT MSI_RecordGetStringA(MSIRECORD *rec, unsigned int iField,
                LPSTR szValue, DWORD *pcchValue)
 {
     UINT len=0, ret;
@@ -375,7 +375,7 @@ UINT MSI_RecordGetStringA(MSIRECORD *rec
     return ret;
 }
 
-UINT WINAPI MsiRecordGetStringA(MSIHANDLE handle, unsigned int iField, 
+UINT WINAPI MsiRecordGetStringA(MSIHANDLE handle, unsigned int iField,
                LPSTR szValue, DWORD *pcchValue)
 {
     MSIRECORD *rec;
diff --git a/dlls/msi/registry.c b/dlls/msi/registry.c
index b9c0af4..12ed0a6 100644
--- a/dlls/msi/registry.c
+++ b/dlls/msi/registry.c
@@ -41,9 +41,9 @@ #include "sddl.h"
 WINE_DEFAULT_DEBUG_CHANNEL(msi);
 
 
-/* 
+/*
  * This module will be all the helper functions for registry access by the
- * installer bits. 
+ * installer bits.
  */
 static const WCHAR szUserFeatures_fmt[] = {
 'S','o','f','t','w','a','r','e','\\',
@@ -998,7 +998,7 @@ UINT WINAPI MsiEnumProductsW(DWORD index
     return r;
 }
 
-UINT WINAPI MsiEnumFeaturesA(LPCSTR szProduct, DWORD index, 
+UINT WINAPI MsiEnumFeaturesA(LPCSTR szProduct, DWORD index,
       LPSTR szFeature, LPSTR szParent)
 {
     DWORD r;
@@ -1028,7 +1028,7 @@ UINT WINAPI MsiEnumFeaturesA(LPCSTR szPr
     return r;
 }
 
-UINT WINAPI MsiEnumFeaturesW(LPCWSTR szProduct, DWORD index, 
+UINT WINAPI MsiEnumFeaturesW(LPCWSTR szProduct, DWORD index,
       LPWSTR szFeature, LPWSTR szParent)
 {
     HKEY hkeyProduct = 0;
@@ -1176,7 +1176,7 @@ static UINT WINAPI MSI_EnumComponentQual
             break;
         if (r != ERROR_MORE_DATA)
             goto end;
- 
+
         if (type != REG_MULTI_SZ)
         {
             ERR("component data has wrong type (%d)\n", type);
diff --git a/dlls/msi/regsvr.c b/dlls/msi/regsvr.c
index 6aa73d1..68553f2 100644
--- a/dlls/msi/regsvr.c
+++ b/dlls/msi/regsvr.c
@@ -528,7 +528,7 @@ static LONG recursive_delete_keyW(HKEY b
  *		coclass list
  */
 static struct regsvr_coclass const coclass_list[] = {
-    {     
+    {
         &CLSID_IMsiServer,
 	"Msi install server",
 	"ole32.dll",
@@ -538,8 +538,8 @@ static struct regsvr_coclass const cocla
         PROGID_CLSID,
 	"IMsiServer",
 	NULL
-    },    
-    {     
+    },
+    {
         &CLSID_IMsiServerMessage,
 	"Wine Installer Message RPC",
 	NULL,
@@ -550,7 +550,7 @@ static struct regsvr_coclass const cocla
 	"WindowsInstaller.Message",
 	NULL
     },
-    {     
+    {
         &CLSID_IMsiServerX1,
 	"Msi install server",
 	"ole32.dll",
@@ -561,7 +561,7 @@ static struct regsvr_coclass const cocla
 	"WindowsInstaller.Installer",
 	NULL
     },
-    {     
+    {
         &CLSID_IMsiServerX2,
 	"Msi install server",
 	"ole32.dll",
@@ -572,7 +572,7 @@ static struct regsvr_coclass const cocla
 	"WindowsInstaller.Installer",
 	NULL
     },
-    {     
+    {
         &CLSID_IMsiServerX3,
 	"Msi install server",
 	"ole32.dll",
diff --git a/dlls/msi/select.c b/dlls/msi/select.c
index 6953e1f..656f059 100644
--- a/dlls/msi/select.c
+++ b/dlls/msi/select.c
@@ -303,7 +303,7 @@ static UINT SELECT_AddColumn( MSISELECTV
         return r;
 
     sv->cols[sv->num_cols] = n;
-    TRACE("Translating column %s from %d -> %d\n", 
+    TRACE("Translating column %s from %d -> %d\n",
           debugstr_w( name ), sv->num_cols, n);
 
     sv->num_cols++;
@@ -332,7 +332,7 @@ UINT SELECT_CreateView( MSIDATABASE *db,
     sv = msi_alloc_zero( sizeof *sv + count*sizeof (UINT) );
     if( !sv )
         return ERROR_FUNCTION_FAILED;
-    
+
     /* fill the structure */
     sv->view.ops = &select_ops;
     sv->db = db;
diff --git a/dlls/msi/source.c b/dlls/msi/source.c
index 975b0f2..b2d0ce9 100644
--- a/dlls/msi/source.c
+++ b/dlls/msi/source.c
@@ -53,8 +53,8 @@ typedef struct tagMediaInfo
 
 static UINT OpenSourceKey(LPCWSTR szProduct, HKEY* key, DWORD dwOptions, BOOL user, BOOL create)
 {
-    HKEY rootkey = 0; 
-    UINT rc; 
+    HKEY rootkey = 0;
+    UINT rc;
     static const WCHAR szSourceList[] = {'S','o','u','r','c','e','L','i','s','t',0};
 
     if (user)
@@ -100,7 +100,7 @@ static UINT OpenMediaSubkey(HKEY rootkey
     if (create)
         rc = RegCreateKeyW(rootkey, media, key);
     else
-        rc = RegOpenKeyW(rootkey,media, key); 
+        rc = RegOpenKeyW(rootkey,media, key);
 
     return rc;
 }
@@ -113,7 +113,7 @@ static UINT OpenNetworkSubkey(HKEY rootk
     if (create)
         rc = RegCreateKeyW(rootkey, net, key);
     else
-        rc = RegOpenKeyW(rootkey, net, key); 
+        rc = RegOpenKeyW(rootkey, net, key);
 
     return rc;
 }
@@ -126,7 +126,7 @@ static UINT OpenURLSubkey(HKEY rootkey, 
     if (create)
         rc = RegCreateKeyW(rootkey, URL, key);
     else
-        rc = RegOpenKeyW(rootkey, URL, key); 
+        rc = RegOpenKeyW(rootkey, URL, key);
 
     return rc;
 }
@@ -150,7 +150,7 @@ static UINT find_given_source(HKEY key, 
         if (rc != ERROR_NO_MORE_ITEMS)
         {
             val = msi_alloc(val_size);
-            RegEnumValueW(key, index, szIndex, &size, NULL, NULL, (LPBYTE)val, 
+            RegEnumValueW(key, index, szIndex, &size, NULL, NULL, (LPBYTE)val,
                 &val_size);
             if (lstrcmpiW(szSource,val)==0)
             {
@@ -226,8 +226,8 @@ done:
  */
 UINT WINAPI MsiSourceListGetInfoW( LPCWSTR szProduct, LPCWSTR szUserSid,
                                    MSIINSTALLCONTEXT dwContext, DWORD dwOptions,
-                                   LPCWSTR szProperty, LPWSTR szValue, 
-                                   LPDWORD pcchValue) 
+                                   LPCWSTR szProperty, LPWSTR szValue,
+                                   LPDWORD pcchValue)
 {
     HKEY sourcekey;
     UINT rc;
@@ -302,7 +302,7 @@ UINT WINAPI MsiSourceListGetInfoW( LPCWS
             LPWSTR ptr;
             buffer = msi_alloc(size);
             rc = RegQueryValueExW(sourcekey, INSTALLPROPERTY_LASTUSEDSOURCEW,
-                    0, 0, (LPBYTE)buffer,&size); 
+                    0, 0, (LPBYTE)buffer,&size);
             ptr = strchrW(buffer,';');
             if (ptr) ptr = strchrW(ptr+1,';');
             if (!ptr)
@@ -335,7 +335,7 @@ UINT WINAPI MsiSourceListGetInfoW( LPCWS
         {
             buffer = msi_alloc(size);
             rc = RegQueryValueExW(sourcekey, INSTALLPROPERTY_LASTUSEDSOURCEW,
-                    0, 0, (LPBYTE)buffer,&size); 
+                    0, 0, (LPBYTE)buffer,&size);
             if (*pcchValue < 1)
             {
                 rc = ERROR_MORE_DATA;
@@ -398,7 +398,7 @@ UINT WINAPI MsiSourceListSetInfoW( LPCWS
         FIXME("Unhandled options MSICODE_PATCH\n");
         return ERROR_FUNCTION_FAILED;
     }
-    
+
     if (szUserSid)
         FIXME("Unhandled UserSid %s\n",debugstr_w(szUserSid));
 
@@ -446,8 +446,8 @@ UINT WINAPI MsiSourceListSetInfoW( LPCWS
         static const WCHAR LastUsedSource_Fmt[] = {'%','c',';','%','i',';','%','s',0};
 
         /* make sure the source is registered */
-        MsiSourceListAddSourceExW(szProduct, szUserSid, dwContext, 
-                dwOptions, szValue, 0); 
+        MsiSourceListAddSourceExW(szProduct, szUserSid, dwContext,
+                dwOptions, szValue, 0);
 
         if (dwOptions & MSISOURCETYPE_NETWORK)
             typechar = 'n';
@@ -461,7 +461,7 @@ UINT WINAPI MsiSourceListSetInfoW( LPCWS
         size = (lstrlenW(szValue)+5)*sizeof(WCHAR);
         buffer = msi_alloc(size);
         sprintfW(buffer, LastUsedSource_Fmt, typechar, 1, szValue);
-        rc = RegSetValueExW(sourcekey, INSTALLPROPERTY_LASTUSEDSOURCEW, 0, 
+        rc = RegSetValueExW(sourcekey, INSTALLPROPERTY_LASTUSEDSOURCEW, 0,
                 REG_EXPAND_SZ, (LPBYTE)buffer, size);
         if (rc != ERROR_SUCCESS)
             rc = ERROR_UNKNOWN_PROPERTY;
@@ -509,7 +509,7 @@ UINT WINAPI MsiSourceListAddSourceW( LPC
         msi_free(psid);
     }
 
-    ret = MsiSourceListAddSourceExW(szProduct, sidstr, 
+    ret = MsiSourceListAddSourceExW(szProduct, sidstr,
         MSIINSTALLCONTEXT_USERMANAGED, MSISOURCETYPE_NETWORK, szSource, 0);
 
     if (sidstr)
@@ -546,7 +546,7 @@ UINT WINAPI MsiSourceListAddSourceA( LPC
  *  MsiSourceListAddSourceExW (MSI.@)
  */
 UINT WINAPI MsiSourceListAddSourceExW( LPCWSTR szProduct, LPCWSTR szUserSid,
-        MSIINSTALLCONTEXT dwContext, DWORD dwOptions, LPCWSTR szSource, 
+        MSIINSTALLCONTEXT dwContext, DWORD dwOptions, LPCWSTR szSource,
         DWORD dwIndex)
 {
     HKEY sourcekey;
@@ -619,7 +619,7 @@ UINT WINAPI MsiSourceListAddSourceExW( L
 
         current_index ++;
         sprintfW(source_struct.szIndex,fmt,current_index);
-        rc = RegSetValueExW(typekey, source_struct.szIndex, 0, REG_EXPAND_SZ, 
+        rc = RegSetValueExW(typekey, source_struct.szIndex, 0, REG_EXPAND_SZ,
                 (const BYTE *)szSource, size);
     }
 
@@ -631,8 +631,8 @@ UINT WINAPI MsiSourceListAddSourceExW( L
 /******************************************************************
  *  MsiSourceListAddMediaDisk(MSI.@)
  */
-UINT WINAPI MsiSourceListAddMediaDiskW(LPCWSTR szProduct, LPCWSTR szUserSid, 
-        MSIINSTALLCONTEXT dwContext, DWORD dwOptions, DWORD dwDiskId, 
+UINT WINAPI MsiSourceListAddMediaDiskW(LPCWSTR szProduct, LPCWSTR szUserSid,
+        MSIINSTALLCONTEXT dwContext, DWORD dwOptions, DWORD dwDiskId,
         LPCWSTR szVolumeLabel, LPCWSTR szDiskPrompt)
 {
     HKEY sourcekey;
@@ -658,7 +658,7 @@ UINT WINAPI MsiSourceListAddMediaDiskW(L
         FIXME("Unhandled options MSICODE_PATCH\n");
         return ERROR_FUNCTION_FAILED;
     }
-    
+
     if (szUserSid)
         FIXME("Unhandled UserSid %s\n",debugstr_w(szUserSid));
 
diff --git a/dlls/msi/string.c b/dlls/msi/string.c
index 0cacf1e..75ad1f7 100644
--- a/dlls/msi/string.c
+++ b/dlls/msi/string.c
@@ -89,14 +89,14 @@ static string_table *init_stringtable( i
 
     st = msi_alloc( sizeof (string_table) );
     if( !st )
-        return NULL;    
+        return NULL;
     if( entries < 1 )
         entries = 1;
     st->strings = msi_alloc_zero( sizeof (msistring) * entries );
     if( !st->strings )
     {
         msi_free( st );
-        return NULL;    
+        return NULL;
     }
     st->maxcount = entries;
     st->freeslot = 1;
@@ -332,7 +332,7 @@ UINT msi_id2stringW( const string_table 
 
     if( *sz < len )
         *sz = len;
-    memcpy( buffer, str, (*sz)*sizeof(WCHAR) ); 
+    memcpy( buffer, str, (*sz)*sizeof(WCHAR) );
     *sz = len;
 
     return ERROR_SUCCESS;
@@ -374,7 +374,7 @@ UINT msi_id2stringA( const string_table 
     {
         n = strlenW( str ) + 1;
         while( n && (len > *sz) )
-            len = WideCharToMultiByte( st->codepage, 0, 
+            len = WideCharToMultiByte( st->codepage, 0,
                            str, --n, NULL, 0, NULL, NULL );
     }
     else
@@ -444,7 +444,7 @@ UINT msi_strcmp( const string_table *st,
     l_str = msi_string_lookup_id( st, lval );
     if( !l_str )
         return ERROR_INVALID_PARAMETER;
-    
+
     r_str = msi_string_lookup_id( st, rval );
     if( !r_str )
         return ERROR_INVALID_PARAMETER;
diff --git a/dlls/msi/suminfo.c b/dlls/msi/suminfo.c
index d86a2dc..1473cc6 100644
--- a/dlls/msi/suminfo.c
+++ b/dlls/msi/suminfo.c
@@ -39,7 +39,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(msi);
 
 #include "pshpack1.h"
 
-typedef struct { 
+typedef struct {
     WORD wByteOrder;
     WORD wFormat;
     DWORD dwOSVer;
@@ -47,20 +47,20 @@ typedef struct { 
     DWORD reserved;
 } PROPERTYSETHEADER;
 
-typedef struct { 
+typedef struct {
     FMTID fmtid;
     DWORD dwOffset;
 } FORMATIDOFFSET;
 
-typedef struct { 
+typedef struct {
     DWORD cbSection;
     DWORD cProperties;
-} PROPERTYSECTIONHEADER; 
- 
-typedef struct { 
+} PROPERTYSECTIONHEADER;
+
+typedef struct {
     DWORD propid;
     DWORD dwOffset;
-} PROPERTYIDOFFSET; 
+} PROPERTYIDOFFSET;
 
 typedef struct {
     DWORD type;
@@ -74,7 +74,7 @@ typedef struct {
         } str;
     } u;
 } PROPERTY_DATA;
- 
+
 #include "poppack.h"
 
 #define SECT_HDR_SIZE (sizeof(PROPERTYSECTIONHEADER))
@@ -414,7 +414,7 @@ MSISUMMARYINFO *MSI_GetSummaryInformatio
 
     TRACE("%p %d\n", stg, uiUpdateCount );
 
-    si = alloc_msiobject( MSIHANDLETYPE_SUMMARYINFO, 
+    si = alloc_msiobject( MSIHANDLETYPE_SUMMARYINFO,
                   sizeof (MSISUMMARYINFO), MSI_CloseSummaryInfo );
     if( !si )
         return si;
@@ -436,7 +436,7 @@ MSISUMMARYINFO *MSI_GetSummaryInformatio
     return si;
 }
 
-UINT WINAPI MsiGetSummaryInformationW( MSIHANDLE hDatabase, 
+UINT WINAPI MsiGetSummaryInformationW( MSIHANDLE hDatabase,
               LPCWSTR szDatabase, UINT uiUpdateCount, MSIHANDLE *pHandle )
 {
     MSISUMMARYINFO *si;
@@ -479,13 +479,13 @@ UINT WINAPI MsiGetSummaryInformationW( M
     return ret;
 }
 
-UINT WINAPI MsiGetSummaryInformationA(MSIHANDLE hDatabase, 
+UINT WINAPI MsiGetSummaryInformationA(MSIHANDLE hDatabase,
               LPCSTR szDatabase, UINT uiUpdateCount, MSIHANDLE *pHandle)
 {
     LPWSTR szwDatabase = NULL;
     UINT ret;
 
-    TRACE("%ld %s %d %p\n", hDatabase, debugstr_a(szDatabase), 
+    TRACE("%ld %s %d %p\n", hDatabase, debugstr_a(szDatabase),
           uiUpdateCount, pHandle);
 
     if( szDatabase )
diff --git a/dlls/msi/table.c b/dlls/msi/table.c
index 69a033c..731475c 100644
--- a/dlls/msi/table.c
+++ b/dlls/msi/table.c
@@ -165,7 +165,7 @@ LPWSTR encode_streamname(BOOL bTable, LP
          *p++ = 0x4840;
          count --;
     }
-    while( count -- ) 
+    while( count -- )
     {
         ch = *in++;
         if( !ch )
@@ -277,7 +277,7 @@ UINT read_stream_data( IStorage *stg, LP
 
     TRACE("%s -> %s\n",debugstr_w(stname),debugstr_w(encname));
 
-    r = IStorage_OpenStream(stg, encname, NULL, 
+    r = IStorage_OpenStream(stg, encname, NULL,
             STGM_READ | STGM_SHARE_EXCLUSIVE, 0, &stm);
     msi_free( encname );
     if( FAILED( r ) )
@@ -298,7 +298,7 @@ UINT read_stream_data( IStorage *stg, LP
         WARN("Too big!\n");
         goto end;
     }
-        
+
     sz = stat.cbSize.QuadPart;
     data = msi_alloc( sz );
     if( !data )
@@ -307,7 +307,7 @@ UINT read_stream_data( IStorage *stg, LP
         ret = ERROR_NOT_ENOUGH_MEMORY;
         goto end;
     }
-        
+
     r = IStream_Read(stm, data, sz, &count );
     if( FAILED( r ) || ( count != sz ) )
     {
@@ -335,7 +335,7 @@ UINT db_get_raw_stream( MSIDATABASE *db,
 
     TRACE("%s -> %s\n",debugstr_w(stname),debugstr_w(encname));
 
-    r = IStorage_OpenStream(db->storage, encname, NULL, 
+    r = IStorage_OpenStream(db->storage, encname, NULL,
             STGM_READ | STGM_SHARE_EXCLUSIVE, 0, stm);
     if( FAILED( r ) )
     {
@@ -344,7 +344,7 @@ UINT db_get_raw_stream( MSIDATABASE *db,
         LIST_FOR_EACH_ENTRY( transform, &db->transforms, MSITRANSFORM, entry )
         {
             TRACE("looking for %s in transform storage\n", debugstr_w(stname) );
-            r = IStorage_OpenStream( transform->stg, encname, NULL, 
+            r = IStorage_OpenStream( transform->stg, encname, NULL,
                     STGM_READ | STGM_SHARE_EXCLUSIVE, 0, stm );
             if (SUCCEEDED(r))
                 break;
@@ -381,7 +381,7 @@ UINT read_raw_stream_data( MSIDATABASE *
         WARN("Too big!\n");
         goto end;
     }
-        
+
     sz = stat.cbSize.QuadPart;
     data = msi_alloc( sz );
     if( !data )
@@ -390,7 +390,7 @@ UINT read_raw_stream_data( MSIDATABASE *
         ret = ERROR_NOT_ENOUGH_MEMORY;
         goto end;
     }
-        
+
     r = IStream_Read(stm, data, sz, &count );
     if( FAILED( r ) || ( count != sz ) )
     {
@@ -421,7 +421,7 @@ UINT write_stream_data( IStorage *stg, L
     LPWSTR encname;
 
     encname = encode_streamname(bTable, stname );
-    r = IStorage_OpenStream( stg, encname, NULL, 
+    r = IStorage_OpenStream( stg, encname, NULL,
             STGM_WRITE | STGM_SHARE_EXCLUSIVE, 0, &stm);
     if( FAILED(r) )
     {
@@ -1374,7 +1374,7 @@ static UINT TABLE_execute( struct tagMSI
 static UINT TABLE_close( struct tagMSIVIEW *view )
 {
     TRACE("%p\n", view );
-    
+
     return ERROR_SUCCESS;
 }
 
diff --git a/dlls/msi/tests/db.c b/dlls/msi/tests/db.c
index 2c76c97..3014be2 100644
--- a/dlls/msi/tests/db.c
+++ b/dlls/msi/tests/db.c
@@ -1110,7 +1110,7 @@ static void test_msiexport(void)
 
 static void test_longstrings(void)
 {
-    const char insert_query[] = 
+    const char insert_query[] =
         "INSERT INTO `strings` ( `id`, `val` ) VALUES('1', 'Z')";
     char *str;
     MSIHANDLE hdb = 0, hview = 0, hrec = 0;
@@ -1124,7 +1124,7 @@ static void test_longstrings(void)
     ok(r == ERROR_SUCCESS, "MsiOpenDatabase failed\n");
 
     /* create a table */
-    r = try_query( hdb, 
+    r = try_query( hdb,
         "CREATE TABLE `strings` ( `id` INT, `val` CHAR(0) PRIMARY KEY `id`)");
     ok(r == ERROR_SUCCESS, "query failed\n");
 
@@ -1177,7 +1177,7 @@ static void create_file(const CHAR *name
     WriteFile(file, "\n", strlen("\n"), &written, NULL);
     CloseHandle(file);
 }
- 
+
 static void test_streamtable(void)
 {
     MSIHANDLE hdb = 0, rec, view;
@@ -1742,7 +1742,7 @@ static void test_handle_limit(void)
         static char szQueryBuf[256] = "SELECT * from `_Tables`";
         hviews[i] = 0xdeadbeeb;
         r = MsiDatabaseOpenView(hdb, szQueryBuf, &hviews[i]);
-        if( r != ERROR_SUCCESS || hviews[i] == 0xdeadbeeb || 
+        if( r != ERROR_SUCCESS || hviews[i] == 0xdeadbeeb ||
             hviews[i] == 0 || (i && (hviews[i] == hviews[i-1])))
             break;
     }
diff --git a/dlls/msi/tests/format.c b/dlls/msi/tests/format.c
index 23438bb..190d731 100644
--- a/dlls/msi/tests/format.c
+++ b/dlls/msi/tests/format.c
@@ -513,7 +513,7 @@ static void test_formatrecord(void)
     r = MsiFormatRecord(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
     ok( sz == 30, "size wrong %i\n",sz);
-    ok( 0 == strcmp(buffer,"1: boo 2: hoo 3:  4:  5:  6:  "), 
+    ok( 0 == strcmp(buffer,"1: boo 2: hoo 3:  4:  5:  6:  "),
                     "wrong output(%s)\n",buffer);
 
     /* play games with recursive lookups */
@@ -849,7 +849,7 @@ static void test_formatrecord(void)
     ok( sz == 3, "size wrong,(%i)\n",sz);
     ok( 0 == strcmp(buffer," 12"), "wrong output (%s)\n",buffer);
     }
-    
+
     /* now put play games with escaping */
     r = MsiRecordSetString(hrec, 0, "[1] [2] [\\3asdf]");
     r = MsiRecordSetString(hrec, 1, "boo");
diff --git a/dlls/msi/tests/install.c b/dlls/msi/tests/install.c
index 164040f..69f1849 100644
--- a/dlls/msi/tests/install.c
+++ b/dlls/msi/tests/install.c
@@ -725,7 +725,7 @@ static INT_PTR fci_open(char *pszFile, i
     DWORD dwAccess = 0;
     DWORD dwShareMode = 0;
     DWORD dwCreateDisposition = OPEN_EXISTING;
-    
+
     dwAccess = GENERIC_READ | GENERIC_WRITE;
     /* FILE_SHARE_DELETE is not supported by Windows Me/98/95 */
     dwShareMode = FILE_SHARE_READ | FILE_SHARE_WRITE;
@@ -748,7 +748,7 @@ static UINT fci_read(INT_PTR hf, void *m
     HANDLE handle = (HANDLE)hf;
     DWORD dwRead;
     BOOL res;
-    
+
     res = ReadFile(handle, memory, cb, &dwRead, NULL);
     ok(res, "Failed to ReadFile\n");
 
@@ -779,7 +779,7 @@ static long fci_seek(INT_PTR hf, long di
 {
     HANDLE handle = (HANDLE)hf;
     DWORD ret;
-    
+
     ret = SetFilePointer(handle, dist, NULL, seektype);
     ok(ret != INVALID_SET_FILE_POINTER, "Failed to SetFilePointer\n");
 
@@ -840,7 +840,7 @@ static INT_PTR get_open_info(char *pszNa
 
     res = GetFileInformationByHandle(handle, &finfo);
     ok(res, "Expected GetFileInformationByHandle to succeed\n");
-   
+
     FileTimeToLocalFileTime(&finfo.ftLastWriteTime, &filetime);
     FileTimeToDosDateTime(&filetime, pdate, ptime);
 
@@ -940,7 +940,7 @@ static void create_file(const CHAR *name
 
     SetFilePointer(file, left, NULL, FILE_CURRENT);
     SetEndOfFile(file);
-    
+
     CloseHandle(file);
 }
 
diff --git a/dlls/msi/tests/msi.c b/dlls/msi/tests/msi.c
index 38126d4..ad1ce14 100644
--- a/dlls/msi/tests/msi.c
+++ b/dlls/msi/tests/msi.c
@@ -61,19 +61,19 @@ static void test_usefeature(void)
     r = pMsiUseFeatureExA(NULL, "WORDVIEWFiles", -2, 1 );
     ok( r == INSTALLSTATE_INVALIDARG, "wrong return val\n");
 
-    r = pMsiUseFeatureExA("{90850409-6000-11d3-8cfe-0150048383c9}", 
+    r = pMsiUseFeatureExA("{90850409-6000-11d3-8cfe-0150048383c9}",
                          NULL, -2, 0 );
     ok( r == INSTALLSTATE_INVALIDARG, "wrong return val\n");
 
-    r = pMsiUseFeatureExA("{9085040-6000-11d3-8cfe-0150048383c9}", 
+    r = pMsiUseFeatureExA("{9085040-6000-11d3-8cfe-0150048383c9}",
                          "WORDVIEWFiles", -2, 0 );
     ok( r == INSTALLSTATE_INVALIDARG, "wrong return val\n");
 
-    r = pMsiUseFeatureExA("{0085040-6000-11d3-8cfe-0150048383c9}", 
+    r = pMsiUseFeatureExA("{0085040-6000-11d3-8cfe-0150048383c9}",
                          "WORDVIEWFiles", -2, 0 );
     ok( r == INSTALLSTATE_INVALIDARG, "wrong return val\n");
 
-    r = pMsiUseFeatureExA("{90850409-6000-11d3-8cfe-0150048383c9}", 
+    r = pMsiUseFeatureExA("{90850409-6000-11d3-8cfe-0150048383c9}",
                          "WORDVIEWFiles", -2, 1 );
     ok( r == INSTALLSTATE_INVALIDARG, "wrong return val\n");
 }
@@ -233,7 +233,7 @@ static void test_filehash(void)
     r = pMsiGetFileHashA(name, 0, &hash);
     ok( r == ERROR_FILE_NOT_FOUND, "wrong error %d\n", r);
 
-    handle = CreateFile(name, GENERIC_READ|GENERIC_WRITE, 0, NULL, 
+    handle = CreateFile(name, GENERIC_READ|GENERIC_WRITE, 0, NULL,
                 CREATE_ALWAYS, FILE_ATTRIBUTE_ARCHIVE, NULL);
     ok(handle != INVALID_HANDLE_VALUE, "failed to create file\n");
 
@@ -647,11 +647,11 @@ static void test_MsiQueryFeatureState(vo
 START_TEST(msi)
 {
     HMODULE hmod = GetModuleHandle("msi.dll");
-    pMsiUseFeatureExA = (fnMsiUseFeatureExA) 
+    pMsiUseFeatureExA = (fnMsiUseFeatureExA)
         GetProcAddress(hmod, "MsiUseFeatureExA");
-    pMsiOpenPackageExA = (fnMsiOpenPackageExA) 
+    pMsiOpenPackageExA = (fnMsiOpenPackageExA)
         GetProcAddress(hmod, "MsiOpenPackageExA");
-    pMsiOpenPackageExW = (fnMsiOpenPackageExW) 
+    pMsiOpenPackageExW = (fnMsiOpenPackageExW)
         GetProcAddress(hmod, "MsiOpenPackageExW");
     pMsiGetComponentPathA = (fnMsiGetComponentPathA)
         GetProcAddress(hmod, "MsiGetComponentPathA" );
diff --git a/dlls/msi/tests/package.c b/dlls/msi/tests/package.c
index e30a0db..6dbbeaa 100644
--- a/dlls/msi/tests/package.c
+++ b/dlls/msi/tests/package.c
@@ -2699,7 +2699,7 @@ static void test_removefiles(void)
     ok( r == ERROR_SUCCESS, "remove files failed\n");
 
     ok(DeleteFileA("hydrogen.txt"), "Expected hydrogen.txt to exist\n");
-    ok(DeleteFileA("lithium.txt"), "Expected lithium.txt to exist\n");    
+    ok(DeleteFileA("lithium.txt"), "Expected lithium.txt to exist\n");
     ok(DeleteFileA("beryllium.txt"), "Expected beryllium.txt to exist\n");
     ok(DeleteFileA("carbon.txt"), "Expected carbon.txt to exist\n");
     ok(DeleteFileA("helium.txt"), "Expected helium.txt to exist\n");
@@ -3152,7 +3152,7 @@ static void test_featureparents(void)
     ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r );
     ok( state == INSTALLSTATE_UNKNOWN, "Expected hydrus INSTALLSTATE_UNKNOWN, got %d\n", state);
     ok( action == INSTALLSTATE_UNKNOWN, "Expected hydrus INSTALLSTATE_UNKNOWN, got %d\n", action);
-    
+
     MsiCloseHandle(hpkg);
     DeleteFileA(msifile);
 }
diff --git a/dlls/msi/tests/record.c b/dlls/msi/tests/record.c
index 1f72d12..1e33e40 100644
--- a/dlls/msi/tests/record.c
+++ b/dlls/msi/tests/record.c
@@ -30,11 +30,11 @@ static BOOL create_temp_file(char *name)
     unsigned char buffer[26], i;
     DWORD sz;
     HANDLE handle;
-    
+
     r = GetTempFileName(".", "msitest",0,name);
     if(!r)
         return r;
-    handle = CreateFile(name, GENERIC_READ|GENERIC_WRITE, 
+    handle = CreateFile(name, GENERIC_READ|GENERIC_WRITE,
         0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
     if(handle==INVALID_HANDLE_VALUE)
         return 0;
@@ -289,7 +289,7 @@ static void test_msirecord(void)
     ok(r == ERROR_SUCCESS, "Failed to close handle\n");
 
     /* now try streams in a new record - need to create a file to play with */
-    r = create_temp_file(filename); 
+    r = create_temp_file(filename);
     if(!r)
         return;
 
diff --git a/dlls/msi/tokenize.c b/dlls/msi/tokenize.c
index 14bcaf2..42de77a 100644
--- a/dlls/msi/tokenize.c
+++ b/dlls/msi/tokenize.c
@@ -128,7 +128,7 @@ static int compKeyword(const void *m1, c
 
 /*
 ** This function looks up an identifier to determine if it is a
-** keyword.  If it is a keyword, the token code of that keyword is 
+** keyword.  If it is a keyword, the token code of that keyword is
 ** returned.  If the input is not a keyword, TK_ID is returned.
 */
 static int sqliteKeywordCode(const WCHAR *z, int n){
diff --git a/dlls/msi/upgrade.c b/dlls/msi/upgrade.c
index da95499..fda9277 100644
--- a/dlls/msi/upgrade.c
+++ b/dlls/msi/upgrade.c
@@ -119,7 +119,7 @@ static UINT ITERATE_FindRelatedProducts(
 
     uirow = MSI_CreateRecord(1);
     attributes = MSI_RecordGetInteger(rec,5);
-    
+
     while (rc == ERROR_SUCCESS)
     {
         rc = RegEnumValueW(hkey, index, product, &sz, NULL, NULL, NULL, NULL);
@@ -144,14 +144,14 @@ static UINT ITERATE_FindRelatedProducts(
                 index ++;
                 continue;
             }
-          
+
             sz = sizeof(DWORD);
             RegQueryValueExW(hukey, INSTALLPROPERTY_VERSIONW, NULL, NULL,
                     (LPBYTE)&check, &sz);
             /* check min */
             ver = MSI_RecordGetString(rec,2);
             comp_ver = msi_version_str_to_dword(ver);
-            r = check - comp_ver; 
+            r = check - comp_ver;
             if (r < 0 || (r == 0 && !(attributes &
                                     msidbUpgradeAttributesVersionMinInclusive)))
             {
@@ -164,7 +164,7 @@ static UINT ITERATE_FindRelatedProducts(
             ver = MSI_RecordGetString(rec,3);
             comp_ver = msi_version_str_to_dword(ver);
             r = check - comp_ver;
-            if (r > 0 || (r == 0 && !(attributes & 
+            if (r > 0 || (r == 0 && !(attributes &
                                     msidbUpgradeAttributesVersionMaxInclusive)))
             {
                 RegCloseKey(hukey);
@@ -178,7 +178,7 @@ static UINT ITERATE_FindRelatedProducts(
                     (LPBYTE)&check, &sz);
             RegCloseKey(hukey);
             language = MSI_RecordGetString(rec,4);
-            TRACE("Checking languages %x and %s\n", check, 
+            TRACE("Checking languages %x and %s\n", check,
                             debugstr_w(language));
             if (!check_language(check, language, attributes))
             {
@@ -194,13 +194,13 @@ static UINT ITERATE_FindRelatedProducts(
     }
     RegCloseKey(hkey);
     msiobj_release( &uirow->hdr);
-    
+
     return ERROR_SUCCESS;
 }
 
 UINT ACTION_FindRelatedProducts(MSIPACKAGE *package)
 {
-    static const WCHAR Query[] = 
+    static const WCHAR Query[] =
         {'S','E','L','E','C','T',' ','*',' ','F','R','O','M',
          ' ','`','U','p','g','r','a','d','e','`',0};
     UINT rc = ERROR_SUCCESS;
@@ -217,9 +217,9 @@ UINT ACTION_FindRelatedProducts(MSIPACKA
     rc = MSI_DatabaseOpenViewW(package->db, Query, &view);
     if (rc != ERROR_SUCCESS)
         return ERROR_SUCCESS;
-    
+
     rc = MSI_IterateRecords(view, NULL, ITERATE_FindRelatedProducts, package);
     msiobj_release(&view->hdr);
-    
+
     return rc;
 }
diff --git a/dlls/msi/where.c b/dlls/msi/where.c
index ab9c9a6..e3a149a 100644
--- a/dlls/msi/where.c
+++ b/dlls/msi/where.c
@@ -189,7 +189,7 @@ static UINT STRCMP_Evaluate( const strin
     return ERROR_SUCCESS;
 }
 
-static UINT WHERE_evaluate( MSIDATABASE *db, MSIVIEW *table, UINT row, 
+static UINT WHERE_evaluate( MSIDATABASE *db, MSIVIEW *table, UINT row,
                              const struct expr *cond, INT *val, MSIRECORD *record )
 {
     UINT r, tval;
@@ -572,7 +572,7 @@ UINT WHERE_CreateView( MSIDATABASE *db, 
     wv = msi_alloc_zero( sizeof *wv );
     if( !wv )
         return ERROR_FUNCTION_FAILED;
-    
+
     /* fill the structure */
     wv->view.ops = &where_ops;
     msiobj_addref( &db->hdr );
-- 
1.4.1


More information about the wine-patches mailing list