Signed-off-by: Zebediah Figura z.figura12@gmail.com --- This test already succeeds on Wine, but won't once InstallFiles is deferred.
This fixes the failure originally reported in automation.c here: https://www.winehq.org/pipermail/wine-devel/2017-October/119159.html In truth that test is broken and should call ResolveSource, but this way we at least help prevent the possibility of regressions.
dlls/msi/files.c | 2 ++ dlls/msi/tests/install.c | 5 +++++ 2 files changed, 7 insertions(+)
diff --git a/dlls/msi/files.c b/dlls/msi/files.c index adffcaf..f6cf3e7 100644 --- a/dlls/msi/files.c +++ b/dlls/msi/files.c @@ -357,6 +357,8 @@ UINT ACTION_InstallFiles(MSIPACKAGE *package) UINT rc = ERROR_SUCCESS; MSIFILE *file;
+ msi_set_sourcedir_props(package, FALSE); + schedule_install_files(package); mi = msi_alloc_zero( sizeof(MSIMEDIAINFO) );
diff --git a/dlls/msi/tests/install.c b/dlls/msi/tests/install.c index af37d93..3eb6c80 100644 --- a/dlls/msi/tests/install.c +++ b/dlls/msi/tests/install.c @@ -1328,6 +1328,7 @@ static const CHAR sr_install_exec_seq_dat[] = "sourcedir_unset\tSourceDir\t700\n" "ResolveSource\tRESOLVE_SOURCE\t800\n" "ProcessComponents\tPROCESS_COMPONENTS\t800\n" + "InstallFiles\tINSTALL_FILES\t800\n" "sourcedir_set\tNOT SourceDir\t900\n" "InstallFinalize\t\t1000\n";
@@ -6166,6 +6167,10 @@ static void test_source_resolution(void) r = MsiInstallProductA(msifile, "PROCESS_COMPONENTS=1"); ok(r == ERROR_SUCCESS, "got %u\n", r);
+ r = MsiInstallProductA(msifile, "INSTALL_FILES=1"); + ok(r == ERROR_SUCCESS, "got %u\n", r); + + delete_pf_files(); delete_test_files(); DeleteFileA(msifile); }