>>> Comments inline

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Alan Clontz
Sent: 29 March 2008 22:14
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Deciding if Wix is right for us

I am a member of a small community of video editors, and this hobby 
requires a large amount of freely available software. In order to make 
it easier for users to find and install all of the software that they 
need, we package it all into a single, easy to use installer.

This installer is currently using NSIS, but the code is a mess and it is 
very difficult to manage. I have been looking at wix for a while, but I 
am not sure if it would be suitable for this. I am going to list some of 
the things that our nsis installer does, and it would be appreciated if 
someone can just let me know if all of this is capable with wix. I would 
hate to spend all of the time involved in learning wix, only to find out 
that some small but important issue is keeping it from working how we need.

- Execute other installers. It needs to run one, wait for it to finish, 
then run the next, wait for it to finish, and so on.

>>> You cannot nest MSIs (this is a Windows Installer limitation). You'll
need a bootstrapper. WiX v3's setupexe may help.

- Install video and audio codecs that are normally installed via .inf files.

>>> Possibly Driver Install Framework (DIFxApp)? As far as I know the
.wixlib is only compatible with WiX v2 at present.

- Check if certain dll files exist in the system folder, if not, copy 
them in there.

>>> In a Windows Installer package, you declare what goes where. Windows
Installer works out whether a file needs to be installed or not. It will, by
default, overwrite older file versions with newer ones, and always overwrite
unversioned files, unless they've been modified (modified time stamp newer
than creation time stamp).

- Keep track of everything that's installed (including the external 
installers), and allow it to all be uninstalled through a single 
uninstaller.

>>> Windows Installer tracks where it puts things on a per-component,
per-product basis. The external installers should be used to uninstall their
own components.

>>> By default, Windows Installer generates an UninstallString in the
registry which just uninstalls this package. If you need to invoke your
bootstrapper to uninstall or maintain other packages, set the
ARPSYSTEMCOMPONENT property, then you're in charge of setting the
UninstallString etc. You must then set everything in the Uninstall registry
key (which controls what appears in Add/Remove Programs) yourself.

- Check windows version, cpu type, and .net version, and possibly 
install different files depending on the result. Also prompt user to 
automatically install .net framework if necessary.

>>> I believe setupexe can ask to install the .NET Framework. If you want to
install different things depending on different properties of the computer,
you can put conditions on the components. However, don't forget that the
environment can change: users can upgrade their CPU or even downgrade in
case of a failure, they can upgrade Windows in-place, and they can add new
versions of the .NET Framework. I'd install everything and configure at
runtime. 

>>> You can mark components as Transient so that the conditions are
re-evaluated when installing an OS upgrade or performing a repair,
potentially installing different components to suit the new environment.

- Copy files to installation folders of other programs.

>>> You can copy files to anywhere you like, but you may run into trouble if
trying to replace files or registry keys that were installed by another
product. If the other product was installed by Windows Installer, you may
end up with 'repair fights', where accessing one program repairs that
product to replace a file, then accessing the other program replaces it the
other way. I'm having these repair fights with Office 2003 and Office 2007
whenever I access the other version of the product via the Start menu, as it
'corrects' the file associations.

>>> If you want to find another program's installation folder, you can use
the RegistrySearch, ComponentSearch, FileSearch and DirectorySearch elements
to locate it.

-- 
Mike Dimmick



-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to