diff --git a/dlls/msi/custom.c b/dlls/msi/custom.c index c1aa627bf96..88dcf870947 100644 --- a/dlls/msi/custom.c +++ b/dlls/msi/custom.c @@ -935,13 +935,15 @@ static UINT HANDLE_CustomType50(MSIPACKAGE *package, LPCWSTR source, static UINT HANDLE_CustomType34(MSIPACKAGE *package, LPCWSTR source, LPCWSTR target, const INT type, LPCWSTR action) { - const WCHAR *workingdir; + const WCHAR *workingdir = NULL; HANDLE handle; WCHAR *cmd; - workingdir = msi_get_target_folder( package, source ); - if (!workingdir) return ERROR_FUNCTION_FAILED; - + if (source) + { + workingdir = msi_get_target_folder( package, source ); + if (!workingdir) return ERROR_FUNCTION_FAILED; + } deformat_string( package, target, &cmd ); if (!cmd) return ERROR_FUNCTION_FAILED;