msi: All columns being temporary means the table is non-persistent.

The HOLD keyword just means that the non-persistent data in the table 
should be kept around, not that the table is temporary.
diff --git a/dlls/msi/create.c b/dlls/msi/create.c
index ef71684..965a4a6 100644
--- a/dlls/msi/create.c
+++ b/dlls/msi/create.c
@@ -146,10 +146,12 @@
 }
 
 UINT CREATE_CreateView( MSIDATABASE *db, MSIVIEW **view, LPWSTR table,
-                        column_info *col_info, BOOL temp )
+                        column_info *col_info, BOOL hold )
 {
     MSICREATEVIEW *cv = NULL;
     UINT r;
+    const column_info *col;
+    BOOL temp = TRUE;
 
     TRACE("%p\n", cv );
 
@@ -161,6 +163,13 @@
     if( !cv )
         return ERROR_FUNCTION_FAILED;
 
+    for( col = col_info; col; col = col->next )
+        if( !col->temporary )
+        {
+            temp = FALSE;
+            break;
+        }
+
     /* fill the structure */
     cv->view.ops = &create_ops;
     msiobj_addref( &db->hdr );