diff --git a/dlls/msi/custom.c b/dlls/msi/custom.c index 0b887d56dc6..53cdf685d51 100644 --- a/dlls/msi/custom.c +++ b/dlls/msi/custom.c @@ -857,12 +857,6 @@ static UINT HANDLE_CustomType23(MSIPACKAGE *package, LPCWSTR source, lstrcatW(package_path, backslash); lstrcatW(package_path, source); - if (GetFileAttributesW(package_path) == INVALID_FILE_ATTRIBUTES) - { - ERR("Source package does not exist: %s\n", debugstr_w(package_path)); - return ERROR_FUNCTION_FAILED; - } - TRACE("Installing package %s concurrently\n", debugstr_w(package_path)); info = do_msidbCAConcurrentInstall(package, type, package_path, target, action); diff --git a/dlls/msi/tests/install.c b/dlls/msi/tests/install.c index 88c8cb53335..47ef2f046d5 100644 --- a/dlls/msi/tests/install.c +++ b/dlls/msi/tests/install.c @@ -352,7 +352,7 @@ static const CHAR ci_install_exec_seq_dat[] = "Action\tCondition\tSequence\n" static const CHAR ci_custom_action_dat[] = "Action\tType\tSource\tTarget\tISComments\n" "s72\ti2\tS64\tS0\tS255\n" "CustomAction\tAction\n" - "RunInstall\t23\tmsitest\\concurrent.msi\tMYPROP=[UILevel]\t\n"; + "RunInstall\t87\tmsitest\\concurrent.msi\tMYPROP=[UILevel]\t\n"; static const CHAR ci_component_dat[] = "Component\tComponentId\tDirectory_\tAttributes\tCondition\tKeyPath\n" "s72\tS38\ts72\ti2\tS255\tS72\n" @@ -1848,9 +1848,15 @@ static void test_concurrentinstall(void) ok(delete_pf("msitest\\augustus", TRUE), "File not installed\n"); ok(delete_pf("msitest", FALSE), "File not installed\n"); - /* Delete the files in the temp (current) folder */ - DeleteFile(msifile); DeleteFile(path); + + r = MsiInstallProductA(msifile, NULL); + ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r); + ok(delete_pf("msitest\\maximus", TRUE), "File not installed\n"); + ok(!delete_pf("msitest\\augustus", TRUE), "File installed\n"); + ok(delete_pf("msitest", FALSE), "File not installed\n"); + + DeleteFile(msifile); DeleteFile("msitest\\msitest\\augustus"); DeleteFile("msitest\\maximus"); RemoveDirectory("msitest\\msitest");