msi: Don't parse the format string when building the shortcut target path.
It's no longer necessary because target paths are always normalized.
This commit is contained in:
parent
f6368c4202
commit
d20c69c54d
|
@ -3601,25 +3601,9 @@ static UINT ITERATE_CreateShortcuts(MSIRECORD *row, LPVOID param)
|
|||
target = MSI_RecordGetString(row, 5);
|
||||
if (strchrW(target, '['))
|
||||
{
|
||||
int len;
|
||||
WCHAR *format_string, *p;
|
||||
|
||||
if (!(p = strchrW( target, ']' ))) goto err;
|
||||
len = p - target + 1;
|
||||
format_string = msi_alloc( (len + 1) * sizeof(WCHAR) );
|
||||
memcpy( format_string, target, len * sizeof(WCHAR) );
|
||||
format_string[len] = 0;
|
||||
deformat_string( package, format_string, &deformated );
|
||||
msi_free( format_string );
|
||||
|
||||
path = msi_alloc( (strlenW( deformated ) + strlenW( p + 1 ) + 2) * sizeof(WCHAR) );
|
||||
strcpyW( path, deformated );
|
||||
PathAddBackslashW( path );
|
||||
strcatW( path, p + 1 );
|
||||
deformat_string( package, target, &path );
|
||||
TRACE("target path is %s\n", debugstr_w(path));
|
||||
|
||||
IShellLinkW_SetPath( sl, path );
|
||||
msi_free( deformated );
|
||||
msi_free( path );
|
||||
}
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue