Commit 62dc9ca6 authored by James Hawkins's avatar James Hawkins Committed by Alexandre Julliard

msi: Extract cabinets based on DiskId, not LastSequence.

parent 005c0a79
......@@ -458,7 +458,7 @@ static UINT ready_media_for_file( MSIPACKAGE *package, struct media_info *mi,
'`','M','e','d','i','a','`',' ','W','H','E','R','E',' ',
'`','L','a','s','t','S','e','q','u','e','n','c','e','`',' ','>','=',
' ','%', 'i',' ','O','R','D','E','R',' ','B','Y',' ',
'`','L','a','s','t','S','e','q','u','e','n','c','e','`',0};
'`','D','i','s','k','I','d','`',0};
LPCWSTR cab, volume;
DWORD sz;
INT seq;
......@@ -700,8 +700,13 @@ UINT ACTION_InstallFiles(MSIPACKAGE *package)
if (file->IsCompressed)
{
if (INVALID_FILE_ATTRIBUTES == GetFileAttributesW(file->TargetPath))
{
ERR("compressed file wasn't extracted (%s)\n",
debugstr_w(file->TargetPath));
rc = ERROR_INSTALL_FAILURE;
break;
}
continue;
}
......
......@@ -839,13 +839,13 @@ static void test_caborder(void)
create_cab_file("test2.cab", MEDIA_SIZE, "augustus\0");
r = MsiInstallProductA(msifile, NULL);
ok(r == ERROR_INSTALL_FAILURE, "Expected ERROR_INSTALL_FAILURE, got %u\n", r);
ok(!delete_pf("msitest\\augustus", TRUE), "File is installed\n");
todo_wine
{
ok(r == ERROR_INSTALL_FAILURE, "Expected ERROR_INSTALL_FAILURE, got %u\n", r);
ok(!delete_pf("msitest\\augustus", TRUE), "File is installed\n");
ok(!delete_pf("msitest", FALSE), "File is installed\n");
ok(!delete_pf("msitest\\maximus", TRUE), "File is installed\n");
ok(!delete_pf("msitest", FALSE), "File is installed\n");
}
ok(!delete_pf("msitest\\maximus", TRUE), "File is installed\n");
DeleteFile("test1.cab");
DeleteFile("test2.cab");
......@@ -854,12 +854,12 @@ static void test_caborder(void)
create_cab_file("test2.cab", MEDIA_SIZE, "maximus\0augustus\0");
r = MsiInstallProductA(msifile, NULL);
ok(r == ERROR_INSTALL_FAILURE, "Expected ERROR_INSTALL_FAILURE, got %u\n", r);
ok(!delete_pf("msitest\\maximus", TRUE), "File is installed\n");
ok(!delete_pf("msitest\\augustus", TRUE), "File is installed\n");
todo_wine
{
ok(r == ERROR_INSTALL_FAILURE, "Expected ERROR_INSTALL_FAILURE, got %u\n", r);
ok(!delete_pf("msitest\\maximus", TRUE), "File is installed\n");
ok(!delete_pf("msitest\\augustus", TRUE), "File is installed\n");
ok(!delete_pf("msitest", FALSE), "File is installed\n");
ok(!delete_pf("msitest", FALSE), "File is installed\n");
}
DeleteFile("test1.cab");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment