[WiX-users] Patching after disabling Repair
Hello How do i apply a patch to a product that does not support Repair (Repair disabled when it was shipped) Running the patch silently from the command line does not seems to work because I have a type19 custom action that is conditioned as REINSTALL = ALL Any ideas?? - Andy MSI Developer Schneider Electric:working: -- View this message in context: http://n2.nabble.com/Patching-after-disabling-Repair-tp3863467p3863467.html Sent from the wix-users mailing list archive at Nabble.com. -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Patching after disabling Repair
If you can bootstrap your patch, you might be able to set REINSTALL to the list of installed features instead of ALL. Otherwise you may be forced to use a Major Upgrade. -Original Message- From: Andy2k8 [mailto:appr...@gmail.com] Sent: Tuesday, October 20, 2009 11:50 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Patching after disabling Repair Hello How do i apply a patch to a product that does not support Repair (Repair disabled when it was shipped) Running the patch silently from the command line does not seems to work because I have a type19 custom action that is conditioned as REINSTALL = ALL Any ideas?? - Andy MSI Developer Schneider Electric:working: -- View this message in context: http://n2.nabble.com/Patching-after-disabling-Repair-tp3863467p3863467.html Sent from the wix-users mailing list archive at Nabble.com. -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Patching after disabling Repair
The thought that followed right after I pushed Send is that in your patch you can change/remove that condition. The (updated) condition will be evaluated AFTER you transform it. -Original Message- From: Blair [mailto:os...@live.com] Sent: Wednesday, October 21, 2009 12:10 AM To: 'General discussion for Windows Installer XML toolset.' Subject: RE: [WiX-users] Patching after disabling Repair If you can bootstrap your patch, you might be able to set REINSTALL to the list of installed features instead of ALL. Otherwise you may be forced to use a Major Upgrade. -Original Message- From: Andy2k8 [mailto:appr...@gmail.com] Sent: Tuesday, October 20, 2009 11:50 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Patching after disabling Repair Hello How do i apply a patch to a product that does not support Repair (Repair disabled when it was shipped) Running the patch silently from the command line does not seems to work because I have a type19 custom action that is conditioned as REINSTALL = ALL Any ideas?? - Andy MSI Developer Schneider Electric:working: -- View this message in context: http://n2.nabble.com/Patching-after-disabling-Repair-tp3863467p3863467.html Sent from the wix-users mailing list archive at Nabble.com. -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Patching after disabling Repair
OK. In that case using a custom action that sets the ARPNOREPAIR value to 0 before the launch conditions/ would do the trick?? Blair-2 wrote: The thought that followed right after I pushed Send is that in your patch you can change/remove that condition. The (updated) condition will be evaluated AFTER you transform it. -Original Message- From: Blair [mailto:os...@live.com] Sent: Wednesday, October 21, 2009 12:10 AM To: 'General discussion for Windows Installer XML toolset.' Subject: RE: [WiX-users] Patching after disabling Repair If you can bootstrap your patch, you might be able to set REINSTALL to the list of installed features instead of ALL. Otherwise you may be forced to use a Major Upgrade. -Original Message- From: Andy2k8 [mailto:appr...@gmail.com] Sent: Tuesday, October 20, 2009 11:50 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Patching after disabling Repair Hello How do i apply a patch to a product that does not support Repair (Repair disabled when it was shipped) Running the patch silently from the command line does not seems to work because I have a type19 custom action that is conditioned as REINSTALL = ALL Any ideas?? - Andy MSI Developer Schneider Electric:working: -- View this message in context: http://n2.nabble.com/Patching-after-disabling-Repair-tp3863467p3863467.html Sent from the wix-users mailing list archive at Nabble.com. -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users - Andy MSI Developer Schneider Electric:working: -- View this message in context: http://n2.nabble.com/Patching-after-disabling-Repair-tp3863467p3863743.html Sent from the wix-users mailing list archive at Nabble.com. -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Installing a Program for All users without admin rights
I ahve a question regarding Installation Privileges and the setting of the ALLUSERS property: Is it possible to install an MSI in the allusers context without having admin or any special rights (so be a normal user)? cheers, Tobias -- Jetzt kostenlos herunterladen: Internet Explorer 8 und Mozilla Firefox 3.5 - sicherer, schneller und einfacher! http://portal.gmx.net/de/go/chbrowser -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] How to create window before exit dialog
Hello, how can i create a window before ExitDialog window? I want to show my own Dialog window (MyDlg) before ExitDialog window. I am trying this but it is not functioning. Publish Dialog=SetupTypeDlg Control=Next Event=NewDialog Value=MyDlg1/Publish I think, i am missing the right name of Dialog and Control. How to accomplish it? Thanks in advance and Best Regards Adnan -- View this message in context: http://n2.nabble.com/How-to-create-window-before-exit-dialog-tp3864113p3864113.html Sent from the wix-users mailing list archive at Nabble.com. -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Installing a Program for All users without adminrights
Simple Answer: No. Complex Answer: It depends on exactly what your installer does but the things you can do are so limited they may as well not be possible either. Hence the simple answer. Palbinder Sandher Software Deployment IT Administrator T: +44 (0) 141 945 8500 F: +44 (0) 141 945 8501 http://www.iesve.com **Design, Simulate + Innovate with the Virtual Environment** Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 0SP Email Disclaimer -Original Message- From: Tobi Ha [mailto:tob...@gmx.net] Sent: 21 October 2009 09:54 To: wix-users@lists.sourceforge.net Subject: [WiX-users] Installing a Program for All users without adminrights I ahve a question regarding Installation Privileges and the setting of the ALLUSERS property: Is it possible to install an MSI in the allusers context without having admin or any special rights (so be a normal user)? cheers, Tobias -- Jetzt kostenlos herunterladen: Internet Explorer 8 und Mozilla Firefox 3.5 - sicherer, schneller und einfacher! http://portal.gmx.net/de/go/chbrowser -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Installing a Program for All users without
Thanks for the quick response, so this was my first guess either. So the other question is: is there a way to author a single installation that can be isntalled in per user and all user context? The MSI MSDN help states this is only possible for Windows 7 with MSI 5.0... cheers, Tobias Date: Wed, 21 Oct 2009 10:29:53 +0100 From: Pally Sandher pally.sand...@iesve.com Subject: Re: [WiX-users] Installing a Program for All users without adminrights To: General discussion for Windows Installer XML toolset. wix-users@lists.sourceforge.net Message-ID: 7e4ef7766063ec4091542b5b3e671ec40226f...@mail.iesve.com Content-Type: text/plain;charset=us-ascii Simple Answer: No. Complex Answer: It depends on exactly what your installer does but the things you can do are so limited they may as well not be possible either. Hence the simple answer. Palbinder Sandher Software Deployment IT Administrator T: +44 (0) 141 945 8500 F: +44 (0) 141 945 8501 http://www.iesve.com **Design, Simulate + Innovate with the Virtual Environment** Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 0SP Email Disclaimer -Original Message- From: Tobi Ha [mailto:tob...@gmx.net] Sent: 21 October 2009 09:54 To: wix-users@lists.sourceforge.net Subject: [WiX-users] Installing a Program for All users without adminrights I ahve a question regarding Installation Privileges and the setting of the ALLUSERS property: Is it possible to install an MSI in the allusers context without having admin or any special rights (so be a normal user)? cheers, Tobias -- Jetzt kostenlos herunterladen: Internet Explorer 8 und Mozilla Firefox 3.5 - sicherer, schneller und einfacher! http://portal.gmx.net/de/go/atbrowser -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Beginner's Question on Multi Language Installer
Using the functionality Blair described below you could have your project build multiple versions of the same MSI, bundle them all with a bootstrapper have the bootstrapper launch the correct one depending on the users locale language settings. I haven't taken time to look at burn yet but you could do this in under 10 minutes using dotnetinstaller once your MSI's are built. If you don't embed your CAB file in the MSI's you should only need one CAB regardless of how many localised MSI's you have (since they all install the same files) thus keeping the file size of the complete package down. Unless your MSI's are ridiculously complex they should only be a few MB each. I expect this is how InstallShield or other similar products would approach this if they were using MSI's to achieve this. The advantage of having the same MSI built using different languages is that if you wanted to patch it you should only need to issue one MSP as the dialogs etc are used from the original MSI (unless you were patching something in your MSI which has localised text not just the payload of your MSI) so when patching the user would see the same language used during the original install. Major upgrades should also be uncomplicated in this scenario afford you the possibility of adding more languages which weren't available with earlier releases which can be switched to automatically by your bootstrapper (e.g. Russian language user installs version 1 English language MSI. Version 2 has Russian localised MSI available, bootstrapper runs this for our Russian user which automatically upgrades version 1 using Major Upgrade functionality even though the English language MSI was used for version 1 installation). Good Luck. Palbinder Sandher Software Deployment IT Administrator T: +44 (0) 141 945 8500 F: +44 (0) 141 945 8501 http://www.iesve.com **Design, Simulate + Innovate with the Virtual Environment** Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 0SP Email Disclaimer -Original Message- From: Blair [mailto:os...@live.com] Sent: 21 October 2009 01:11 To: 'General discussion for Windows Installer XML toolset.' Subject: Re: [WiX-users] Beginner's Question on Multi Language Installer It looks for the strings in all of the .wxl files sorting them in order of Culture, based on the order of the -Cultures parameter followed by the order the wxl files appear in the commandline. Example without using cultures, but placing the wxl files in numbered order: One.wxl: ...String Id=oneThis is the override/String... Two.wxl: ...String Id=oneThis is an override/String... ...String Id=twoThis is the second/String... ...String Id=fourThis is the fourth/String... Three.wxl: ...String Id=oneThis is the original/String... ...String Id=twoThis is another one/String... ...String Id=threeAnd yet another one/String... Then: Property Id=ONE Value=!(loc.one)/ Property Id=TWO Value=!(loc.two)/ Property Id=THREE Value=!(loc.three)/ Property Id=FOUR Value=!(loc.four)/ Results: ONE: This is the override TWO: This is the second THREE: And yet another one FOUR: This is the fourth If each of the above .wxl files had a culture of en-US and you added a fourth .wxl file with a culture of en-HK containing the following: ...String Id=oneWelcome to Hong Kong/String... ...String Id=threePlease come again/String... And then rebuilt using a -Cultures:en-HK,en-US parameter Results: ONE: Welcome to Hong Kong TWO: This is the second THREE: Please come again FOUR: This is the fourth In other words, in culture-order, search each WXL that exactly matches that culture until you find a matching string. Any given single MSI in the end understands just one language, based on the ProductLanguage tag (comes from produ...@language) and the content (a single value for each and every string). Everything else we do is intended to change that MSI's content so that a different language becomes apparent. That is where we re-link with different languages in order to generate the transforms that set our base MSI to those different languages. At that point, you can vary just the Cultures parameter and all WXL files that don't match the culture are ignored, so the command-line variation between the different links is minimal and easily controlled for. -Original Message- From: Markus KARG [mailto:markus.k...@gmx.net] Sent: Tuesday, October 20, 2009 3:01 PM To: 'General discussion for Windows Installer XML toolset.' Subject: Re: [WiX-users] Beginner's Question on Multi Language Installer Blair, thank you for your kind help. To sum up, multi-language support actually (or: officially) is not possible with a single .msi (or at least, not without either patching or transforming it before installation). What I do not understand under this circumstances is: Why can I add a LIST of cultures to light.exe? I mean, what does it actually do with all
Re: [WiX-users] Wix 2.0 - Patching?
As Blair says UpgradeCode is only needed for Major Upgrades. Patches don't need one (but you probably want to add one if/when you patch the offending product so you can use a major upgrade if you ever have to in the future). The WiX v2.0 help has a (very short) tutorial on creating patches at http://wix.sourceforge.net/manual-wix2/patch_building.htm Note: You will need a Windows SDK installed or some other way to access MSIMSP.exe and all it's dependencies (patchwiz.dll et al) which it neglects to mention. I used that method a couple of years ago before I upgraded to WiX v3.0 with much success (shipped 7 successive patches of the same product, wasn't pretty but it worked). If you can't create an administrative install of your product(s) you can build an uncompressed version of the installer by removing the Media Element from your XML IIRC which should work for patch creation but don't quote me on that as it has been literally years since I did anything remotely like that. Good Luck. Palbinder Sandher Software Deployment IT Administrator T: +44 (0) 141 945 8500 F: +44 (0) 141 945 8501 http://www.iesve.com **Design, Simulate + Innovate with the Virtual Environment** Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 0SP Email Disclaimer -Original Message- From: Blair [mailto:os...@live.com] Sent: 21 October 2009 00:36 To: 'General discussion for Windows Installer XML toolset.' Subject: Re: [WiX-users] Wix 2.0 - Patching? Actually you can patch without UpgradeID. UpgradeCode isn't used for Minor Upgrades or Small Updates. You can't easily or reliably perform automated Major Upgrades, however. If you patch, I would recommend adding the UpgradeCode via the patch. The product with the missing ProductId: There are ways to detect it, but how you would/should do so depends on some situational analysis. Would you mind pinging me offline and send me a non-disclose agreement (if you require one) and I can help you plan a way out of it? -Original Message- From: Craig Miller [mailto:craig.mil...@spatialminds.com] Sent: Tuesday, October 20, 2009 3:11 PM To: 'General discussion for Windows Installer XML toolset.' Subject: Re: [WiX-users] Wix 2.0 - Patching? Blair, Thanks for the helpful reply. Unfortunately I just found out that of the 53 installers I created last year, the one I now need to upgrade is the one where the UpgradeId was somehow left out. Looks like I won't be able to patch, major/minor upgrade this one at all. Boy, I sure wish MSI had a way to check for a previously install of a ProductID and then force the uninstall of it when performing a major upgrade (w/o requiring an UpgradeID). While not the reason for omitting it, I have to admit that I thought the UpgradeID would only be required for patches and minor updates. Craig -Original Message- From: Blair [mailto:os...@live.com] Sent: Tuesday, October 20, 2009 12:58 PM To: 'General discussion for Windows Installer XML toolset.' Subject: Re: [WiX-users] Wix 2.0 - Patching? If your build system and your installer will allow administrative installs, you have three choices: 1. The pyro from MSI technique described by Peter. 2. The PatchWiz approach described as the SDK way in the WiX help. 3. What I call your preferred option. If your installer doesn't support admin installs, or if you can't perform those reliably in your build process, you will be forced to consider what I would call your preferred option: Run your source WXS file through version 3's WixCop and build your installer using WiX 3. You will need to make any adjustments needed so that an MSIDIFF regards the MSI you then build as functionally identical to the shipped one (alter IDs, etc.). Then make your changes and build your Patch. -Original Message- From: Craig Miller [mailto:craig.mil...@spatialminds.com] Sent: Tuesday, October 20, 2009 10:00 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Wix 2.0 - Patching? Does anyone have any suggestions or links that explain the easiest way to create a patch for a Wix 2.0 wxs/msi file? E.g. I have an installer and the source WXS file for a Wix 2.0 installer that I now need to patch. The original installer has a custom UI that I'd like to replicate in the patch installer. Thanks, Craig -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net
Re: [WiX-users] Beginner's Question on Multi Language Installer
In stead of a bootstrapper - selecting the wanted transform - is it possible for the .msi file itself to select a transform file? Maybe in a C++ CA? Blair-2 wrote: You get German since that is the first one in your list of Cultures. MSI has never officially supported the scenario you describe directly. You are perfectly free to create per-language transforms and use an .EXE file to install your MSI with those transforms (the supported way). There are some who have had success with embedding those same transforms based on a particular naming convention and having them auto-selected by the OS (not supported, but I'm told it works). There may or may not be issues with generating working MSP files if you use those transforms (you may have to mess with the transform applicability rules of the patch-supplied transforms depending on what the original language transforms did). You may be able to use the instance transform related tags in WiX, but I have never tried that so I don't know what gotchas you may find that way. Otherwise you may be able to link each language separately into .wixout files, generate your transforms from those, and bind the baseline wixout into the MSI you subsequently apply each MST to. -Original Message- From: Markus KARG [mailto:markus.k...@gmx.net] Sent: Tuesday, October 20, 2009 12:06 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Beginner's Question on Multi Language Installer Hello Everybody, I am new to both, MSI technology in general and the WiX product in particular, but I have some experience with some old InstallShield products (pre-MSI-age). InstallShield allowed me to simply add translated strings for lots of languages, so one single setup.exe contained the installer in multi languages. This was very smart since I was able to send the same setup.exe to any country of the world. Now I want to write an installer with WiX that is also multi language (I don't want to have lots of setup.msi files, but only a single one). I wrote several .wxl files and linked them together using a line like this one: light.exe -cultures:de,neutral;fr,neutral;en,neutral;neutral -loc de.wxl -loc fr.wxl -loc en.wxl -loc neutral.wxl Setup.wixobj (While actually told nowhere, it seems that neutral.wxl must contain ' .culture=. ' [i. e. empty string] to indicate that it is the neutral culture. I found out that by trial and error when adding the neutral fallback to each culture). What I expect to get from light.exe is one single .msi file containing all four language packs: German, French, English and Neutral. Light provides a single .msi so from the outside it seems to work. My target is that the Windows Installer at install time picks German, French or English strings automatically, depending on the user's current Region and Language Settings or instead picks neutral strings when the current user's local setting is neither German, French nor English (for example, Polish / Poland). While light v3 accepts the above line and does not complain in any way (not even ICE warnings), the Windows Installer picks Germany *always* when running the resulting .msi file on my laptop -- despite the current setting of Polish / Poland in the Region and Language Settings control panel. :-( Can anybody tell me what my fault is? Thanks Markus -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- View this message in context: http://n2.nabble.com/Beginner-s-Question-on-Multi-Language-Installer-tp3860692p3864297.html Sent from the wix-users mailing list archive at Nabble.com. -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend
Re: [WiX-users] Installing a Program for All users without
It is potentially possible to either allow the user to choose whether to install per-user or per-machine by providing some method of setting the ALLUSERS property such as a couple of radio buttons and you could take the choice away from them if they aren't running as Administrator by conditioning the choice using the Privileged property. However when running a per-user install you are limited to the things you can do. As far as I'm aware you cannot write to HKLM HKCR registry hives so most registration operations are not possible. I'm not 100% sure but I don't think you can write to ProgramFilesFolder and other similar places (all your file folder changes need to be in per-User locations all of which are under the users profile directory). Unless you're limiting your application/installer to *only* Windows 7 and/or Windows Installer 5.0 then the answer appears to be no. As Windows XP SP3 only has Windows Installer 3.1 Windows Vista SP2 only has Windows Installer 4.0 (by default, Windows Installer 4.5 has a redist available for both but is not automatically pushed out by Microsoft Update) I would personally not try to attempt this but I suggest you make your own choice. Once Windows Installer 5.0 is made available you could potentially bootstrap it before your MSI but that would require administrator privileges to install making the whole discussion moot unless Microsoft decide to push it out using Automatic Updates. The following links may give you more information: Installation Context - http://msdn.microsoft.com/en-us/library/dd765197%28VS.85%29.aspx Windows Installer Team Blog on Authoring a single package for Per-User or Per-Machine Installation context in Windows 7 - http://blogs.msdn.com/windows_installer_team/archive/2009/09/02/authorin g-a-single-package-for-per-user-or-per-machine-installation-context-in-w indows-7.aspx Good Luck. Palbinder Sandher Software Deployment IT Administrator T: +44 (0) 141 945 8500 F: +44 (0) 141 945 8501 http://www.iesve.com **Design, Simulate + Innovate with the Virtual Environment** Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 0SP Email Disclaimer -Original Message- From: Tobi Ha [mailto:tob...@gmx.net] Sent: 21 October 2009 10:37 To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Installing a Program for All users without Thanks for the quick response, so this was my first guess either. So the other question is: is there a way to author a single installation that can be isntalled in per user and all user context? The MSI MSDN help states this is only possible for Windows 7 with MSI 5.0... cheers, Tobias Date: Wed, 21 Oct 2009 10:29:53 +0100 From: Pally Sandher pally.sand...@iesve.com Subject: Re: [WiX-users] Installing a Program for All users without adminrights To: General discussion for Windows Installer XML toolset. wix-users@lists.sourceforge.net Message-ID: 7e4ef7766063ec4091542b5b3e671ec40226f...@mail.iesve.com Content-Type: text/plain;charset=us-ascii Simple Answer: No. Complex Answer: It depends on exactly what your installer does but the things you can do are so limited they may as well not be possible either. Hence the simple answer. Palbinder Sandher Software Deployment IT Administrator T: +44 (0) 141 945 8500 F: +44 (0) 141 945 8501 http://www.iesve.com **Design, Simulate + Innovate with the Virtual Environment** Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 0SP Email Disclaimer -Original Message- From: Tobi Ha [mailto:tob...@gmx.net] Sent: 21 October 2009 09:54 To: wix-users@lists.sourceforge.net Subject: [WiX-users] Installing a Program for All users without adminrights I ahve a question regarding Installation Privileges and the setting of the ALLUSERS property: Is it possible to install an MSI in the allusers context without having admin or any special rights (so be a normal user)? cheers, Tobias -- Jetzt kostenlos herunterladen: Internet Explorer 8 und Mozilla Firefox 3.5 - sicherer, schneller und einfacher! http://portal.gmx.net/de/go/atbrowser -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Come build with us! The BlackBerry(R)
Re: [WiX-users] How to create window before exit dialog
Hi, If you are using a wix project in Visual Studio, add a reference to the WIXUI dll and add the code in. below is a sample that adds a custom dialog called ServiceIdentityDlg. UIRef Id=WixUI_Common / UI Property Id=DefaultUIFont Value=WixUI_Font_Normal / TextStyle Id=WixUI_Font_Normal FaceName=Tahoma Size=8 / TextStyle Id=WixUI_Font_Bigger FaceName=Tahoma Size=12 / TextStyle Id=WixUI_Font_Title FaceName=Tahoma Size=9 Bold=yes / Property Id=WIXUI_INSTALLDIR Value=[SET INSTALLLOCATION HERE] / Property Id=ARPNOMODIFY Value=1 / Property Id=WixUI_Mode Value=FeatureTree / DialogRef Id=BrowseDlg / DialogRef Id=DiskCostDlg / DialogRef Id=ErrorDlg / DialogRef Id=FatalError / DialogRef Id=FilesInUse / DialogRef Id=MsiRMFilesInUse / DialogRef Id=PrepareDlg / DialogRef Id=ProgressDlg / DialogRef Id=ResumeDlg / DialogRef Id=UserExit / Publish Dialog=ExitDialog Control=Finish Event=EndDialog Value=Return Order=9991/Publish Publish Dialog=WelcomeDlg Control=Next Event=NewDialog Value=InstallDirDlg1/Publish Publish Dialog=InstallDirDlg Control=Back Event=NewDialog Value=WelcomeDlg1/Publish Publish Dialog=InstallDirDlg Control=Next Event=SetTargetPath Value=[WIXUI_INSTALLDIR] Order=11/Publish Publish Dialog=InstallDirDlg Control=Next Event=NewDialog Value=ServiceIdentityDlg Order=21/Publish Publish Dialog=InstallDirDlg Control=ChangeFolder Property=_BrowseProperty Value=[WIXUI_INSTALLDIR] Order=11/Publish Publish Dialog=InstallDirDlg Control=ChangeFolder Event=SpawnDialog Value=BrowseDlg Order=21/Publish Publish Dialog=ServiceIdentityDlg Control=Back Event=NewDialog Value=InstallDirDlg Order=11/Publish Publish Dialog=ServiceIdentityDlg Control=Next Event=NewDialog Value=CustomizeDlg Order=21/Publish Publish Dialog=CustomizeDlg Control=Back Event=NewDialog Value=ServiceIdentityDlg Order=1Installed/Publish Publish Dialog=CustomizeDlg Control=Next Event=NewDialog Value=VerifyReadyDlg1/Publish Publish Dialog=VerifyReadyDlg Control=Back Event=NewDialog Value=ServiceIdentityDlg Order=1NOT Installed/Publish Publish Dialog=VerifyReadyDlg Control=Back Event=NewDialog Value=MaintenanceTypeDlg Order=2Installed/Publish Publish Dialog=MaintenanceWelcomeDlg Control=Next Event=NewDialog Value=MaintenanceTypeDlg1/Publish Publish Dialog=MaintenanceTypeDlg Control=RepairButton Event=NewDialog Value=VerifyReadyDlg1/Publish Publish Dialog=MaintenanceTypeDlg Control=RemoveButton Event=NewDialog Value=VerifyReadyDlg1/Publish Publish Dialog=MaintenanceTypeDlg Control=Back Event=NewDialog Value=MaintenanceWelcomeDlg1/Publish Dialog Id=ServiceIdentityDlg Width=370 Height=270 Title=[ProductName] Service Account Control Id=Title Type=Text X=15 Y=6 Width=200 Height=15 Transparent=yes NoPrefix=yes Text={\WixUI_Font_Title}Service Account Information / Control Id=Description Type=Text X=25 Y=23 Width=280 Height=24 Transparent=yes NoPrefix=yes Text=Enter the text / Control Id=BannerBitmap Type=Bitmap X=0 Y=3 Width=370 Height=49 TabSkip=no Text=!(loc.InstallDirDlgBannerBitmap) / Control Id=BannerLine Type=Line X=0 Y=52 Width=370 Height=2 / Control Id=UserNameLabel Type=Text X=20 Y=60 Width=290 Height=13 Text=text / Control Id=UserName Type=Edit X=20 Y=72 Width=320 Height=15 Property=USERNAME Text=47 / Control Id=PasswordLabel Type=Text X=20 Y=93 Width=290 Height=13 Text=Password: / Control Id=Password Type=Edit Password=yes X=20 Y=105 Width=320 Height=15 Property=PASSWORD Text={53} / Control Id=DomainLabel Type=Text X=20 Y=126 Width=290 Height=13 Text=Domain: / Control Id=Domain Type=Edit X=20 Y=139 Width=320 Height=15 Property=DOMAIN / Control Id=BottomLine Type=Line X=0 Y=234 Width=370 Height=0 / Control Id=Next Type=PushButton X=236 Y=243 Width=56 Height=17 Default=yes Text=Next / Control Id=Back Type=PushButton X=180 Y=243 Width=56 Height=17 Text=Back / Control Id=Cancel Type=PushButton X=304 Y=243 Width=56 Height=17 Cancel=yes Text=Cancel Publish Event=SpawnDialog Value=CancelDlg1/Publish /Control /Dialog /UI Hope this helps Regards -Original Message- From: danimian [mailto:miand...@gmail.com] Sent: 21 October 2009 10:34 To: wix-users@lists.sourceforge.net Subject: [WiX-users] How to create window before exit dialog Hello, how can i create a window before ExitDialog window? I want to show my own Dialog window (MyDlg) before ExitDialog window. I am trying this but it is not functioning. Publish Dialog=SetupTypeDlg Control=Next Event=NewDialog Value=MyDlg1/Publish I think, i am missing the right name of Dialog and Control. How to accomplish it? Thanks in advance and Best Regards Adnan -- View this message in context:
[WiX-users] How to make an updatable wix installer working as a new install
Hi Wix - users, I have developed one installer with Wix3. It is one upgradable installer. It has defination about upgrade: UpgradeCode=8517ae9a-667d-4bd3-9cea-4323be6d7040 Upgrade Id=8517ae9a-667d-4bd3-9cea-4323be6d7040 UpgradeVersion OnlyDetect=no Property=PREVIOUSFOUND Minimum=5.0.0.0 IncludeMinimum=yes Maximum=8.0.0.0 IncludeMaximum=no / /Upgrade When I install this installer for the first time, it works fine. And if there is newer version coming out, and I use the new version to upgrade the last install, it also works good. But if I want to install the newer version to another path, there is problem. Although the new version installer can copy the files and register them, it still checked the old install. The following is the log: Action start 13:59:06: InstallValidate. Info 1603. The file d:\OldInstall\qsqlite4.dll is being held in use by the following process: Name: VPMaskServer, Id: 4004, Window Title: '(not determined yet)'. Close that application and retry. ... Error 1306. Another application has exclusive access to the file 'd:\OldInstall\admin.xml'. Please shut down all other applications, then click Retry. How to make the installer to be able both for upgrade and for new install? I would like to have a dialog, when select New Install, then installer does new install; when select Upgrade, then installer does upgrade. Furthermore, when it is possible to install more than one time, there should be another dialog, to show all the installed versions, and user can decide which version should be upgraded. I am sorry that maybe there are too many questions in this post. But could some one give me the hints how to realize it? Best regards, Chunyan -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Components won't uninstall
We have a project that includes several wixlibs. These wixlibs all export ComponentGroupRefs to one of two features in our main WiX project. Installation appears to be working fine. But when I uninstall the application, all of the components from one of the wixlibs do NOT get uninstalled. When I run the uninstall with logging enabled (msiexec /x myapplication.msi /l*vx! unapp.txt), the log shows that all of the components within that wixlibs are NOT selected for uninstall. Here's an entry for a compoentn that does NOT get uninstalled... Component: cmp3FCC6D0CB9841934B61F0C0B219BEC2C; Installed: Local; Request: Null; Action: Null; Client State: Local Here's an entry for a component that does get uninstalled... Component: cmp861EF22528A3DB48FAF7A07DD78B91CC; Installed: Local; Request: Absent; Action: Absent; Client State: Local Why would this happen? Is there something I could look for in the install or uninstall logs to give me a clue? -- Tony -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Components won't uninstall
hello stop that -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] WiX Controls: Expanding properties to text?
One thing to keep in mind as you go down this path is that the MSI database is not a Unicode file. That means you can only put multiple languages in the MSI that share the same code page. virtually, Rob Mensching - RobMensching.com LLC http://robmensching.com On Tue, Oct 20, 2009 at 5:12 AM, mrtn mrtn.frederik...@gmail.com wrote: Thank you very much for your feedback. Maybe I will do a mix. My plan is that I will implement all UI from UIExtension, and only a few dialogs has these texts that are not beeing formatted. I still have to figure out how to handle: UIText Id... and Progress/Error texts I hope conditions can help me... // morten Pally Sandher wrote: I think the only way for you to have localised text in the remaining places would be to have a localised versions of the UI dialog(s) condition showing the dialog depending on the language code. That would be a lot of copy pasting will likely increase your MSI file size. You could try to minimize the amount of non-formatted strings your UI uses which would mostly side-step the issue. However this may not be entirely possible but could cut down on the number of repeated dialogs you have to create. Good luck. Palbinder Sandher Software Deployment IT Administrator T: +44 (0) 141 945 8500 F: +44 (0) 141 945 8501 http://www.iesve.com **Design, Simulate + Innovate with the Virtual Environment** Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 0SP Email Disclaimer -Original Message- From: mrtn [mailto:mrtn.frederik...@gmail.com] Sent: 20 October 2009 10:13 To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] WiX Controls: Expanding properties to text? Thank you for your answers. Using preprocessor variable will not be enough. Here is what I am trying to do (it might be crasy). My goal is to have one .msi file with localized UI for mulitple languages. Right now I have: Every string is put into a property! This is done in a custom action (that looks at the system culture). Changed all dialogs to get the text from these properties. All this works fine. I almost get every UI with the localized strings. What I am missing is a few strings in some controls:-( I am almost at my goal: Having one .msi file with all supported languages. Dave Kolb-2 wrote: Consider using preprocessor variables? -Original Message- From: Blair [mailto:os...@live.com] Sent: Monday, October 19, 2009 6:32 PM To: 'General discussion for Windows Installer XML toolset.' Subject: Re: [WiX-users] WiX Controls: Expanding properties to text? It all depends. The expansion will occur whenever the field is of type formatted and won't wherever it isn't. You may have to look to see which database column each field is stored into to see what the column data type is (to know what the possibilities are, see this page: http://msdn.microsoft.com/library/aa367869.aspx). To get property expansions, the column must be from this list: Path Paths AnyPath RegPath Formatted FormattedSDDLText Template Shortcut In your case, if you look at the Control element in the WiX help file, you will see that the attributes you used are all stored in the Control table. The various attributes you used go into the following: Attribute Column ColumnType Id Control Identifier TypeTypeIdentifier X X Integer Y Y Integer Width Width Integer Height Height Integer TextTextFormatted ToolTip Help(first part) Text The only expansion that happens in this table is the Text column, which comes from the Text attribute of the Control element. So, no bug. -Original Message- From: mrtn [mailto:mrtn.frederik...@gmail.com] Sent: Monday, October 19, 2009 12:05 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] WiX Controls: Expanding properties to text? Hi, When using a property as text in a control. Some gets expanded some don't. Here is an example: Control Id=Test Type=PushButton X=10 Y=10 Width=100 Height=20 Text=Test: [ProductName] ToolTip=Test: [ProductName] / The button text gets expanded. Like: Test: MyAppName But the tooltip dont: Test: [ProductName] The tree control also do this. Is that a bug? // morten -- View this message in context: http://n2.nabble.com/WiX-Controls-Expanding-properties-to-text-tp38511 74p385 1174.html Sent from the wix-users mailing list archive at Nabble.com. -- -- -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this
Re: [WiX-users] Components won't uninstall
Almost always and Action state of Null means you have a Condition that is evaluating the Component out. The condition may be on the Feature or it may be on the Component if the Component is marked Transitive. If that isn't it, can you provide more detail about the Component and Feature relationship to debug futher. virtually, Rob Mensching - RobMensching.com LLC http://robmensching.com On Wed, Oct 21, 2009 at 6:11 AM, Tony yellowjacketl...@gmail.com wrote: We have a project that includes several wixlibs. These wixlibs all export ComponentGroupRefs to one of two features in our main WiX project. Installation appears to be working fine. But when I uninstall the application, all of the components from one of the wixlibs do NOT get uninstalled. When I run the uninstall with logging enabled (msiexec /x myapplication.msi /l*vx! unapp.txt), the log shows that all of the components within that wixlibs are NOT selected for uninstall. Here's an entry for a compoentn that does NOT get uninstalled... Component: cmp3FCC6D0CB9841934B61F0C0B219BEC2C; Installed: Local; Request: Null; Action: Null; Client State: Local Here's an entry for a component that does get uninstalled... Component: cmp861EF22528A3DB48FAF7A07DD78B91CC; Installed: Local; Request: Absent; Action: Absent; Client State: Local Why would this happen? Is there something I could look for in the install or uninstall logs to give me a clue? -- Tony -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- virtually, Rob Mensching - http://RobMensching.com LLC -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Installing a Program for All users without
I'd shorten Pally's answer to Not without a bootstrapper or MSI 5.0. smile/ virtually, Rob Mensching - RobMensching.com LLC http://robmensching.com On Wed, Oct 21, 2009 at 3:28 AM, Pally Sandher pally.sand...@iesve.comwrote: It is potentially possible to either allow the user to choose whether to install per-user or per-machine by providing some method of setting the ALLUSERS property such as a couple of radio buttons and you could take the choice away from them if they aren't running as Administrator by conditioning the choice using the Privileged property. However when running a per-user install you are limited to the things you can do. As far as I'm aware you cannot write to HKLM HKCR registry hives so most registration operations are not possible. I'm not 100% sure but I don't think you can write to ProgramFilesFolder and other similar places (all your file folder changes need to be in per-User locations all of which are under the users profile directory). Unless you're limiting your application/installer to *only* Windows 7 and/or Windows Installer 5.0 then the answer appears to be no. As Windows XP SP3 only has Windows Installer 3.1 Windows Vista SP2 only has Windows Installer 4.0 (by default, Windows Installer 4.5 has a redist available for both but is not automatically pushed out by Microsoft Update) I would personally not try to attempt this but I suggest you make your own choice. Once Windows Installer 5.0 is made available you could potentially bootstrap it before your MSI but that would require administrator privileges to install making the whole discussion moot unless Microsoft decide to push it out using Automatic Updates. The following links may give you more information: Installation Context - http://msdn.microsoft.com/en-us/library/dd765197%28VS.85%29.aspx Windows Installer Team Blog on Authoring a single package for Per-User or Per-Machine Installation context in Windows 7 - http://blogs.msdn.com/windows_installer_team/archive/2009/09/02/authorin g-a-single-package-for-per-user-or-per-machine-installation-context-in-w indows-7.aspx Good Luck. Palbinder Sandher Software Deployment IT Administrator T: +44 (0) 141 945 8500 F: +44 (0) 141 945 8501 http://www.iesve.com **Design, Simulate + Innovate with the Virtual Environment** Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 0SP Email Disclaimer -Original Message- From: Tobi Ha [mailto:tob...@gmx.net] Sent: 21 October 2009 10:37 To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Installing a Program for All users without Thanks for the quick response, so this was my first guess either. So the other question is: is there a way to author a single installation that can be isntalled in per user and all user context? The MSI MSDN help states this is only possible for Windows 7 with MSI 5.0... cheers, Tobias Date: Wed, 21 Oct 2009 10:29:53 +0100 From: Pally Sandher pally.sand...@iesve.com Subject: Re: [WiX-users] Installing a Program for All users without adminrights To: General discussion for Windows Installer XML toolset. wix-users@lists.sourceforge.net Message-ID: 7e4ef7766063ec4091542b5b3e671ec40226f...@mail.iesve.com Content-Type: text/plain;charset=us-ascii Simple Answer: No. Complex Answer: It depends on exactly what your installer does but the things you can do are so limited they may as well not be possible either. Hence the simple answer. Palbinder Sandher Software Deployment IT Administrator T: +44 (0) 141 945 8500 F: +44 (0) 141 945 8501 http://www.iesve.com **Design, Simulate + Innovate with the Virtual Environment** Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 0SP Email Disclaimer -Original Message- From: Tobi Ha [mailto:tob...@gmx.net] Sent: 21 October 2009 09:54 To: wix-users@lists.sourceforge.net Subject: [WiX-users] Installing a Program for All users without adminrights I ahve a question regarding Installation Privileges and the setting of the ALLUSERS property: Is it possible to install an MSI in the allusers context without having admin or any special rights (so be a normal user)? cheers, Tobias -- Jetzt kostenlos herunterladen: Internet Explorer 8 und Mozilla Firefox 3.5 - sicherer, schneller und einfacher! http://portal.gmx.net/de/go/atbrowser -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now!
Re: [WiX-users] Beginner's Question on Multi Language Installer
Unfortunately, no. Have you read through the WiX tutorial http://wix.sf.net/tutorial? I thought it had a nice section on languages in MSIs. virtually, Rob Mensching - RobMensching.com LLC http://robmensching.com On Wed, Oct 21, 2009 at 3:13 AM, mrtn mrtn.frederik...@gmail.com wrote: In stead of a bootstrapper - selecting the wanted transform - is it possible for the .msi file itself to select a transform file? Maybe in a C++ CA? Blair-2 wrote: You get German since that is the first one in your list of Cultures. MSI has never officially supported the scenario you describe directly. You are perfectly free to create per-language transforms and use an .EXE file to install your MSI with those transforms (the supported way). There are some who have had success with embedding those same transforms based on a particular naming convention and having them auto-selected by the OS (not supported, but I'm told it works). There may or may not be issues with generating working MSP files if you use those transforms (you may have to mess with the transform applicability rules of the patch-supplied transforms depending on what the original language transforms did). You may be able to use the instance transform related tags in WiX, but I have never tried that so I don't know what gotchas you may find that way. Otherwise you may be able to link each language separately into .wixout files, generate your transforms from those, and bind the baseline wixout into the MSI you subsequently apply each MST to. -Original Message- From: Markus KARG [mailto:markus.k...@gmx.net] Sent: Tuesday, October 20, 2009 12:06 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Beginner's Question on Multi Language Installer Hello Everybody, I am new to both, MSI technology in general and the WiX product in particular, but I have some experience with some old InstallShield products (pre-MSI-age). InstallShield allowed me to simply add translated strings for lots of languages, so one single setup.exe contained the installer in multi languages. This was very smart since I was able to send the same setup.exe to any country of the world. Now I want to write an installer with WiX that is also multi language (I don't want to have lots of setup.msi files, but only a single one). I wrote several .wxl files and linked them together using a line like this one: light.exe -cultures:de,neutral;fr,neutral;en,neutral;neutral -loc de.wxl -loc fr.wxl -loc en.wxl -loc neutral.wxl Setup.wixobj (While actually told nowhere, it seems that neutral.wxl must contain ' .culture=. ' [i. e. empty string] to indicate that it is the neutral culture. I found out that by trial and error when adding the neutral fallback to each culture). What I expect to get from light.exe is one single .msi file containing all four language packs: German, French, English and Neutral. Light provides a single .msi so from the outside it seems to work. My target is that the Windows Installer at install time picks German, French or English strings automatically, depending on the user's current Region and Language Settings or instead picks neutral strings when the current user's local setting is neither German, French nor English (for example, Polish / Poland). While light v3 accepts the above line and does not complain in any way (not even ICE warnings), the Windows Installer picks Germany *always* when running the resulting .msi file on my laptop -- despite the current setting of Polish / Poland in the Region and Language Settings control panel. :-( Can anybody tell me what my fault is? Thanks Markus -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- View this
Re: [WiX-users] head and GUIDs
1. Are you actually seeing your MSIs get generated with different GUIDs when using the Component/@Guid=*? If so, that'd be a bug because it is supposed to auto-generate *stable* GUIDs. That's why it took so long to implement the feature. smile/ 2. If you use the -gg switch it generates new GUIDs every time. That was the first implementation and it has all the problems you list. On Tue, Oct 20, 2009 at 2:51 PM, Daniel Hughes daniel.hug...@tait.co.nzwrote: If I use heat to harvest the contents of a folder, I can set it to either generated GUIDs then or at compile time, or by default to put in place holders. However if I set it to generate GUIDs then, I will get a different GUID each time I run HEAT. If I set it to generate GUIDs at compile time I will get a different GUID each time I build my installer. My question is, do my components need to have the same GUID in each installer a produce. If so does this mean that HEAT is a tool which I can only use once to harvest the XML and then from then on I must edit it manually (so I don't lose the GUIDs). Cheers, Daniel === This email, including any attachments, is only for the intended addressee. It is subject to copyright, is confidential and may be the subject of legal or other privilege, none of which is waived or lost by reason of this transmission. If the receiver is not the intended addressee, please accept our apologies, notify us by return, delete all copies and perform no other act on the email. Unfortunately, we cannot warrant that the email has not been altered or corrupted during transmission. === -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- virtually, Rob Mensching - http://RobMensching.com LLC -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] UI Designer
We'd love to have it. Not a simply feature to implement. smile/ virtually, Rob Mensching - RobMensching.com LLC http://robmensching.com On Tue, Oct 20, 2009 at 5:22 AM, Slide slide.o@gmail.com wrote: Thanks for all the responses, I'll take a look at SharpDevelop and WixEdit, although I'd still like to contribute something to WiX as I've enjoyed using it :-) Thanks, slide On Tue, Oct 20, 2009 at 3:52 AM, Tim Musschoot tim.mussch...@telenet.be wrote: There is a limited-feature editor : http://wixedit.sourceforge.net/ I've used it in the past. It's not bad to get started quickly... -Oorspronkelijk bericht- Van: Pally Sandher [mailto:pally.sand...@iesve.com] Verzonden: dinsdag 20 oktober 2009 11:41 Aan: General discussion for Windows Installer XML toolset. Onderwerp: Re: [WiX-users] UI Designer Feature requested it more than a year ago - https://sourceforge.net/tracker/?func=detailatid=642717aid=2026675gro up_id=105970 https://sourceforge.net/tracker/?func=detailatid=642717aid=2026675gro%0Aup_id=105970 WiXEdit is quite good for this as it previews your dialogs from the XML code in an almost WYSIWYG type editor - https://sourceforge.net/projects/wixedit/ I wouldn't use it for much else though, Votive is far superior in VS 2005 VS 2008 for everything else in my opinion. Good luck. Palbinder Sandher Software Deployment IT Administrator T: +44 (0) 141 945 8500 F: +44 (0) 141 945 8501 http://www.iesve.com **Design, Simulate + Innovate with the Virtual Environment** Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 0SP Email Disclaimer -Original Message- From: Dominique Louis [mailto:dominique.lo...@amxeurope.com] Sent: 20 October 2009 09:30 To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] UI Designer SharpDevelop has a design for WiX which I've used to tweak UI elements, and I think VS 2010 will have one built in as well, when that's released. Dominique. -Original Message- From: Slide [mailto:slide.o@gmail.com] Sent: 20 October 2009 04:32 To: General discussion for Windows Installer XML toolset. Subject: [WiX-users] UI Designer Has anyone thought about integrating a designer into the Visual Studio integration package? I haven't found any good documentation on creating a designer in Visual Studio but would be interested in learning about it and contributing to the project. Thanks, slide -- slide-o-blog http://slide-o-blog.blogspot.com/ AMX AMX UK Auster Road Clifton Moor York, North Yorkshire United Kingdom YO30 4GD +44 (0) 1904 343100 office +44 (0) 1904 343101 fax AMX South 6th Floor Salisbury House London Wall London United Kingdom EC2M 5QQ +44 (0) 2076 529450 office +44 (0) 8701 991661 fax AMX Belgium Boerenkrijglaan, 96a B-2260 Westerlo Belgium + 32 (0) 1454 2763 office + 32 (0) 1454 2766 fax ## Attention: This e-mail message is privileged and confidential. If you are not the intended recipient please delete the message and notify the sender. Any views or opinions presented are solely those of the author. This email was scanned and cleared by NetIQ MailMarshal. ## -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart
Re: [WiX-users] How to make an updatable wix installer working as a new install
The New Install path you are talking about sounds like you need a multi-instance MSI. Those are kinda' interesting to manage so I highly recommend reading the MSI SDK topics about it. On Wed, Oct 21, 2009 at 5:25 AM, Jiang, Chunyan (GE Healthcare) chunyan.ji...@ge.com wrote: Hi Wix - users, I have developed one installer with Wix3. It is one upgradable installer. It has defination about upgrade: UpgradeCode=8517ae9a-667d-4bd3-9cea-4323be6d7040 Upgrade Id=8517ae9a-667d-4bd3-9cea-4323be6d7040 UpgradeVersion OnlyDetect=no Property=PREVIOUSFOUND Minimum=5.0.0.0 IncludeMinimum=yes Maximum=8.0.0.0 IncludeMaximum=no / /Upgrade When I install this installer for the first time, it works fine. And if there is newer version coming out, and I use the new version to upgrade the last install, it also works good. But if I want to install the newer version to another path, there is problem. Although the new version installer can copy the files and register them, it still checked the old install. The following is the log: Action start 13:59:06: InstallValidate. Info 1603. The file d:\OldInstall\qsqlite4.dll is being held in use by the following process: Name: VPMaskServer, Id: 4004, Window Title: '(not determined yet)'. Close that application and retry. ... Error 1306. Another application has exclusive access to the file 'd:\OldInstall\admin.xml'. Please shut down all other applications, then click Retry. How to make the installer to be able both for upgrade and for new install? I would like to have a dialog, when select New Install, then installer does new install; when select Upgrade, then installer does upgrade. Furthermore, when it is possible to install more than one time, there should be another dialog, to show all the installed versions, and user can decide which version should be upgraded. I am sorry that maybe there are too many questions in this post. But could some one give me the hints how to realize it? Best regards, Chunyan -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- virtually, Rob Mensching - http://RobMensching.com LLC -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Patching after disabling Repair
ARPNOREPAIR affects the Add/Remove Programs (or Programs and Features as it is called in Vista) in suppressing the Repair option. It has no other effect on the operation of the MSI at all. When building your patch, remove or change the REINSTALL = ALL condition mentioned below or simply remove the type 19 action altogether in your upgrade MSI, then build the patch. The patch application should then succeed (or at least not fail because repairs were disabled). -Original Message- From: Andy2k8 [mailto:appr...@gmail.com] Sent: Wednesday, October 21, 2009 12:57 AM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Patching after disabling Repair OK. In that case using a custom action that sets the ARPNOREPAIR value to 0 before the launch conditions/ would do the trick?? Blair-2 wrote: The thought that followed right after I pushed Send is that in your patch you can change/remove that condition. The (updated) condition will be evaluated AFTER you transform it. -Original Message- From: Blair [mailto:os...@live.com] Sent: Wednesday, October 21, 2009 12:10 AM To: 'General discussion for Windows Installer XML toolset.' Subject: RE: [WiX-users] Patching after disabling Repair If you can bootstrap your patch, you might be able to set REINSTALL to the list of installed features instead of ALL. Otherwise you may be forced to use a Major Upgrade. -Original Message- From: Andy2k8 [mailto:appr...@gmail.com] Sent: Tuesday, October 20, 2009 11:50 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Patching after disabling Repair Hello How do i apply a patch to a product that does not support Repair (Repair disabled when it was shipped) Running the patch silently from the command line does not seems to work because I have a type19 custom action that is conditioned as REINSTALL = ALL Any ideas?? - Andy MSI Developer Schneider Electric:working: -- View this message in context: http://n2.nabble.com/Patching-after-disabling-Repair-tp3863467p3863467.html Sent from the wix-users mailing list archive at Nabble.com. -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users - Andy MSI Developer Schneider Electric:working: -- View this message in context: http://n2.nabble.com/Patching-after-disabling-Repair-tp3863467p3863743.html Sent from the wix-users mailing list archive at Nabble.com. -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Wix 2.0 - Patching?
Thanks for responding. Blair and you have both been very helpful. I'll take a look at the link. Regards, Craig -Original Message- From: Pally Sandher [mailto:pally.sand...@iesve.com] Sent: Wednesday, October 21, 2009 3:08 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Wix 2.0 - Patching? As Blair says UpgradeCode is only needed for Major Upgrades. Patches don't need one (but you probably want to add one if/when you patch the offending product so you can use a major upgrade if you ever have to in the future). The WiX v2.0 help has a (very short) tutorial on creating patches at http://wix.sourceforge.net/manual-wix2/patch_building.htm Note: You will need a Windows SDK installed or some other way to access MSIMSP.exe and all it's dependencies (patchwiz.dll et al) which it neglects to mention. I used that method a couple of years ago before I upgraded to WiX v3.0 with much success (shipped 7 successive patches of the same product, wasn't pretty but it worked). If you can't create an administrative install of your product(s) you can build an uncompressed version of the installer by removing the Media Element from your XML IIRC which should work for patch creation but don't quote me on that as it has been literally years since I did anything remotely like that. Good Luck. Palbinder Sandher Software Deployment IT Administrator T: +44 (0) 141 945 8500 F: +44 (0) 141 945 8501 http://www.iesve.com **Design, Simulate + Innovate with the Virtual Environment** Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 0SP Email Disclaimer -Original Message- From: Blair [mailto:os...@live.com] Sent: 21 October 2009 00:36 To: 'General discussion for Windows Installer XML toolset.' Subject: Re: [WiX-users] Wix 2.0 - Patching? Actually you can patch without UpgradeID. UpgradeCode isn't used for Minor Upgrades or Small Updates. You can't easily or reliably perform automated Major Upgrades, however. If you patch, I would recommend adding the UpgradeCode via the patch. The product with the missing ProductId: There are ways to detect it, but how you would/should do so depends on some situational analysis. Would you mind pinging me offline and send me a non-disclose agreement (if you require one) and I can help you plan a way out of it? -Original Message- From: Craig Miller [mailto:craig.mil...@spatialminds.com] Sent: Tuesday, October 20, 2009 3:11 PM To: 'General discussion for Windows Installer XML toolset.' Subject: Re: [WiX-users] Wix 2.0 - Patching? Blair, Thanks for the helpful reply. Unfortunately I just found out that of the 53 installers I created last year, the one I now need to upgrade is the one where the UpgradeId was somehow left out. Looks like I won't be able to patch, major/minor upgrade this one at all. Boy, I sure wish MSI had a way to check for a previously install of a ProductID and then force the uninstall of it when performing a major upgrade (w/o requiring an UpgradeID). While not the reason for omitting it, I have to admit that I thought the UpgradeID would only be required for patches and minor updates. Craig -Original Message- From: Blair [mailto:os...@live.com] Sent: Tuesday, October 20, 2009 12:58 PM To: 'General discussion for Windows Installer XML toolset.' Subject: Re: [WiX-users] Wix 2.0 - Patching? If your build system and your installer will allow administrative installs, you have three choices: 1. The pyro from MSI technique described by Peter. 2. The PatchWiz approach described as the SDK way in the WiX help. 3. What I call your preferred option. If your installer doesn't support admin installs, or if you can't perform those reliably in your build process, you will be forced to consider what I would call your preferred option: Run your source WXS file through version 3's WixCop and build your installer using WiX 3. You will need to make any adjustments needed so that an MSIDIFF regards the MSI you then build as functionally identical to the shipped one (alter IDs, etc.). Then make your changes and build your Patch. -Original Message- From: Craig Miller [mailto:craig.mil...@spatialminds.com] Sent: Tuesday, October 20, 2009 10:00 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Wix 2.0 - Patching? Does anyone have any suggestions or links that explain the easiest way to create a patch for a Wix 2.0 wxs/msi file? E.g. I have an installer and the source WXS file for a Wix 2.0 installer that I now need to patch. The original installer has a custom UI that I'd like to replicate in the patch installer. Thanks, Craig
Re: [WiX-users] How to make an updatable wix installer working as anew install
Hi Rob, Thank you for your suggestion. I agree with you that I might need multi-instance. And I have read some articles about multi-instance MSI, like http://n2.nabble.com/Multiple-Instance-Transforms-Walkthrough-Proposed-Simple-Addition-to-WiX-to-Make-Them-Easier-td708828.html Howver, it talked about using Transforms to change ProductCode. But there is nothing about UpgradeCode. Is the transformed ProductCode MSI upgradable? How to handle multi-instance and upgrade? Regards, Chunyan -Ursprüngliche Nachricht- Von: Rob Mensching [mailto:r...@robmensching.com] Gesendet: Mittwoch, 21. Oktober 2009 16:48 An: General discussion for Windows Installer XML toolset. Betreff: Re: [WiX-users] How to make an updatable wix installer working as anew install The New Install path you are talking about sounds like you need a multi-instance MSI. Those are kinda' interesting to manage so I highly recommend reading the MSI SDK topics about it. On Wed, Oct 21, 2009 at 5:25 AM, Jiang, Chunyan (GE Healthcare) chunyan.ji...@ge.com wrote: Hi Wix - users, I have developed one installer with Wix3. It is one upgradable installer. It has defination about upgrade: UpgradeCode=8517ae9a-667d-4bd3-9cea-4323be6d7040 Upgrade Id=8517ae9a-667d-4bd3-9cea-4323be6d7040 UpgradeVersion OnlyDetect=no Property=PREVIOUSFOUND Minimum=5.0.0.0 IncludeMinimum=yes Maximum=8.0.0.0 IncludeMaximum=no / /Upgrade When I install this installer for the first time, it works fine. And if there is newer version coming out, and I use the new version to upgrade the last install, it also works good. But if I want to install the newer version to another path, there is problem. Although the new version installer can copy the files and register them, it still checked the old install. The following is the log: Action start 13:59:06: InstallValidate. Info 1603. The file d:\OldInstall\qsqlite4.dll is being held in use by the following process: Name: VPMaskServer, Id: 4004, Window Title: '(not determined yet)'. Close that application and retry. ... Error 1306. Another application has exclusive access to the file 'd:\OldInstall\admin.xml'. Please shut down all other applications, then click Retry. How to make the installer to be able both for upgrade and for new install? I would like to have a dialog, when select New Install, then installer does new install; when select Upgrade, then installer does upgrade. Furthermore, when it is possible to install more than one time, there should be another dialog, to show all the installed versions, and user can decide which version should be upgraded. I am sorry that maybe there are too many questions in this post. But could some one give me the hints how to realize it? Best regards, Chunyan -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- virtually, Rob Mensching - http://RobMensching.com LLC -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] (no subject)
So, then as I can not focus only on Windows 7, the bootstrapper would be another way. What the bootstrapper should do at this side? As first I would say it can check on Admin Rights to decide what installation can be done, but is there anything else? Will Burn Support this? Cheers, Tobias Message: 4 Date: Wed, 21 Oct 2009 07:36:03 -0700 From: Rob Mensching r...@robmensching.com Subject: Re: [WiX-users] Installing a Program for All users without To: General discussion for Windows Installer XML toolset. wix-users@lists.sourceforge.net Message-ID: 6bb2d62c0910210736l2abd3d54nf9b921e969c0e...@mail.gmail.com Content-Type: text/plain; charset=UTF-8 I'd shorten Pally's answer to Not without a bootstrapper or MSI 5.0. smile/ virtually, Rob Mensching - RobMensching.com LLC http://robmensching.com On Wed, Oct 21, 2009 at 3:28 AM, Pally Sandher pally.sand...@iesve.comwrote: It is potentially possible to either allow the user to choose whether to install per-user or per-machine by providing some method of setting the ALLUSERS property such as a couple of radio buttons and you could take the choice away from them if they aren't running as Administrator by conditioning the choice using the Privileged property. However when running a per-user install you are limited to the things you can do. As far as I'm aware you cannot write to HKLM HKCR registry hives so most registration operations are not possible. I'm not 100% sure but I don't think you can write to ProgramFilesFolder and other similar places (all your file folder changes need to be in per-User locations all of which are under the users profile directory). Unless you're limiting your application/installer to *only* Windows 7 and/or Windows Installer 5.0 then the answer appears to be no. As Windows XP SP3 only has Windows Installer 3.1 Windows Vista SP2 only has Windows Installer 4.0 (by default, Windows Installer 4.5 has a redist available for both but is not automatically pushed out by Microsoft Update) I would personally not try to attempt this but I suggest you make your own choice. Once Windows Installer 5.0 is made available you could potentially bootstrap it before your MSI but that would require administrator privileges to install making the whole discussion moot unless Microsoft decide to push it out using Automatic Updates. The following links may give you more information: Installation Context - http://msdn.microsoft.com/en-us/library/dd765197%28VS.85%29.aspx Windows Installer Team Blog on Authoring a single package for Per-User or Per-Machine Installation context in Windows 7 - http://blogs.msdn.com/windows_installer_team/archive/2009/09/02/authorin g-a-single-package-for-per-user-or-per-machine-installation-context-in-w indows-7.aspx Good Luck. Palbinder Sandher Software Deployment IT Administrator T: +44 (0) 141 945 8500 F: +44 (0) 141 945 8501 http://www.iesve.com **Design, Simulate + Innovate with the Virtual Environment** Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 0SP Email Disclaimer -Original Message- From: Tobi Ha [mailto:tob...@gmx.net] Sent: 21 October 2009 10:37 To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Installing a Program for All users without Thanks for the quick response, so this was my first guess either. So the other question is: is there a way to author a single installation that can be isntalled in per user and all user context? The MSI MSDN help states this is only possible for Windows 7 with MSI 5.0... cheers, Tobias Date: Wed, 21 Oct 2009 10:29:53 +0100 From: Pally Sandher pally.sand...@iesve.com Subject: Re: [WiX-users] Installing a Program for All users without adminrights To: General discussion for Windows Installer XML toolset. wix-users@lists.sourceforge.net Message-ID: 7e4ef7766063ec4091542b5b3e671ec40226f...@mail.iesve.com Content-Type: text/plain;charset=us-ascii Simple Answer: No. Complex Answer: It depends on exactly what your installer does but the things you can do are so limited they may as well not be possible either. Hence the simple answer. Palbinder Sandher Software Deployment IT Administrator T: +44 (0) 141 945 8500 F: +44 (0) 141 945 8501 http://www.iesve.com **Design, Simulate + Innovate with the Virtual Environment** Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 0SP Email Disclaimer -Original Message- From: Tobi Ha [mailto:tob...@gmx.net] Sent: 21 October 2009 09:54 To: wix-users@lists.sourceforge.net Subject: [WiX-users] Installing a Program for All users without adminrights I ahve a question regarding Installation Privileges and the setting of the
[WiX-users] Patch with satellite assemblies in GAC
Hi all, I'm trying to create patch (service pack) for one product and I have a problem with satellite assemblies (resources) which are installed in the GAC, they should be updated by patch. After applying a patch only one satellite assembly is updated, others are stayed not updated (old version). I checked MsiPatchOldAssemblyName and MsiPatchOldAssemblyFile tables in my patch and only one resource assembly is there (one component). Did somebody have the same issue? How to force msimsp to include all satellites assemblies? Best Regards, Igor SDL PLC confidential, all rights reserved. If you are not the intended recipient of this mail SDL requests and requires that you delete it without acting upon or copying any of its contents, and we further request that you advise us. SDL PLC is a public limited company registered in England and Wales. Registered number: 02675207. Registered address: Globe House, Clivemont Road, Maidenhead, Berkshire SL6 7DY, UK. -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Components won't uninstall
I believe that is the issue, though behavior is not what I would have expected. Feature Id=AFEATURE Title=title Description=description Level=1 AllowAdvertise=no Condition Level=1![CDATA[XXX]]/Condition Condition Level=4![CDATA[YYY]]/Condition Condition Level=0![CDATA[ZZZ]]/Condition ComponentGroupRef Id=Group1 / ComponentGroupRef Id=Group2 / ComponentGroupRef Id=Group3 / ComponentGroupRef Id=Group4 / ComponentGroupRef Id=Group5/ ComponentGroupRef Id=Group6 / ... What is odd is only Group6 is not uninstalled. Group1-5 uninstall correctly. I fixed my conditions, I think, by including OR REMOVE on the level1 condition. It seems to work. But I need to do a bit more testing to make sure. On Wed, Oct 21, 2009 at 10:34 AM, Rob Mensching r...@robmensching.com wrote: Almost always and Action state of Null means you have a Condition that is evaluating the Component out. The condition may be on the Feature or it may be on the Component if the Component is marked Transitive. If that isn't it, can you provide more detail about the Component and Feature relationship to debug futher. virtually, Rob Mensching - RobMensching.com LLC http://robmensching.com On Wed, Oct 21, 2009 at 6:11 AM, Tony yellowjacketl...@gmail.com wrote: We have a project that includes several wixlibs. Â These wixlibs all export ComponentGroupRefs to one of two features in our main WiX project. Â Installation appears to be working fine. Â But when I uninstall the application, all of the components from one of the wixlibs do NOT get uninstalled. Â When I run the uninstall with logging enabled (msiexec /x myapplication.msi /l*vx! unapp.txt), the log shows that all of the components within that wixlibs are NOT selected for uninstall. Here's an entry for a compoentn that does NOT get uninstalled... Component: cmp3FCC6D0CB9841934B61F0C0B219BEC2C; Installed: Local; Request: Null; Â Action: Null; Â Client State: Local Here's an entry for a component that does get uninstalled... Component: cmp861EF22528A3DB48FAF7A07DD78B91CC; Installed: Local; Request: Absent; Â Action: Absent; Â Client State: Local Why would this happen? Â Is there something I could look for in the install or uninstall logs to give me a clue? -- Tony -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- virtually, Rob Mensching - http://RobMensching.com LLC -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Tony -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] (no subject)
Essentially you could do it within the same MSI without using a bootstrapper. Make duplicate components for anything which needs to be per-machine condition the per-user ones with NOT Privileged while the normal ones are conditioned with Privileged. Then add them all to your Feature tree at the appropriate places. But as stated before if you wish to target pre-Windows Vista users you are *very* limited with what you can do with regards to the per-user install. See 2 links on my below e-mail for more information. It all boils down to what you need to do for your application to be installed correctly (unless you're writing your setup before you've begun your application which will please Rob to the nth degree I imagine). Without knowing that no one can properly advise you. Palbinder Sandher Software Deployment IT Administrator T: +44 (0) 141 945 8500 F: +44 (0) 141 945 8501 http://www.iesve.com **Design, Simulate + Innovate with the Virtual Environment** Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 0SP Email Disclaimer -Original Message- From: Tobi Ha [mailto:tob...@gmx.net] Sent: 21 October 2009 16:09 To: wix-users@lists.sourceforge.net Subject: [WiX-users] (no subject) So, then as I can not focus only on Windows 7, the bootstrapper would be another way. What the bootstrapper should do at this side? As first I would say it can check on Admin Rights to decide what installation can be done, but is there anything else? Will Burn Support this? Cheers, Tobias Message: 4 Date: Wed, 21 Oct 2009 07:36:03 -0700 From: Rob Mensching r...@robmensching.com Subject: Re: [WiX-users] Installing a Program for All users without To: General discussion for Windows Installer XML toolset. wix-users@lists.sourceforge.net Message-ID: 6bb2d62c0910210736l2abd3d54nf9b921e969c0e...@mail.gmail.com Content-Type: text/plain; charset=UTF-8 I'd shorten Pally's answer to Not without a bootstrapper or MSI 5.0. smile/ virtually, Rob Mensching - RobMensching.com LLC http://robmensching.com On Wed, Oct 21, 2009 at 3:28 AM, Pally Sandher pally.sand...@iesve.comwrote: It is potentially possible to either allow the user to choose whether to install per-user or per-machine by providing some method of setting the ALLUSERS property such as a couple of radio buttons and you could take the choice away from them if they aren't running as Administrator by conditioning the choice using the Privileged property. However when running a per-user install you are limited to the things you can do. As far as I'm aware you cannot write to HKLM HKCR registry hives so most registration operations are not possible. I'm not 100% sure but I don't think you can write to ProgramFilesFolder and other similar places (all your file folder changes need to be in per-User locations all of which are under the users profile directory). Unless you're limiting your application/installer to *only* Windows 7 and/or Windows Installer 5.0 then the answer appears to be no. As Windows XP SP3 only has Windows Installer 3.1 Windows Vista SP2 only has Windows Installer 4.0 (by default, Windows Installer 4.5 has a redist available for both but is not automatically pushed out by Microsoft Update) I would personally not try to attempt this but I suggest you make your own choice. Once Windows Installer 5.0 is made available you could potentially bootstrap it before your MSI but that would require administrator privileges to install making the whole discussion moot unless Microsoft decide to push it out using Automatic Updates. The following links may give you more information: Installation Context - http://msdn.microsoft.com/en-us/library/dd765197%28VS.85%29.aspx Windows Installer Team Blog on Authoring a single package for Per-User or Per-Machine Installation context in Windows 7 - http://blogs.msdn.com/windows_installer_team/archive/2009/09/02/author in g-a-single-package-for-per-user-or-per-machine-installation-context-in -w indows-7.aspx Good Luck. Palbinder Sandher Software Deployment IT Administrator T: +44 (0) 141 945 8500 F: +44 (0) 141 945 8501 http://www.iesve.com **Design, Simulate + Innovate with the Virtual Environment** Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 0SP Email Disclaimer -Original Message- From: Tobi Ha [mailto:tob...@gmx.net] Sent: 21 October 2009 10:37 To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Installing a Program for All users without Thanks for the quick response, so this was my first guess either. So the other question is: is there a way to author a single installation that can be isntalled in per user and all user context? The MSI MSDN help states this is only
Re: [WiX-users] UI and dialog questions
Thank you Bob! I have 5 edit boxes and couple labels and dialog description which should be changed base on selected dialog. So next and back button should have around 10 Publish events which will change values of such indirect properties. So I doubt if it will be easier to maintain. But anyway thank you for your response, I was just wondering if there is easier solution, which I just didn't see. -Original Message- From: Bob Arnson [mailto:b...@joyofsetup.com] Sent: Saturday, October 17, 2009 8:04 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] UI and dialog questions Igor Paniushkin wrote: I have three dialogs which have the same edit boxes (5 edit boxes), but values should end-up in different properties, what is the best approach? Should I create three separate dialogs which will be different only in names of properties and some dialog description and title? Should it be one dialog, which will have Indirect set to yes? Indirect properties are probably easier to maintain. It is the small example for 4 dialogs (and this part is only related to next/back handling base on feature selection, but I also need to call some custom actions to verify some input information). Currently I have 7 custom dialogs, I still not sure, but most probably all of them will be based on feature selection, so to add for example one more dialog, I will need to modify all other dialogs next/back events. Is there central place, where I can specify condition for showing dialog? No, wizard navigation is on a per-button basis. SDL PLC confidential, all rights reserved. If you are not the intended recipient of this mail SDL requests and requires that you delete it without acting upon or copying any of its contents, and we further request that you advise us. SDL PLC is a public limited company registered in England and Wales. Registered number: 02675207. Registered address: Globe House, Clivemont Road, Maidenhead, Berkshire SL6 7DY, UK. -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Components won't uninstall
For pretty much all Conditions the right answer is to have Installed OR On Wed, Oct 21, 2009 at 8:12 AM, Tony yellowjacketl...@gmail.com wrote: I believe that is the issue, though behavior is not what I would have expected. Feature Id=AFEATURE Title=title Description=description Level=1 AllowAdvertise=no Condition Level=1![CDATA[XXX]]/Condition Condition Level=4![CDATA[YYY]]/Condition Condition Level=0![CDATA[ZZZ]]/Condition ComponentGroupRef Id=Group1 / ComponentGroupRef Id=Group2 / ComponentGroupRef Id=Group3 / ComponentGroupRef Id=Group4 / ComponentGroupRef Id=Group5/ ComponentGroupRef Id=Group6 / ... What is odd is only Group6 is not uninstalled. Group1-5 uninstall correctly. I fixed my conditions, I think, by including OR REMOVE on the level1 condition. It seems to work. But I need to do a bit more testing to make sure. On Wed, Oct 21, 2009 at 10:34 AM, Rob Mensching r...@robmensching.com wrote: Almost always and Action state of Null means you have a Condition that is evaluating the Component out. The condition may be on the Feature or it may be on the Component if the Component is marked Transitive. If that isn't it, can you provide more detail about the Component and Feature relationship to debug futher. virtually, Rob Mensching - RobMensching.com LLC http://robmensching.com On Wed, Oct 21, 2009 at 6:11 AM, Tony yellowjacketl...@gmail.com wrote: We have a project that includes several wixlibs. These wixlibs all export ComponentGroupRefs to one of two features in our main WiX project. Installation appears to be working fine. But when I uninstall the application, all of the components from one of the wixlibs do NOT get uninstalled. When I run the uninstall with logging enabled (msiexec /x myapplication.msi /l*vx! unapp.txt), the log shows that all of the components within that wixlibs are NOT selected for uninstall. Here's an entry for a compoentn that does NOT get uninstalled... Component: cmp3FCC6D0CB9841934B61F0C0B219BEC2C; Installed: Local; Request: Null; Action: Null; Client State: Local Here's an entry for a component that does get uninstalled... Component: cmp861EF22528A3DB48FAF7A07DD78B91CC; Installed: Local; Request: Absent; Action: Absent; Client State: Local Why would this happen? Is there something I could look for in the install or uninstall logs to give me a clue? -- Tony -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- virtually, Rob Mensching - http://RobMensching.com LLC -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Tony -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- virtually, Rob Mensching - http://RobMensching.com LLC -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net
Re: [WiX-users] How to create window before exit dialog
I have already my own dialog window (MyDialog) which is currently appearing after license agreement dialog. For this i am using following code and it is functioning. Publish Dialog=LicenseAgreementDlg Control=Next Event=NewDialog Value=MyDialog Order=2LicenseAccepted = 1/Publish But now we want to place this own dialog window (MyDialog) after installing and before Exitdialog (launch application) window. or it must appear before ExitDialog after installing. How to implement it? Which Dialog id i need Dialog=? , Which Control i need? Please give the code example to understand it! Best Regards Adnan 2009/10/21 Lourens Wepener lourens.wepe...@avanade.com Hi, If you are using a wix project in Visual Studio, add a reference to the WIXUI dll and add the code in. below is a sample that adds a custom dialog called ServiceIdentityDlg. UIRef Id=WixUI_Common / UI Property Id=DefaultUIFont Value=WixUI_Font_Normal / TextStyle Id=WixUI_Font_Normal FaceName=Tahoma Size=8 / TextStyle Id=WixUI_Font_Bigger FaceName=Tahoma Size=12 / TextStyle Id=WixUI_Font_Title FaceName=Tahoma Size=9 Bold=yes / Property Id=WIXUI_INSTALLDIR Value=[SET INSTALLLOCATION HERE] / Property Id=ARPNOMODIFY Value=1 / Property Id=WixUI_Mode Value=FeatureTree / DialogRef Id=BrowseDlg / DialogRef Id=DiskCostDlg / DialogRef Id=ErrorDlg / DialogRef Id=FatalError / DialogRef Id=FilesInUse / DialogRef Id=MsiRMFilesInUse / DialogRef Id=PrepareDlg / DialogRef Id=ProgressDlg / DialogRef Id=ResumeDlg / DialogRef Id=UserExit / Publish Dialog=ExitDialog Control=Finish Event=EndDialog Value=Return Order=9991/Publish Publish Dialog=WelcomeDlg Control=Next Event=NewDialog Value=InstallDirDlg1/Publish Publish Dialog=InstallDirDlg Control=Back Event=NewDialog Value=WelcomeDlg1/Publish Publish Dialog=InstallDirDlg Control=Next Event=SetTargetPath Value=[WIXUI_INSTALLDIR] Order=11/Publish Publish Dialog=InstallDirDlg Control=Next Event=NewDialog Value=ServiceIdentityDlg Order=21/Publish Publish Dialog=InstallDirDlg Control=ChangeFolder Property=_BrowseProperty Value=[WIXUI_INSTALLDIR] Order=11/Publish Publish Dialog=InstallDirDlg Control=ChangeFolder Event=SpawnDialog Value=BrowseDlg Order=21/Publish Publish Dialog=ServiceIdentityDlg Control=Back Event=NewDialog Value=InstallDirDlg Order=11/Publish Publish Dialog=ServiceIdentityDlg Control=Next Event=NewDialog Value=CustomizeDlg Order=21/Publish Publish Dialog=CustomizeDlg Control=Back Event=NewDialog Value=ServiceIdentityDlg Order=1Installed/Publish Publish Dialog=CustomizeDlg Control=Next Event=NewDialog Value=VerifyReadyDlg1/Publish Publish Dialog=VerifyReadyDlg Control=Back Event=NewDialog Value=ServiceIdentityDlg Order=1NOT Installed/Publish Publish Dialog=VerifyReadyDlg Control=Back Event=NewDialog Value=MaintenanceTypeDlg Order=2Installed/Publish Publish Dialog=MaintenanceWelcomeDlg Control=Next Event=NewDialog Value=MaintenanceTypeDlg1/Publish Publish Dialog=MaintenanceTypeDlg Control=RepairButton Event=NewDialog Value=VerifyReadyDlg1/Publish Publish Dialog=MaintenanceTypeDlg Control=RemoveButton Event=NewDialog Value=VerifyReadyDlg1/Publish Publish Dialog=MaintenanceTypeDlg Control=Back Event=NewDialog Value=MaintenanceWelcomeDlg1/Publish Dialog Id=ServiceIdentityDlg Width=370 Height=270 Title=[ProductName] Service Account Control Id=Title Type=Text X=15 Y=6 Width=200 Height=15 Transparent=yes NoPrefix=yes Text={\WixUI_Font_Title}Service Account Information / Control Id=Description Type=Text X=25 Y=23 Width=280 Height=24 Transparent=yes NoPrefix=yes Text=Enter the text / Control Id=BannerBitmap Type=Bitmap X=0 Y=3 Width=370 Height=49 TabSkip=no Text=!(loc.InstallDirDlgBannerBitmap) / Control Id=BannerLine Type=Line X=0 Y=52 Width=370 Height=2 / Control Id=UserNameLabel Type=Text X=20 Y=60 Width=290 Height=13 Text=text / Control Id=UserName Type=Edit X=20 Y=72 Width=320 Height=15 Property=USERNAME Text=47 / Control Id=PasswordLabel Type=Text X=20 Y=93 Width=290 Height=13 Text=Password: / Control Id=Password Type=Edit Password=yes X=20 Y=105 Width=320 Height=15 Property=PASSWORD Text={53} / Control Id=DomainLabel Type=Text X=20 Y=126 Width=290 Height=13 Text=Domain: / Control Id=Domain Type=Edit X=20 Y=139 Width=320 Height=15 Property=DOMAIN / Control Id=BottomLine Type=Line X=0 Y=234 Width=370 Height=0 / Control Id=Next Type=PushButton X=236 Y=243 Width=56 Height=17 Default=yes Text=Next / Control Id=Back Type=PushButton X=180 Y=243 Width=56 Height=17 Text=Back / Control Id=Cancel Type=PushButton X=304 Y=243 Width=56 Height=17 Cancel=yes Text=Cancel Publish Event=SpawnDialog Value=CancelDlg1/Publish /Control /Dialog
[WiX-users] E_HANDLE returned from WcaAddTempRecord
When I run this in an immediate CA in the InstallUISequence HRESULT hr = S_OK; MSIHANDLE hTable = NULL; MSIHANDLE hColumns = NULL; MSIDBERROR error; hr = WcaAddTempRecord(hTable, hColumns, LListBox, error, 0, 4, LPROPERTYNAME, 1, L0, LValue); I get an hr of E_HANDLE, error is not getting set, and GetLastError() returns 1008 (ERROR_NO_TOKEN). I've tried it in a few different places in the sequence, and get the same result. Does anyone have any idea what might be causing this? Thanks, David David E. Battey Senior Software Engineer Phoenix Contact Inc. (734) 205-5119 -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] repair in add/remove program without the original msi
Hi, In our product, after user1 installs the MSI, user1 will remove the original MSI and then give the machine to user2. For example, the user1 installs the MSI from a remote share and user2 will have no access to the remote share. This will disable repair through add/remove program for user2 because he cannot get the original MSI. However, repair through add/remove program is a must for user2. After reading MSDNhttp://blogs.msdn.com/windows_installer_team/archive/2006/05/24/605835.aspx, I decides to make repair through add/remove program use the cached MSI instead of the original MSI used to install. The cached MSI location is stored in this registry value HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\{SomeGuid}\InstallProperties\LocalPackage. The value is something like: c:\windows\installer\157efa1.msi. S-1-5-18 = SID for LocalSystem and {SomeGuid} is the Package Guid. I don't know where the package guid is generated from but I observed that it is consistent across machines. Can I safely assume the guid is constant for my product? The AppWix.cpl picks the MSI path from LastUsedSource registry value and package name PackageName registry value from HKEY_CLASSES_ROOT\Installer\Products\{SomeGuid}\SourceList. So if I use the cached MSI's location and name to replace the LastUsedSource and PackageName respectively, I can repair through add/remove program without the original MSI. However, the downside is that everytime after I repair, the cached MSI's name changes (e.g. 157efa1.msi changes to 33ef.msi). This requires that I do the registry change everytime I repair to make repair through add/remove program always points to the lastest cached MSI. Are we on the right track? Is there any better/safer way to achieve repair through add/remove program without original MSI? Appreciate your help! Thanks Lian -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Questions on more advanced WiX Installer UI
I'm working on some enhancements to our WiX based setup UI, and wanted to know if a few things are possible using the UI components Windows Installer makes available: 1) We have a custom action as a part of our installer that makes a web service call. We'd like to embed in the UI a spinner that would spin during the time we are making the call. Does such a control exist in the Windows Installer toolkit? Can we use some type of animated gif for this purpose? 2) We have to accept entry of a product-key type code at install. Ideally, we'd like to add some logic so we auto-add/remove separators at the right time, don't allow invalid characters (input is Hex) etc. Does Windows Installer have any mechanism for doing this sort of thing? Thanks in advance for any help! -Dan -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Beginner's Question on Multi Language Installer
Markus KARG wrote: What I do not understand under this circumstances is: Why can I add a LIST of cultures to light.exe? I mean, what does it actually do with all the cultures if actually always taking just the first in the list? It uses all of them to support fallback from available localization files. The WiX MSBuild targets use the list of cultures to generate one MSI per culture. I still don't get it. I always understood fallback in the sense of: -cultures:de,en what mean: If you don't find a word in German, then print the English word. But what I am talking about is: -cultures:de;en (semicolon but not comma). So what acutally will light do when I provide de,en;en? I mean, one must understand the details to correctly use it - and I WANT to correctly use it. :-) Thanks Markus -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Beginner's Question on Multi Language Installer
Blair, but what is the difference then between: -culture:de,en -culture:de;en -culture:de,en;en ??? Thanks Markus It looks for the strings in all of the .wxl files sorting them in order of Culture, based on the order of the -Cultures parameter followed by the order the wxl files appear in the commandline. Example without using cultures, but placing the wxl files in numbered order: One.wxl: ...String Id=oneThis is the override/String... Two.wxl: ...String Id=oneThis is an override/String... ...String Id=twoThis is the second/String... ...String Id=fourThis is the fourth/String... Three.wxl: ...String Id=oneThis is the original/String... ...String Id=twoThis is another one/String... ...String Id=threeAnd yet another one/String... Then: Property Id=ONE Value=!(loc.one)/ Property Id=TWO Value=!(loc.two)/ Property Id=THREE Value=!(loc.three)/ Property Id=FOUR Value=!(loc.four)/ Results: ONE: This is the override TWO: This is the second THREE: And yet another one FOUR: This is the fourth If each of the above .wxl files had a culture of en-US and you added a fourth .wxl file with a culture of en-HK containing the following: ...String Id=oneWelcome to Hong Kong/String... ...String Id=threePlease come again/String... And then rebuilt using a -Cultures:en-HK,en-US parameter Results: ONE: Welcome to Hong Kong TWO: This is the second THREE: Please come again FOUR: This is the fourth In other words, in culture-order, search each WXL that exactly matches that culture until you find a matching string. Any given single MSI in the end understands just one language, based on the ProductLanguage tag (comes from produ...@language) and the content (a single value for each and every string). Everything else we do is intended to change that MSI's content so that a different language becomes apparent. That is where we re-link with different languages in order to generate the transforms that set our base MSI to those different languages. At that point, you can vary just the Cultures parameter and all WXL files that don't match the culture are ignored, so the command-line variation between the different links is minimal and easily controlled for. -Original Message- From: Markus KARG [mailto:markus.k...@gmx.net] Sent: Tuesday, October 20, 2009 3:01 PM To: 'General discussion for Windows Installer XML toolset.' Subject: Re: [WiX-users] Beginner's Question on Multi Language Installer Blair, thank you for your kind help. To sum up, multi-language support actually (or: officially) is not possible with a single .msi (or at least, not without either patching or transforming it before installation). What I do not understand under this circumstances is: Why can I add a LIST of cultures to light.exe? I mean, what does it actually do with all the cultures if actually always taking just the first in the list? Thanks Markus -Original Message- From: Blair [mailto:os...@live.com] Sent: Dienstag, 20. Oktober 2009 21:53 To: 'General discussion for Windows Installer XML toolset.' Subject: Re: [WiX-users] Beginner's Question on Multi Language Installer You get German since that is the first one in your list of Cultures. MSI has never officially supported the scenario you describe directly. You are perfectly free to create per-language transforms and use an .EXE file to install your MSI with those transforms (the supported way). There are some who have had success with embedding those same transforms based on a particular naming convention and having them auto-selected by the OS (not supported, but I'm told it works). There may or may not be issues with generating working MSP files if you use those transforms (you may have to mess with the transform applicability rules of the patch-supplied transforms depending on what the original language transforms did). You may be able to use the instance transform related tags in WiX, but I have never tried that so I don't know what gotchas you may find that way. Otherwise you may be able to link each language separately into .wixout files, generate your transforms from those, and bind the baseline wixout into the MSI you subsequently apply each MST to. -Original Message- From: Markus KARG [mailto:markus.k...@gmx.net] Sent: Tuesday, October 20, 2009 12:06 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Beginner's Question on Multi Language Installer Hello Everybody, I am new to both, MSI technology in general and the WiX product in particular, but I have some experience with some old InstallShield products (pre-MSI-age). InstallShield allowed me to simply add translated strings for lots of languages, so one single setup.exe contained the installer in multi languages. This was very smart since I was able to send the same setup.exe to any country of
Re: [WiX-users] Beginner's Question on Multi Language Installer
Pally, thank your for your introduction. So if I understand correctly, if I want to provide multi lingual installers, then either I must write a EXE that does the transformation, or I must provide multiple MSIs and the user must choose the right one, or the user must know how to use transforms? Actually doesn't really sound very smart to me. I just don't understand why I can't link ALL languages into my MSI and Windows Installer will select the right one on it's own. Why didn't Microsoft do that (I think they had a good reason)? Thanks Markus -Original Message- From: Pally Sandher [mailto:pally.sand...@iesve.com] Sent: Mittwoch, 21. Oktober 2009 11:50 To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Beginner's Question on Multi Language Installer Using the functionality Blair described below you could have your project build multiple versions of the same MSI, bundle them all with a bootstrapper have the bootstrapper launch the correct one depending on the users locale language settings. I haven't taken time to look at burn yet but you could do this in under 10 minutes using dotnetinstaller once your MSI's are built. If you don't embed your CAB file in the MSI's you should only need one CAB regardless of how many localised MSI's you have (since they all install the same files) thus keeping the file size of the complete package down. Unless your MSI's are ridiculously complex they should only be a few MB each. I expect this is how InstallShield or other similar products would approach this if they were using MSI's to achieve this. The advantage of having the same MSI built using different languages is that if you wanted to patch it you should only need to issue one MSP as the dialogs etc are used from the original MSI (unless you were patching something in your MSI which has localised text not just the payload of your MSI) so when patching the user would see the same language used during the original install. Major upgrades should also be uncomplicated in this scenario afford you the possibility of adding more languages which weren't available with earlier releases which can be switched to automatically by your bootstrapper (e.g. Russian language user installs version 1 English language MSI. Version 2 has Russian localised MSI available, bootstrapper runs this for our Russian user which automatically upgrades version 1 using Major Upgrade functionality even though the English language MSI was used for version 1 installation). Good Luck. Palbinder Sandher Software Deployment IT Administrator T: +44 (0) 141 945 8500 F: +44 (0) 141 945 8501 http://www.iesve.com **Design, Simulate + Innovate with the Virtual Environment** Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 0SP Email Disclaimer -Original Message- From: Blair [mailto:os...@live.com] Sent: 21 October 2009 01:11 To: 'General discussion for Windows Installer XML toolset.' Subject: Re: [WiX-users] Beginner's Question on Multi Language Installer It looks for the strings in all of the .wxl files sorting them in order of Culture, based on the order of the -Cultures parameter followed by the order the wxl files appear in the commandline. Example without using cultures, but placing the wxl files in numbered order: One.wxl: ...String Id=oneThis is the override/String... Two.wxl: ...String Id=oneThis is an override/String... ...String Id=twoThis is the second/String... ...String Id=fourThis is the fourth/String... Three.wxl: ...String Id=oneThis is the original/String... ...String Id=twoThis is another one/String... ...String Id=threeAnd yet another one/String... Then: Property Id=ONE Value=!(loc.one)/ Property Id=TWO Value=!(loc.two)/ Property Id=THREE Value=!(loc.three)/ Property Id=FOUR Value=!(loc.four)/ Results: ONE: This is the override TWO: This is the second THREE: And yet another one FOUR: This is the fourth If each of the above .wxl files had a culture of en-US and you added a fourth .wxl file with a culture of en-HK containing the following: ...String Id=oneWelcome to Hong Kong/String... ...String Id=threePlease come again/String... And then rebuilt using a -Cultures:en-HK,en-US parameter Results: ONE: Welcome to Hong Kong TWO: This is the second THREE: Please come again FOUR: This is the fourth In other words, in culture-order, search each WXL that exactly matches that culture until you find a matching string. Any given single MSI in the end understands just one language, based on the ProductLanguage tag (comes from produ...@language) and the content (a single value for each and every string). Everything else we do is intended to change that MSI's content so that a different language becomes apparent. That is where we re-link with different
Re: [WiX-users] Beginner's Question on Multi Language Installer
Well, frankly spoken that (really huge) tutorial is in part outdated, false and overly complex to understand, and it does things without explaining their intension or details in some chapters (what really confuses beginners). So after reading it two times I gave up and posted my question here... Thanks Markus -Original Message- From: Rob Mensching [mailto:r...@robmensching.com] Sent: Mittwoch, 21. Oktober 2009 16:38 To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Beginner's Question on Multi Language Installer Unfortunately, no. Have you read through the WiX tutorial http://wix.sf.net/tutorial? I thought it had a nice section on languages in MSIs. virtually, Rob Mensching - RobMensching.com LLC http://robmensching.com On Wed, Oct 21, 2009 at 3:13 AM, mrtn mrtn.frederik...@gmail.com wrote: In stead of a bootstrapper - selecting the wanted transform - is it possible for the .msi file itself to select a transform file? Maybe in a C++ CA? Blair-2 wrote: You get German since that is the first one in your list of Cultures. MSI has never officially supported the scenario you describe directly. You are perfectly free to create per-language transforms and use an .EXE file to install your MSI with those transforms (the supported way). There are some who have had success with embedding those same transforms based on a particular naming convention and having them auto-selected by the OS (not supported, but I'm told it works). There may or may not be issues with generating working MSP files if you use those transforms (you may have to mess with the transform applicability rules of the patch-supplied transforms depending on what the original language transforms did). You may be able to use the instance transform related tags in WiX, but I have never tried that so I don't know what gotchas you may find that way. Otherwise you may be able to link each language separately into .wixout files, generate your transforms from those, and bind the baseline wixout into the MSI you subsequently apply each MST to. -Original Message- From: Markus KARG [mailto:markus.k...@gmx.net] Sent: Tuesday, October 20, 2009 12:06 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Beginner's Question on Multi Language Installer Hello Everybody, I am new to both, MSI technology in general and the WiX product in particular, but I have some experience with some old InstallShield products (pre-MSI-age). InstallShield allowed me to simply add translated strings for lots of languages, so one single setup.exe contained the installer in multi languages. This was very smart since I was able to send the same setup.exe to any country of the world. Now I want to write an installer with WiX that is also multi language (I don't want to have lots of setup.msi files, but only a single one). I wrote several .wxl files and linked them together using a line like this one: light.exe -cultures:de,neutral;fr,neutral;en,neutral;neutral -loc de.wxl -loc fr.wxl -loc en.wxl -loc neutral.wxl Setup.wixobj (While actually told nowhere, it seems that neutral.wxl must contain ' .culture=. ' [i. e. empty string] to indicate that it is the neutral culture. I found out that by trial and error when adding the neutral fallback to each culture). What I expect to get from light.exe is one single .msi file containing all four language packs: German, French, English and Neutral. Light provides a single .msi so from the outside it seems to work. My target is that the Windows Installer at install time picks German, French or English strings automatically, depending on the user's current Region and Language Settings or instead picks neutral strings when the current user's local setting is neither German, French nor English (for example, Polish / Poland). While light v3 accepts the above line and does not complain in any way (not even ICE warnings), the Windows Installer picks Germany *always* when running the resulting .msi file on my laptop -- despite the current setting of Polish / Poland in the Region and Language Settings control panel. :-( Can anybody tell me what my fault is? Thanks Markus - --- -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference
Re: [WiX-users] How to detect files presence and conditionally show a new added dialog page
Hi Blair, Thank you for your kindly reply. I really appreciate it. Yes, I think checking the folder presence instead of checking the files would work for us. I totally agree to use a built-in custom action instead of supplying my own for the reliability. The reason we wanted to check files(*.*) instead of folder is: In our 2.0 installer(made by InstallShield), there is a way the end user can choose to delete local settings upon uninstallation. Actually, in 3.0, I was asked to do so as well. But up to now, How to add a dialog box when uninstall is still a pending issue for me(http://n2.nabble.com/How-to-add-a-dialog-box-when-uninstall-td3515946i20.html#a3569972). Anyways, we can live with it for now. But in 2.0, the setting remover just deletes the settings, it doesn't delete the folder. So if the end user ever uninstalled the 2.0 application once and she happened to choose delete setting option, chances are she'll end up with having all setting gone but left an empty 2.0 folder behind. By checking the folder, we'll get the result of need to migrate setting, but actually there is no setting to migrate. Well, I agree there is nothing to lose even this happens. But still, I'll have a hard time to convince our QA and PM. Anyways, the bottom line is I could still do the DLL solution if they insist to check *.*. Yes, there is a checkbox in MyDlg. The default value for that is 1(to migrate setting for the user). And yes, if the UI is bypassed, the value will be 1 as well. By the way, your code example is beautiful. I learnt quite a few things from your reply, such as the 'secure' attribute in property element, InstallExecuteSequence/InstallUIExecuteSequence, and the way you set the NEED_UPGRADE_SETTING property. I'll give it a try. Thanks again! /Brian From: Blair os...@live.com To: General discussion for Windows Installer XML toolset. wix-users@lists.sourceforge.net Sent: Tuesday, October 20, 2009 7:27:41 PM Subject: Re: [WiX-users] How to detect files presence and conditionally show a new added dialog page Can you live with the existence (or lack thereof) of those two settings directories? Does it matter if they are empty or not? I would assume that if the 3.0 one didn't exist but the 2.0 one does, you have a better than even chance you have data to upgrade. Anytime you can use a built-in custom action instead of supplying your own, you tend to improve reliability. However, you can add as many custom actions (and custom action binaries) into your installation package as you wish, up to the size limit of the MSI file (not that you would ever want an MSI file that big). I assume your AppData property is the APPDATA environment variable. If not, change my [%AppData]\ and ensure that the property is defined before the AppSearch action. If it is defined in your Directory table, those properties are not populated until CostFinalize. Note that if Windows Installer defines a path, it always includes the trailing backslash ('\'). If you supply paths via your own custom action, you should do the same. Property Id=SETTINGS_20_EXIST Secure=yes DirectorySearch Id=[%AppData]\MyCompany\MyApp 2.0 Depth=0/ /Property Property Id=SETTINGS_30_EXIST Secure=yes DirectorySearch Id=[%AppData]\MyCompany\MyApp 3.0 Depth=0/ /Property Property Id=NEED_UPGRADE_SETTING Secure=yes/ CustomAction Id=SetNeedUpgradeSetting Property=NEED_UPGRADE_SETTING Value=1 Execute=firstSequence/ InstallUISequence Custom Action=SetNeedUpgradeSetting After=AppSearchSETTINGS_20_EXIST AND NOT SETTINGS_30_EXIST/Custom /InstallUISequence If you can't use mere absence/presence of the folders for your detection routine, don't use any of my code (except for the secure property declaration of NEED_UPDRADE_SETTING) and instead set NEED_UPDRADE_SETTING in your DLL action. Call your action with no condition in your InstallUISequence where I call SetNeedUpgradeSetting. Now, on to the InstallExecuteSequence. I am assuming that your confirmation dialog (MyDlg) has a check box that is associated with the property REALLY_NEED_UPGRADE_SETTING (which sets it to the value 1 if the box is checked). What is your default? Also, if the UI is bypassed, what should the assumed value be? I hope it is the same (checked by default, assumed checked if never shown). That makes your logic easier. You will need to make sure your REALLY_NEED_UPGRADE_SETTING property is also secure. I will assume it is also checked by default. If you are using your DLL instead of simple folder detection you should also set it to Execute=firstSequence. Property Id=REALLY_NEED_UPGRADE_SETTING Secure=yes Value=1/!-- remove 'Value=1' but leave the rest if migrating settings is NOT the default action-- InstallExecuteSequence Custom Action=SetNeedUpgradeSetting After=AppSearchSETTINGS_20_EXIST AND NOT SETTINGS_30_EXIST/Custom!--Note that this is identical to InstallUISequence. That is by design.-- Custom Action=DoSettingUpgrade
Re: [WiX-users] How to detect files presence and conditionally show a new added dialog page
Hi Richard, Thanks for your reply. Additionally, you can't have more than one NewDialog control event on a button, even if the conditions are mutually exclusive. - this is interesting. Can you tell me where this fact comes from? I googled, it's not mentioned in Wix or MSI. Also, I found this post Customized UI's for WiX(http://neilsleightholm.blogspot.com/2008/08/customised-uis-for-wix.html ). There is code like this - you see Niel Sleightholm does have two NewDialog control event for one button: Publish Dialog=CustomizeDlg Control=Back Event=NewDialog Value=MaintenanceTypeDlg Order=1WixUI_InstallMode = Change/Publish Publish Dialog=CustomizeDlg Control=Back Event=NewDialog Value=SetupTypeDlg Order=2WixUI_InstallMode = InstallCustom/PublishThanks. /Brian From: Richard legal...@xmission.com To: wix-users@lists.sourceforge.net Sent: Tuesday, October 20, 2009 9:44:55 PM Subject: Re: [WiX-users] How to detect files presence and conditionally show a new added dialog page In article 414331.22649...@web59815.mail.ac4.yahoo.com, little.forest little.for...@ymail.com writes: Hmm, can you tell me how to use AppSearch to locate folders? Use Property with a nested DirectorySearch Use type 19 CA to set properties [...] As pointed out by others, I was wrong in saying type 19, its type 51 (set property) as already mentioned. Not every CA requires a DLL or EXE -- only DLL/EXE CAs need them. WiX exposes a set property CA with SetProperty. You can reuse your upgrade_settings.exe program, but you may find that its more trouble than its worth because this means creating a custom action in code and interacting with this external utility to set properties in the MSI. You might find it easier to have this upgrade settings utility invoke msiexec on your MSI with command-line arguments to set properties for the installation, essentially using the upgrade settings utility as a bootstrapper. And the last question, to use condition on events to determine dialogs shown in a wizard, is it some like this? Publish Dialog=MyDlg Control=Back Event=NewDialog Value=M yInstallDirDlg Order=1NOT Installed and and REALLY_NEED_UPGRADE_SETTING/Pu blish Yes, but be careful about conditions and the fact that you need to populate those conditions on the Next button *and* the back button *and* you need to make sure that the conditions are setup properly so that dialog transitions are managed properly. Additionally, you can't have more than one NewDialog control event on a button, even if the conditions are mutually exclusive. You'll get weird behavior if you try this. The way to manage complex dialog transitions is to use a property to hold the name of the dialog you wish to display and conditionally set this property to the right value. Then transition to the dialog named by the property: For instance, suppose the transition table for the Back button on MyDlg looks like this: Target Dialog Condition Dialog1 NOT A AND NOT B Dialog2 A AND NOT B Dialog3 A AND B Dialog4 NOT A AND B The following Publish events show how to implement this logic with a single NewDialog event on the Back button of MyDlg: !-- go to Dialog1 by default -- Publish Dialog=MyDlg Control=Back Property=BackDialog Value=Dialog1/ Publish Dialog=MyDlg Control=Back Property=BackDialog Value=Dialog2A AND NOT B/Publish Publish Dialog=MyDlg Control=Back Property=BackDialog Value=Dialog3A AND B/Publish Publish Dialog=MyDlg Control=Back Property=BackDialog Value=Dialog4NOT A AND B/Publish Publish Dialog=MyDlg Control=Back Event=NewDialog Value=[BackDialog]/ Note that the first set property event has no condition, guaranteeing that the transition is always well defined. You can also null out the property and then take the NewDialog transition only when the property is non-empty: !-- go to Dialog1 by default -- Publish Dialog=MyDlg Control=Back Property=BackDialog Value={}/ Publish Dialog=MyDlg Control=Back Property=BackDialog Value=Dialog1NOT A AND NOT B/Publish Publish Dialog=MyDlg Control=Back Property=BackDialog Value=Dialog2A AND NOT B/Publish Publish Dialog=MyDlg Control=Back Property=BackDialog Value=Dialog3A AND B/Publish Publish Dialog=MyDlg Control=Back Property=BackDialog Value=Dialog4NOT A AND B/Publish Publish Dialog=MyDlg Control=Back Event=NewDialog Value=[BackDialog]BackDialog/Publish -- The Direct3D Graphics Pipeline -- DirectX 9 draft available for download http://legalizeadulthood.wordpress.com/the-direct3d-graphics-pipeline/ Legalize Adulthood! http://legalizeadulthood.wordpress.com -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take
Re: [WiX-users] Beginner's Question on Multi Language Installer
Hi Markus, I found this site is useful: http://blogs.technet.com/alexshev/pages/from-msi-to-wix.aspx I ever made a post Where to get more WiX knowledge(http://n2.nabble.com/Where-to-get-more-WiX-knowledge-td3529191.html#a3529191 ). But I was told to read MSI document. Well I even printed out that 1000+ pages document. But life is short, it's not easy to read them all. So whenever I want to do something either easy or complex, I'm having hard times. The fact is, in my company at least, the installer development work isn't considered important or advanced. People always told me that installer is easy, just install some files, right?. Plus, installer work just takes 30% to 40% of my time. I'll have to have most of my time work on other development tasks. So there is really no much time to sharp my Wix skills. I guess this is true in most of other companies. So a good documentation is really needed. I hope Wix community could come up with a detailed documentation with code examples, details, and explain why it works that way. From: Markus KARG markus.k...@gmx.net To: General discussion for Windows Installer XML toolset. wix-users@lists.sourceforge.net Sent: Wednesday, October 21, 2009 11:18:00 AM Subject: Re: [WiX-users] Beginner's Question on Multi Language Installer Well, frankly spoken that (really huge) tutorial is in part outdated, false and overly complex to understand, and it does things without explaining their intension or details in some chapters (what really confuses beginners). So after reading it two times I gave up and posted my question here... Thanks Markus -Original Message- From: Rob Mensching [mailto:r...@robmensching.com] Sent: Mittwoch, 21. Oktober 2009 16:38 To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Beginner's Question on Multi Language Installer Unfortunately, no. Have you read through the WiX tutorial http://wix.sf.net/tutorial? I thought it had a nice section on languages in MSIs. virtually, Rob Mensching - RobMensching.com LLC http://robmensching.com On Wed, Oct 21, 2009 at 3:13 AM, mrtn mrtn.frederik...@gmail.com wrote: In stead of a bootstrapper - selecting the wanted transform - is it possible for the .msi file itself to select a transform file? Maybe in a C++ CA? Blair-2 wrote: You get German since that is the first one in your list of Cultures. MSI has never officially supported the scenario you describe directly. You are perfectly free to create per-language transforms and use an .EXE file to install your MSI with those transforms (the supported way). There are some who have had success with embedding those same transforms based on a particular naming convention and having them auto-selected by the OS (not supported, but I'm told it works). There may or may not be issues with generating working MSP files if you use those transforms (you may have to mess with the transform applicability rules of the patch-supplied transforms depending on what the original language transforms did). You may be able to use the instance transform related tags in WiX, but I have never tried that so I don't know what gotchas you may find that way. Otherwise you may be able to link each language separately into .wixout files, generate your transforms from those, and bind the baseline wixout into the MSI you subsequently apply each MST to. -Original Message- From: Markus KARG [mailto:markus.k...@gmx.net] Sent: Tuesday, October 20, 2009 12:06 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Beginner's Question on Multi Language Installer Hello Everybody, I am new to both, MSI technology in general and the WiX product in particular, but I have some experience with some old InstallShield products (pre-MSI-age). InstallShield allowed me to simply add translated strings for lots of languages, so one single setup.exe contained the installer in multi languages. This was very smart since I was able to send the same setup.exe to any country of the world. Now I want to write an installer with WiX that is also multi language (I don't want to have lots of setup.msi files, but only a single one). I wrote several .wxl files and linked them together using a line like this one: light.exe -cultures:de,neutral;fr,neutral;en,neutral;neutral -loc de.wxl -loc fr.wxl -loc en.wxl -loc neutral.wxl Setup.wixobj (While actually told nowhere, it seems that neutral.wxl must contain ' .culture=. ' [i. e. empty string] to indicate that it is the neutral culture. I found out that by trial and error when adding the neutral fallback to each culture). What I expect to get from light.exe is one single .msi file containing all four
[WiX-users] How do I add a Condition to a Feature.
hi all, I have a Feature and i want to place a condition within this feature. Example :- the Feature is called SDK MAMAK Documentation. If the user selects this feature a condition is invoked that will check to see if MAMAK is installed. Only if MAMAK is installed will it allow the user to install the components within this feature. Suggestions / how do i do this ? -- View this message in context: http://n2.nabble.com/How-do-I-add-a-Condition-to-a-Feature-tp3868724p3868724.html Sent from the wix-users mailing list archive at Nabble.com. -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How do I add a Condition to a Feature.
What you can do is check to see if MAMAK is installed, and use that knowledge to set a property. Then you condition the SDK MAMAK Documentation feature itself to be disabled if MAMAK isn't installed. That would prevent any and all components in that feature that are not in any other features being installed from being installed. If MAMAK is a feature you are installing then make SDK MAMAK Documentation a child of MAMAK instead. If the parent isn't installed, no children are installed. -Original Message- From: spsingam [mailto:siva.poobalasin...@gmail.com] Sent: Wednesday, October 21, 2009 2:34 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] How do I add a Condition to a Feature. hi all, I have a Feature and i want to place a condition within this feature. Example :- the Feature is called SDK MAMAK Documentation. If the user selects this feature a condition is invoked that will check to see if MAMAK is installed. Only if MAMAK is installed will it allow the user to install the components within this feature. Suggestions / how do i do this ? -- View this message in context: http://n2.nabble.com/How-do-I-add-a-Condition-to-a-Feature-tp3868724p3868724 .html Sent from the wix-users mailing list archive at Nabble.com. -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] E_HANDLE returned from WcaAddTempRecord
You did call WcaInitialize before calling WcaAddTempRecord, right? -Original Message- From: David Battey [mailto:dbat...@phoenixcon.com] Sent: Wednesday, October 21, 2009 10:02 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] E_HANDLE returned from WcaAddTempRecord When I run this in an immediate CA in the InstallUISequence HRESULT hr = S_OK; MSIHANDLE hTable = NULL; MSIHANDLE hColumns = NULL; MSIDBERROR error; hr = WcaAddTempRecord(hTable, hColumns, LListBox, error, 0, 4, LPROPERTYNAME, 1, L0, LValue); I get an hr of E_HANDLE, error is not getting set, and GetLastError() returns 1008 (ERROR_NO_TOKEN). I've tried it in a few different places in the sequence, and get the same result. Does anyone have any idea what might be causing this? Thanks, David David E. Battey Senior Software Engineer Phoenix Contact Inc. (734) 205-5119 -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] repair in add/remove program without the original msi
You are on the wrong track in two ways: 1) the cached msi is a stripped msi, and as a result it can't reliably repair the product, and 2) the registry location you use is undocumented and subject to change and using it is not supported by the Windows Installer team. The right track consists of copying the original MSI being installed to a cache location of your choice and adding that location to the source list of your product either during your initial install (and any other time you recache the MSI) or in your bootstrapper. The copy can be performed by using the CopyFile element in a component, but the source-list change will need to be a custom action that calls MsiSourceListAddSource or other related API (unless your bootstrapper copies the MSI to your cache and runs it from there). -Original Message- From: Lian Jiang [mailto:lji...@microsoft.com] Sent: Wednesday, October 21, 2009 10:30 AM To: General discussion for Windows Installer XML toolset. Subject: [WiX-users] repair in add/remove program without the original msi Hi, In our product, after user1 installs the MSI, user1 will remove the original MSI and then give the machine to user2. For example, the user1 installs the MSI from a remote share and user2 will have no access to the remote share. This will disable repair through add/remove program for user2 because he cannot get the original MSI. However, repair through add/remove program is a must for user2. After reading MSDNhttp://blogs.msdn.com/windows_installer_team/archive/2006/05/24/605835. aspx, I decides to make repair through add/remove program use the cached MSI instead of the original MSI used to install. The cached MSI location is stored in this registry value HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserD ata\S-1-5-18\Products\{SomeGuid}\InstallProperties\LocalPackage. The value is something like: c:\windows\installer\157efa1.msi. S-1-5-18 = SID for LocalSystem and {SomeGuid} is the Package Guid. I don't know where the package guid is generated from but I observed that it is consistent across machines. Can I safely assume the guid is constant for my product? The AppWix.cpl picks the MSI path from LastUsedSource registry value and package name PackageName registry value from HKEY_CLASSES_ROOT\Installer\Products\{SomeGuid}\SourceList. So if I use the cached MSI's location and name to replace the LastUsedSource and PackageName respectively, I can repair through add/remove program without the original MSI. However, the downside is that everytime after I repair, the cached MSI's name changes (e.g. 157efa1.msi changes to 33ef.msi). This requires that I do the registry change everytime I repair to make repair through add/remove program always points to the lastest cached MSI. Are we on the right track? Is there any better/safer way to achieve repair through add/remove program without original MSI? Appreciate your help! Thanks Lian -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Beginner's Question on Multi Language Installer
Votive (actually the MSBuild scripts) differentiates between semicolon and comma. It assumes the list separator is a semicolon and uses that to split the list into separate invocations of light.exe, ignoring the comma. If you change the default list separator character you may or may not break this implementation, I don't remember and I'm not taking the time to look it up right now. Light.exe doesn't care, it recognizes both the semicolon and the comma as separators and treats them identically. -Original Message- From: Markus KARG [mailto:markus.k...@gmx.net] Sent: Wednesday, October 21, 2009 11:04 AM To: 'General discussion for Windows Installer XML toolset.' Subject: Re: [WiX-users] Beginner's Question on Multi Language Installer Markus KARG wrote: What I do not understand under this circumstances is: Why can I add a LIST of cultures to light.exe? I mean, what does it actually do with all the cultures if actually always taking just the first in the list? It uses all of them to support fallback from available localization files. The WiX MSBuild targets use the list of cultures to generate one MSI per culture. I still don't get it. I always understood fallback in the sense of: -cultures:de,en what mean: If you don't find a word in German, then print the English word. But what I am talking about is: -cultures:de;en (semicolon but not comma). So what acutally will light do when I provide de,en;en? I mean, one must understand the details to correctly use it - and I WANT to correctly use it. :-) Thanks Markus -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Beginner's Question on Multi Language Installer
Depending on where you read the information, different things come into play. In Votive (or anywhere else you are using the msbuild support), if you supply the string de,en;en for the cultures setting (I don't remember the casing or exact spelling of the property), you will get two MSIs built: one that uses German with English fallback (for any missing German strings) and English. Votive will call light.exe two times. In the light.exe command-line snipits as you list them below, in that third example, you get German, falling back to English, falling back to English. In other words, there is no real difference at all between the three command-lines. -Original Message- From: Markus KARG [mailto:markus.k...@gmx.net] Sent: Wednesday, October 21, 2009 11:09 AM To: 'General discussion for Windows Installer XML toolset.' Subject: Re: [WiX-users] Beginner's Question on Multi Language Installer Blair, but what is the difference then between: -culture:de,en -culture:de;en -culture:de,en;en ??? Thanks Markus It looks for the strings in all of the .wxl files sorting them in order of Culture, based on the order of the -Cultures parameter followed by the order the wxl files appear in the commandline. Example without using cultures, but placing the wxl files in numbered order: One.wxl: ...String Id=oneThis is the override/String... Two.wxl: ...String Id=oneThis is an override/String... ...String Id=twoThis is the second/String... ...String Id=fourThis is the fourth/String... Three.wxl: ...String Id=oneThis is the original/String... ...String Id=twoThis is another one/String... ...String Id=threeAnd yet another one/String... Then: Property Id=ONE Value=!(loc.one)/ Property Id=TWO Value=!(loc.two)/ Property Id=THREE Value=!(loc.three)/ Property Id=FOUR Value=!(loc.four)/ Results: ONE: This is the override TWO: This is the second THREE: And yet another one FOUR: This is the fourth If each of the above .wxl files had a culture of en-US and you added a fourth .wxl file with a culture of en-HK containing the following: ...String Id=oneWelcome to Hong Kong/String... ...String Id=threePlease come again/String... And then rebuilt using a -Cultures:en-HK,en-US parameter Results: ONE: Welcome to Hong Kong TWO: This is the second THREE: Please come again FOUR: This is the fourth In other words, in culture-order, search each WXL that exactly matches that culture until you find a matching string. Any given single MSI in the end understands just one language, based on the ProductLanguage tag (comes from produ...@language) and the content (a single value for each and every string). Everything else we do is intended to change that MSI's content so that a different language becomes apparent. That is where we re-link with different languages in order to generate the transforms that set our base MSI to those different languages. At that point, you can vary just the Cultures parameter and all WXL files that don't match the culture are ignored, so the command-line variation between the different links is minimal and easily controlled for. -Original Message- From: Markus KARG [mailto:markus.k...@gmx.net] Sent: Tuesday, October 20, 2009 3:01 PM To: 'General discussion for Windows Installer XML toolset.' Subject: Re: [WiX-users] Beginner's Question on Multi Language Installer Blair, thank you for your kind help. To sum up, multi-language support actually (or: officially) is not possible with a single .msi (or at least, not without either patching or transforming it before installation). What I do not understand under this circumstances is: Why can I add a LIST of cultures to light.exe? I mean, what does it actually do with all the cultures if actually always taking just the first in the list? Thanks Markus -Original Message- From: Blair [mailto:os...@live.com] Sent: Dienstag, 20. Oktober 2009 21:53 To: 'General discussion for Windows Installer XML toolset.' Subject: Re: [WiX-users] Beginner's Question on Multi Language Installer You get German since that is the first one in your list of Cultures. MSI has never officially supported the scenario you describe directly. You are perfectly free to create per-language transforms and use an .EXE file to install your MSI with those transforms (the supported way). There are some who have had success with embedding those same transforms based on a particular naming convention and having them auto-selected by the OS (not supported, but I'm told it works). There may or may not be issues with generating working MSP files if you use those transforms (you may have to mess with the transform applicability rules of the patch-supplied transforms depending on what the original language transforms did). You may be able to use the instance transform related tags in WiX, but I have never tried that so I don't know
Re: [WiX-users] How to create window before exit dialog
If you look in your generated InstallUISequence table you will see ExitDialog as an action. If you want MyDialog to appear before it, you would either effectively replace ExitDialog in that table with MyDialog and call ExitDialog from your Next button, or you would insert your dialog Before=ExitDialog in the InstallUISequence table and close your dialog when you click your Next button. -Original Message- From: Adnan Mian [mailto:miand...@gmail.com] Sent: Wednesday, October 21, 2009 9:37 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] How to create window before exit dialog I have already my own dialog window (MyDialog) which is currently appearing after license agreement dialog. For this i am using following code and it is functioning. Publish Dialog=LicenseAgreementDlg Control=Next Event=NewDialog Value=MyDialog Order=2LicenseAccepted = 1/Publish But now we want to place this own dialog window (MyDialog) after installing and before Exitdialog (launch application) window. or it must appear before ExitDialog after installing. How to implement it? Which Dialog id i need Dialog=? , Which Control i need? Please give the code example to understand it! Best Regards Adnan 2009/10/21 Lourens Wepener lourens.wepe...@avanade.com Hi, If you are using a wix project in Visual Studio, add a reference to the WIXUI dll and add the code in. below is a sample that adds a custom dialog called ServiceIdentityDlg. UIRef Id=WixUI_Common / UI Property Id=DefaultUIFont Value=WixUI_Font_Normal / TextStyle Id=WixUI_Font_Normal FaceName=Tahoma Size=8 / TextStyle Id=WixUI_Font_Bigger FaceName=Tahoma Size=12 / TextStyle Id=WixUI_Font_Title FaceName=Tahoma Size=9 Bold=yes / Property Id=WIXUI_INSTALLDIR Value=[SET INSTALLLOCATION HERE] / Property Id=ARPNOMODIFY Value=1 / Property Id=WixUI_Mode Value=FeatureTree / DialogRef Id=BrowseDlg / DialogRef Id=DiskCostDlg / DialogRef Id=ErrorDlg / DialogRef Id=FatalError / DialogRef Id=FilesInUse / DialogRef Id=MsiRMFilesInUse / DialogRef Id=PrepareDlg / DialogRef Id=ProgressDlg / DialogRef Id=ResumeDlg / DialogRef Id=UserExit / Publish Dialog=ExitDialog Control=Finish Event=EndDialog Value=Return Order=9991/Publish Publish Dialog=WelcomeDlg Control=Next Event=NewDialog Value=InstallDirDlg1/Publish Publish Dialog=InstallDirDlg Control=Back Event=NewDialog Value=WelcomeDlg1/Publish Publish Dialog=InstallDirDlg Control=Next Event=SetTargetPath Value=[WIXUI_INSTALLDIR] Order=11/Publish Publish Dialog=InstallDirDlg Control=Next Event=NewDialog Value=ServiceIdentityDlg Order=21/Publish Publish Dialog=InstallDirDlg Control=ChangeFolder Property=_BrowseProperty Value=[WIXUI_INSTALLDIR] Order=11/Publish Publish Dialog=InstallDirDlg Control=ChangeFolder Event=SpawnDialog Value=BrowseDlg Order=21/Publish Publish Dialog=ServiceIdentityDlg Control=Back Event=NewDialog Value=InstallDirDlg Order=11/Publish Publish Dialog=ServiceIdentityDlg Control=Next Event=NewDialog Value=CustomizeDlg Order=21/Publish Publish Dialog=CustomizeDlg Control=Back Event=NewDialog Value=ServiceIdentityDlg Order=1Installed/Publish Publish Dialog=CustomizeDlg Control=Next Event=NewDialog Value=VerifyReadyDlg1/Publish Publish Dialog=VerifyReadyDlg Control=Back Event=NewDialog Value=ServiceIdentityDlg Order=1NOT Installed/Publish Publish Dialog=VerifyReadyDlg Control=Back Event=NewDialog Value=MaintenanceTypeDlg Order=2Installed/Publish Publish Dialog=MaintenanceWelcomeDlg Control=Next Event=NewDialog Value=MaintenanceTypeDlg1/Publish Publish Dialog=MaintenanceTypeDlg Control=RepairButton Event=NewDialog Value=VerifyReadyDlg1/Publish Publish Dialog=MaintenanceTypeDlg Control=RemoveButton Event=NewDialog Value=VerifyReadyDlg1/Publish Publish Dialog=MaintenanceTypeDlg Control=Back Event=NewDialog Value=MaintenanceWelcomeDlg1/Publish Dialog Id=ServiceIdentityDlg Width=370 Height=270 Title=[ProductName] Service Account Control Id=Title Type=Text X=15 Y=6 Width=200 Height=15 Transparent=yes NoPrefix=yes Text={\WixUI_Font_Title}Service Account Information / Control Id=Description Type=Text X=25 Y=23 Width=280 Height=24 Transparent=yes NoPrefix=yes Text=Enter the text / Control Id=BannerBitmap Type=Bitmap X=0 Y=3 Width=370 Height=49 TabSkip=no Text=!(loc.InstallDirDlgBannerBitmap) / Control Id=BannerLine Type=Line X=0 Y=52 Width=370 Height=2 / Control Id=UserNameLabel Type=Text X=20 Y=60 Width=290 Height=13 Text=text / Control Id=UserName Type=Edit X=20 Y=72 Width=320 Height=15 Property=USERNAME Text=47 / Control Id=PasswordLabel Type=Text X=20 Y=93 Width=290 Height=13 Text=Password: / Control Id=Password Type=Edit Password=yes X=20 Y=105 Width=320 Height=15 Property=PASSWORD
Re: [WiX-users] Patch with satellite assemblies in GAC
I gave up on msimsp/PatchWiz as soon as I had a viable alternative. It is too big of a not-very-well-documented black hole. Having said that, http://msdn.microsoft.com/en-us/library/aa370346(VS.85).aspx says: The MsiPatchOldAssemblyFile table and MsiPatchOldAssemblyName table are not generated automatically by PatchWiz. The update package specified in the UpgradedImages table is required to contain these tables for the patch to have this information. I don't know where/how those tables are being automatically generated. Possibly from the MsiAssemblyFile and MsiAssemblyName tables in the baseline package used in the TargetImages table? I'm not sure. I'll dig into it more, but I don't know what time I can put against it right now... -Original Message- From: Igor Paniushkin [mailto:ipaniush...@sdl.com] Sent: Wednesday, October 21, 2009 8:28 AM To: General discussion for Windows Installer XML toolset. Subject: [WiX-users] Patch with satellite assemblies in GAC Hi all, I'm trying to create patch (service pack) for one product and I have a problem with satellite assemblies (resources) which are installed in the GAC, they should be updated by patch. After applying a patch only one satellite assembly is updated, others are stayed not updated (old version). I checked MsiPatchOldAssemblyName and MsiPatchOldAssemblyFile tables in my patch and only one resource assembly is there (one component). Did somebody have the same issue? How to force msimsp to include all satellites assemblies? Best Regards, Igor SDL PLC confidential, all rights reserved. If you are not the intended recipient of this mail SDL requests and requires that you delete it without acting upon or copying any of its contents, and we further request that you advise us. SDL PLC is a public limited company registered in England and Wales. Registered number: 02675207. Registered address: Globe House, Clivemont Road, Maidenhead, Berkshire SL6 7DY, UK. -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Beginner's Question on Multi Language Installer
Interesting. I've never heard that feedback before. Thank you. On Wed, Oct 21, 2009 at 11:18 AM, Markus KARG markus.k...@gmx.net wrote: Well, frankly spoken that (really huge) tutorial is in part outdated, false and overly complex to understand, and it does things without explaining their intension or details in some chapters (what really confuses beginners). So after reading it two times I gave up and posted my question here... Thanks Markus -Original Message- From: Rob Mensching [mailto:r...@robmensching.com] Sent: Mittwoch, 21. Oktober 2009 16:38 To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Beginner's Question on Multi Language Installer Unfortunately, no. Have you read through the WiX tutorial http://wix.sf.net/tutorial? I thought it had a nice section on languages in MSIs. virtually, Rob Mensching - RobMensching.com LLC http://robmensching.com On Wed, Oct 21, 2009 at 3:13 AM, mrtn mrtn.frederik...@gmail.com wrote: In stead of a bootstrapper - selecting the wanted transform - is it possible for the .msi file itself to select a transform file? Maybe in a C++ CA? Blair-2 wrote: You get German since that is the first one in your list of Cultures. MSI has never officially supported the scenario you describe directly. You are perfectly free to create per-language transforms and use an .EXE file to install your MSI with those transforms (the supported way). There are some who have had success with embedding those same transforms based on a particular naming convention and having them auto-selected by the OS (not supported, but I'm told it works). There may or may not be issues with generating working MSP files if you use those transforms (you may have to mess with the transform applicability rules of the patch-supplied transforms depending on what the original language transforms did). You may be able to use the instance transform related tags in WiX, but I have never tried that so I don't know what gotchas you may find that way. Otherwise you may be able to link each language separately into .wixout files, generate your transforms from those, and bind the baseline wixout into the MSI you subsequently apply each MST to. -Original Message- From: Markus KARG [mailto:markus.k...@gmx.net] Sent: Tuesday, October 20, 2009 12:06 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Beginner's Question on Multi Language Installer Hello Everybody, I am new to both, MSI technology in general and the WiX product in particular, but I have some experience with some old InstallShield products (pre-MSI-age). InstallShield allowed me to simply add translated strings for lots of languages, so one single setup.exe contained the installer in multi languages. This was very smart since I was able to send the same setup.exe to any country of the world. Now I want to write an installer with WiX that is also multi language (I don't want to have lots of setup.msi files, but only a single one). I wrote several .wxl files and linked them together using a line like this one: light.exe -cultures:de,neutral;fr,neutral;en,neutral;neutral -loc de.wxl -loc fr.wxl -loc en.wxl -loc neutral.wxl Setup.wixobj (While actually told nowhere, it seems that neutral.wxl must contain ' .culture=. ' [i. e. empty string] to indicate that it is the neutral culture. I found out that by trial and error when adding the neutral fallback to each culture). What I expect to get from light.exe is one single .msi file containing all four language packs: German, French, English and Neutral. Light provides a single .msi so from the outside it seems to work. My target is that the Windows Installer at install time picks German, French or English strings automatically, depending on the user's current Region and Language Settings or instead picks neutral strings when the current user's local setting is neither German, French nor English (for example, Polish / Poland). While light v3 accepts the above line and does not complain in any way (not even ICE warnings), the Windows Installer picks Germany *always* when running the resulting .msi file on my laptop -- despite the current setting of Polish / Poland in the Region and Language Settings control panel. :-( Can anybody tell me what my fault is? Thanks Markus - --- -- Come build with us! The BlackBerry(R) Developer Conference
Re: [WiX-users] Questions on more advanced WiX Installer UI
1. Not that I know of. 2. Not that I know of. Unfortunately, to get that kind of advanced UI, you probably will have to go to an External UI handler. Note, that is a huge leap in terms of work necessary. On Wed, Oct 21, 2009 at 10:53 AM, Dan Giambalvo danie...@microsoft.comwrote: I'm working on some enhancements to our WiX based setup UI, and wanted to know if a few things are possible using the UI components Windows Installer makes available: 1) We have a custom action as a part of our installer that makes a web service call. We'd like to embed in the UI a spinner that would spin during the time we are making the call. Does such a control exist in the Windows Installer toolkit? Can we use some type of animated gif for this purpose? 2) We have to accept entry of a product-key type code at install. Ideally, we'd like to add some logic so we auto-add/remove separators at the right time, don't allow invalid characters (input is Hex) etc. Does Windows Installer have any mechanism for doing this sort of thing? Thanks in advance for any help! -Dan -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- virtually, Rob Mensching - http://RobMensching.com LLC -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] MaskedEdit and disable Next button?
Hello, In my installer that I created with Wix, I click a checkbox to accept the license agreement and this enables the Next button. I want to do the same with a MaskedEdit entry or two. That is, until both MaskedEdit entries have at least X characters, I want the Next button to be disabled. I'd assume that I could make a call into a DLL to check someFunction(...) where some function checks that session[PIDKEY].Length = X, but I'm not quite sure if this is possible or what my custom actions might look like. Please advise if you have any suggestions. -- K -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] MaskedEdit and disable Next button?
Unless you have the person push some other button to call your custom action, I have no idea how you would get your custom action invoked to check the lengths to set the property needed to enable your Next button. -Original Message- From: kerbe...@noopy.org [mailto:kerbe...@noopy.org] Sent: Wednesday, October 21, 2009 6:16 PM To: General discussion for Windows Installer XML toolset. Subject: [WiX-users] MaskedEdit and disable Next button? Hello, In my installer that I created with Wix, I click a checkbox to accept the license agreement and this enables the Next button. I want to do the same with a MaskedEdit entry or two. That is, until both MaskedEdit entries have at least X characters, I want the Next button to be disabled. I'd assume that I could make a call into a DLL to check someFunction(...) where some function checks that session[PIDKEY].Length = X, but I'm not quite sure if this is possible or what my custom actions might look like. Please advise if you have any suggestions. -- K -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How to detect files presence and conditionally show a new added dialog page
In article 664797.8163...@web59804.mail.ac4.yahoo.com, little.forest little.for...@ymail.com writes: Additionally, you can't have more than one NewDialog control event on a button, even if the conditions are mutually exclusive. At one point I found this buried in the MSI documentation; I don't recall where it was offhand, but we had a series of dialogs with complex conditional transitions between them. Occasionally, buttons would just cease to work and the dialog sequence was hung. Eventually we tracked it back to this constraint. Once we went the route of using a property to specify the target dialog and changed everything to only a single NewDialog event per control, then everything worked properly again. The annoying thing is that it will *appear* to work until it doesn't and there's no unifying principle as to when it will work and when it won't. Its a little more work to do things through the property, but it is guaranteed to work every single time that way. -- The Direct3D Graphics Pipeline -- DirectX 9 draft available for download http://legalizeadulthood.wordpress.com/the-direct3d-graphics-pipeline/ Legalize Adulthood! http://legalizeadulthood.wordpress.com -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How to detect files presence and conditionally show a new added dialog page
In article 664797.8163...@web59804.mail.ac4.yahoo.com, little.forest little.for...@ymail.com writes: Additionally, you can't have more than one NewDialog control event on a button, even if the conditions are mutually exclusive. - this is interesting. Ca n you tell me where this fact comes from? Found it. Its in the docs for the ControlEvent table. http://msdn.microsoft.com/en-us/library/aa368037(VS.85).aspx The exception is that each control can publish a most one NewDialog or one SpawnDialog event. -- The Direct3D Graphics Pipeline -- DirectX 9 draft available for download http://legalizeadulthood.wordpress.com/the-direct3d-graphics-pipeline/ Legalize Adulthood! http://legalizeadulthood.wordpress.com -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Minor upgrade not replacing the files
Hi all, I am doing Minor upgrade for my product. But Minor upgrade not replacing the files. Older ones are working fine.But the latest one is not working. what are the causes, that fails the Minor upgrade. Is it adding new files under some components? Please advise some solution. -- View this message in context: http://n2.nabble.com/Minor-upgrade-not-replacing-the-files-tp3870170p3870170.html Sent from the wix-users mailing list archive at Nabble.com. -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Minor upgrade not replacing the files
Some questions. What is your REINSTALLMODE value? The files that are not replace: are they binary files with version resources, or not? If not (such as text or xml) have they been modified in any way? You mention adding new files. These files were added to already existing components? Did you change the keypath in any component in ANY way? And, the big one: What does your verbose installation log say? -Original Message- From: MYFLEX [mailto:shrinuen...@gmail.com] Sent: Wednesday, October 21, 2009 9:21 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Minor upgrade not replacing the files Hi all, I am doing Minor upgrade for my product. But Minor upgrade not replacing the files. Older ones are working fine.But the latest one is not working. what are the causes, that fails the Minor upgrade. Is it adding new files under some components? Please advise some solution. -- View this message in context: http://n2.nabble.com/Minor-upgrade-not-replacing-the-files-tp3870170p3870170 .html Sent from the wix-users mailing list archive at Nabble.com. -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users