I set a bunch of different Properties depending on what is not-installed and then display one dialog that lists all missing pre-reqs. I don't care to show them the ones that are already installed, just those that aren't.
<Property Id="FIRSTBLURB" Value="[ProductName] requires the following applications, which are not installed: "/> <Property Id="LASTBLURB" Value=" Please install these prerequisites, and then run the installation again."/> <Property Id="NOSOAP3" Value="- Simple Object Access Protocol (SOAP) Toolkit 3.0 "/> <Property Id="NOIIS" Value="- Internet Information Services "/> <Property Id="NOSQLNAT" Value="- Microsoft SQL Server Native Client driver "/> <Property Id="NOSQLXML" Value="- SQLXML 3.0 Service Pack 2 "/> <Property Id="NOWSE20" Value="- Web Services Enhancements 2.0 Service Pack 2 "/> <Property Id="NOASPNET" Value="- ASP.NET "/> <Property Id="NOACTIVEPORTAL" Value="- Actuate Active Portal 8.0 for .NET "/> <Property Id="NOISERVER" Value="- Actuate iServer 8.0 "/> <Property Id="NOACTIVEPORTALFIX8" Value="- Actuate Active Portal 8.0 Service Pack 1 Fix 8 "/> <Property Id="NOISERVERFIX8" Value="- Actuate iServer 8.0 Service Pack 1 Fix 8 "/> <Property Id="NOSQL2K5SP1" Value="The Database server must be running Microsoft(r) SQL Server(r) 2005 with the latest service pack."/> <Publish Property="ISIISINSTALLED" Value="false">1</Publish> <Publish Property="ISIISINSTALLED" Value="true"><![CDATA[IISCHECK <> ""]]></Publish> <Publish Property="NOIISMESSAGE" Value="{}">1</Publish> <Publish Property="NOIISMESSAGE" Value="[NOIIS]"><![CDATA[ISIISINSTALLED = "false" AND &WebRole = 3]]></Publish> <Publish Property="INSTALLMESSAGE" Value="[FIRSTBLURB][NOIISMESSAGE][NOSQLNATMESSAGE][NOSOAP3MESSAGE][NOSQL XMLMESSAGE][NOWSE20MESSAGE][NOASPNETMESSAGE][NOACTIVEPORTALMESSAGE][NOIS ERVERMESSAGE][NOACTIVEPORTALFIX8MESSAGE][NOISERVERFIX8MESSAGE][LASTBLURB ]">1</Publish> -----Original Message----- From: pmdarrow [mailto:pdar...@metaworks.com] Sent: Wednesday, January 13, 2010 10:46 AM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Making a Requirements Dialog I guess that's one way. It just seems a little unintuitive to show pop-up dialogs for the requirements. I thought about this for a little while and came up with another method. Create one dialog with all of the possible requirements if every feature was selected and selectively gray-out the ones that don't apply (using enable/disable Conditions). Then, show green check-marks if the non-grayed out requirements are met, red X's if they're not. Although the interface might look a little cluttered with a lot of grayed-out items, this seems to be the easiest to do with WiX. MikeR wrote: > > > pmdarrow wrote: >> >> Hi all. I'd like to display a dialog after the feature customization >> dialog that gives the user feedback if the requirements for installing >> their selected features are fulfilled. For instance, if the user only >> selected the database feature, SQL Server is the only requirement. But if >> they select the ASP.NET app, IIS is a requirement as well. Is there any >> easy way to write the dialog for this? The only thing I can think of >> doing is writing a dialog for each combination of selected features (e.g. >> OnlyDBDlg.wxs for just the DB, DB+IISDlg.wxs for DB and IIS, etc.) and >> having a bunch of conditions on the next button of the customize dialog >> for showing each of them. Any ideas? >> > I am doing a something similar. I'm using the SelectionTree control to > let users select which features to install but have some feature-specific > system requirements. I really wish you could disable features but still > show them in the SelectionTree control, that would be my ideal solution > but it is not possible. > > What I have settled on is using the new functionality to publish a > DoAction event from the SelectionTree control. This is only available on > Windows 2003 and newer, so Vista, Win7 and 2008 too. However, for the > product I'm working on I only need to support newer OSes so I can use the > new functionality. I wrote a custom action that updates a property that I > use on a text control on the same dialog. Whenever a user selects a > feature the text control gets updated with what the feature-specific > requirements are for that feature. Then on the Next button I run a custom > action that verifies everything and if they are trying to install a > feature without all of its necessary prerequisites I throw up a dialog > with an informative error and keep that on that dialog until their feature > selections are valid to continue. > > The only catch I ran into was that using a DTF custom action on the > SelectionTree control published DoAction was too slow. Because the DTF > has to extract the native DLL, then extract the baked in .NET assembly and > load it up just to call your code, it caused noticeable lag on the dialog > whenever you selected a different feature or changed a feature's state. I > ended up rewriting that custom action in C++ and it sped things up > greatly. My Next button custom action is still in DTF as the slight delay > does not stand out as much on the dialog transitions. > > Hope that helps, > Mike > -- View this message in context: http://n2.nabble.com/Making-a-Requirements-Dialog-tp4292721p4361430.html Sent from the wix-users mailing list archive at Nabble.com. ------------------------------------------------------------------------ ------ This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Throughout its 18-year history, RSA Conference consistently attracts the world's best and brightest in the field, creating opportunities for Conference attendees to learn about information security's most important issues through interactions with peers, luminaries and emerging and established companies. http://p.sf.net/sfu/rsaconf-dev2dev _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users