[WiX-users] Burn error when parsing msi version
Wix is allowing me to create msi files with a large number in the fourth version index (6-digit numbers, i.e. 11). I'm trying to use burn to create a bootstrapper which bundles my wix installer. When I include an msi in the bundle which has a fourth version index greater than 65535 (16-bit unsigned) I get MSI parsing errors when executing the bootstrapper. No error pop-up is displayed, the only indication of the parsing error in in the Setup log file. Parsing errors in the Setup log file appear as follows: [25C4:25D0][2014-06-09T14:24:10]i001: Burn v3.8.1128.0, Windows v6.3 (Build 9600: Service Pack 0), path: C:\Users\ejcarpen\Documents\Visual Studio 2010\Projects\Bootstrapper1\Bootstrapper1\bin\Debug\Bootstrapper1.exe, cmdline: '' [25C4:25D0][2014-06-09T14:24:10]e000: Error 0x8002000a: Failed to parse @Version: 1.0.0.65536 [25C4:25D0][2014-06-09T14:24:10]e000: Error 0x8002000a: Failed to parse MSI package. [25C4:25D0][2014-06-09T14:24:10]e000: Error 0x8002000a: Failed to parse packages. [25C4:25D0][2014-06-09T14:24:10]e000: Error 0x8002000a: Failed to load manifest. [25C4:25D0][2014-06-09T14:24:10]e000: Error 0x8002000a: Failed to initialize core. This is reproducible by building an empty setup project with version 1.0.0.65536 and adding it to an empty bootstrapper project Is there a way around this issue? Is it a bug or expected behavior based on MS version handling limitations? I find it strange that wix allows me to build MSI files that the wix bootstrapper can't parse Thanks, -- -Ed -- HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing Easy Data Exploration http://p.sf.net/sfu/hpccsystems ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Burn error when parsing msi version
We are okay with WiX ignoring this number for upgrading purposes. We simply attach the build CL in the 4th index so we can trace each MSI back to the point of creation if needed The problem seems to be that Burn can't parse MSI files which fill this value with a number larger than 16-bit unsigned. If WiX is truly ignoring this number, shouldn't the Boostrapper not care what value is used, as long is it was a legal value when creating the MSI? -Ed On Mon, Jun 9, 2014 at 2:44 PM, Carter Young ecyo...@grandecom.net wrote: This is expected behavior because all of WiX ignores the 4th version number... If you want to test for it, you must do it manually. Carter Quoting Ed ecarp...@gmail.com: Wix is allowing me to create msi files with a large number in the fourth version index (6-digit numbers, i.e. 11). I'm trying to use burn to create a bootstrapper which bundles my wix installer. When I include an msi in the bundle which has a fourth version index greater than 65535 (16-bit unsigned) I get MSI parsing errors when executing the bootstrapper. No error pop-up is displayed, the only indication of the parsing error in in the Setup log file. Parsing errors in the Setup log file appear as follows: [25C4:25D0][2014-06-09T14:24:10]i001: Burn v3.8.1128.0, Windows v6.3 (Build 9600: Service Pack 0), path: C:\Users\ejcarpen\Documents\Visual Studio 2010\Projects\Bootstrapper1\Bootstrapper1\bin\Debug\Bootstrapper1.exe, cmdline: '' [25C4:25D0][2014-06-09T14:24:10]e000: Error 0x8002000a: Failed to parse @Version: 1.0.0.65536 [25C4:25D0][2014-06-09T14:24:10]e000: Error 0x8002000a: Failed to parse MSI package. [25C4:25D0][2014-06-09T14:24:10]e000: Error 0x8002000a: Failed to parse packages. [25C4:25D0][2014-06-09T14:24:10]e000: Error 0x8002000a: Failed to load manifest. [25C4:25D0][2014-06-09T14:24:10]e000: Error 0x8002000a: Failed to initialize core. This is reproducible by building an empty setup project with version 1.0.0.65536 and adding it to an empty bootstrapper project Is there a way around this issue? Is it a bug or expected behavior based on MS version handling limitations? I find it strange that wix allows me to build MSI files that the wix bootstrapper can't parse Thanks, -- -Ed -- HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing Easy Data Exploration http://p.sf.net/sfu/hpccsystems ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing Easy Data Exploration http://p.sf.net/sfu/hpccsystems ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- -Ed -- HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing Easy Data Exploration http://p.sf.net/sfu/hpccsystems ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Burn error when parsing msi version
Sorry I'm still a bit confused. If this is the case, then why am I able to create a bootstrapper which bundles an MSI file that has a fourth index version number of 65535? The fact that an MSI with fourth index 65535 (1.0.0.65535) will execute from a WiX bootstrapper with no issue, while an MSI file with fourth index of 65536 (1.0.0.65536) will cause the silent parsing error shown above seems to indicate there is an upper limit for this index when using burn (but not when creating the MSI via WiX) Could you explain source of this apparent value limitation? On Mon, Jun 9, 2014 at 3:01 PM, Carter Young ecyo...@grandecom.net wrote: Your getting the error because the number is ignored all together, regardless of type, int long string doesnt matter... its unable to parse because there is no underlying code in burn that says parse 4th digit Quoting Ed ecarp...@gmail.com: We are okay with WiX ignoring this number for upgrading purposes. We simply attach the build CL in the 4th index so we can trace each MSI back to the point of creation if needed The problem seems to be that Burn can't parse MSI files which fill this value with a number larger than 16-bit unsigned. If WiX is truly ignoring this number, shouldn't the Boostrapper not care what value is used, as long is it was a legal value when creating the MSI? -Ed On Mon, Jun 9, 2014 at 2:44 PM, Carter Young ecyo...@grandecom.net wrote: This is expected behavior because all of WiX ignores the 4th version number... If you want to test for it, you must do it manually. Carter Quoting Ed ecarp...@gmail.com: Wix is allowing me to create msi files with a large number in the fourth version index (6-digit numbers, i.e. 11). I'm trying to use burn to create a bootstrapper which bundles my wix installer. When I include an msi in the bundle which has a fourth version index greater than 65535 (16-bit unsigned) I get MSI parsing errors when executing the bootstrapper. No error pop-up is displayed, the only indication of the parsing error in in the Setup log file. Parsing errors in the Setup log file appear as follows: [25C4:25D0][2014-06-09T14:24:10]i001: Burn v3.8.1128.0, Windows v6.3 (Build 9600: Service Pack 0), path: C:\Users\ejcarpen\Documents\Visual Studio 2010\Projects\Bootstrapper1\Bootstrapper1\bin\Debug\Bootstrapper1.exe, cmdline: '' [25C4:25D0][2014-06-09T14:24:10]e000: Error 0x8002000a: Failed to parse @Version: 1.0.0.65536 [25C4:25D0][2014-06-09T14:24:10]e000: Error 0x8002000a: Failed to parse MSI package. [25C4:25D0][2014-06-09T14:24:10]e000: Error 0x8002000a: Failed to parse packages. [25C4:25D0][2014-06-09T14:24:10]e000: Error 0x8002000a: Failed to load manifest. [25C4:25D0][2014-06-09T14:24:10]e000: Error 0x8002000a: Failed to initialize core. This is reproducible by building an empty setup project with version 1.0.0.65536 and adding it to an empty bootstrapper project Is there a way around this issue? Is it a bug or expected behavior based on MS version handling limitations? I find it strange that wix allows me to build MSI files that the wix bootstrapper can't parse Thanks, -- -Ed -- HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing Easy Data Exploration http://p.sf.net/sfu/hpccsystems ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing Easy Data Exploration http://p.sf.net/sfu/hpccsystems ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- -Ed -- HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing Easy Data Exploration http://p.sf.net/sfu/hpccsystems ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Burn error when parsing msi version
Thank you Bob, I have isolated the issue by using basic Visual Studio WiX projects (Setup Project and Bootstrapper Project) To create the MSI, I created a simple Setup Project and changed the Product's Version attribute to 1.0.0.65536. Then I crated a basic Bootstrapper Project and added a single MSIPackage element which specified my new MSI as the only item in the Chain. Note that I am leaving the Bootstrapper version as 1.0.0.0, it is not part of the issue. When the MSI Product Version attribute is set to 1.0.0.65535, my simple empty bootstrapper project launches the the msi as expected, but when the MSI Product Version's fourth index is 65536 or higher, the MSI parse fails with the message I included in the original e-mail. I understand the build version must be less than 65536, but I believe that refers to the third index in the version number. There is no compile error for a high number in the fourth version index (I read somewhere this was 64-bit, but can't find it now...) Below is the Product.wxs of the msi that allows the 1.0.0.65536 version number to build. It is the only change I made to the basic Setup Project and it compiles with no issue: ?xml version=1.0 encoding=UTF-8? Wix xmlns=http://schemas.microsoft.com/wix/2006/wi; Product Id=* Name=SetupProject1 Language=1033 Version=1.0.0.65536 Manufacturer=Me UpgradeCode=656c5f73-a75d-449c-813d-7be197cec1a2 Package InstallerVersion=200 Compressed=yes InstallScope=perMachine / MajorUpgrade DowngradeErrorMessage=A newer version of [ProductName] is already installed. / MediaTemplate / Feature Id=ProductFeature Title=SetupProject1 Level=1 ComponentGroupRef Id=ProductComponents / /Feature /Product Fragment Directory Id=TARGETDIR Name=SourceDir Directory Id=ProgramFilesFolder Directory Id=INSTALLFOLDER Name=SetupProject1 / /Directory /Directory /Fragment Fragment ComponentGroup Id=ProductComponents Directory=INSTALLFOLDER !-- TODO: Remove the comments around this Component element and the ComponentRef below in order to add resources to this installer. -- !-- Component Id=ProductComponent -- !-- TODO: Insert files, registry keys, and other resources here. -- !-- /Component -- /ComponentGroup /Fragment /Wix On Mon, Jun 9, 2014 at 3:36 PM, Carter Young ecyo...@grandecom.net wrote: My Mistake, it's the MSI causing the issue, not the Burn Engine. See the post I linked earlier... Quoting Bob Arnson b...@joyofsetup.com: On 6/9/2014 6:01 PM, Carter Young wrote: Your getting the error because the number is ignored all together, regardless of type, int long string doesnt matter... its unable to parse because there is no underlying code in burn that says parse 4th digit Burn supports all four places of version numbers. -- sig://boB http://joyofsetup.com/ -- HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing Easy Data Exploration http://p.sf.net/sfu/hpccsystems ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing Easy Data Exploration http://p.sf.net/sfu/hpccsystems ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- -Ed -- HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing Easy Data Exploration http://p.sf.net/sfu/hpccsystems ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Burn error when parsing msi version
concerning 'Invalid product version '{0}'. Product version must have a major version less than 256, a minor version less than 256, and a build version less than 65536.' I believe the version format is Major.Minor.Build.Revision, hence the compile error is correct, albeit missing any limit information concerning index four On Mon, Jun 9, 2014 at 3:51 PM, Ed ecarp...@gmail.com wrote: Thank you Bob, I have isolated the issue by using basic Visual Studio WiX projects (Setup Project and Bootstrapper Project) To create the MSI, I created a simple Setup Project and changed the Product's Version attribute to 1.0.0.65536. Then I crated a basic Bootstrapper Project and added a single MSIPackage element which specified my new MSI as the only item in the Chain. Note that I am leaving the Bootstrapper version as 1.0.0.0, it is not part of the issue. When the MSI Product Version attribute is set to 1.0.0.65535, my simple empty bootstrapper project launches the the msi as expected, but when the MSI Product Version's fourth index is 65536 or higher, the MSI parse fails with the message I included in the original e-mail. I understand the build version must be less than 65536, but I believe that refers to the third index in the version number. There is no compile error for a high number in the fourth version index (I read somewhere this was 64-bit, but can't find it now...) Below is the Product.wxs of the msi that allows the 1.0.0.65536 version number to build. It is the only change I made to the basic Setup Project and it compiles with no issue: ?xml version=1.0 encoding=UTF-8? Wix xmlns=http://schemas.microsoft.com/wix/2006/wi; Product Id=* Name=SetupProject1 Language=1033 Version=1.0.0.65536 Manufacturer=Me UpgradeCode=656c5f73-a75d-449c-813d-7be197cec1a2 Package InstallerVersion=200 Compressed=yes InstallScope=perMachine / MajorUpgrade DowngradeErrorMessage=A newer version of [ProductName] is already installed. / MediaTemplate / Feature Id=ProductFeature Title=SetupProject1 Level=1 ComponentGroupRef Id=ProductComponents / /Feature /Product Fragment Directory Id=TARGETDIR Name=SourceDir Directory Id=ProgramFilesFolder Directory Id=INSTALLFOLDER Name=SetupProject1 / /Directory /Directory /Fragment Fragment ComponentGroup Id=ProductComponents Directory=INSTALLFOLDER !-- TODO: Remove the comments around this Component element and the ComponentRef below in order to add resources to this installer. -- !-- Component Id=ProductComponent -- !-- TODO: Insert files, registry keys, and other resources here. -- !-- /Component -- /ComponentGroup /Fragment /Wix On Mon, Jun 9, 2014 at 3:36 PM, Carter Young ecyo...@grandecom.net wrote: My Mistake, it's the MSI causing the issue, not the Burn Engine. See the post I linked earlier... Quoting Bob Arnson b...@joyofsetup.com: On 6/9/2014 6:01 PM, Carter Young wrote: Your getting the error because the number is ignored all together, regardless of type, int long string doesnt matter... its unable to parse because there is no underlying code in burn that says parse 4th digit Burn supports all four places of version numbers. -- sig://boB http://joyofsetup.com/ -- HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing Easy Data Exploration http://p.sf.net/sfu/hpccsystems ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing Easy Data Exploration http://p.sf.net/sfu/hpccsystems ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- -Ed -- -Ed -- HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing Easy Data Exploration http://p.sf.net/sfu/hpccsystems ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Burn error when parsing msi version
I see, thanks for the help! Our team has been filling that fourth index with larger numbers for years with no ill affects, so I assumed this was acceptable. I will deliver to them the bad news ;) I will also open a bug for wix to flag such builds with compile warnings so other teams don't encounter this issue in the future On Mon, Jun 9, 2014 at 4:01 PM, Bob Arnson b...@joyofsetup.com wrote: On 6/9/2014 6:51 PM, Ed wrote: I understand the build version must be less than 65536, but I believe that refers to the third index in the version number. Product versions must be less than or equal to 255.255.65535.65535. http://msdn.microsoft.com/en-us/library/aa370859%28v=vs.85%29.aspx makes that clear for the first three fields but doesn't talk about the fourth. http://msdn.microsoft.com/en-us/library/aa372488%28v=vs.85%29.aspx shows it's a 16-bit limit. There is no compile error for a high number in the fourth version index That's a bug, for sure. Can you open one at http://wixtoolset.org/issues/? -- sig://boB http://joyofsetup.com/ -- HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing Easy Data Exploration http://p.sf.net/sfu/hpccsystems ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- -Ed -- HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing Easy Data Exploration http://p.sf.net/sfu/hpccsystems ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Burn error when parsing msi version
Defect added: http://wixtoolset.org/issues/4443/ On Mon, Jun 9, 2014 at 4:27 PM, Ed ecarp...@gmail.com wrote: I see, thanks for the help! Our team has been filling that fourth index with larger numbers for years with no ill affects, so I assumed this was acceptable. I will deliver to them the bad news ;) I will also open a bug for wix to flag such builds with compile warnings so other teams don't encounter this issue in the future On Mon, Jun 9, 2014 at 4:01 PM, Bob Arnson b...@joyofsetup.com wrote: On 6/9/2014 6:51 PM, Ed wrote: I understand the build version must be less than 65536, but I believe that refers to the third index in the version number. Product versions must be less than or equal to 255.255.65535.65535. http://msdn.microsoft.com/en-us/library/aa370859%28v=vs.85%29.aspx makes that clear for the first three fields but doesn't talk about the fourth. http://msdn.microsoft.com/en-us/library/aa372488%28v=vs.85%29.aspx shows it's a 16-bit limit. There is no compile error for a high number in the fourth version index That's a bug, for sure. Can you open one at http://wixtoolset.org/issues/ ? -- sig://boB http://joyofsetup.com/ -- HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing Easy Data Exploration http://p.sf.net/sfu/hpccsystems ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- -Ed -- -Ed -- HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing Easy Data Exploration http://p.sf.net/sfu/hpccsystems ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] WixBundleInstalled in Managed Bootstrapper Application
unsubscribe -Original Message- From: Alasdair King [mailto:alasdairk...@gmail.com] Sent: Thursday, May 15, 2014 5:08 AM To: General discussion about the WiX toolset. Subject: Re: [WiX-users] WixBundleInstalled in Managed Bootstrapper Application OK, done some testing: * WixBundleInstalled does indeed report the installed state of the bundle, before and after DetectBegin. * A bundle can indeed install zero MSI packages and be installed. The installation state of the bundle is independent of the installation state of the MSIs contained within it. The most common approach in sample code therefore appears to be slightly at odds with how Burn works: that is, people writing Bootstrapper Applications appear to be targeting installed/uninstalled MSI packages, not the Burn package. (I suspect this is from trying to use Burn as a bootstrapper!) Alasdair On Sun, Apr 13, 2014 at 8:26 AM, Alasdair King alasdairk...@gmail.comwrote: Thanks Sean! However, I don't understand the discrepancy between your suggestions and what appears to be common practice in third-party sample code. My understanding is that a Burn bundle is a set of MSI windows installers packaged together inside a wrapper that handles the UI and logic. So it seems to me that you could have a Burn bundle installed but none of its MSI packages installed. Conversely, you could have the MSI packages in a bundle installed, but not the bundle*. So when I write installed I mean that the Burn *bundle* is installed, but not necessarily any of its packages. However, my model isn't reflected in most of the sample code I've seen, which checks for the presence or absence of an MSI in the DetectPackageComplete event. Actually, I realise now the significant exception to this is the MBA code in the WiX 3.8 source code! This uses the DetectBegin event and the Installed parameter, as you suggest. (Does Installed map to WixBundleInstalled?) SUMMARY: third-party sample code checks for the status of one of the MSIs to determine the installed state of the bundle, which seems to be incorrect to me. The WiX code checks for DetectBegin and Installed, which makes more sense. Neither uses WixBundleInstalled, though perhaps this is set by Installed after Detect. Is there any guidance on the recommended approach? * Delving into the registry seems to support this: the Uninstall entry (HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall) points to the bundle executable, not the cached MSI in the Package Cache - as I'd expect. Meanwhile I can see my MSI package in HKLM\Software\Microsoft\Windows\CurrentVersion\Installers (with the SystemComponent value set.) -- Many thanks, Alasdair On Sun, Apr 13, 2014 at 1:22 AM, Sean Hall r.sean.h...@gmail.com wrote: It depends on what you mean by installed. The engine will install the bundle when it runs Apply. So if .NET gets installed but your MSI fails, your bundle is still considered as installed. If you want to know whether your bundle is installed, then you should be able to rely on the WixBundleInstalled property. If you're having problems with it, please file a bug at http://wixtoolset.org/issues and provide the log. You could also use the fInstalled parameter of the OnDetectBegin event. Sean On Sat, Apr 12, 2014 at 4:16 PM, Alasdair King alasdairk...@gmail.com wrote: I'm working on a C# Managed Bootstrapper Application. I don't quite understand how my bundle is identified as already-installed or not. Examples I have read simply check the installed state (PackageState) of one of the MSI packages - for example, http://bryanpjohnston.com/2012/09/28/custom-wix-managed-bootstrapper-application/ This is then used as the install state of the bundle. I have two problems with this: 1 It isn't correct, is it? What if a user has PackageA.msi installed, but not through my bundle, and my MBA tests for PackageA.msi - this logic will identify that the Bundle is installed when it isn't. 2 The WiX help says there is a property: WixBundleInstalled - gets whether the bundle was already installed and will be set to 1 once the bundle is installed. So my question is: Why use the MSI package install state rather than WixBundleInstalled? (Testing indicates that this property is not in fact set for installed bundles. So is the answer because WixBundleInstalled doesn't work properly?) Thanks! Alasdair -- Alasdair King -- Put Bad Developers to Shame Dominate Development with Jenkins Continuous Integration Continuously Automate Build, Test Deployment Start a new project now. Try Jenkins in the cloud. http://p.sf.net/sfu/13600_Cloudbees ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] unsubscribe
On May 15, 2014 3:14 PM, Pavan Konduru pavan.kond...@accelrys.com wrote: It's usually best not to include zip files as the installer treats it as a single entity. When you blow up the contents of the zip file through custom actions, the installer cannot track those contents as part of upgrade/uninstall/patch. --Pavan -Original Message- From: John Cooper [mailto:jocoo...@jackhenry.com] Sent: Thursday, May 15, 2014 1:07 PM To: General discussion about the WiX toolset. Subject: Re: [WiX-users] Zip File Manipulation We use DotNetZip. There's a NuGet package for it, and writing a C# CA from it to do what you want is pretty easy. -- John Merryweather Cooper Build Install Engineer - ESA Jack Henry Associates, Inc.® Shawnee Mission, KS 66227 Office: 913-341-3434 x791011 jocoo...@jackhenry.com www.jackhenry.comhttp://www.jackhenry.com -Original Message- From: Ben Metheny [mailto:benmeth...@gmail.com] Sent: Thursday, May 15, 2014 1:38 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Zip File Manipulation Are there any existing custom actions that can compress a directory or list of files into a zip? I need this because part of the install payload is an 'App Package', this is a '.app' file which is just a zip with alternate extension. I need to modify an XML file which is the 'manifest' for this 'App Package' then compress it and a few other files into a file which I can use to then install. I've got a managed custom action that will work but would prefer to stick an unmanaged action if available. -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users NOTICE: This electronic mail message and any files transmitted with it are intended exclusively for the individual or entity to which it is addressed. The message, together with any attachment, may contain confidential and/or privileged information. Any unauthorized review, use, printing, saving, copying, disclosure or distribution is strictly prohibited. If you have received this message in error, please immediately advise the sender by reply email and delete all copies. -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Custom Tasks and WixTasks.dll dependency
Hey all, I have a custom Heat task, aka. a class derived from HeatTask. It works fine under Wix3.5 and Wix3.6 in Visual Studio 2008. A problem arises is under Wix3.6 and VS2012. When building in VS2012, the WixTasks.dll dependency can't be found. It would appear (from using ProcMon) that in VS2008, Votive (or something) is loading the WixTasks as part of its operation thus when my custom task runs at build time, the dll is found to be already loaded. That's isn't the case in VS2012. The UsingTask doesn't provide a Hint like element to help the dependencies be located. I'd rather not be forced into trying to put all the WiX dependencies into the GAC or the IDE directory for obvious maintenance reasons. So, what is the proper way to get a custom task to work when it has dependencies that aren't in the GAC, probe path, etc. - Ed -- Own the Future-Intel(R) Level Up Game Demo Contest 2013 Rise to greatness in Intel's independent game demo contest. Compete for recognition, cash, and the chance to get your game on Steam. $5K grand prize plus 10 genre and skill prizes. Submit your demo by 6/6/13. http://altfarm.mediaplex.com/ad/ck/12124-176961-30367-2 ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Wix's IIS extension. How to set Limit Interval (minutes) on an App Pool
Another option is to use the wix CAQuietExec to invoke the appcmd. This way you don't have to make your own full blown CA. CustomAction Id=TurnOff32BitApps BinaryKey=WixCA DllEntry=CAQuietExec Execute=deferred Return=check Impersonate=no / CustomAction Id=PropertyAssignTurnOff32BitApps Property=TurnOff32BitApps Value='[SystemFolder]inetsrv\appcmd set apppool /apppool.name:quot;[AppPoolName]quot; /enable32BitAppOnWin64:false' / Custom Action=PropertyAssignTurnOff32BitApps Before=TurnOff32BitApps / Custom Action=TurnOff32BitApps Before=InstallFinalize ![CDATA[NOT Installed AND VersionNT64 = 600]] /Custom This is for the enable32BitAppOnWin64 but the concept applies to any of the iis setting Wix can't do by default. -Original Message- From: Steven Ogilvie [mailto:steven.ogil...@titus.com] Sent: Friday, January 18, 2013 12:02 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Wix's IIS extension. How to set Limit Interval (minutes) on an App Pool I also had to create a new custom action for IIS, setting the enable32BitAppOnWin64 true or false based on the bitness of the OS, if your WIX installer was a 32 bit installer it would ALWAYS set this to true. There are 2 C# functions, one to set the enable32BitAppOnWin64 and the other to determine the bitness of the OS. I would call this custom action: CustomAction Id=CA_Set_ENABLE32BITAPPPOOL Property=CA_ENABLE32BITAPPPOOL Value=[WEB_SITE_NAME]|/ CustomAction Id=CA_ENABLE32BITAPPPOOL BinaryKey=BIN_CustomActionMM DllEntry=Enable32BitApplicationPool Impersonate=no Execute=deferred Return=ignore/ UI ProgressText Action=CA_ENABLE32BITAPPPOOLCA: Setting enable32BitAppOnWin64 for TITUS Application Pool.../ProgressText /UI InstallExecuteSequence Custom Action=CA_Set_ENABLE32BITAPPPOOL After=CostFinalizeNOT Installed/Custom Custom Action=CA_ENABLE32BITAPPPOOL Before=InstallFinalizeNOT Installed/Custom /// summary /// Enable32BitApplicationPool sets the App Pool propery enable32BitAppOnWin64 /// true or false depending on the bitness of the OS /// /summary /// param name=session/param /// returnsActionResult.Success/returns [CustomAction] public static ActionResult Enable32BitApplicationPool(Session session) { try { if (session == null) { throw new ArgumentNullException(session); } string tempString = (GetSessionProperty(session, CustomActionData, false)); string[] parts = tempString.Split(new[] { '|' }); string applicationPool = parts[0]; // which is [WEB_SITE_NAME] the name of the web app pool as well const string quote = \; string cmdLineParameters = set apppool /apppool.name: + quote + applicationPool + quote + /enable32BitAppOnWin64:false; var cmdLineExe = Environment.GetFolderPath(Environment.SpecialFolder.System) + \\inetsrv\\appcmd.exe; // Prepare the process to run var startInfo = new ProcessStartInfo { UseShellExecute = true, Arguments = cmdLineParameters, FileName = cmdLineExe, WindowStyle = ProcessWindowStyle.Hidden, CreateNoWindow = true }; // Run the external process wait for it to finish using (Process proc = Process.Start(startInfo)) { proc.WaitForExit(); } } catch (Exception ex) { MessageBox.Show(Enable32BitApplicationPool failed: + ex.Message, Custom action exception error..., MessageBoxButtons.OK, MessageBoxIcon.Error); } return ActionResult.Success; } /// summary /// Detects whether or not the OS is 64 or 32 bit /// /summary /// returns/returns private static bool Is64BitWindows() { return Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86)); } Hope this helps out... -Original Message- From: Rob Mensching [mailto:r...@robmensching.com] Sent: January-18-13 11:45 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Wix's IIS extension. How to set Limit Interval (minutes) on an App Pool Or better, just add the missing setting to the WiX CA. I can't image it's that much work... certainly less than creating a whole new CA. On Thu, Jan 17, 2013 at 10:54 PM, Neil Sleightholm n...@x2systems.comwrote: Looking at the source I don't think it has been implemented. You could try adding a custom action to set it or write the entry in to ApplicationHost.config (
Re: [WiX-users] Wix 3.7 Woes with VS2008
3.5 SP1 is installed. I turned on the fusion log and found the entry below. Not quite sure what to make of it. Running the candle.exe command-line that VS2008 produces directly works with entries indicating v4.0.30319 is being used. So this *feels* like, VS2008 is using CLR2 and candle.exe wants CLR4 and somehow the way VS2008 launches candle.exe keeps CLR2 in play? I'm reaching... *** Assembly Binder Log Entry (12/31/2012 @ 9:12:23 AM) *** The operation failed. Bind result: hr = 0x8013101b. No description available. Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll Running under executable C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe --- A detailed error log follows. === Pre-bind state information === LOG: User = snip LOG: Where-ref bind. Location = C:\Program Files\WiX Toolset v3.7\bin\candle.exe LOG: Appbase = file:///C:/Program Files/Microsoft Visual Studio 9.0/Common7/IDE/ LOG: Initial PrivatePath = NULL LOG: Dynamic Base = NULL LOG: Cache Base = NULL LOG: AppName = NULL Calling assembly : (Unknown). === LOG: This bind starts in LoadFrom load context. WRN: Native image will not be probed in LoadFrom context. Native image will only be probed in default load context, like with Assembly.Load(). LOG: Using application configuration file: C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe.Config LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v2.0.50727\config\machine.config. LOG: Attempting download of new URL file:///C:/Program Files/WiX Toolset v3.7/bin/candle.exe. LOG: Assembly download was successful. Attempting setup of file: C:\Program Files\WiX Toolset v3.7\bin\candle.exe LOG: Entering run-from-source setup phase. ERR: Error extracting manifest import from file (hr = 0x8013101b). ERR: Failed to complete setup of assembly (hr = 0x8013101b). Probing terminated. -Original Message- From: Rob Mensching [mailto:r...@robmensching.com] Sent: Friday, December 28, 2012 5:45 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Wix 3.7 Woes with VS2008 Is the NETFX 3.5 installed on that machine? If so, can you try running with fusion logging turned on? That should pinpoint the assembly causing the problem. On Fri, Dec 28, 2012 at 12:44 PM, Maillet, Ed email...@unum.com wrote: A bit more details. Wix 3.6.3303.1 works just fine on the same project. Something got broke with Wix3.7. Haven't quite figured out what yet. The Wix 3.7.1224.0 build is the one that fails. The RC 3.7.1119.0 fails differently: The ReadRegistry task could not be loaded from the assembly C:\Program Files\MSBuild\..\WiX Toolset v3.7\bin\WixTasks.dll. Could not load file or assembly 'file:///C:\Program Files\WiX Toolset v3.7\bin\WixTasks.dll' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded. Confirm that the UsingTask declaration is correct, and that the assembly and all its dependencies are available. C:\Program Files\MSBuild\Microsoft\WiX\v3.x\wix200x.targets I did get error message on another machine with Wix 3.7.1224.0 installed from VS2008: Problem signature: Problem Event Name: CLR20r3 Problem Signature 01: devenv.exe Problem Signature 02: 9.0.30729.1 Problem Signature 03: 488f2b50 Problem Signature 04: mscorlib Problem Signature 05: 2.0.0.0 Problem Signature 06: 503f022f Problem Signature 07: 1c8b Problem Signature 08: b Problem Signature 09: System.BadImageFormatException OS Version: 6.1.7600.2.0.0.256.4 Locale ID:1033 Additional information about the problem: LCID: 1033 - Ed -Original Message- From: Maillet, Ed Sent: Friday, December 28, 2012 11:09 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Wix 3.7 Woes with VS2008 Hey all, I'm trying to build an existing wixproj in VS2008 that was created using Wix3.5. When I build in Visual Studio, Visual Studio simple dies (ie. The process gets removed from the process list and the UI disappears from the screen). When I build using devenv from the command-line, I do get an error message: Could not load file or assembly 'file:///C:\Program Files\WiX Toolset v3.7\bin\candle.exe' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded. I made of copy of the code base and upgraded it to VS2012. Building in VS2012 works just fine. Unfortunately, doing that upgrade for real isn't an option in the actual code base. I have .NET 4.5 installed on the machine and it's Windows 7 SP1. - Ed -- Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and much more. Get web development skills now with LearnDevNow - 350+ hours of step-by-step video tutorials by Microsoft
[WiX-users] Wix 3.7 Woes with VS2008
Hey all, I'm trying to build an existing wixproj in VS2008 that was created using Wix3.5. When I build in Visual Studio, Visual Studio simple dies (ie. The process gets removed from the process list and the UI disappears from the screen). When I build using devenv from the command-line, I do get an error message: Could not load file or assembly 'file:///C:\Program Files\WiX Toolset v3.7\bin\candle.exe' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded. I made of copy of the code base and upgraded it to VS2012. Building in VS2012 works just fine. Unfortunately, doing that upgrade for real isn't an option in the actual code base. I have .NET 4.5 installed on the machine and it's Windows 7 SP1. - Ed -- Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and much more. Get web development skills now with LearnDevNow - 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122812 ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Wix 3.7 Woes with VS2008
A bit more details. Wix 3.6.3303.1 works just fine on the same project. Something got broke with Wix3.7. Haven't quite figured out what yet. The Wix 3.7.1224.0 build is the one that fails. The RC 3.7.1119.0 fails differently: The ReadRegistry task could not be loaded from the assembly C:\Program Files\MSBuild\..\WiX Toolset v3.7\bin\WixTasks.dll. Could not load file or assembly 'file:///C:\Program Files\WiX Toolset v3.7\bin\WixTasks.dll' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded. Confirm that the UsingTask declaration is correct, and that the assembly and all its dependencies are available. C:\Program Files\MSBuild\Microsoft\WiX\v3.x\wix200x.targets I did get error message on another machine with Wix 3.7.1224.0 installed from VS2008: Problem signature: Problem Event Name: CLR20r3 Problem Signature 01: devenv.exe Problem Signature 02: 9.0.30729.1 Problem Signature 03: 488f2b50 Problem Signature 04: mscorlib Problem Signature 05: 2.0.0.0 Problem Signature 06: 503f022f Problem Signature 07: 1c8b Problem Signature 08: b Problem Signature 09: System.BadImageFormatException OS Version: 6.1.7600.2.0.0.256.4 Locale ID:1033 Additional information about the problem: LCID: 1033 - Ed -Original Message- From: Maillet, Ed Sent: Friday, December 28, 2012 11:09 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Wix 3.7 Woes with VS2008 Hey all, I'm trying to build an existing wixproj in VS2008 that was created using Wix3.5. When I build in Visual Studio, Visual Studio simple dies (ie. The process gets removed from the process list and the UI disappears from the screen). When I build using devenv from the command-line, I do get an error message: Could not load file or assembly 'file:///C:\Program Files\WiX Toolset v3.7\bin\candle.exe' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded. I made of copy of the code base and upgraded it to VS2012. Building in VS2012 works just fine. Unfortunately, doing that upgrade for real isn't an option in the actual code base. I have .NET 4.5 installed on the machine and it's Windows 7 SP1. - Ed -- Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and much more. Get web development skills now with LearnDevNow - 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122812 ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and much more. Get web development skills now with LearnDevNow - 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122812 ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Wix Upgrades when only revision number changes
I thought MSI only looked at first three digits, ie change 1.2.3.4 to 1.2.4.4 to affect changes. tenholde -Original Message- From: Marc Fauser [mailto:marc.fau...@gmail.com] Sent: Monday, December 17, 2012 2:54 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Wix Upgrades when only revision number changes I have a setup which works great but has one bug. If only the revision number changes, the setup tells me that this product version is already installed. e.g. I have one msi with version 1.2.3.4 installed and I want to upgrade to 1.2.3.5. This doesn't work for me. I couldn't find any documentation how to solve this. Best regards, Marc Fauser -- LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] WiX 3.6 + Windows 8 + Visual Studio 2012 = Fail?
I'm working on an installer using Wix 3.7 right now, and have basics working, no shortcuts yet. tenholde -Original Message- From: Sami Ovaska [mailto:sami.ova...@mirasys.fi] Sent: Thursday, November 29, 2012 12:51 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] WiX 3.6 + Windows 8 + Visual Studio 2012 = Fail? Hi, is there anybody who has managed to build any kind of installer by using WiX 3.6 and Visual Studio 2012 in Windows 8? Same installer that was building with Visual Studio 2010 in Windows 7 doesn't build with Visual Studio 2012 in Windows 8. Regards, Sami Ovaska -- Keep yourself connected to Go Parallel: VERIFY Test and improve your parallel project with help from experts and peers. http://goparallel.sourceforge.net ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Keep yourself connected to Go Parallel: VERIFY Test and improve your parallel project with help from experts and peers. http://goparallel.sourceforge.net ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] .NET 4 installation best practice and burn support
What is best practice for installing .NET 4 with an application, and how does burn support it? Since.NET 4.5 replaces .NET 4.0, rather than installs separately, the installation choices differ from in previous versions. For an application that can use either .NET 4.0 or 4.5, what is the best practice to install? Here are the options and tradeoffs I am aware of: Option 1: Install .NET 4.0 (just what you need) Pros: None known Option 2: Install .NET 4.5 if .NET 4.5 is not present Pros: User won't have to install .NET 4.5 later for future apps. App won't experience a .NET version change when user later does upgrade to .NET 4.5. App immediately gets performance improvements of .NET 4.5. Option 3: Install .NET 4.5 only if neither .NET 4.x is present Pros: Much faster deployment than option 2 if .NET 4.0 is already installed. If it's not, then the advantages of option 2 apply. As far as I can tell, the best practice would be option 2 if the performance improvements are import and option 3 if average deployment speed is important. Does this sound right? Am I missing any advantage to option 1? As far as burn goes, option 2 is straightforward to implement. But can you and how do you do option 3 in burn? (This question is an expanded version of one I had posted several days ago, but hadn't heard a response to. I'm hoping someone can help with this.) Thanks, Ed -- Got visibility? Most devs has no idea what their production app looks like. Find out how fast your code is with AppDynamics Lite. http://ad.doubleclick.net/clk;262219671;13503038;y? http://info.appdynamics.com/FreeJavaPerformanceDownload.html ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Tying .NET bootstrapper into existing WiX project
I have a run-of-the-mill .NET app with a simple existing WiX project. I'm trying to include Burn into the project to get the goodness of .NET framework bootstrapping. The app only needs .NET 4.0, so I'd like to install nothing if .NET 4.0 or 4.5 is present, or .NET 4.5 if neither are present (unless it's Windows XP, then NET 4.0, since 4.5 is not supported). The reason for installing 4.5 is just to avoid perturbing the user by installing an old version of the framework, which he'll probably someday have to upgrade. This seems like a fairly common scenario (except maybe the part about Windows XP, but support for XP could be dropped if it complicates things), but I can't find a good example that helps me put the whole thing together. In particular, it's not clear how the new Bundle element references the existing Product element. Does MsiPackage do this? If so, how? Thanks, Ed Brey -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Tying .NET bootstrapper into existing WiX project
I was planning to use PackageGroupRef Id=NetFx45Web/ instead of ExePackage Is that correct? And what do I put after the PackageGroupRef in the Chain so reference by product's installation? Do I have to create two separate projects in VS2012, one for the MSI and one for the bootstrapper? (Hopefully, not.) -Original Message- From: Steven Ogilvie [mailto:steven.ogil...@titus.com] Sent: Monday, September 10, 2012 3:01 PM To: edandb...@breyfamily.net; General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Tying .NET bootstrapper into existing WiX project I check for .NET4 FULL via this: Chain ExePackage Id=DotNetFx40 DisplayName=Microsoft .NET Framework 4 SourceFile=..\PreReqs\dotNetFx40_Full_x86_x64.exe InstallCommand=/passive /norestart InstallCondition=Installed OR NETFRAMEWORK40FULL Permanent=yes/ Then I have this property: Fragment Id=InstallConditionChecks !-- Check for .NET 4.0 -- PropertyRef Id=NETFRAMEWORK40FULL/ This is in my bundle.wxs file (I am checking for .NET, SQLServer Express and 2 other prereqs :) Steve -Original Message- From: Ed and Beth Brey [mailto:edandb...@breyfamily.net] Sent: September-10-12 3:40 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Tying .NET bootstrapper into existing WiX project I have a run-of-the-mill .NET app with a simple existing WiX project. I'm trying to include Burn into the project to get the goodness of .NET framework bootstrapping. The app only needs .NET 4.0, so I'd like to install nothing if .NET 4.0 or 4.5 is present, or .NET 4.5 if neither are present (unless it's Windows XP, then NET 4.0, since 4.5 is not supported). The reason for installing 4.5 is just to avoid perturbing the user by installing an old version of the framework, which he'll probably someday have to upgrade. This seems like a fairly common scenario (except maybe the part about Windows XP, but support for XP could be dropped if it complicates things), but I can't find a good example that helps me put the whole thing together. In particular, it's not clear how the new Bundle element references the existing Product element. Does MsiPackage do this? If so, how? Thanks, Ed Brey -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Wix 3.5 DTE automation - Add Extension Reference to wixproj
It perhaps does in part by accident!? You can use the DTE interfaces to add a reference to a Project if you have both the wix project and the reference project objects. Would DTE automation fall as a feature request or would it be considered too far off the beat path? -Original Message- From: Rob Mensching [mailto:r...@robmensching.com] Sent: Thursday, August 30, 2012 10:19 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Wix 3.5 DTE automation - Add Extension Reference to wixproj Does Votive even support DTE? On Thu, Aug 30, 2012 at 8:20 AM, Maillet, Ed email...@unum.com wrote: Hey all, I'm trying to figure out, in Visual Studio 2008, how to add a reference to an Extension for a given wix project using the DTE (via IWizard.RunFinished) application. The WixProjectNode doesn't have a references property like other Visual Studio project types. I found this article suggesting a work around (which is really clumsy) http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/c4070ea5-044e-4524-bb96-7e77949ee61c/ It basically says unload the project and then do Project.AddNewImport. What's the proper way to do it? - Ed -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- virtually, Rob Mensching http://RobMensching.com LLC -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Wix 3.5 DTE automation - Add Extension Reference to wixproj
Hey all, I'm trying to figure out, in Visual Studio 2008, how to add a reference to an Extension for a given wix project using the DTE (via IWizard.RunFinished) application. The WixProjectNode doesn't have a references property like other Visual Studio project types. I found this article suggesting a work around (which is really clumsy) http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/c4070ea5-044e-4524-bb96-7e77949ee61c/ It basically says unload the project and then do Project.AddNewImport. What's the proper way to do it? - Ed -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Compiler Extensions and Component Rules
Hey all, I'm trying to understand how component rules apply in the following scenario in Wix 3.5: Due to installing items into the GAC, I need to schedule the RemoveExistingProducts after InstallFinalize per http://support.microsoft.com/kb/905238 Thus I have: MajorUpgrade AllowDowngrades=yes Schedule=afterInstallFinalize/ I have a Component using the iis:Certificate compiler extension Component Id=cmpMyCert Guid=my GUID Directory=TARGETDIR iis:Certificate Id=MyCert BinaryKey=MyCertBin Request=no StoreLocation=localMachine StoreName=personal Overwrite=yes Name=MyCert.cer / Here's the use case: The v1 installer puts the cert in the machine store. The cert needs to be updated since it going to expire. The v2 installer is a Major Upgrade and needs to install the updated cert (same cert name but with new expiration date) How does that work with component rules? Should the component ID change between the two installers? - Ed -- Get a FREE DOWNLOAD! and learn more about uberSVN rich system, user administration capabilities and model configuration. Take the hassle out of deploying and managing Subversion and the tools developers use with it. http://p.sf.net/sfu/wandisco-dev2dev ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Wix 3.6 Burn MsiPackage Basic Quesiton
Hey all, I'm using Burn in Wix 3.6.1615.0 and just trying to understand the basics. I have two MSIs (A B) and I'm using the MsiPackage element as such: MsiPackage Id=a SourceFile=c:\temp\msis\BurnA.msi Vital=yes DownloadUrl=http://server:8077/BurnA.msi; Cache=no Compressed=no/MsiPackage MsiPackage Id=b After=a SourceFile=c:\temp\msis\BurnB.msi Vital=yes DownloadUrl=http://server:8077/BurnB.msi; Cache=no Compressed=no/MsiPackage Since SourceFile attribute references the actual msi and the download url does also, can the MSIs differ? The idea being that when the bootstrap was build MSI A v1.0 was the latest but now MSI A v1.1 is released. I don't want to have to update the bootstrapper. I just want it to get and run the MSI located at the download URL (no matter what MSI it is). I've play around a little bit but get the error: Error 0x80091007: Hash mismatch for payload Seems like that's due to MSI A v1.0 versus MSI A v1.1 Can the MsiPackage element be made to run whatever MSI is located at the download URL regardless of anything else? -- Benefiting from Server Virtualization: Beyond Initial Workload Consolidation -- Increasing the use of server virtualization is a top priority.Virtualization can reduce costs, simplify management, and improve application availability and disaster protection. Learn more about boosting the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] ConfigureIIs won't create app pool alone (bug or by design)
Hey all, The ConfigurationIIs CA requires one of the following tables in order to run: (from the source) IIsWebSite, IIsFilter, IIsProperty, IIsWebServiceExtension This presents a problem with an MSI needing to only create an app pool since only the IIsAppPool table gets created. That a bug? I'm using Wix 3.5.2519.0. - Ed -- What You Don't Know About Data Connectivity CAN Hurt You This paper provides an overview of data connectivity, details its effect on application quality, and explores various alternative solutions. http://p.sf.net/sfu/progress-d2d ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] GAC: Sometimes yes; sometimes no
Hey all, I've got an MSI that is a MajorUpgrade to an existing product. The existing product has assemblies in the GAC and the new MSI needs to replace them. Using the standard Wix file element it all works great except if some app (e.g. w3wp.exe) is using the assembly in the GAC needing to be replaced. I found this article and I'm seeing the 'temp' folder and its contents. I see the 'tmp' left behind but its empty and the new assembly is nowhere to be found. http://blogs.msdn.com/b/junfeng/archive/2006/11/17/gac-temp-and-tmp.aspx What's worse is the MSI indicates success yet the GAC file is totally missing in action. Reboots of the machine didn't resolve the problem. Any ideas? - Ed -- Free Software Download: Index, Search Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] GAC: Sometimes yes; sometimes no
That was it. You are my hero for the day. -Original Message- From: Peter Shirtcliffe [mailto:pshirtcli...@sdl.com] Sent: Monday, February 28, 2011 11:20 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] GAC: Sometimes yes; sometimes no Although you're not getting the behaviour consistently, the symptoms sounds like this problem http://support.microsoft.com/kb/905238 -Original Message- From: Maillet, Ed [mailto:email...@unum.com] Sent: 28 February 2011 15:25 To: wix-users@lists.sourceforge.net Subject: [WiX-users] GAC: Sometimes yes; sometimes no Hey all, I've got an MSI that is a MajorUpgrade to an existing product. The existing product has assemblies in the GAC and the new MSI needs to replace them. Using the standard Wix file element it all works great except if some app (e.g. w3wp.exe) is using the assembly in the GAC needing to be replaced. I found this article and I'm seeing the 'temp' folder and its contents. I see the 'tmp' left behind but its empty and the new assembly is nowhere to be found. http://blogs.msdn.com/b/junfeng/archive/2006/11/17/gac-temp-and-tmp.aspx What's worse is the MSI indicates success yet the GAC file is totally missing in action. Reboots of the machine didn't resolve the problem. Any ideas? - Ed - - Free Software Download: Index, Search Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users 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. -- Free Software Download: Index, Search Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Free Software Download: Index, Search Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How to issue a netsh http add urlacl url=.. command at install time...
Check out the CAQuietExec custom action. -Original Message- From: Gregg Swanson [mailto:gregg.swan...@microsoft.com] Sent: Thursday, February 24, 2011 12:54 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] How to issue a netsh http add urlacl url=.. command at install time... What is the recommended technique to use to enter the following command at install time? netsh http add urlacl url=https://+:443/EnterpriseService/ user=redmond\edmmtsa Thanks, Gregg -- Free Software Download: Index, Search Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Free Software Download: Index, Search Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] PlugCollectionInto values for VS2010
Does anyone have the VS2010 values handy? The Wix 3.5 help only has the VS2205 and VS2008 values listed. I'm currently using for VS2008: vs:PlugCollectionInto TargetCollection=MS.VSIPCC.v90 TargetFeature=Help TargetTableOfContents=FL_vsipcc_hxt_86880_86880_cn_ln/ - Ed -- Free Software Download: Index, Search Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] error LGHT0104
Hey all, All of a sudden I'm getting the following error: C:\Program Files\Windows Installer XML v3.5\bin\WixUtilExtension.dll(0,0): error LGHT0104: Not a valid object file; detail: '.', hexadecimal value 0x00, is an invalid character. Line 1, position 17600. The Light command line is (from the VS output window): C:\Program Files\Windows Installer XML v3.5\bin\Light.exe -cultures:en-us -ext C:\Program Files\Windows Installer XML v3.5\bin\WixUtilExtension.dll -out C:\Projects\Temp\Setups\CodeSetService\SetupProject1\bin\Debug\SetupProject1.msi -pdbout C:\Projects\Temp\Setups\CodeSetService\SetupProject1\bin\Debug\SetupProject1.wixpdb obj\Debug\Product.wixobj obj\Debug\Product.Generated.wixobj The setup.wixproj is an empty setup with WixUtilExtension referenced. Any ideas as what to fix? It's like the -ext option isn't doing something right. - Ed -- The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: Pinpoint memory and threading errors before they happen. Find and fix more than 250 security defects in the development cycle. Locate bottlenecks in serial and parallel code that limit performance. http://p.sf.net/sfu/intel-dev2devfeb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Wix and tricky environment variables
Doesn't that only work if you have one version of an assembly? Two Acme.dlls (v1 and v2) in the gac present a problem, doesn't it? -Original Message- From: Mark Modrall [mailto:mmodr...@mzinga.com] Sent: Friday, February 11, 2011 7:19 AM To: John Robbins; General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Wix and tricky environment variables Hi John... Actually, putting your .net pdbs in _NT_SYMBOL_PATH *does* work; that's why I'm trying to do it. http://blog.softwareishardwork.com/2010/02/enable-stack-trace-line-numbers-in.html I came to adding it to my installers after proving that it worked by doing it manually. Your note about keeping the pdbs in reserve for performance reasons is a good one, and I'll keep that in mind. Thanks Mark -Original Message- From: John Robbins [mailto:j...@wintellect.com] Sent: Thursday, February 10, 2011 10:33 PM To: General discussion for Windows Installer XML toolset.; Mark Modrall Subject: RE: [WiX-users] Wix and tricky environment variables Mark, As someone who's concentrated on debugging and debuggers his whole career, it warms my heart to hear people talking about _NT_SYMBOL_PATH. :) However, _NT_SYMBOL_PATH is only used by debuggers. The .NET StackTrace class, which is generating the call stacks in your exceptions, will only look for the PDB files in the same directory as the .EXE. So even if you add this to your installer, you still won't get source and line information on any exception stack trace. Also, I recommend that you keep the PDB file installer separate from the main installer. As there's extra file I/O and overhead for reading the PDB files when the exceptions are thrown, you only want to install the PDB files when you are certain you've got a problem and need that information. Hope it helps! John Wintellect http://www.wintellect.com +1-877-968-5528 -Original Message- From: Mark Modrall [mailto:mmodr...@mzinga.com] Sent: Thursday, February 10, 2011 6:13 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Wix and tricky environment variables Well, you caught me flat footed with the App Path stuff, so I could be misunderstanding the Symbol Server stuff :) But here's my understanding of what that's about: 1) Microsoft has a public service that will vend .pdb files for Microsoft components and you can set _NT_SYMBOL_PATH to pull from there 1a) You can set your _NT_SYMBOL_PATH to cache the results from Symbol Server locally if you want with a special syntax 2) If you're using a debugger and interactively watching something, you can use Symbol Server directly without _NT_SYMBOL_PATH 3) For your own symbols you're on your own. Though I gather from your question (SDK vs internal process), there may be a way to register your symbols in the Microsoft Symbol Server. I might be missing something, but it doesn't seem like you can get away from _NT_SYMBOL_PATH entirely. At the least you have to register your symbols with Microsoft and set _NT_SYMBOL_PATH to point at the server. Our use is for logging exception stack traces in a database, not hands-on interactive debugging. The problem is that when you put things in the GAC it's considered bad form (and somewhat convoluted) to put the .pdbs in the GAC too. If the pdbs are lying right next to the .exes and .dbgs, you don't need to use _NT_SYMBOL_PATH because the default behavior checks the immediate environs before looking in the paths defined in _NT_SYMBOL_PATH. Alas the GAC messes that up. We've always been dumping the .pdbs in our install directory but the stack traces that get logged blank out on anything that's gone through the GAC because the executables aren't located there. Another frustrating thing about the gac is that even if you have a copy of the executable, say, in the /bin directory of your ASP.Net application it's going to use the GAC version instead and not infer anything about where your symbols might be from the one in your /bin directory. So we're down to getting _NT_SYMBOL_PATH set properly in our installer. But not wanting the installer to keep accreting our directory on the front/back every time we install. And not destroying an environment variable that's a shared resource in the process, which is why I'm trying to form the right test in Wix to see if we're already in there. In our case, we're a saas provider, installing our stuff across a farm of ~100 of our servers. We're not a re-seller or SDK vendor. We're just trying to manage our farm. Thanks Mark -Original Message- From: Christopher Painter [mailto:chr...@deploymentengineering.com] Sent: Thursday, February 10, 2011 8:50 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Wix and tricky environment variables I'm no expert wrt to symbols so treat this advice as an old drunk sailor sitting at the bar telling a
[WiX-users] DDSet_Warning: RegisterHelpFile()-IHxRegister::RegisterHelpFileSet() ERROR
Hey all, I'm trying to get a help collection to register using Wix 3.5 (the final build). The setup runs successfully but nothing shows up in the help. I get the following warning in the log file: DDSet_Warning: RegisterHelpFile()-IHxRegister::RegisterHelpFileSet() ERROR: C:\Program Files\SetupProject1\ClassLibrary1.HxS was *NOT* registered to namespace Acme.ClassLib.1, HRESULT=80004005. I'm not sure what to look at. My Component is very simple. (The PlugCollectionInto element was copied from a sample.) Directory Id=TARGETDIR Name=SourceDir Directory Id=CommonFilesFolder Name=Common/ Directory Id=ProgramFilesFolder Directory Id=INSTALLLOCATION Name=SetupProject1 Component Id=HelpFiles Guid=PUT-GUID-HERE KeyPath=yes File Id=ClassLibHXS Source=..\Help\ClassLibrary1.HxS vs:HelpFile Id=HelpFile Language=1033 Name=ClassLib 1.0/ /File File Id=colFile.ClassLib Source=..\Help\ClassLibrary1.HxC vs:HelpCollection Id=HelpCollection Description=The Class Lib Name=Acme.ClassLib.1 vs:HelpFileRef Id=HelpFile/ vs:PlugCollectionInto TargetCollection=MS.VSIPCC.v90 TargetFeature=Help TargetTableOfContents=FL_vsipcc_hxt_86880_86880_cn_ln/ /vs:HelpCollection /File File Id=colFile.hxt Source=..\Help\ClassLibrary1.HxT / File Id=colFile_A.hxkSource=..\Help\ClassLibrary1_A.HxK / File Id=colFile_B.hxkSource=..\Help\ClassLibrary1_B.HxK / File Id=colFile_F.hxkSource=..\Help\ClassLibrary1_F.HxK / File Id=colFile_K.hxkSource=..\Help\ClassLibrary1_K.HxK / File Id=colFile_S.hxkSource=..\Help\ClassLibrary1_S.HxK / File Id=colFile_url.hxk Source=..\Help\ClassLibrary1_NamedURLIndex.HxK / /Component /Directory /Directory /Directory -- Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Permanent vs. SharedDllRefCount vs. better idea?
Unfortunately, updating Product A isn't an option. I could continue the practice of using a CA until Product A is retired and removed from the servers but I was hoping for a better option. -Original Message- From: Pally Sandher [mailto:pally.sand...@iesve.com] Sent: Friday, January 28, 2011 5:38 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Permanent vs. SharedDllRefCount vs. better idea? Would it be possible to release upgrades for both products with the Event Sources authored? That way you can uninstall both. 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: Maillet, Ed [mailto:email...@unum.com] Sent: 27 January 2011 20:04 To: wix-users@lists.sourceforge.net Subject: [WiX-users] Permanent vs. SharedDllRefCount vs. better idea? Hey all, Trying to clean up a mess of sorts. Product A was installed on a bunch of servers long ago. Product A didn't create some EventSource entries so somebody manually added the missing items on each server. Product B came along and lives side by side with A. B is a old vdproj and it added the EventSources via a custom action (aka still no component) so a manual post fix was no longer required. Now, I'm trying to upgrade Product B (Major Upgrade) and do it with Wix (call it B.Wix) I can have B.Wix create a permanent component so A will continue to work after B.Wix is uninstalled (really while B is being upgraded). Is it possible to uninstall it someday once A finally dies? According to the docs, it does seem permanent is permanent and can't be altered afterwards to not be. So, can I cheat a little bit by using SharedDllRefCount to fake that A is using it? The idea being B.Wix installs an adds an extra reference count and then when A retired, I can decrement the count somehow and then uninstall B.Wix and have the component uninstall. Would that work? If so, how to decrement the reference count? -- Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Building extension .csproj
Unless I misunderstand, you shouldn't need to build any part of Wix to make your own compiler extension. You can make an extension with custom tables and schema and your own targets without have to build/re-build any of the Wix stuff. -Original Message- From: maksim.vazhe...@emc.com [mailto:maksim.vazhe...@emc.com] Sent: Friday, January 28, 2011 3:13 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Building extension .csproj Hi all, Is there any way to build C# part of WiX compiler extension using only WiX sdk, without building needed WiX binaries? Now I have to build WixBuild.dll, because it is required by WixBuild.Common.targets. I have to use WixBuild.Common.targets to build the extension because there are some custom tables and schema for the extension. Thanks, Maksim -- Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Building extension .csproj
Here the .csproj: ?xml version=1.0 encoding=utf-8? Project ToolsVersion=3.5 DefaultTargets=Build xmlns=http://schemas.microsoft.com/developer/msbuild/2003; PropertyGroup Configuration Condition= '$(Configuration)' == '' Debug/Configuration Platform Condition= '$(Platform)' == '' AnyCPU/Platform ProductVersion9.0.30729/ProductVersion SchemaVersion2.0/SchemaVersion ProjectGuid{51290030-D188-4D4A-A989-DC9A57C28926}/ProjectGuid OutputTypeLibrary/OutputType AppDesignerFolderProperties/AppDesignerFolder RootNamespaceWiX.Extension/RootNamespace AssemblyNameEnvironmentExtension/AssemblyName TargetFrameworkVersionv3.5/TargetFrameworkVersion FileAlignment512/FileAlignment SccProjectNameSAK/SccProjectName SccLocalPathSAK/SccLocalPath SccAuxPathSAK/SccAuxPath SccProviderSAK/SccProvider /PropertyGroup PropertyGroup Condition= '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' DebugSymbolstrue/DebugSymbols DebugTypefull/DebugType Optimizefalse/Optimize OutputPathbin\Debug\/OutputPath DefineConstantsDEBUG;TRACE/DefineConstants ErrorReportprompt/ErrorReport WarningLevel4/WarningLevel /PropertyGroup PropertyGroup Condition= '$(Configuration)|$(Platform)' == 'Release|AnyCPU' DebugTypepdbonly/DebugType Optimizetrue/Optimize OutputPathbin\Release\/OutputPath DefineConstantsTRACE/DefineConstants ErrorReportprompt/ErrorReport WarningLevel4/WarningLevel /PropertyGroup ItemGroup Reference Include=System / Reference Include=System.Core RequiredTargetFramework3.5/RequiredTargetFramework /Reference Reference Include=System.Xml.Linq RequiredTargetFramework3.5/RequiredTargetFramework /Reference Reference Include=System.Data.DataSetExtensions RequiredTargetFramework3.5/RequiredTargetFramework /Reference Reference Include=System.Data / Reference Include=System.Xml / Reference Include=wix, Version=3.0.0.0, Culture=neutral, PublicKeyToken=ce35f76fcda82bad, processorArchitecture=MSIL SpecificVersionFalse/SpecificVersion /Reference /ItemGroup ItemGroup Compile Include=EnvironmentCompilerExtension.cs / Compile Include=EnvironmentExtension.cs / Compile Include=PreprocessorExtension.cs / Compile Include=Properties\AssemblyInfo.cs / /ItemGroup ItemGroup EmbeddedResource Include=Resources\EnvironmentTables.xml / /ItemGroup ItemGroup EmbeddedResource Include=Resources\Environment.xsd / /ItemGroup ItemGroup EmbeddedResource Include=Resources\EnvironmentLibrary.wixlib / /ItemGroup ItemGroup None Include=Resources\ReadME.txt / /ItemGroup Import Project=$(MSBuildToolsPath)\Microsoft.CSharp.targets / !-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. Target Name=BeforeBuild /Target Target Name=AfterBuild /Target -- /Project -Original Message- From: maksim.vazhe...@emc.com [mailto:maksim.vazhe...@emc.com] Sent: Friday, January 28, 2011 9:05 AM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Building extension .csproj I'm not very familiar with .NET projects. I need to integrate the build of C# projects to our build process (based on msbuild). Now it is done by running .csproj (with import of WixBuild.Common.targets) from another .proj using task MSBuild. Could you please provide me a sample of .csproj for the extension without references to WixBuild.Common.targets? -Original Message- From: Rob Mensching [mailto:r...@robmensching.com] Sent: Friday, January 28, 2011 4:30 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Building extension .csproj I don't think you need WixBuild for the extensions. IIRC, we have some helper stuff in there to flatten the XML and such that isn't necessary. On Fri, Jan 28, 2011 at 12:12 AM, maksim.vazhe...@emc.com wrote: Hi all, Is there any way to build C# part of WiX compiler extension using only WiX sdk, without building needed WiX binaries? Now I have to build WixBuild.dll, because it is required by WixBuild.Common.targets. I have to use WixBuild.Common.targets to build the extension because there are some custom tables and schema for the extension. Thanks, Maksim -- Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- virtually, Rob Mensching -
[WiX-users] Wix 3.5 Voitve, Harvest, wixlib - oh my!
Hey all, Just wondering if this is by design or a bug. I have a wixlib project that references a c# console app project. I set reference properties Harvest = true and Project Output Groups = BinariesContentSatellites That doesn't generate the usual intermediate wxs files nor the Product.Generated component group. I'm using Wix 3.5.2519.0 on Visual Studio 2008 SP1. That by design or a bug? - Ed -- Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Permanent vs. SharedDllRefCount vs. better idea?
Hey all, Trying to clean up a mess of sorts. Product A was installed on a bunch of servers long ago. Product A didn't create some EventSource entries so somebody manually added the missing items on each server. Product B came along and lives side by side with A. B is a old vdproj and it added the EventSources via a custom action (aka still no component) so a manual post fix was no longer required. Now, I'm trying to upgrade Product B (Major Upgrade) and do it with Wix (call it B.Wix) I can have B.Wix create a permanent component so A will continue to work after B.Wix is uninstalled (really while B is being upgraded). Is it possible to uninstall it someday once A finally dies? According to the docs, it does seem permanent is permanent and can't be altered afterwards to not be. So, can I cheat a little bit by using SharedDllRefCount to fake that A is using it? The idea being B.Wix installs an adds an extra reference count and then when A retired, I can decrement the count somehow and then uninstall B.Wix and have the component uninstall. Would that work? If so, how to decrement the reference count? -- Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Var's building vars?
I seem to have the strange need of building a preprocessor variable from another preprocessor variable which doesn't seem to be supported (not that I am surprised by that). I'm trying to do: ?define projectName = X ? And then elsewhere: ?define FileName = $(var.$(var.projectName).TargetFileName) ? File Id=File1 Name=$(var.FileName) ... / The idea being only the project name is the variable and the rest are resolved. Am I missing something obvious this late in the day for another way to do this? - Ed -- Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Modify Heat Generated Fragment with C#
Have you tried doing it with an xslt instead? See the -t option. -Original Message- From: Wilson, Brian [mailto:brian.wil...@dhr.alabama.gov] Sent: Tuesday, January 18, 2011 3:29 PM To: 'WiX-users@lists.sourceforge.net' Subject: [WiX-users] Modify Heat Generated Fragment with C# Hello, I have a Heat generated WXS file that I am trying to modify, so I can add the shortcut node to the file node for my application. I am trying to use a C# program to do this for me. I am using the following code: XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(@C:\Wix Files\wix_import.wxs); XmlNode xmlWiX = xmlDoc.DocumentElement; XmlNode xmlrplc = xmlWiX.SelectSingleNode(@File[@Source='!(wix.ImportSrc)\TestImportApp.exe']); XmlNode xmlparent = xmlrplc.ParentNode; ** Errors here*** xmlparent.RemoveChild(xmlrplc); xmlsrc.Save(@~\modded_wix_import.wxs); The attribute is not found, so I thought I would just find the node, so I tried: XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(@C:\Wix Files\wix_import.wxs); XmlNode xmlWiX = xmlDoc.DocumentElement; XmlNode xmlrplc = null; XmlNode xmlComp = xmlWiX.SelectNodes(/Component); XmlNodeList xmlList = xmlComp.ChildNodes; ** Errors here*** foreach (XmlNode xmlChild in xmlList) { if (xmlChild.Name == File) { if (xmlChild.Attributes[Source].Value == !(wix.ImportSrc)\TestImportApp.exe) { xmlrplc = xmlChild; } } } XmlNode xmlparent = xmlrplc.ParentNode xmlparent.RemoveChild(xmlrplc) xmlsrc.Save(@~\modded_wix_import.wxs) It seems the XML library is having a difficult time traversing the XML document. Has anyone done something like this and if so, what am I doing wrong? Thank you, Brian Wilson Department of Human Resources - Administrative Services Email: brian.wil...@dhr.alabama.gov -- Protect Your Site and Customers from Malware Attacks Learn about various malware tactics and how to avoid them. Understand malware threats, the impact they can have on your business, and how you can protect your company and customers by using code signing. http://p.sf.net/sfu/oracle-sfdevnl ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Protect Your Site and Customers from Malware Attacks Learn about various malware tactics and how to avoid them. Understand malware threats, the impact they can have on your business, and how you can protect your company and customers by using code signing. http://p.sf.net/sfu/oracle-sfdevnl ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Can a wixlib know the referring projects Package Platform?
Hey all, I'm trying to setup some conditions in a wixlib and I'm finding that some need to be based on the Package Platform attrib on the project that references my wixlib. How can that be done? The only idea I have seems a bit like a kludge. - Ed -- Protect Your Site and Customers from Malware Attacks Learn about various malware tactics and how to avoid them. Understand malware threats, the impact they can have on your business, and how you can protect your company and customers by using code signing. http://p.sf.net/sfu/oracle-sfdevnl ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] CompilerExtension and processor archiecture guidance needed
Hey all, I'm trying to make a compiler extension that runs a custom action under the correct processor architecture (x86 or x64) of the MSI platform. I've got a A) CompilerExtension that contains B) a wixlib which contains C) a .NET custom action. A and C are a .NET assemblies built CPUAny I've build an x86 and a x64 wixlib and added it to A in the hopes of using the Extension GetLibrary() as: public override Library GetLibrary(TableDefinitionCollection tableDefinitions) { if(this.library == null) { switch(this.CompilerExtension.Core.CurrentPlatform) { case Platform.X86: this.library = WixExtension.LoadLibraryHelper(Assembly.GetExecutingAssembly(), libraryResourceNamex86, tableDefinitions); break; case Platform.X64: this.library = WixExtension.LoadLibraryHelper(Assembly.GetExecutingAssembly(), libraryResourceNamex64, tableDefinitions); break; } } return this.library; } This approach fails since this.CompilerExtension.Core is null. If I just load the x86 wixlib, everything works but the CA runs as a 32bit app. What is the proper way to build an extension that is processor architecture smart for the wixlib's and CAs it has? -- Protect Your Site and Customers from Malware Attacks Learn about various malware tactics and how to avoid them. Understand malware threats, the impact they can have on your business, and how you can protect your company and customers by using code signing. http://p.sf.net/sfu/oracle-sfdevnl ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] CompilerExtension and processor archiecture guidance needed
To answer my own question, I had to create: 1 CompilerExtension 1 wixlib 2 Custom Actions (that do the same thing - x86 and x64) For the CA's I created two shell CAs that both reference a common assembly (CPUAny) that does the actual work. Each shell builds to its own processor architecture and the wixlib references both. The wixlib has conditionals to determine which CA to run. -Original Message- From: Maillet, Ed Sent: Friday, January 14, 2011 2:13 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] CompilerExtension and processor archiecture guidance needed Hey all, I'm trying to make a compiler extension that runs a custom action under the correct processor architecture (x86 or x64) of the MSI platform. I've got a A) CompilerExtension that contains B) a wixlib which contains C) a .NET custom action. A and C are a .NET assemblies built CPUAny I've build an x86 and a x64 wixlib and added it to A in the hopes of using the Extension GetLibrary() as: public override Library GetLibrary(TableDefinitionCollection tableDefinitions) { if(this.library == null) { switch(this.CompilerExtension.Core.CurrentPlatform) { case Platform.X86: this.library = WixExtension.LoadLibraryHelper(Assembly.GetExecutingAssembly(), libraryResourceNamex86, tableDefinitions); break; case Platform.X64: this.library = WixExtension.LoadLibraryHelper(Assembly.GetExecutingAssembly(), libraryResourceNamex64, tableDefinitions); break; } } return this.library; } This approach fails since this.CompilerExtension.Core is null. If I just load the x86 wixlib, everything works but the CA runs as a 32bit app. What is the proper way to build an extension that is processor architecture smart for the wixlib's and CAs it has? -- Protect Your Site and Customers from Malware Attacks Learn about various malware tactics and how to avoid them. Understand malware threats, the impact they can have on your business, and how you can protect your company and customers by using code signing. http://p.sf.net/sfu/oracle-sfdevnl ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Protect Your Site and Customers from Malware Attacks Learn about various malware tactics and how to avoid them. Understand malware threats, the impact they can have on your business, and how you can protect your company and customers by using code signing. http://p.sf.net/sfu/oracle-sfdevnl ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] IIsExtension Catch-22
Hey all, I've got a MSI that installs a virtual directory using the iis:WebVirtualDir element to an existing web site. Install works great. However, if someone manually deletes the web site, the MSI won't uninstall because it can't find stuff. The errors from the log are below: ConfigureIIsExec: A matching web object in memory was found, but the web object in memory has no associated base ConfigureIIsExec: Error 0x80070002: Failed to find Web base ConfigureIIsExec: Error 0x80070002: Failed to get base of web for WebDir ConfigureIIsExec: Error 0x80070002: failed while processing WebDirs MSI (s) (B0!84) [17:42:28:079]: Product: HelloWorld -- Error 26003. Failed while processing WebDirs. (-2147024894 ) Error 26003. Failed while processing WebDirs. (-2147024894 ) Is there a way to tell the iis:Web* elements to just ignore the error(s) since the metabase entries are already gone? - Ed -- This SF.net Dev2Dev email is sponsored by: Show off your parallel programming skills. Enter the Intel(R) Threading Challenge 2010. http://p.sf.net/sfu/intel-thread-sfd ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Preprocessor Extension question
When writing a preprocessor extension, how can you get SourceLineNumberCollection inside the extension? It isn't in the base class or Core that I can find. - Ed -- This SF.net Dev2Dev email is sponsored by: Show off your parallel programming skills. Enter the Intel(R) Threading Challenge 2010. http://p.sf.net/sfu/intel-thread-sfd ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Registry Permissions
Hey all, I'm stuck on what should be simple. I can't figure out how to get the registry permission set correctly. I've got some mental block or something. Writing my Compiler extensions wasn't this hard. I'm trying to do something very simple. 1) Create a reg key (e.g. HKLM\Software\AcmeCo\MyApp\Credentials\SecrectCredentials) 2) Create two registry values under that key (username and password). 3) Assign a specific domain user read permissions and Administrators Full Control to the Key in #1 so they can read the values from #2. My attempts fail ranging from the Permission element being ignored to the MSI running and complaining I don't have permission to create the Key or Values (error message varies depending on where I put the Permission element) How to do this? - Ed Unum Application Services In pleasant South Carolina -- This SF.net email is sponsored by Make an app they can't live without Enter the BlackBerry Developer Challenge http://p.sf.net/sfu/RIM-dev2dev ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Compiler Extension - Create Hidden Property?
Hey, Is there a way in a Compiler Extension to create a hidden property. This will create the property but there isn't a way to get at the MsiHiddenProperties property to append to it (why it's not a boolean column is another question). Row propRow = base.Core.CreateRow(sourceLineNumbers, Property); propRow[0] = propertyID; propRow[1] = REPLACE-AT-RUNTIME; Any ideas? - Ed -- This SF.net email is sponsored by Make an app they can't live without Enter the BlackBerry Developer Challenge http://p.sf.net/sfu/RIM-dev2dev ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Gracefully handling Internal Extension Errors
Hey all, For custom a Preprocessor or Compiler Extensions, what is the proper process/mechanism to gracefully handle internal errors. For example, if the GetVariableValue throws a NullReferenceException, or the Compiler extension ctor throws an exception, how should the exception be caught and reported so it shows up as something useful. Unhandled exceptions, when building inside Visual Studio, cause VS to do it's 'internal error would you like to report to Microsoft' flow. - Ed Unum Application Services In pleasant South Carolina -- This SF.net email is sponsored by Make an app they can't live without Enter the BlackBerry Developer Challenge http://p.sf.net/sfu/RIM-dev2dev ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Custom Extension - how'd they do that?
Hey all, I'm working on a custom Compiler Extension and it mostly works. I'm stumped on a problem about how do to one part. Following how the WixIIsExtension works, I have my extension, my compiler, my custom actions, etc. What I can't figure out is how (or where) the WixIIsExtension wires up it's custom actions internally. There is the internal Microsoft.Tools.WindowsInstallerXml.Entensions.Data.iis.wixlib resource fetched by the GetLibrary method. I assume the contents of that contain the custom action code and the fragments to wire up those actions. I'm guessing on all that but it seems reasonable. I'm just not sure how to make my own similar wixlib. I have one embedded in my extension and have included the custom action code into it but I can't figure out the 'magic' to have the custom actions wired up properly so the consuming Wix Project just gets them set. I think I'm missing something obvious. Thoughts? (Or a wixlib reflector like tool?) - Ed Unum Application Services In pleasant South Carolina -- This SF.net email is sponsored by Make an app they can't live without Enter the BlackBerry Developer Challenge http://p.sf.net/sfu/RIM-dev2dev ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Preprocessor and Component Guids
Hey all, I hope I'm missing something obvious. Is there a way for the preprocessor to generate a guid value for a variable? (without making my own custom extension). Something like ?define guid = $(Guid.NewGuid) ? I'm trying to create multiple conditional components like: ?define environments=DEVELOPMENT;PRODUCTION;STRESS? ?foreach env in $(var.environments)? !-- Environment specific Component -- Component Id=MyWebSite_$(var.env) Guid=My_AUTO_GUID !-- Rest of the component details here -- Condition ![CDATA[%ENVIRONMENT = $(var.env)]] /Condition /Component ?endforeach? I can't use Guid=* since I also don't have a KeyPath in components. (I can make it work with KeyPath but how could I do it without?) - Ed -- Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Preprocessor and Component Guids
Here's the real use case. I need to create what I'll call an 'Infrastructure Package', specifically for a web service application in a corporate server environment. I need a single unattended MSI that can create an IIS 6.0 web site and application pool based on an environment setting on the machine (DEV, PROD, STRESS, etc). The contents of the iis:Web* elements change based on environment (e.g. app pool user name, host header, etc). The server folks will take the MSI and push it out to the various servers using some tool they have. Being an Infrastructure Package, there are neither files nor registry entries, etc thus no KeyPaths. (Actually, I do have a RegKey with no values but a key isn't allowed as a KeyPath) The actual contents for the site are provided with version specific (v1, v2, etc) installers (not necessary Wix created and even MSI based [e.g. AppCenter or Xcopy]) and assume that the Infrastructure has already been setup. I'm sure I don't understand all the implications for servicing and a random guid but I think my only use case for changes would be to uninstall and install a new one. No patching required. To make things more fun, in order to securely set the app pool password, I'll eventually need a custom action that can call out to a SAML secured WCF web service to retrieve the password. Hard coding it into the install isn't an option. But that's for another day. - Ed -- Message: 7 Date: Mon, 31 Aug 2009 16:25:46 + From: Svet Bonev sbo...@microsoft.com Subject: Re: [WiX-users] Preprocessor and Component Guids No, there is no built-in functionality to accomplish that. But the bigger question is why you want to create such components. Ideally, you would have file KeyPaths. Random component guids are usually bad for servicing scenarios. What are you doing with these components? Giving us more details about the use case would help us identify a solution. -Original Message- From: Maillet, Ed [mailto:email...@unum.com] Sent: Monday, August 31, 2009 8:53 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Preprocessor and Component Guids Hey all, I hope I'm missing something obvious. Is there a way for the preprocessor to generate a guid value for a variable? (without making my own custom extension). Something like ?define guid = $(Guid.NewGuid) ? I'm trying to create multiple conditional components like: ?define environments=DEVELOPMENT;PRODUCTION;STRESS? ?foreach env in $(var.environments)? !-- Environment specific Component -- Component Id=MyWebSite_$(var.env) Guid=My_AUTO_GUID !-- Rest of the component details here -- Condition ![CDATA[%ENVIRONMENT = $(var.env)]] /Condition /Component ?endforeach? I can't use Guid=* since I also don't have a KeyPath in components. (I can make it work with KeyPath but how could I do it without?) - Ed -- Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- -- Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users End of WiX-users Digest, Vol 39, Issue 118 ** -- Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Dynamic Property Values vs. Multiple Components
Hey all, Looking for some direction and opinions. I need to create an hands free (no UI/prompting etc) MSI that installs Web Site and app pool on IIS 6.0. The catch is that the user info and host header info need to be derived based on an environment variable on the target machine. I have 10 different environments (DEV, PROD, STRESS, etc). The mapping between environment variable and the other info is static (e.g. env = A always yields Header = X, etc) It seems more natural to me to have properties who's values get set at runtime rather than multiple components with conditions (or Features with conditions) Unless I'm missing something, there seems to be no easy way in Wix 3 to dynamically set the value of a property without making a CustomAction. The SetProperty doesn't seem to help since you can't do: SetProperty Id=USER_DOMAIN_PROP Value=DOMAINDEV ... ![CDATA[%ENVIRONMENT = DEVELOPMENT]] /SetProperty SetProperty Id=USER_DOMAIN_PROP Value=DOMAINPROD ... ![CDATA[%ENVIRONMENT = PRODUCTION]] /SetProperty But replicating the Component XML containing the iss:Web* elements and tweaking 10 times seems like a bad idea. 95% of the contents are the same and some day someone will forget to update them all correctly. Thoughts? - Ed -- Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] WiX3.0 - Incorporating release path into File Source attribute using Visual Studio 2005
So out of curiosity, where did you set that inyour build process? I have two scenarios: 1) Desktop builds using the Visual Studio IDE 2) Team Foundation Server using MSBuild For scenario one, I was thinking in the compiler properties of the WiX Project, where it allows you to set a name=property In the TFS build, I'm not so sure. Thanks for the help, I've never been real strong on understanding the mechanics behind where/when properties on builds are set, kinda new to this. -Ed From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Cullen WatersSent: Monday, September 25, 2006 12:48 PMTo: Ed Abshire; wix-users@lists.sourceforge.netSubject: Re: [WiX-users] WiX3.0 - Incorporating release path into File Source attribute using Visual Studio 2005 The way we do it is using environment variables. Our build process sets an environment variable for build type(called BuildType), then we reference that in wix using $(env.BuildType) From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Ed AbshireSent: Monday, September 25, 2006 12:10 PMTo: wix-users@lists.sourceforge.netSubject: [WiX-users] WiX3.0 - Incorporating release path into File Source attribute using Visual Studio 2005 Howdy. I am using a WiX project to build a MSI for a project I am working on in VS2005. The WiX project is part of the whole solution. I am trying to figure out how to make my WiX source file smart enough to figure out which biuld configuration I am using (release or debug) and gather the binaries up from that path. In the File element, there is a Source attribute. How do I make the path in this source attribute aware of which configuration I am building? Thanks! -Ed Abshire The preceding email message and any attachment to the email message contains information that is confidential, may be legally privileged, and may constitute non-public information. It is intended to be conveyed only to the designated recipient(s). If you have received this message in error, please immediately notify the sender by return email and destroy all copies of this message. Unauthorized use, dissemination, distribution, or reproduction of this email message or any attachment is strictly prohibited and may be unlawful. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Sequencing issue
Totally - I want to get it to run before then so it can roll back but can't seem to write the file to make it work anywhere else Ed Ed Russell CME Product Development Manager Co-operative IT t: +44 (0) 845 458 5007 m: +44 (0) 7976 055 504 f: +44 (0) 1527 880 975 -- CIT email sender [EMAIL PROTECTED] -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Rob Hamflett Sent: 14 June 2006 11:19 To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Sequencing issue It doesn't matter if you get it to run when you want, if you sequence it after InstallFinalize you can't roll back the install. That action commits everything to the system, so to remove it you'd be looking at an uninstall. Rob Ed Russell wrote: Hi Guys, I'm trying to get a custom action DLL execute after the files from the msi have been installed. No problem there - I can put it after InstallFinalize and it works fine. But I need the install to roll-back if there is an error code generated by the DLL. If I try and sequence it after InstallFiles it runs it in some kind of first pass (doing patching?) not when the actual files have been copied. I've started playing with the Execute part of CustomAction but it doesn't seem to give the correct results (I've mostly been experimenting with deferred which appears to run the DLL at the right time but gets a return code before it looks like it's run it??? I'm very confused and an example of how to sequence this correctly so that rollback et al works correctly would be much appreciated. Cheers, Ed Russell CME Product Development Manager Co-operative IT t: +44 (0) 845 458 5007 m: +44 (0) 7976 055 504 f: +44 (0) 1527 880 975 -- CIT email sender [EMAIL PROTECTED] From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Simon Topley Sent: 14 June 2006 10:58 To: 'Christopher Painter'; [EMAIL PROTECTED]; [EMAIL PROTECTED] Cc: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Extract files from msi (Msiexec,not WIX issue... .) While secretly conversing with Derek I have managed to fix my original issue. After running MSI validation from Orca I found a strange error relating to the windows and system folder components... They had no parent! It seems that WIX allowed it to go through and it does in fact copy the files to these places... I have now added TARGETDIR as a directory ref and msiexec /a now extracts all the goodies I want... meaning I can hopefully just build a patch directly off the back of the admin install.. woo hoo! Thanks for all the help guys, even if we did go a little off track, it's good to know what other tools are out there as I am sure they will come in useful at some point. Kind Regards Simon Topley. From: Christopher Painter [mailto:[EMAIL PROTECTED] Sent: 14 June 2006 01:55 To: [EMAIL PROTECTED]; [EMAIL PROTECTED]; 'Simon Topley' Cc: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Extract files from msi (Msiexec, not WIX issue... .) I agree about VSI MSM's... unfortunatly I'm stuck with about 700 of them. I'm also have about 80 MSM's that were statically written using ORCA because it couldn't be done in VSI and the developer didn't want to use InstallShield. It was killing me to be storing MSM's in ClearCase so I tried adopting dark/candle to store XML in ClearCase instead. Although these merge modules pass MSM suite validation dark/candle just doesn't like many of them. What should be a fairly simple task of creating a round trip import/export process ends up consuming hours of time. BTW that makes me wonder... is there a custom ICE suite available for running against a database before passing it to Dark? Basically business rules enforced by WiX that go beyond the ones in the platform sdk? Chris Rob Mensching [EMAIL PROTECTED] wrote: The PID_REVNUMBER thing sounds like a bug in dark. If you have a valid MSI/MSM file I do expect dark.exe to be able to decompile it. However, candle appears to be far more exact about what it allows one to put into an MSI/MSM than some of the other authoring tools out there (I know this is true about VSI because VSI builds really horrible MSI files). Thus, it may be necessary to fix the decompiled source code before being able to recompile it via the WiX toolset. This is a great way to clean up dirty MSI files (like those that come out of VSI). That said if you build a MSI/MSM (that passes validation) using the WiX toolset, I do expect to be able to round trip back to source code then back to MSI/MSM. My assumption was that Simon was using the WiX toolset already and thus decompiling should work really well. Derek found many bugs in Dark v2 doing this exact process and fixed them in Dark v3. If the tools don't work
[WiX-users] Custom Properties....
Hi Guys, I'm having some trouble Again! Cheers for the change issue btw - I've got it using repair to update the registry and it all works great... Anyway - back to the current issue... I have a CustomAction DLL to update some properties in an installed Access DB. Works fine but now I want to pass in the connection string so I put it in a property like this: Property Id=FOOBAR1 Value=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[INSTALLDIR]FooBar.mde;User Id=Foo;Password=Bar;/ Trouble is - the [INSTALLDIR] is not being replaced with the public property of INSTALLDIR when the DLL comes to get the property... Me being stupid (I thought I had it working a while ago but don't have an old version of the code to check) -- or is this not possible and I have to assemble the string within the DLL? Cheers for you help! Ed. Co-operative IT is part of The Midcounties Co-operative West Midlands Co-operative Society (WMCS) and Oxford, Swindon and Gloucester Co-operative Society (OSG) have merged to form The Midcounties Co-operative. The information contained in this e-mail is confidential and is intended solely for the named recipient(s) only. If you are not the named recipient(s) you should not disseminate, distribute or copy this e-mail. If you have received this email in error please notify us by telephone on (+44 ) 0845 4585 650 immediately and delete the message and any copies from your computer. The Midcounties Co-operative has taken every reasonable precaution to ensure that any attachment to this e-mail has been checked for viruses. However, we cannot accept liability for any damage sustained as a result of any such software viruses and advise you to carry out your own virus check before opening any attachment. Furthermore, we do not accept responsibility for any change made to this message after it was sent by the sender. This Message has been Scanned by SurfControl(c) Email Filter ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users