From 888a19c02c1c719faba704c00ab24ac11b0dd7d8 Mon Sep 17 00:00:00 2001 From: Hans Leidekker Date: Wed, 9 Mar 2011 08:58:46 +0100 Subject: [PATCH] msi: Build the key path from the display name if the component is an assembly. --- dlls/msi/action.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/dlls/msi/action.c b/dlls/msi/action.c index f58aaf236d4..7567f5de05d 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 );