mirror of
https://github.com/reactos/reactos.git
synced 2025-04-21 12:40:33 +00:00
[WINESYNC] msi/tests: Add missing UnpublishFeatures actions.
Reported by Sven Baars. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47992 Signed-off-by: Hans Leidekker <hans@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org> wine commit id 4f7bd33a838afca7086e993a9be7fa2d8dbdb5b6 by Hans Leidekker <hans@codeweavers.com>
This commit is contained in:
parent
a57d95c134
commit
3b27d975e8
4 changed files with 35 additions and 10 deletions
|
@ -207,6 +207,7 @@ static const char env_install_exec_seq_dat[] =
|
||||||
"RegisterProduct\t\t900\n"
|
"RegisterProduct\t\t900\n"
|
||||||
"PublishFeatures\t\t1000\n"
|
"PublishFeatures\t\t1000\n"
|
||||||
"PublishProduct\t\t1100\n"
|
"PublishProduct\t\t1100\n"
|
||||||
|
"UnpublishFeatures\t\t1150\n"
|
||||||
"InstallFinalize\t\t1200\n";
|
"InstallFinalize\t\t1200\n";
|
||||||
|
|
||||||
static const char env_custom_action_dat[] =
|
static const char env_custom_action_dat[] =
|
||||||
|
@ -308,6 +309,7 @@ static const char sss_install_exec_seq_dat[] =
|
||||||
"RegisterProduct\t\t5500\n"
|
"RegisterProduct\t\t5500\n"
|
||||||
"PublishFeatures\t\t5600\n"
|
"PublishFeatures\t\t5600\n"
|
||||||
"PublishProduct\t\t5700\n"
|
"PublishProduct\t\t5700\n"
|
||||||
|
"UnpublishFeatures\t\t5800\n"
|
||||||
"InstallFinalize\t\t6000\n";
|
"InstallFinalize\t\t6000\n";
|
||||||
|
|
||||||
static const char sss_custom_action_dat[] =
|
static const char sss_custom_action_dat[] =
|
||||||
|
@ -341,6 +343,7 @@ static const char sds_install_exec_seq_dat[] =
|
||||||
"RegisterProduct\t\t5500\n"
|
"RegisterProduct\t\t5500\n"
|
||||||
"PublishFeatures\t\t5600\n"
|
"PublishFeatures\t\t5600\n"
|
||||||
"PublishProduct\t\t5700\n"
|
"PublishProduct\t\t5700\n"
|
||||||
|
"UnpublishFeatures\t\t5800\n"
|
||||||
"InstallFinalize\t\t6000\n";
|
"InstallFinalize\t\t6000\n";
|
||||||
|
|
||||||
static const char sds_custom_action_dat[] =
|
static const char sds_custom_action_dat[] =
|
||||||
|
@ -369,6 +372,7 @@ static const char sis_install_exec_seq_dat[] =
|
||||||
"RegisterProduct\t\t5500\n"
|
"RegisterProduct\t\t5500\n"
|
||||||
"PublishFeatures\t\t5600\n"
|
"PublishFeatures\t\t5600\n"
|
||||||
"PublishProduct\t\t5700\n"
|
"PublishProduct\t\t5700\n"
|
||||||
|
"UnpublishFeatures\t\t5800\n"
|
||||||
"InstallFinalize\t\t6000\n";
|
"InstallFinalize\t\t6000\n";
|
||||||
|
|
||||||
static const char sis_custom_action_dat[] =
|
static const char sis_custom_action_dat[] =
|
||||||
|
@ -546,12 +550,12 @@ static const char rem_install_exec_seq_dat[] =
|
||||||
"InstallValidate\t\t1400\n"
|
"InstallValidate\t\t1400\n"
|
||||||
"InstallInitialize\t\t1500\n"
|
"InstallInitialize\t\t1500\n"
|
||||||
"ProcessComponents\t\t1600\n"
|
"ProcessComponents\t\t1600\n"
|
||||||
"UnpublishFeatures\t\t1800\n"
|
|
||||||
"RemoveFiles\t\t3500\n"
|
"RemoveFiles\t\t3500\n"
|
||||||
"InstallFiles\t\t4000\n"
|
"InstallFiles\t\t4000\n"
|
||||||
"RegisterProduct\t\t6100\n"
|
"RegisterProduct\t\t6100\n"
|
||||||
"PublishFeatures\t\t6300\n"
|
"PublishFeatures\t\t6300\n"
|
||||||
"PublishProduct\t\t6400\n"
|
"PublishProduct\t\t6400\n"
|
||||||
|
"UnpublishFeatures\t\t6500\n"
|
||||||
"InstallFinalize\t\t6600";
|
"InstallFinalize\t\t6600";
|
||||||
|
|
||||||
static const char rem_remove_files_dat[] =
|
static const char rem_remove_files_dat[] =
|
||||||
|
@ -707,6 +711,7 @@ static const char wrv_install_exec_seq_dat[] =
|
||||||
"RegisterProduct\t\t6100\n"
|
"RegisterProduct\t\t6100\n"
|
||||||
"PublishFeatures\t\t6200\n"
|
"PublishFeatures\t\t6200\n"
|
||||||
"PublishProduct\t\t6300\n"
|
"PublishProduct\t\t6300\n"
|
||||||
|
"UnpublishFeatures\t\t6400\n"
|
||||||
"InstallFinalize\t\t6600\n";
|
"InstallFinalize\t\t6600\n";
|
||||||
|
|
||||||
static const char wrv_custom_action_dat[] =
|
static const char wrv_custom_action_dat[] =
|
||||||
|
@ -861,6 +866,7 @@ static const char sr_install_exec_seq_dat[] =
|
||||||
"RegisterProduct\t\t5100\n"
|
"RegisterProduct\t\t5100\n"
|
||||||
"PublishFeatures\t\t5200\n"
|
"PublishFeatures\t\t5200\n"
|
||||||
"PublishProduct\t\t5300\n"
|
"PublishProduct\t\t5300\n"
|
||||||
|
"UnpublishFeatures\t\t5400\n"
|
||||||
"InstallFinalize\t\t6600\n";
|
"InstallFinalize\t\t6600\n";
|
||||||
|
|
||||||
static const char sr_custom_action_dat[] =
|
static const char sr_custom_action_dat[] =
|
||||||
|
@ -919,7 +925,6 @@ static const char font_install_exec_seq_dat[] =
|
||||||
"InstallValidate\t\t1400\n"
|
"InstallValidate\t\t1400\n"
|
||||||
"InstallInitialize\t\t1500\n"
|
"InstallInitialize\t\t1500\n"
|
||||||
"ProcessComponents\t\t1600\n"
|
"ProcessComponents\t\t1600\n"
|
||||||
"UnpublishFeatures\t\t1800\n"
|
|
||||||
"RemoveFiles\t\t3500\n"
|
"RemoveFiles\t\t3500\n"
|
||||||
"InstallFiles\t\t4000\n"
|
"InstallFiles\t\t4000\n"
|
||||||
"RegisterFonts\t\t4100\n"
|
"RegisterFonts\t\t4100\n"
|
||||||
|
@ -932,6 +937,7 @@ static const char font_install_exec_seq_dat[] =
|
||||||
"RegisterProduct\t\t6100\n"
|
"RegisterProduct\t\t6100\n"
|
||||||
"PublishFeatures\t\t6300\n"
|
"PublishFeatures\t\t6300\n"
|
||||||
"PublishProduct\t\t6400\n"
|
"PublishProduct\t\t6400\n"
|
||||||
|
"UnpublishFeatures\t\t6500\n"
|
||||||
"InstallFinalize\t\t6600";
|
"InstallFinalize\t\t6600";
|
||||||
|
|
||||||
static const char font_custom_action_dat[] =
|
static const char font_custom_action_dat[] =
|
||||||
|
@ -1061,6 +1067,7 @@ static const char odbc_install_exec_seq_dat[] =
|
||||||
"RegisterProduct\t\t5000\n"
|
"RegisterProduct\t\t5000\n"
|
||||||
"PublishFeatures\t\t5100\n"
|
"PublishFeatures\t\t5100\n"
|
||||||
"PublishProduct\t\t5200\n"
|
"PublishProduct\t\t5200\n"
|
||||||
|
"UnpublishFeatures\t\t5300\n"
|
||||||
"InstallFinalize\t\t6000\n";
|
"InstallFinalize\t\t6000\n";
|
||||||
|
|
||||||
static const char odbc_custom_action_dat[] =
|
static const char odbc_custom_action_dat[] =
|
||||||
|
@ -1130,6 +1137,7 @@ static const char tl_install_exec_seq_dat[] =
|
||||||
"RegisterProduct\t\t5100\n"
|
"RegisterProduct\t\t5100\n"
|
||||||
"PublishFeatures\t\t5200\n"
|
"PublishFeatures\t\t5200\n"
|
||||||
"PublishProduct\t\t5300\n"
|
"PublishProduct\t\t5300\n"
|
||||||
|
"UnpublishFeatures\t\t5400\n"
|
||||||
"InstallFinalize\t\t6000\n";
|
"InstallFinalize\t\t6000\n";
|
||||||
|
|
||||||
static const char tl_custom_action_dat[] =
|
static const char tl_custom_action_dat[] =
|
||||||
|
@ -1193,6 +1201,7 @@ static const char crs_install_exec_seq_dat[] =
|
||||||
"RegisterProduct\t\t5000\n"
|
"RegisterProduct\t\t5000\n"
|
||||||
"PublishFeatures\t\t5100\n"
|
"PublishFeatures\t\t5100\n"
|
||||||
"PublishProduct\t\t5200\n"
|
"PublishProduct\t\t5200\n"
|
||||||
|
"UnpublishFeatures\t\t5300\n"
|
||||||
"InstallFinalize\t\t6000\n";
|
"InstallFinalize\t\t6000\n";
|
||||||
|
|
||||||
static const char crs_custom_action_dat[] =
|
static const char crs_custom_action_dat[] =
|
||||||
|
@ -1256,6 +1265,7 @@ static const char pub_install_exec_seq_dat[] =
|
||||||
"RegisterProduct\t\t5000\n"
|
"RegisterProduct\t\t5000\n"
|
||||||
"PublishFeatures\t\t5100\n"
|
"PublishFeatures\t\t5100\n"
|
||||||
"PublishProduct\t\t5200\n"
|
"PublishProduct\t\t5200\n"
|
||||||
|
"UnpublishFeatures\t\t5300\n"
|
||||||
"InstallFinalize\t\t6000\n";
|
"InstallFinalize\t\t6000\n";
|
||||||
|
|
||||||
static const char pub_custom_action_dat[] =
|
static const char pub_custom_action_dat[] =
|
||||||
|
@ -1323,6 +1333,7 @@ static const char rd_install_exec_seq_dat[] =
|
||||||
"RegisterProduct\t\t5000\n"
|
"RegisterProduct\t\t5000\n"
|
||||||
"PublishFeatures\t\t5100\n"
|
"PublishFeatures\t\t5100\n"
|
||||||
"PublishProduct\t\t5200\n"
|
"PublishProduct\t\t5200\n"
|
||||||
|
"UnpublishFeatures\t\t5300\n"
|
||||||
"InstallFinalize\t\t6000\n";
|
"InstallFinalize\t\t6000\n";
|
||||||
|
|
||||||
static const char rd_custom_action_dat[] =
|
static const char rd_custom_action_dat[] =
|
||||||
|
@ -1388,6 +1399,7 @@ static const char frp_install_exec_seq_dat[] =
|
||||||
"RegisterProduct\t\t5000\n"
|
"RegisterProduct\t\t5000\n"
|
||||||
"PublishFeatures\t\t5100\n"
|
"PublishFeatures\t\t5100\n"
|
||||||
"PublishProduct\t\t5200\n"
|
"PublishProduct\t\t5200\n"
|
||||||
|
"UnpublishFeatures\t\t5300\n"
|
||||||
"InstallFinalize\t\t6000\n";
|
"InstallFinalize\t\t6000\n";
|
||||||
|
|
||||||
static const char ini_file_dat[] =
|
static const char ini_file_dat[] =
|
||||||
|
@ -1448,6 +1460,7 @@ static const char ini_install_exec_seq_dat[] =
|
||||||
"RegisterProduct\t\t5000\n"
|
"RegisterProduct\t\t5000\n"
|
||||||
"PublishFeatures\t\t5100\n"
|
"PublishFeatures\t\t5100\n"
|
||||||
"PublishProduct\t\t5200\n"
|
"PublishProduct\t\t5200\n"
|
||||||
|
"UnpublishFeatures\t\t5300\n"
|
||||||
"InstallFinalize\t\t6000\n";
|
"InstallFinalize\t\t6000\n";
|
||||||
|
|
||||||
static const char ini_custom_action_dat[] =
|
static const char ini_custom_action_dat[] =
|
||||||
|
@ -1517,6 +1530,7 @@ static const char rci_install_exec_seq_dat[] =
|
||||||
"RegisterProduct\t\t5000\n"
|
"RegisterProduct\t\t5000\n"
|
||||||
"PublishFeatures\t\t5100\n"
|
"PublishFeatures\t\t5100\n"
|
||||||
"PublishProduct\t\t5200\n"
|
"PublishProduct\t\t5200\n"
|
||||||
|
"UnpublishFeatures\t\t5300\n"
|
||||||
"InstallFinalize\t\t6000\n";
|
"InstallFinalize\t\t6000\n";
|
||||||
|
|
||||||
static const char rci_custom_action_dat[] =
|
static const char rci_custom_action_dat[] =
|
||||||
|
@ -1592,6 +1606,7 @@ static const char rei_install_exec_seq_dat[] =
|
||||||
"RegisterProduct\t\t5000\n"
|
"RegisterProduct\t\t5000\n"
|
||||||
"PublishFeatures\t\t5100\n"
|
"PublishFeatures\t\t5100\n"
|
||||||
"PublishProduct\t\t5200\n"
|
"PublishProduct\t\t5200\n"
|
||||||
|
"UnpublishFeatures\t\t5300\n"
|
||||||
"InstallFinalize\t\t6000\n";
|
"InstallFinalize\t\t6000\n";
|
||||||
|
|
||||||
static const char rei_custom_action_dat[] =
|
static const char rei_custom_action_dat[] =
|
||||||
|
@ -1694,6 +1709,7 @@ static const char rpi_install_exec_seq_dat[] =
|
||||||
"RegisterProduct\t\t5000\n"
|
"RegisterProduct\t\t5000\n"
|
||||||
"PublishFeatures\t\t5100\n"
|
"PublishFeatures\t\t5100\n"
|
||||||
"PublishProduct\t\t5200\n"
|
"PublishProduct\t\t5200\n"
|
||||||
|
"UnpublishFeatures\t\t5300\n"
|
||||||
"InstallFinalize\t\t6000\n";
|
"InstallFinalize\t\t6000\n";
|
||||||
|
|
||||||
static const char rpi_custom_action_dat[] =
|
static const char rpi_custom_action_dat[] =
|
||||||
|
@ -1771,6 +1787,7 @@ static const char rmi_install_exec_seq_dat[] =
|
||||||
"RegisterProduct\t\t5000\n"
|
"RegisterProduct\t\t5000\n"
|
||||||
"PublishFeatures\t\t5100\n"
|
"PublishFeatures\t\t5100\n"
|
||||||
"PublishProduct\t\t5200\n"
|
"PublishProduct\t\t5200\n"
|
||||||
|
"UnpublishFeatures\t\t5300\n"
|
||||||
"InstallFinalize\t\t6000\n";
|
"InstallFinalize\t\t6000\n";
|
||||||
|
|
||||||
static const char rmi_custom_action_dat[] =
|
static const char rmi_custom_action_dat[] =
|
||||||
|
@ -1962,6 +1979,7 @@ static const char rep_install_exec_seq_dat[] =
|
||||||
"RegisterProduct\t\t5000\n"
|
"RegisterProduct\t\t5000\n"
|
||||||
"PublishFeatures\t\t5100\n"
|
"PublishFeatures\t\t5100\n"
|
||||||
"PublishProduct\t\t5200\n"
|
"PublishProduct\t\t5200\n"
|
||||||
|
"UnpublishFeatures\t\t5300\n"
|
||||||
"InstallFinalize\t\t6000\n";
|
"InstallFinalize\t\t6000\n";
|
||||||
|
|
||||||
static const msi_table env_tables[] =
|
static const msi_table env_tables[] =
|
||||||
|
|
|
@ -1004,6 +1004,7 @@ static const CHAR fo_install_exec_seq_dat[] = "Action\tCondition\tSequence\n"
|
||||||
"RegisterProduct\t\t5000\n"
|
"RegisterProduct\t\t5000\n"
|
||||||
"PublishFeatures\t\t5100\n"
|
"PublishFeatures\t\t5100\n"
|
||||||
"PublishProduct\t\t5200\n"
|
"PublishProduct\t\t5200\n"
|
||||||
|
"UnpublishFeatures\t\t5300\n"
|
||||||
"InstallFinalize\t\t6000\n";
|
"InstallFinalize\t\t6000\n";
|
||||||
|
|
||||||
static const CHAR uc_file_dat[] = "File\tComponent_\tFileName\tFileSize\tVersion\tLanguage\tAttributes\tSequence\n"
|
static const CHAR uc_file_dat[] = "File\tComponent_\tFileName\tFileSize\tVersion\tLanguage\tAttributes\tSequence\n"
|
||||||
|
@ -1051,6 +1052,7 @@ static const CHAR uc_install_exec_seq_dat[] = "Action\tCondition\tSequence\n"
|
||||||
"RegisterProduct\t\t1000\n"
|
"RegisterProduct\t\t1000\n"
|
||||||
"PublishFeatures\t\t1100\n"
|
"PublishFeatures\t\t1100\n"
|
||||||
"PublishProduct\t\t1200\n"
|
"PublishProduct\t\t1200\n"
|
||||||
|
"UnpublishFeatures\t\t1250\n"
|
||||||
"InstallFinalize\t\t1300\n";
|
"InstallFinalize\t\t1300\n";
|
||||||
|
|
||||||
static const char mixed_feature_dat[] =
|
static const char mixed_feature_dat[] =
|
||||||
|
@ -1173,6 +1175,7 @@ static const char vp_install_exec_seq_dat[] =
|
||||||
"RegisterProduct\t\t1600\n"
|
"RegisterProduct\t\t1600\n"
|
||||||
"PublishFeatures\t\t1700\n"
|
"PublishFeatures\t\t1700\n"
|
||||||
"PublishProduct\t\t1800\n"
|
"PublishProduct\t\t1800\n"
|
||||||
|
"UnpublishFeatures\t\t1850\n"
|
||||||
"InstallFinalize\t\t1900\n";
|
"InstallFinalize\t\t1900\n";
|
||||||
|
|
||||||
static const char shc_property_dat[] =
|
static const char shc_property_dat[] =
|
||||||
|
@ -1245,6 +1248,7 @@ static const char shc_install_exec_seq_dat[] =
|
||||||
"RegisterProduct\t\t1700\n"
|
"RegisterProduct\t\t1700\n"
|
||||||
"PublishFeatures\t\t1800\n"
|
"PublishFeatures\t\t1800\n"
|
||||||
"PublishProduct\t\t1900\n"
|
"PublishProduct\t\t1900\n"
|
||||||
|
"UnpublishFeatures\t\t1950\n"
|
||||||
"InstallFinalize\t\t2000\n";
|
"InstallFinalize\t\t2000\n";
|
||||||
|
|
||||||
static const char shc2_install_exec_seq_dat[] =
|
static const char shc2_install_exec_seq_dat[] =
|
||||||
|
@ -1265,6 +1269,7 @@ static const char shc2_install_exec_seq_dat[] =
|
||||||
"RegisterProduct\t\t1700\n"
|
"RegisterProduct\t\t1700\n"
|
||||||
"PublishFeatures\t\t1800\n"
|
"PublishFeatures\t\t1800\n"
|
||||||
"PublishProduct\t\t1900\n"
|
"PublishProduct\t\t1900\n"
|
||||||
|
"UnpublishFeatures\t\t1950\n"
|
||||||
"InstallFinalize\t\t2000\n";
|
"InstallFinalize\t\t2000\n";
|
||||||
|
|
||||||
static const char ft_file_dat[] =
|
static const char ft_file_dat[] =
|
||||||
|
@ -1328,6 +1333,7 @@ static const char ft_install_exec_seq_dat[] =
|
||||||
"RegisterProduct\t\t1200\n"
|
"RegisterProduct\t\t1200\n"
|
||||||
"PublishFeatures\t\t1300\n"
|
"PublishFeatures\t\t1300\n"
|
||||||
"PublishProduct\t\t1400\n"
|
"PublishProduct\t\t1400\n"
|
||||||
|
"UnpublishFeatures\t\t1450\n"
|
||||||
"InstallFinalize\t\t1500\n";
|
"InstallFinalize\t\t1500\n";
|
||||||
|
|
||||||
static const char da_custom_action_dat[] =
|
static const char da_custom_action_dat[] =
|
||||||
|
@ -2896,7 +2902,7 @@ static void test_MsiInstallProduct(void)
|
||||||
res = RegOpenKeyA(HKEY_CURRENT_USER, "SOFTWARE\\Wine\\msitest", &hkey);
|
res = RegOpenKeyA(HKEY_CURRENT_USER, "SOFTWARE\\Wine\\msitest", &hkey);
|
||||||
ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
|
ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
|
||||||
|
|
||||||
r = MsiInstallProductA(msifile, "REMOVE=ALL");
|
r = MsiInstallProductA(msifile, "REMOVE=ALL FULL=1");
|
||||||
ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r);
|
ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r);
|
||||||
|
|
||||||
error:
|
error:
|
||||||
|
@ -5332,7 +5338,7 @@ static void test_file_in_use(void)
|
||||||
ok(delete_pf("msitest\\maximus", TRUE), "File not present\n");
|
ok(delete_pf("msitest\\maximus", TRUE), "File not present\n");
|
||||||
ok(delete_pf("msitest", FALSE), "Directory not present or not empty\n");
|
ok(delete_pf("msitest", FALSE), "Directory not present or not empty\n");
|
||||||
|
|
||||||
r = MsiInstallProductA(msifile, "REMOVE=ALL");
|
r = MsiInstallProductA(msifile, "REMOVE=ALL FULL=1");
|
||||||
ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r);
|
ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r);
|
||||||
|
|
||||||
error:
|
error:
|
||||||
|
@ -5394,7 +5400,7 @@ static void test_file_in_use_cab(void)
|
||||||
ok(delete_pf("msitest\\maximus", TRUE), "File not present\n");
|
ok(delete_pf("msitest\\maximus", TRUE), "File not present\n");
|
||||||
ok(delete_pf("msitest", FALSE), "Directory not present or not empty\n");
|
ok(delete_pf("msitest", FALSE), "Directory not present or not empty\n");
|
||||||
|
|
||||||
r = MsiInstallProductA(msifile, "REMOVE=ALL");
|
r = MsiInstallProductA(msifile, "REMOVE=ALL FULL=1");
|
||||||
ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r);
|
ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r);
|
||||||
|
|
||||||
error:
|
error:
|
||||||
|
@ -5548,7 +5554,7 @@ static void test_icon_table(void)
|
||||||
lstrcatA(path, "\\testicon");
|
lstrcatA(path, "\\testicon");
|
||||||
ok(file_exists(path), "Per-user icon file isn't where it's expected (%s)\n", path);
|
ok(file_exists(path), "Per-user icon file isn't where it's expected (%s)\n", path);
|
||||||
|
|
||||||
res = MsiInstallProductA(msifile, "REMOVE=ALL");
|
res = MsiInstallProductA(msifile, "REMOVE=ALL FULL=1");
|
||||||
ok(res == ERROR_SUCCESS, "Failed to uninstall per-user\n");
|
ok(res == ERROR_SUCCESS, "Failed to uninstall per-user\n");
|
||||||
ok(!file_exists(path), "Per-user icon file not removed (%s)\n", path);
|
ok(!file_exists(path), "Per-user icon file not removed (%s)\n", path);
|
||||||
|
|
||||||
|
@ -5563,7 +5569,7 @@ static void test_icon_table(void)
|
||||||
lstrcatA(path, "\\testicon");
|
lstrcatA(path, "\\testicon");
|
||||||
ok(file_exists(path), "System-wide icon file isn't where it's expected (%s)\n", path);
|
ok(file_exists(path), "System-wide icon file isn't where it's expected (%s)\n", path);
|
||||||
|
|
||||||
res = MsiInstallProductA(msifile, "REMOVE=ALL");
|
res = MsiInstallProductA(msifile, "REMOVE=ALL FULL=1");
|
||||||
ok(res == ERROR_SUCCESS, "Failed to uninstall system-wide\n");
|
ok(res == ERROR_SUCCESS, "Failed to uninstall system-wide\n");
|
||||||
ok(!file_exists(path), "System-wide icon file not removed (%s)\n", path);
|
ok(!file_exists(path), "System-wide icon file not removed (%s)\n", path);
|
||||||
|
|
||||||
|
|
|
@ -14110,7 +14110,7 @@ static void test_lastusedsource(void)
|
||||||
ok(!lstrcmpA(value, path), "expected \"%s\", got \"%s\"\n", path, value);
|
ok(!lstrcmpA(value, path), "expected \"%s\", got \"%s\"\n", path, value);
|
||||||
ok(size == lstrlenA(path), "expected %d, got %d\n", lstrlenA(path), size);
|
ok(size == lstrlenA(path), "expected %d, got %d\n", lstrlenA(path), size);
|
||||||
|
|
||||||
r = MsiInstallProductA("msifile0.msi", "REMOVE=ALL");
|
r = MsiInstallProductA("msifile0.msi", "REMOVE=ALL FULL=1");
|
||||||
ok(r == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", r);
|
ok(r == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", r);
|
||||||
|
|
||||||
/* separate cabinet file */
|
/* separate cabinet file */
|
||||||
|
@ -14136,7 +14136,7 @@ static void test_lastusedsource(void)
|
||||||
ok(!lstrcmpA(value, path), "expected \"%s\", got \"%s\"\n", path, value);
|
ok(!lstrcmpA(value, path), "expected \"%s\", got \"%s\"\n", path, value);
|
||||||
ok(size == lstrlenA(path), "expected %d, got %d\n", lstrlenA(path), size);
|
ok(size == lstrlenA(path), "expected %d, got %d\n", lstrlenA(path), size);
|
||||||
|
|
||||||
r = MsiInstallProductA("msifile1.msi", "REMOVE=ALL");
|
r = MsiInstallProductA("msifile1.msi", "REMOVE=ALL FULL=1");
|
||||||
ok(r == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", r);
|
ok(r == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", r);
|
||||||
|
|
||||||
size = MAX_PATH;
|
size = MAX_PATH;
|
||||||
|
@ -14161,7 +14161,7 @@ static void test_lastusedsource(void)
|
||||||
ok(!lstrcmpA(value, path), "expected \"%s\", got \"%s\"\n", path, value);
|
ok(!lstrcmpA(value, path), "expected \"%s\", got \"%s\"\n", path, value);
|
||||||
ok(size == lstrlenA(path), "expected %d, got %d\n", lstrlenA(path), size);
|
ok(size == lstrlenA(path), "expected %d, got %d\n", lstrlenA(path), size);
|
||||||
|
|
||||||
r = MsiInstallProductA("msifile2.msi", "REMOVE=ALL");
|
r = MsiInstallProductA("msifile2.msi", "REMOVE=ALL FULL=1");
|
||||||
ok(r == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", r);
|
ok(r == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", r);
|
||||||
|
|
||||||
size = MAX_PATH;
|
size = MAX_PATH;
|
||||||
|
|
|
@ -118,6 +118,7 @@ static const char install_exec_seq_dat[] =
|
||||||
"RegisterProduct\t\t3100\n"
|
"RegisterProduct\t\t3100\n"
|
||||||
"PublishFeatures\t\t5100\n"
|
"PublishFeatures\t\t5100\n"
|
||||||
"PublishProduct\t\t5200\n"
|
"PublishProduct\t\t5200\n"
|
||||||
|
"UnpublishFeatures\t\t5300\n"
|
||||||
"InstallFinalize\t\t6000\n";
|
"InstallFinalize\t\t6000\n";
|
||||||
|
|
||||||
struct msi_table
|
struct msi_table
|
||||||
|
|
Loading…
Reference in a new issue