a) Objectively, is WiX the right option, or should I look at other installers for this purpose? [Michael] It's a great tool for this purpose and its free!
b) Are there any samples of scripts that install shell extensions? I have looked around, but found nothing. Reinventing the wheel is something I will probably be pretty crappy at. [Michael] I think this is what your looking for http://stackoverflow.com/questions/138550/how-to-register-file-types-ext ensions-with-a-wix-installer c) Likewise, are there any samples dealing with such specific requirements for as far the platform goes? Again, my wheel would likely not be all that round. [Michael] Checkout this link for 32/64 bit installs http://blogs.msdn.com/astebner/archive/2007/08/09/4317654.aspx -Michael 2243 -----Original Message----- From: Happy Hondje [mailto:happyhon...@gmail.com] Sent: Thursday, November 19, 2009 3:08 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Supplemental shell extensions installation Hello WiXers, I am new to Windows Installer and WiX, and thus have been pouring over documentation. tutorials, samples and google the last few days. I see a lot of basic information which is nice, but sadly, my needs aren't all that typical. (This might become a rather long posting, so I will apologize in advance for that.) The reason is that my 'application' is fully compromised out of shell extensions, the purpose being to give a more seamless experience in using the applicable documents in every day use. (I have one production-ready at this point, so I figured I'd look into getting a basic installer ready that meets my requirements.) I foresee the following big problems: 1. Architecture. Basically, there are two (or technically three) possible scenario's: * 32-bit shell extension on 32-bit platform. * 64-bit shell extension on 64-bit platform. For maximum compatibility, I would want the 32-bit shell extension installed as well. >From what I understand based on some older posts on this mailing list, WI/WiX sincerely dislikes mixed-architecture installations. Sadly, this is a matter that can't be avoided. Paths, registry, they're both things to be careful of. And ideally, there would be a single .msi and no chance for user-error. 2. File extension ownership is an issue. Whereas dedicated applications can simply take ownership of a file-extension, define their own progid's, verbs and all that magic. This would be a supplemental package that has no external dependancies, so the extensions it registers to may be registered to ProductA, ProductB or even nothing at all. This means the -target- ProgID for these registrations is flexible, falling down to a default where nothing was hooked up just yet. And in the case overwriting something IS unavoidable, it would be nice to be able to restore these values upon uninstallation. 3. Making points 1 and 2 meet eye-to-eye, which would probably be the most difficult. For as far solutions go, let me first explain how I imagine the setup. The entire application configuration experience would be done from a feature tree in the setup. Think of something along the lines of: [ ] .XYZ support. [x] .DEF support. [x] .DEF2 support. Afterwards, the Change feature in the Installed Programs list could be used to change or repair these shell extensions. I was thinking of solving one of the architecture problems using the bootstrapper burn. (I might be getting that one wrong, the fire-related names are all one big blur after all this reading...) It could activate the proper MSI for the proper platform. The 32-bit support for 64-bit platforms is tricky. I thought about having it optional, but I decided my users would only be confused if I offered them a bitness option, so I want to have it turned on by default. I recall reading somewhere that it is possible to do hidden installs of other .msi packages, having no entries pop up in Installed Programs etc. Assuming I understood that right, and assuming I can somehow feed the 'installed features' from the 64-bit .msi to the 32-bit .msi, I could avoid having two entries pop up in the Installed Programs applet ('MyApp 32-bit', 'MyApp 64-bit'). At this point, it is kind of obvious to me that I will probably not want to make the installable directory configurable, but have the setup copy to 'C:\Program Files\MyApp' and 'C:\Program Files (x86)\MyApp' as appropriate. If I did not and would let the user pick a location, they might very will pick one of those places only to have half of the functionality disappear on them depending on whether my shell extensions were to be utilized from the native Explorer or a 32-bit application using an Open File dialog. The file extension ownership issues, and how to deal with different ProgID's, are mysteries to me. I could probably figure out how to install to a fixed ProgID with no regard of the users current installed affairs, but that is not what I want. The concept of installing extensions for files you don't actually own seems to be like a rare occurrance. Who'd have guessed! :) If anyone read this far, I commend you. Now my questions are as follows, maybe not too specific, but still: a) Objectively, is WiX the right option, or should I look at other installers for this purpose? b) Are there any samples of scripts that install shell extensions? I have looked around, but found nothing. Reinventing the wheel is something I will probably be pretty crappy at. c) Likewise, are there any samples dealing with such specific requirements for as far the platform goes? Again, my wheel would likely not be all that round. And similarly... I welcome any comments or other thoughts based on my research so far. There's probably a few bad assumptions and understandings, but as I said, I'm new to WI/WiX, and have studied as much as I can make sense of. Regards, Jan Wester ------------------------------------------------------------------------ ------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users