Piotr Caban : msi: Add disabled feature to show that it's not getting installed by patch.

Alexandre Julliard julliard at winehq.org
Thu Jul 2 15:04:32 CDT 2020


Module: wine
Branch: master
Commit: 99e7c801e4d5032110190acbb04d85eb069df867
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=99e7c801e4d5032110190acbb04d85eb069df867

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Wed Jul  1 10:43:18 2020 +0200

msi: Add disabled feature to show that it's not getting installed by patch.

Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Hans Leidekker <hans at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/msi/tests/patch.c | 27 +++++++++++++++++++--------
 1 file changed, 19 insertions(+), 8 deletions(-)

diff --git a/dlls/msi/tests/patch.c b/dlls/msi/tests/patch.c
index 6449b7e67a..a846defef4 100644
--- a/dlls/msi/tests/patch.c
+++ b/dlls/msi/tests/patch.c
@@ -73,7 +73,8 @@ static const char file_dat[] =
     "File\tComponent_\tFileName\tFileSize\tVersion\tLanguage\tAttributes\tSequence\n"
     "s72\ts72\tl255\ti4\tS72\tS20\tI2\ti2\n"
     "File\tFile\n"
-    "patch.txt\tpatch\tpatch.txt\t1000\t\t\t0\t1\n";
+    "patch.txt\tpatch\tpatch.txt\t1000\t\t\t0\t1\n"
+    "disable.txt\tdisable\tdisable.txt\t1000\t\t\t0\t1\n";
 
 static const char directory_dat[] =
     "Directory\tDirectory_Parent\tDefaultDir\n"
@@ -87,19 +88,22 @@ static const char component_dat[] =
     "Component\tComponentId\tDirectory_\tAttributes\tCondition\tKeyPath\n"
     "s72\tS38\ts72\ti2\tS255\tS72\n"
     "Component\tComponent\n"
-    "patch\t{4B79D87E-6D28-4FD3-92D6-CD9B26AF64F1}\tMSITESTDIR\t0\t\tpatch.txt\n";
+    "patch\t{4B79D87E-6D28-4FD3-92D6-CD9B26AF64F1}\tMSITESTDIR\t0\t\tpatch.txt\n"
+    "disable\t{BDDBA0EE-0031-4591-ADC0-33308175AC19}\tMSITESTDIR\t0\t\tdisable.txt\n";
 
 static const char feature_dat[] =
     "Feature\tFeature_Parent\tTitle\tDescription\tDisplay\tLevel\tDirectory_\tAttributes\n"
     "s38\tS38\tL64\tL255\tI2\ti2\tS72\ti2\n"
     "Feature\tFeature\n"
-    "patch\t\t\tpatch feature\t1\t1\tMSITESTDIR\t0\n";
+    "patch\t\t\tpatch feature\t1\t1\tMSITESTDIR\t0\n"
+    "disable\t\t\tdisabled feature\t1\t1\tMSITESTDIR\t0\n";
 
 static const char feature_comp_dat[] =
     "Feature_\tComponent_\n"
     "s38\ts72\n"
     "FeatureComponents\tFeature_\tComponent_\n"
-    "patch\tpatch\n";
+    "patch\tpatch\n"
+    "disable\tdisable\n";
 
 static const char install_exec_seq_dat[] =
     "Action\tCondition\tSequence\n"
@@ -121,6 +125,12 @@ static const char install_exec_seq_dat[] =
     "UnpublishFeatures\t\t5300\n"
     "InstallFinalize\t\t6000\n";
 
+static const char condition_dat[] =
+    "Feature_\tLevel\tCondition\n"
+    "s38\ti2\tS255\n"
+    "Condition\tFeature_\tLevel\n"
+    "disable\t0\tDISABLE_FEATURE\n";
+
 struct msi_table
 {
     const char *filename;
@@ -139,7 +149,8 @@ static const struct msi_table tables[] =
     ADD_TABLE( feature_comp ),
     ADD_TABLE( property ),
     ADD_TABLE( install_exec_seq ),
-    ADD_TABLE( media )
+    ADD_TABLE( media ),
+    ADD_TABLE( condition )
 };
 
 static void init_function_pointers( void )
@@ -757,7 +768,7 @@ static void test_simple_patch( void )
 
     MsiSetInternalUI( INSTALLUILEVEL_NONE, NULL );
 
-    r = MsiInstallProductA( msifile, NULL );
+    r = MsiInstallProductA( msifile, "DISABLE_FEATURE=1" );
     if (r != ERROR_SUCCESS)
     {
         skip("Product installation failed with error code %u\n", r);
@@ -1101,7 +1112,7 @@ static void test_system_tables( void )
 
     MsiSetInternalUI( INSTALLUILEVEL_NONE, NULL );
 
-    r = MsiInstallProductA( msifile, NULL );
+    r = MsiInstallProductA( msifile, "DISABLE_FEATURE=1" );
     if (r != ERROR_SUCCESS)
     {
         skip("Product installation failed with error code %d\n", r);
@@ -1290,7 +1301,7 @@ static void test_patch_registration( void )
 
     MsiSetInternalUI( INSTALLUILEVEL_NONE, NULL );
 
-    r = MsiInstallProductA( msifile, NULL );
+    r = MsiInstallProductA( msifile, "DISABLE_FEATURE=1" );
     if (r != ERROR_SUCCESS)
     {
         skip("Product installation failed with error code %d\n", r);




More information about the wine-cvs mailing list