Hi My name is Ivo Beltchev. I am working on the open source project Classic Shell: http://classicshell.sourceforge.net/ Currently I use a Visual Studio setup project to create my installer, but I'm hitting some of its limitations and I'm looking for a better solution.
Here's what I need, please tell me which are possible with WiX: 1) I need a single EXE that can be installed on both 32-bit and 64-bit platforms (Vista and Windows 7). Most of the files (art assets, help files) are common between platforms. There are 32-bit and 64-bit executables, which need to register themselves in the registry (self-registered COM). There are some registry keys, which need to be set correctly (bypass the 32-bit redirection on 64-bit systems). I am told that (at least with Visual Studio) it is not possible to have a single MSI file that targets 32-bit and 64-bit platforms. I think the problem was that you can't run the 64-bit MSI on 32-bit OS, but a 32-bit MSI can't contain 64-bit modules. Can WiX do this in a single package? 2) I have 2 components. With few exceptions, every installed file belongs to one component or the other. I want to provide UI options for selecting the components to install, as well as command line options for silent install. I also want an option to specify the install folder, ideally with a command line option support too. 3) I want to create a shortcut in Program Files to one of the installed EXEs and set its command line arguments. The shortcut needs to be created by the installer dynamically because it depends on the install folder. 4) When the installer runs a second time I want to give the user the options to: Remove All, Add/Remove Components, and Repair. 5) As the last step of the install process I want to launch an executable, but I want to launch it as the currently logged-in user, not as SYSTEM. (Looks like msiexec runs as SYSTEM, so any child process is SYSTEM by default). 6) Since some components are shell extensions, it would be nice if the Explorer processes are killed and restarted during uninstall. Again, Explorer must be restarted as the current user, not as SYSTEM. Some other applications that use the shell can also load my DLLs, so it will be nice if the uninstaller at least shows a list of affected processes to the user and lets him close those apps. 7) There are some ini files, which the user can modify. During uninstall or upgrade I want to present the option to rename the files to ini.bak so the user modifications are not lost. Ideally the uninstaller can recognize which files are modified (by comparing the timestamp with the original). Less ideally the uninstaller renames all ini files. Least ideal, the uninstaller runs a separate executable that does the work. The uninstaller should provide the EXE with the installation path (like C:\Program Files\Classic Shell). 8) Of course the installer must work correctly with different levels of UAC. 9) Ideally the build process will be integrated into Visual Studio. 10) Ideally the installer will recognize the previously installed version (done with the older Visual Studio setup project) and will uninstall it first. Before I start going deeper into WiX, can somebody please tell me which of my requirements are possible? If there are some things that WiX can't do, but another free installer can, please point me to that other tool. Thanks Ivo Beltchev Classic Shell ------------------------------------------------------------------------------ ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users