Everyone,

                I am working on an installer where I have to do the following: 
determine what prerequisites to install once a user selects his/her desired 
features, i.e., post launch condition but before anything is really done.  This 
could include sending the user to a download site to install a prerequisite.  
Currently, I have an installer with one main feature and one optional 
sub-feature built using WiX.  While the main feature does not have any external 
dependencies, the sub-feature does and requires them to function.  I am not 
sure how I would do the preprequisite check once the user clicks Next on a 
feature dialog screen.  Is it a immediate custom action, which is considered 
very bad if they are used to change the state of the machine?  Do I 
publish/throw up a dialog box upon clicking Next with an option to download a 
prerequisite and attempt to abort the installer posthaste?  The publish itself 
of a generic dialog box does not seem difficult, but I am trying to get a 
better understanding on how to abort the installer and set up the download for 
the prerequisite within said dialog box.  This may have to be done once for 
each prerequisite that is not found depending on the implementation.

This is what I have considered and/or done so far:

- I originally had the subfeature as its own separate installer that includes 
prerequisites checks for the 2 external dependencies and the main feature's MSI 
on startup.  I was then asked to merge the installers into the feature 
structure in the first paragraph.

- I would normally do the prerequisite check on startup and abort the 
installation with a pertinent error message if something was not found.  
Because of the optional subfeature, this was not desired.  In other words, they 
did not want users to have to download external dependencies for a feature they 
might not actually install by having the check done on startup.

- I also considered using the code from a VS2010 Setup project and how it 
handles the prerequisite checks by asking the user to download the 
prerequisites if the launch conditions fail.  Unfortunately, these are done on 
startup as well.  I am also loathe to toss VS setup code into a WiX installer 
especially with VSSetup going away with the next version of Visual Studio.

- I thought of creating a bootstrapper/setup chainer.  This still has the issue 
above where the prerequisite check is done on installer startup.  This would 
also move away from using a single MSI for installation, something that was not 
desired.

- I thought of including the external dependencies in the MSI and having them 
run beforehand via custom action or after as a post-installation step.  The 
former I have not completely figured out, but I think it is possible.  The 
latter I have seen with Windows games and DirectX 9.0c (I believe the WiX help 
files have this as a code sample).  Besides the potential work especially on 
the pre-installer side, this would double the size of the installer.  I also 
have to determine if the installer is legally allowed to redistribute those 
executables.

                I am still doing the research on creating a dialog box that 
would do this, but I am open to ideas and/or better ways to handle this.  Thank 
you for your time.

David J. Antoine
danto...@realtick.com
This electronic mail message and any attached files contain information 
intended for the exclusive use of the individual or entity to whom it is 
addressed and may contain information that is proprietary, privileged, 
confidential and/or exempt from disclosure under applicable law. If you are not 
the intended recipient, you are hereby notified that any viewing, copying, 
disclosure or distribution of this information may be subject to legal 
restriction or sanction. Please notify the sender, by electronic mail or 
telephone, of any unintended recipients and delete the original message without 
making any copies.
------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to