From 59edd7d8a8e6ef4ea166cf611068015a3121772a Mon Sep 17 00:00:00 2001 From: Mike McCormack Date: Thu, 5 Oct 2006 17:00:46 +0900 Subject: [PATCH] msi: Only ignore the StringPool and StringData in a transform. --- dlls/msi/table.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/dlls/msi/table.c b/dlls/msi/table.c index ef54c767d26..0a228dcb7ac 100644 --- a/dlls/msi/table.c +++ b/dlls/msi/table.c @@ -1966,11 +1966,17 @@ UINT msi_table_apply_transform( MSIDATABASE *db, IStorage *stg ) r = IEnumSTATSTG_Next( stgenum, 1, &stat, &count ); if( FAILED( r ) || !count ) break; + decode_streamname( stat.pwcsName, name ); - if( ( name[0] == 0x4840 ) && ( name[1] != '_' ) ) - ret = msi_table_load_transform( db, stg, strings, name+1 ); - else - TRACE("transform contains stream %s\n", debugstr_w(name)); + TRACE("transform contains stream %s\n", debugstr_w(name)); + + if ( name[0] != 0x4840 ) + continue; + + if ( !lstrcmpW(name+1, szStringPool ) || !lstrcmpW(name+1, szStringData) ) + continue; + + ret = msi_table_load_transform( db, stg, strings, name+1 ); } if ( ret == ERROR_SUCCESS )