I have created a property in the merge module (called DMOInstalled) and I populate it with the registry value HKEY_CLASSES_ROOT\CLSID\{10020100-E260-11CF-AE68-00AA004A34D5}\(Default) to determine whether SQLDMO is installed by mucking about with the MSI tables in power editor (AppSearch and RegLocator).
This part works - I can tell because I added a textbox for the property to one of the dialogs in the main install, and the value is what I expect "SQLDMO Application" if it is installed, empty if not.
In the main install, I moved AppSearch above LaunchConditions in the Installation: User Interface and Installation: Execute sequences. I would have done that in the merge module instead, but ISWI 2.03 doesn't seem to be able to do that for a merge module.
Then I added a condition to all of the components in the merge module - DMOInstalled = "" (I have also tried DMOInstalled <> "SQLDMO Application").
But, the condition does not appear to have any effect! Can anyone tell me what I am doing wrong?