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
[email protected]
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users