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

Reply via email to