[2/2] msi: Build the key path from the display name if the component is an assembly.
Hans Leidekker
hans at codeweavers.com
Wed Mar 9 01:58:46 CST 2011
---
dlls/msi/action.c | 14 +++++++++++++-
1 files changed, 13 insertions(+), 1 deletions(-)
diff --git a/dlls/msi/action.c b/dlls/msi/action.c
index f58aaf2..7567f5d 100644
--- a/dlls/msi/action.c
+++ b/dlls/msi/action.c
@@ -3252,7 +3252,19 @@ static UINT ACTION_ProcessComponents(MSIPACKAGE *package)
squash_guid(comp->ComponentId,squished_cc);
msi_free(comp->FullKeypath);
- comp->FullKeypath = resolve_keypath( package, comp );
+ if (comp->assembly)
+ {
+ const WCHAR prefixW[] = {'<','\\',0};
+ DWORD len = strlenW( prefixW ) + strlenW( comp->assembly->display_name );
+
+ comp->FullKeypath = msi_alloc( (len + 1) * sizeof(WCHAR) );
+ if (comp->FullKeypath)
+ {
+ strcpyW( comp->FullKeypath, prefixW );
+ strcatW( comp->FullKeypath, comp->assembly->display_name );
+ }
+ }
+ else comp->FullKeypath = resolve_keypath( package, comp );
ACTION_RefCountComponent( package, comp );
--
1.7.1
More information about the wine-patches
mailing list