On Wed, 2007-02-07 at 12:30 -0600, James Hawkins wrote: > On 2/7/07, Misha Koshelev <[EMAIL PROTECTED]> wrote: > > Hi, here is my proposed patch to the current msi MsiInstallProduct > > consistency test that will make it's success depend on proper process of > > UI flags (as well as everything else it depends on to make a successful > > install). It seems to me like this is the simplest way to add this test > > (it is only 5-6 lines added total), and it seems fair to me to add it to > > this existing test for two reasons: > > 1. The test is already testing a full product install (installs files, > > services, registry values, etc) and my modification will simply result > > in either no modification to these actions if UI level processing is > > good or complete failure if it is bad, which will make the problem very > > easy to diagnose. > > 2. Looking through instructions on msdn it seems that there isn't a > > kosher way to make a very simple MSI file that just, say, writes a > > registry value (without doing costing, install validation, having a full > > features table, installing some features, etc.) which would make a > > separate function easy to implement and it does not really seem > > necessary to copy and paste the whole test_MsiInstallProduct (or > > similar) function just to check UI level processing. > > > > Changelog: > > > > * msi: Make MsiInstallProduct conformance test depend on proper UI > > level processing. > > > > You need to put whatever you're trying to test into a new test > function. As-is, it's not clear what you're testing and we need to > keep the tests logically separate. Test both a success and a failure > case, plus all the in between cases. > > > If the full UI is started (incorrectly) > > + * the InstallUISequence table will be used, and the install will > > fail. If the full UI is > > + * not started (correctly) the InstallExecuteSequence table will be > > used. > > Why does the install fail if we run the InstallUISequence action?. > Also, InstallExecuteSequence runs no matter what so this comment would > need to be fixed. > a fa Weird, because it does indeed fail when running in full UI mode.
Do you know a better (more proper) way to do this then? I was researching this last night and I found either custom action 19 (this number is off the top of my head) that will fail the install and display a message or a failed Launch Condition which will also fail install and display a message. The custom action 19 (?) worked beautifully in my tests, but the problem is that it display a dialog box if it thinks it is in full UI mode and waits for the user to press okay, and if I understand correctly user input like this is a no no in writing wine conformance tests. Do you have any suggestions for how to fail an install in full UI mode without displaying a dialog box, or would this be okay in the case of this specific conformance test? Thanks Misha
