>>> 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