Re: [WiX-users] Intermittent errors setting Windows 8 properties on shortcuts
David, Thank you for that - I will take a look and see if that helps. Regards, John -Original Message- From: David Watson [mailto:dwat...@sdl.com] Sent: 17 September 2014 10:15 To: General discussion about the WiX toolset. Subject: Re: [WiX-users] Intermittent errors setting Windows 8 properties on shortcuts My notes indicate that you need to set a System.AppUserModel.ID for these to work (I did this research a while ago and don't remember the details and if it is still accurate under windows 8.1). I understand though that if you don't do it explicitly windows will allocate you one on the fly, but may be worth a try. Check out http://msdn.microsoft.com/en-us/library/windows/desktop/dd391569(v=vs.85).aspx to see if its relevant to your situation. My example shortcut Component Id=ProductShortcut RegistryValue Root=HKMU Key=Software\company\ShortcutTest\Installer Name=ProductShortcut Value=KeyPath KeyPath=yes Type=string / Shortcut Id=ProductShortcut Name=The Application Description=The application. IconIndex=0 Icon=ProductIcon.exe Target=[#TheApplication.exe] ShortcutProperty Key=System.AppUserModel.ID Value=Company.TheApplication.exe / ShortcutProperty Key={9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 12 Value=1 / !-- Name: System.AppUserModel.StartPinOption - PKEY_AppUserModel_StartPinOption Type: UInt32 - VT_UI4 FormatID: {9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 12 Note: Set this property on a shortcut to (1) prevent an application from being automatically pinned to Start screen upon installation; or (2) indicate that an item is programmatically added to launcher via user action (which implies automatically pin to Start and delete on unpin). Note: It has to be a guid to stop windows 7 throwing a warning dialogue. see http://support.microsoft.com/kb/2745126 em Note: that you must also set System.AppUserModel.ID first or the property will not be used. /em -- /Shortcut -Original Message- From: John Hall [mailto:john.h...@cambridgetechgroup.com] Sent: 16 September 2014 17:40 To: General discussion about the WiX toolset. Subject: Re: [WiX-users] Intermittent errors setting Windows 8 properties on shortcuts Rob, I am using the GUID - it appears in the error message. I've got a define called var.Prop_System_AppUserModel_NoPin that I use. Regards, John -Original Message- From: Rob Mensching [mailto:r...@firegiant.com] Sent: 16 September 2014 16:59 To: General discussion about the WiX toolset. Subject: Re: [WiX-users] Intermittent errors setting Windows 8 properties on shortcuts Know Windows Installer issue. Use the GUID of the property instead of the name. _ Short replies here. Complete answers over there: http://www.firegiant.com/ -Original Message- From: John Hall [mailto:john.h...@cambridgetechgroup.com] Sent: Tuesday, September 16, 2014 3:11 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Intermittent errors setting Windows 8 properties on shortcuts Hi, In my installer I have a number of shortcuts installed on the Start Menu that I don't want to appear on the Windows 8 start screen. I therefore set both the System.AppUserModel.StartPinOption and System.AppUserModel.ExcludeFromShowInNewInstall properties for each of these shortcuts. My code looks like this: ?define var.Prop_System_AppUserModel_NoPin = {9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 12 ? Component Id=index.chm Guid={17C863A4-E982-492F-9F76-6E5A09BC65E8} File Id=index.chm Name=index.chm KeyPath=yes Shortcut Id=Shortcut.Help Directory=StartMenu.Help Name=XJTAG Help Show=normal Advertise=no ShortcutProperty Key=System.AppUserModel.ExcludeFromShowInNewInstall Value=1 / ShortcutProperty Key=$(var.Prop_System_AppUserModel_NoPin) Value=1 / /Shortcut /File RemoveFile Id=Remove.index.chw Name=index.chw On=uninstall / /Component Every now and then an installation on Windows 7 will display a dialog saying: Warning 1946.Property '{9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 12' for shortcut 'XJTAG Help' could not be set. The warning ultimately seems benign, but it is not a good user experience. It warning is not consistent or reproducible. Any ideas? Thanks, John -- Want excitement? Manually upgrade your production database. When you want reliability, choose Perforce. Perforce version control. Predictably reliable. http://pubads.g.doubleclick.net/gampad/clk?id=157508191iu=/4140/ostg.clktrk ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Want excitement? Manually upgrade your production database. When
[WiX-users] Intermittent errors setting Windows 8 properties on shortcuts
Hi, In my installer I have a number of shortcuts installed on the Start Menu that I don't want to appear on the Windows 8 start screen. I therefore set both the System.AppUserModel.StartPinOption and System.AppUserModel.ExcludeFromShowInNewInstall properties for each of these shortcuts. My code looks like this: ?define var.Prop_System_AppUserModel_NoPin = {9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 12 ? Component Id=index.chm Guid={17C863A4-E982-492F-9F76-6E5A09BC65E8} File Id=index.chm Name=index.chm KeyPath=yes Shortcut Id=Shortcut.Help Directory=StartMenu.Help Name=XJTAG Help Show=normal Advertise=no ShortcutProperty Key=System.AppUserModel.ExcludeFromShowInNewInstall Value=1 / ShortcutProperty Key=$(var.Prop_System_AppUserModel_NoPin) Value=1 / /Shortcut /File RemoveFile Id=Remove.index.chw Name=index.chw On=uninstall / /Component Every now and then an installation on Windows 7 will display a dialog saying: Warning 1946.Property '{9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 12' for shortcut 'XJTAG Help' could not be set. The warning ultimately seems benign, but it is not a good user experience. It warning is not consistent or reproducible. Any ideas? Thanks, John -- Want excitement? Manually upgrade your production database. When you want reliability, choose Perforce. Perforce version control. Predictably reliable. http://pubads.g.doubleclick.net/gampad/clk?id=157508191iu=/4140/ostg.clktrk ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Intermittent errors setting Windows 8 properties on shortcuts
Rob, I am using the GUID - it appears in the error message. I've got a define called var.Prop_System_AppUserModel_NoPin that I use. Regards, John -Original Message- From: Rob Mensching [mailto:r...@firegiant.com] Sent: 16 September 2014 16:59 To: General discussion about the WiX toolset. Subject: Re: [WiX-users] Intermittent errors setting Windows 8 properties on shortcuts Know Windows Installer issue. Use the GUID of the property instead of the name. _ Short replies here. Complete answers over there: http://www.firegiant.com/ -Original Message- From: John Hall [mailto:john.h...@cambridgetechgroup.com] Sent: Tuesday, September 16, 2014 3:11 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Intermittent errors setting Windows 8 properties on shortcuts Hi, In my installer I have a number of shortcuts installed on the Start Menu that I don't want to appear on the Windows 8 start screen. I therefore set both the System.AppUserModel.StartPinOption and System.AppUserModel.ExcludeFromShowInNewInstall properties for each of these shortcuts. My code looks like this: ?define var.Prop_System_AppUserModel_NoPin = {9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 12 ? Component Id=index.chm Guid={17C863A4-E982-492F-9F76-6E5A09BC65E8} File Id=index.chm Name=index.chm KeyPath=yes Shortcut Id=Shortcut.Help Directory=StartMenu.Help Name=XJTAG Help Show=normal Advertise=no ShortcutProperty Key=System.AppUserModel.ExcludeFromShowInNewInstall Value=1 / ShortcutProperty Key=$(var.Prop_System_AppUserModel_NoPin) Value=1 / /Shortcut /File RemoveFile Id=Remove.index.chw Name=index.chw On=uninstall / /Component Every now and then an installation on Windows 7 will display a dialog saying: Warning 1946.Property '{9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 12' for shortcut 'XJTAG Help' could not be set. The warning ultimately seems benign, but it is not a good user experience. It warning is not consistent or reproducible. Any ideas? Thanks, John -- Want excitement? Manually upgrade your production database. When you want reliability, choose Perforce. Perforce version control. Predictably reliable. http://pubads.g.doubleclick.net/gampad/clk?id=157508191iu=/4140/ostg.clktrk ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Want excitement? Manually upgrade your production database. When you want reliability, choose Perforce. Perforce version control. Predictably reliable. http://pubads.g.doubleclick.net/gampad/clk?id=157508191iu=/4140/ostg.clktrk ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Deploying mshtml PIA assembly
Hi, My application now has a dependency on mshtml. I therefore need to deploy Microsoft.mshtml.dll, the PIA assembly. The only redistributable I can find is vs_piaredist.exe - is this really the only way of redistributing the file? I'd rather not add another step to my bootstrapper or add a custom action. I'm tempted to just deploy the file locally in my application's directory. Are there any issues doing that? Regards, John -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Deploying mshtml PIA assembly
Rob Mensching wrote: I'm not sure if the .exe is the only thing available but if there is no license for you to redist the PIA file with your application stand-alone then it isn't legal to do so. The exe is the only thing I can find reference to, and the fact that it is install in c:\Program Files\Common Files\Merge Modules says something :) Also, if you did that, what Component GUID would you give it? Would it matter what GUID it had if it was installed in my application's directory and not in the GAC? Your point about licensing is valid, however, and it looks like the only way to redistribute is via the exe, so I'll have to do that. Thanks, John -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Deploying mshtml PIA assembly
Andreas Mertens wrote: I took a look at vs_piaredist.exe, and found you can extract the .cab or .msi from it (using WinRAR or other such tools). Perhaps you can just grab one of those and package that up in your install? Yes, I've found those. However, Rob is correct, and the license only allows you to ship vs_piaredist.exe unmodified. Regards, John -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How do setup bootstrappers avoid prompts for media when changing or repairing an existing installation
1. Can the MSI package be marked in some way so that the complete MSI file (under 5 MBs in my case) is cached by Windows Installer? 2. Can my setup bootstrapper call some MSI API to make Windows Installer cache the complete package? 3. Should my setup bootstrapper copy the MSI package to a permanent location on the local computer and perform the installation from there? If so can I prevent the Windows Installer doing it's own caching since the MSI package will always be available on the local computer? I would obviously prefer option 1 or 2 or any other similar option that prevents my setup bootstrapper effectively maintaining an MSI cache of its own. How do you setup bootstrappers, in general, avoid this issue? Best regards, Andrew -- Andrew Lee Solarflare Communications mailto:a...@solarflare.com http://www.solarflare.com/ -- This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How do setup bootstrappers avoid prompts for media when changing or repairing an existing installation
1. Can the MSI package be marked in some way so that the complete MSI file (under 5 MBs in my case) is cached by Windows Installer? 2. Can my setup bootstrapper call some MSI API to make Windows Installer cache the complete package? 3. Should my setup bootstrapper copy the MSI package to a permanent location on the local computer and perform the installation from there? If so can I prevent the Windows Installer doing it's own caching since the MSI package will always be available on the local computer? I would obviously prefer option 1 or 2 or any other similar option that prevents my setup bootstrapper effectively maintaining an MSI cache of its own. How do you setup bootstrappers, in general, avoid this issue? Andrew, I've solved this problem in the bootstrapper. Once the MSI has finished installing, I put a copy of the Msi file in a subfolder of my application, and then call MsiSourceListAddSource to add that directory to the list of source directories for the product. Windows Installer can then find a full copy of the MSI, with no prompts. In my installer I have a RemoveFile and RemoveDirectory element in a component to make sure that the MSI gets deleted on uninstall. Regards, John -- This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Building WiX
You are of course correct but I am such a total convert to SVN that everything in CVS looks so antiquated. I use CVS tags in another project but have never have the enthusiasm to understand the command line, in SVN I do everything via the TortiseSVN interface and I assumed TortiseCVS would be the same but it isn't. In TortoiseCVS when doing a Checkout, there us a Choose branch or tag option on the Revision tab. If you already have sources checked out, you can do an Update Special and there is a Get tag/branch/revision option there too. Regards, John - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Building WiX
It sounds like you know a bit about CVS, do you know if it is possible to view what has change since you last did a checkout in CVS or TortoiseCVS? I can see how to do it on a file by file basis but not the whole folder. Neil, On the commandline, you can do 'cvs -n update', which shows you what would get updated. This can also be done in TortoiseCVS by doing 'Update Special' and selecting 'Simulate Update' on the Advanced tab. Alternatively, you can do 'cvs diff -r BASE -r HEAD' on the commandline to see all the changes - there is no equivalent in TortoiseCVS. Regards, John - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Executing .bat,.reg,.msi files from WIX v3
.reg: Don't use the .reg file; instead put the registry values in the .reg file into a component and install the component. Thanks a lot for your suggestions. Could you please let me know how to implement the first one (.reg files) as you suggested. You need to create a component and in there use RegistryValue and/or RegistryKey elements to define the registry entries you want to create. Regards, John - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Build from command line
Could you not just pass in Name1 and Name2 seperately? Regards, John -Original Message- From: Alex Ivanoff [mailto:[EMAIL PROTECTED] Sent: 15 October 2008 18:13 To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Build from command line It still does not work for me. In my case MyVariable has ; in it: MyBariable=Name1=Value1%3bName2=value2 -Original Message- From: John Hall [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 15, 2008 03:29 To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Build from command line Let me rephrase. How do I specify preprocessor variables when I build from command line with MSBuild? msbuild myinstall.wixproj /p:??? I've modified by wixproj file to take parameters from the commandline and pass them into WiX: You need to add something like this to the BeforeBuild target: CreateProperty Value=MyVariable=$(MyVariable);$(DefineConstants) Output TaskParameter=Value PropertyName=DefineConstants / /CreateProperty And then you can do: msbuild myinstall.wixproj /p:MyVariable= Regards, John -- -- - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- --- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Build from command line
So you are saying it is not possible? I don't know; I'm no expert. Rather than pass in two variables embedded in 'MyVariable' can you not just pass Name1 and Name2 as variables in their own right? CreateProperty Value=Name1=$(Name1);Name2=$(Name2);$(DefineConstants) Output TaskParameter=Value PropertyName=DefineConstants / /CreateProperty And then msbuild myinstall.wixproj /p:Name1=value1 /p:Name2=value2 Regards, John - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Use of ComponentGroup and Duplicate symbol 'WixComponentGroup:xxx' found.
ComponentRef Id= component2 / DirectoryRef Id= APPLICATIONROOTDIRECTORY ComponentGroupRef Id= Project1Files / To be explicit, it appears that you are somehow including your Fragments code twice. Maybe you lit the Fragment.wxs into a .wixlib then added both the .wixlib and the Fragment.wxs to the link line? That would create the problem. In many places there appear to be spaces inside the Id attributes - could this be confusing things? Regards, John - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Build from command line
I've modified by wixproj file to take parameters from the commandline and pass them into WiX: Does it mean there is a bug in WiX MSBuild-related stuff or it is not implemented? I don't know. I just assumed that they were different things and that you need to plumb them together yourself. Regards, John - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Build from command line
Let me rephrase. How do I specify preprocessor variables when I build from command line with MSBuild? msbuild myinstall.wixproj /p:??? I've modified by wixproj file to take parameters from the commandline and pass them into WiX: You need to add something like this to the BeforeBuild target: CreateProperty Value=MyVariable=$(MyVariable);$(DefineConstants) Output TaskParameter=Value PropertyName=DefineConstants / /CreateProperty And then you can do: msbuild myinstall.wixproj /p:MyVariable= Regards, John - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Changes in DTF projects don't trigger a rebuild of the MSI
I have a VS 2008 solution with a DTF project and a WiX project which uses my DTF custom action DLL. I have manually set the project dependencies such that the DTF project builds before the WiX project. Theoretically, a change in the custom action code in the DTF project should trigger a rebuild of the MSI. However, I'm observing that this does not happen. I find I have to clean the solution and do a full rebuild anytime I change my DTF custom action. Perhaps this is by design but it does not seem like the way it should work. Can anyone comment? Brian, I've had this with my C++ CA DLL - I ended up modifying wix.targets in C:\Program Files\MSBuild\Microsoft\WiX\v3.0 and adding my own variable $(MyExtraLinkBinaries) to the Inputs list of the Link target: Target Name=Link Inputs=@(CompileObjOutput); @(EmbeddedResource); @(WixObject); @(WixLibrary); @(WixExtension); $(MSBuildAllProjects); $(MyExtraLinkBinaries)!-- this is extra -- ... / I then added the output of my CA DLL to that variable in my .wixproj file: PropertyGroup MyExtraLinkBinaries$(MyExtraLinkBinaries);..\CustomActions\$(Configuration)\CustomActions.dll/MyExtraLinkBinaries /PropertyGroup Regards, John - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How Update / Upgrade strategy (small, minor, major) affect file overriding?
The only way I've got this to work at the moment is by manually changing the Product Id and checking it in before doing a publish to avoid the annoying another version of this product is already installed... message. Otherwise it forces the user to uninstall the previous version before installing the new version - something that I've never had to do with any serious commercial package. Is what I'm doing wrong, and if so what alternatives do I have? You could do minor upgrades for your nightly builds - this requires passing REINSTALLMODE=vomus on the msiexec commandline, so would probably require being wrapped in a bootstrapper. Regards, John - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Logging from a Custom Action during the UI phase
If you're looking for a quick non-debugger method, property changes are still logged. It may be a hack, but calling MsiSetProperty(hMSI, _T(LOGME), _T(...)) is effective. Michael, That's a nice workaround - I like it. Cheers, John - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] COM registration weirdness
Is this code significantly different than what is in heat? Can we improve heat as well? I didn't look at heat's sourcecode when I wrote my utility, but it uses the same registry redirection technique. I've looked at RegistryHarvester.cs and I can't see where it deals with the Class/TypeLib tables. I guess it can't be too hard to modify the code to filter out the appropriate VB6 entries that I listed. Regards, John - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How does digital signing work?
Could anyone please describe how digital signing works with WIX? I've only found the reference of the DigitalSignature-element here: http://wix.sourceforge.net/manual-wix2/wix_xsd_digitalsignature.htm In the Windows Installer SDK there isn't much more information. It seams that I need a 128 bit hash of an unknown file or set of files created with an unknown hashing algorithm. I first thought that I have to use the hash of the .MSI file, but this can't work because the hash itself is part of the .MSI file. So my questions are basically: 1. What hashing algorithm do I have to use? 2. What files do I have to include in the hash? Yves, I just use SignTool (http://msdn.microsoft.com/en-us/library/8s9b9yaz(VS.80).aspx) on my compiled .msi file. Regards, John - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] COM registration weirdness
Neil wrote: I have tried a few times to remove the unrelated code and never successfully got the component to work or to leave the machine working on uninstall. Have you ever generated the WiX registry code for VB6 COM component? Has anyone? Neil, I have. I wrote a custom build task that extracts the registration information at build time [1]. The registration entry point is called with some registry redirection in place, and then I harvest the created registry entries removing the following: - CLSID {D5DE8D20-5BB8-11D1-A1E3-00A0C90F2731} - Typelibs {EA544A21-C82D-11D1-A3E4-00A0C90AEA82} and {000204EF---C000-0046}, plus any Interfaces that reference these two type libraries. This works for me. regards, John [1] I know this is very much frowned upon, but I always create major upgrades and don't create patches... YMMV - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Logging from a Custom Action during the UI phase
Yeah, Windows Installer doesn't let it work. Why? Some message processing issue inside them. I think this is documented in some small print somewhere. PS: Please don't shoot the messenger. smile/ Of course not. I had half guessed it was something like this anyway. I guess it's a matter of inserting a MessageBox call at the top of my CA and attaching a debugger then. Regards, John - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] COM registration weirdness
Regarding SelfReg, or not I'm not completely sure I drink the Kool-Aid on this one. So, I understand that SelfRegCost violates transactability rules (spell checker says transactability is not a word shrug) due to MSI and how it handles that... But what then IS the recommended way to deal with the scenario where you have a COM DLL that you didn't write and can't get a different version of that does some wacky stuff in DllRegisterServer... How should those DLLs be handled? If we use SelfRegCost, everything works after a successful install, but at a rollback, or uninstall, there's no way to undo it. What if there were CAs for RegSvr32/RegAsm, that were built-in and easy to use, and then you could make sure that was happening correctly, at the right times? This is similar to the duct-tape batch file solution (one batch for install, one for uninstall), or bunch of QtExec actions to those programs with appropriate cmdline params. The main thing seems to be that they are scheduled at the right time, so that uninstall calls regsvr32 /u. I understand that modifying system state outside of MSI's system is a no-no, but if you're stuck with a DLL that operates that way, so be it. Troy, If I remember correctly, you also get into other problems if the DLL has dependencies on other DLLs that you're installing, particularly those put into the SXS store - they're not available until after InstallFinalize. The most obvious case here is the VC runtime. Regards, John - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Logging from a Custom Action during the UI phase
In my installer I have some C++ custom actions that log to the main MSI log file using MsiProcessMessage. I'm now writing a CA that is executed on a button press in the UI as the user leaves the feature selection dialog. However, none of my debug output is appearing in the log. Is there a reason why this doesn't work? Regards, John - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Shortcut to Folder example
I have tried to get simple Shortcut from menus to Folder (no file). But somehow I always fails. I can get it to file. Could someone give me little example? I have tried Target=[DirectoryID], as I think should work, but no success for me. I've got something like this: Component Id=... Guid=... ... Shortcut Id=Shortcut.SharedFiles Name=My Shared Files Target=[MySharedDocuments] Directory=StartMenu.MyProduct Show=normal / /Component Which (under WiX3 at least) seems to work fine. Regards, John - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How to ignore selected ICE errors or warnings duringcompilation
I just started using WIX build 3.0.2420.0, (I was using 3.0.1502.0). When Light.exe runs it performs the ICE validations. Some of those, I want to ignore. However, I have not been able to figure out how to do so. I tried the following SW command line parms for Light.exe, but they either caused their own errors or did nothing. Some of the errors say the parm should look like -sw6. -sw -sw0204 -swLGHT0204 -sw80 -swICE80 All of the above with the values in angle brackets. I think you want the -sice argument to suppress ICE warnings, something like -sice:ICE80 in your case. Regards, John - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Merge Module Help
John Hall wrote: I have written a tool that auto-generates .wxs files for some parts of my project - we ship a lot of example scripts. It only handles files and generates one component per file. The tool maintains a database (well, an XML file) that lists all the GUIDs ever allocated, and adds entries as it needs. That file is kept in source control. This seems to work well for me - have I missed something important? What happens when someone wants to remove a file? (You can't remove a component in a patch.) Ah, we don't do patches, which is why it works for me :) John - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Merge Module Help
1. How do you manage updates to the database in source control? Do people update the file before building or does the build machine checkout/checkin automatically? If the latter, what source control systems does it support... (you can see where I'm going smile/)? We use cvsnt as our source control system, and my build/release script does an update before building. The custom build task currently just generates a build warning if it's had to update the database, and that's my cue to commit the file back into CVS. There's probably nothing stopping me from making the commit automatic, but it means I can keep an eye on what is going on. 2. How is this better than using auto-generated-stable Guids? It's probably not. I'm not sure heat had that functionality when I implemented what I have implemented, and I wasn't aware that auto-generated GUIDs were possible. It's worth noting that I only use this method for parts of the installer where there are collections of simple files that need installing, with no other resources. These files are changed by other people on the team, sometimes people who are not developers, and so it makes my life easy to harvest them. I've got it working well enough for our environment and the constraints we operate under; it may not work so well for others. For example, I also have build tasks that generate wxs fragments for VB6 COM controls, stripping out some of the needless stuff that VB puts in the registry, which is duplicated across all controls, again using a similar scheme to store GUID state. Regards, John - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Merge module question
By extension, we do not need tools like WiX as we don't need tools like compilers. We can all hack binary codes directly to the processor and be done with it. BTW, .msm is like a .o to a .c I think of them more like a static library, i.e. a .lib file ... :) john - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Induce Sleep in the MSI script
I think you'd have to write a custom action. As custom actions go, this would be a very simple one. I tried putting in a custom action that used the cmd.exe sleep command to fix a problem with a service that needed to restart only to discover that not all my deployment targets had the sleep command! I later was able to abandon the sleep as we fixed the fact the service needed to be restarted. I meant a C++ custom action that called the Win32 function Sleep(). That would be very simple - no C runtime library dependencies, no need to worry about rollback, etc. Regards, John - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Induce Sleep in the MSI script
Is there a way to do this? I think you'd have to write a custom action. As custom actions go, this would be a very simple one. Just out of interest, why do you want to sleep during installation? Regards, John - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] self-registering
I'm trying to package a legacy program that registers some third-party ocx and dlls. I see that the consensus is that I should be handling this with a registry component. However, this application's 'installer' just copies stuff into a folder off the root of c:\ and runs a 'register.bat' to regsvr32 /s each necessary item. In this case, is there really any downside to making the files self-register? For me the real problems with self-registration came when my components had dependencies on C++ runtimes, that were not available at the point at which I was trying to run the self-registration. Regards, John - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Installing driver when the installer files includesubdirectories
Richard, Just create normal components for the two subdirectories, and a third component just containing the INF file and the difx attributes, and then add all three to the same feature. I think that the difx stuff only has to be attached to the INF file. Regards, John _ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Richard Amos Sent: 27 May 2008 18:59 To: wix-users@lists.sourceforge.net Subject: [WiX-users] Installing driver when the installer files includesubdirectories I've been using the difx:Driver tag to installer a scanner driver - got that working OK. Now I'd like to installer a printer driver using the same technology. The problem is that when I unzip the printer install files it has two subdirectories under the root directory (containing the INF file). These subdirectories are i386 and AMD64. Given that a driver is a single component, and a component can't contain subdirectories, how do I go about installing this printer driver? _ Sent from Yahoo! Mail http://us.rd.yahoo.com/mailuk/taglines/isp/control/*http://us.rd.yahoo. com/evt=52418/*http://uk.docs.yahoo.com/nowyoucan.html . A Smarter Email. - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Device Driver Installation
Anthony, As far as I know DIFxApp still only works with WiX 2. My workaround was to create a merge module using WiX 2 just for the driver installation and merge that into my WiX 3 installer. Regards, John _ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Anthony Mahieu Sent: 25 April 2008 04:46 To: wix-users@lists.sourceforge.net Subject: [WiX-users] Device Driver Installation Hey guys, this is my first post. I've got this relatively simple project (WiX v3, using Votive w/ VS2005) that I now need to add device driver installation to. I need to install two drivers if a specific feature is selected to be installed. From everything I'm reading, I need to use DIFxApp. Unfortunately, this is where all helpful information I've found on the web stops. I read in previous questions that DIFxApp won't work with WiX 3. Is this still the case? If so, how would one recommend going about installing drivers in WiX 3? If the issue has been resolved and DIFxApp now works with WiX 3, does anyone have a tutorial on what needs to be done to install the drivers? I know I should be looking into the DDK for some help, but I couldn't even find that (anyone have a link?). Any help someone can give me would be greatly appreciated, as I'm rather new to all this. Thanks! - This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] wix mailing lists open to public = more spam
I would imagine that whoever is spamming the list is not intentionally doing it, but just has wix-users@lists.sourceforge.net on a list of e-mail addresses, so blocking non-subscribers should be effective. John _ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Albert van Peppen Sent: 23 April 2008 10:48 To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] wix mailing lists open to public = more spam Correctly if I am wrong but the member list of a mailling group can be scanned to known spammers and get bounced from it; this way you can bounce a spammer from all groups in one go (although it will give some frustration if your mistakenly get bounced...) smile / _ Van: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Namens Martin MacPherson Verzonden: woensdag 23 april 2008 0:22 Aan: John Vottero CC: wix-users@lists.sourceforge.net Onderwerp: Re: [WiX-users] wix mailing lists open to public = more spam They must be really desperate joining a wix-user mailing list ;) On 22/04/2008, John Vottero [EMAIL PROTECTED] wrote: If anyone has any other opinions on this topic, please do make your voice heard. I'm still following this thread and trying to figure out if I should lock non-members out of the list. I'm still very hesitant to do that since it raises the bar for people just starting to get involved with WiX (and we don't need to make anything *harder* smile/). What will keep the spammers from joining the list? - This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/j avaone ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users - This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] COM Extraction questions (Wix 2)
Quinton, It's unfortunate, but the WiX tools are not designed to be used in an automated, build-time fashion. I guess the reason is that there are too many problems around managing component rules, and for many people their COM interfaces change rarely. I developed my own custom build tasks to do the COM extraction, storing the component GUIDs in version control, so that they are stable across builds. I only generate Registry entries, not TypeLibs, etc, but I shouldn't think it is too hard to translate from registry entries to those. The real trick is to discover how to use the RegOverridePredefKey API to redirect all registry writes, which enables you to capture all registry accesses when you call the DllRegisterServer function of your COM binary. Cheers, John _ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of quinton quammie Sent: 20 March 2008 16:38 To: wix-users@lists.sourceforge.net Subject: [WiX-users] COM Extraction questions (Wix 2) hi, hope someone can help me with the following queries. I'm using Wix 2.0.5805, is there a way to import COM registration in such a way that it will already have references to the advertising tables (ProgId Table, AppId Table, TypeLib)? I know the WIX v3 tool Heat has this ability; for WIX 2 I've tried Tallow, from what I see this imports COM into the registry table only, in which case the COM server paths are hard-coded to either the current path of the binary the COM is being extracted from (-s) or the path found in the supplied reg file (-reg), in either case the entries would likely need to be amended to use formatted strings based on the File element ID, are there any tools for WIX 2 which can do this? regards Quinton _ Think you know your TV, music and film? Try Search Charades! https://www.searchcharades.com - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Is there a way to use my own bitmap?
You can change the bitmaps quite easily without having to do any hacking. In WiX 2, you simply put a file called Bitmaps\BannrBmp.bmp in the directory in which you're building your MSI (see http://www.tramontana.co.hu/wix/lesson2.php#2.3 for a list of all the files you can replace). In WiX 3, you can override the bitmaps using WixVariables (see the WiX 3 help file or http://www.wixwiki.com/index.php?title=UiExtension), either in your file: WixVariable Id=WixUIBannerBmp Value=MyBanner.bmp / Or on the commandline: light -dWixUIBannerBmp=MyBanner.bmp ... Regards, John _ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Xu nanxuan Sent: 15 March 2008 08:40 To: wix-users@lists.sourceforge.net Subject: [WiX-users] Is there a way to use my own bitmap? In fact, my question is not only limited to bmp, but other resources like texts, and so on. Firstly, i have to make use of UIRef Id=WixUI_Common / to make my msi, but i need to do some change to the stock dialogs. i.e.I need to use my bmp as the BannrBmp rather than the default one that is generated when i finished compiling the Wix project. Yes, it's true that i can use tools like orca to change something after that. But it's not convenient. Is there a way to generate myVersion dialog just after compiling? (Again: I do not mean to use a custom dialog, but the existed dialog with my modification) thanks _ Express yourself instantly with MSN Messenger! MSN Messenger http://clk.atdmt.com/AVE/go/onm00200471ave/direct/01/ - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Forums
Also, aren't there other forum-like venues already out there for WiX? I know there are a couple of Wiki sites and also sites that aggregate these emails. What additional value will a forum serve? (I'm not opposed to it, I'm just asking for more clarification). What about Nabble: http://www.nabble.com/wix-users-f4470.html? John - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] 32-bit and 64-bit MSIs bundled in single EXE
It looks like the current bootstrapper calls msiexec.exe, rather than using the APIs. I inherited the code and it looks like it was done that way to make it convenient to pass command line arguments, among other things. If I continue to call the executable, I assume that I'll need to choose the correct msiexec.exe (system32 for 64-bit on x64, syswow64 for 32-bit on x64, system32 on 32-bit), or can x64's system32\msiexec install 32-bit MSIs? In my bootstrapper I just do CreateProcess(NULL, msiexec /i xxx, ...) and it does the right thing on both x64 and x86. Regards, John - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Handling Feature Dependencies
What version of WiX are you using? I found a bug with FeatureGroups earlier in WiX 3 (https://sourceforge.net/tracker/?func=detailatid=642714aid=1760155gr oup_id=105970 https://sourceforge.net/tracker/?func=detailatid=642714aid=1760155gr oup_id=105970 ), which apparently has been fixed. John _ From: Bob Arnson [mailto:[EMAIL PROTECTED] Sent: 06 December 2007 06:21 To: [EMAIL PROTECTED] Cc: John Hall; wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Handling Feature Dependencies [EMAIL PROTECTED] wrote: light.exe : error LGHT0204 : ICE03: Not a valid foreign key; Table: FeatureCompo nents, Column: Feature_, Key(s): grpRequiredModules.uplevel.66332652_9C28_58B1_F F1F_C8B3B9A1E18E That looks like it's a combination of the feature group name and components from the merge module. Sounds like a bug in the linker -- can you file a bug on SF? -- sig://boB http://joyofsetup.com/ - SF.Net email is sponsored by: The Future of Linux Business White Paper from Novell. From the desktop to the data center, Linux is going mainstream. Let it simplify your IT future. http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Handling Feature Dependencies
Okay. So what if the hidden fC actually contains a merge module (meaning, a MergeRef / element)? But I still don't want fC displayed in the interface anywhere. AFAIK, ComponentGroupRefs do not contain MergeRefs. FeatureGroupRefs can contain MergeRefs though. John - SF.Net email is sponsored by: The Future of Linux Business White Paper from Novell. From the desktop to the data center, Linux is going mainstream. Let it simplify your IT future. http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Handling Feature Dependencies
Robert, What you need to do is put the MergeRefs under the FeatureGroup, and then include the FeatureGroup using FeatureGroupRefs in the Features that need the merge modules. Cheers, John _ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: 03 December 2007 17:04 To: [EMAIL PROTECTED]; John Hall Cc: wix-users@lists.sourceforge.net Subject: RE: [WiX-users] Handling Feature Dependencies Yes. That is true. But what I used is a FeatureGroup element. Then, under the FeatureGroup Element, I use a mergeref. So I have something like: Fragment FeatureGroup Id=grpRequiredFeatures Feature Id=fC Title=FeatureFC Level=1 Absent=disallow Display=hidden MergeRef Id=MFC / MergeRef Id=MFCPolicy / /Feature /FeatureGroup /Fragment But that still presents a problem because it appears you can't include one feature under multiple features... Is that correct? I keep getting: error LGHT0095 : Multiple primary references were found for Feature 'fC' ... Is there really no way to group these merge modules (and possibly other components) together and use them under different features. Sounds like what I have to do is to include each MergeRef multiple times. So fA and fB must both include MergeRef MFC and MergeRef MFCPolicy... So if I have 10 merge modules that should get delivered with two different features, I will end up with 20 MergeRef lines? Is there no better way to group merge modules together and use them in different features? BTW - part of me doing this is so that the next button on the Feature Selection screen gets disabled. However, even when I have nothing selected in the Feature Tree, the next button is still enabled. How do I stop that? From: Bob Arnson [mailto:[EMAIL PROTECTED] Sent: Monday, December 03, 2007 10:59 AM To: John Hall Cc: Robert Priest; wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Handling Feature Dependencies John Hall wrote: FeatureGroupRefs can contain MergeRefs though. Good point. I haven't needed FeatureGroups before. -- sig://boB http://joyofsetup.com/ - SF.Net email is sponsored by: The Future of Linux Business White Paper from Novell. From the desktop to the data center, Linux is going mainstream. Let it simplify your IT future. http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] outlook com addin
As I previously said (though in private mail) the solution is rather simple: SelfRegCost='1' Anything else is just a waste of your life by overcomplicating simple things and reinventing the wheel :D Except that the MSI documentation strongly suggests that you shouldn't: Installation package authors are strongly advised against using self registration. The remarks at the bottom of this page [http://msdn2.microsoft.com/en-us/library/aa371608.aspx] contain a long list of reasons. Regards, John - SF.Net email is sponsored by: The Future of Linux Business White Paper from Novell. From the desktop to the data center, Linux is going mainstream. Let it simplify your IT future. http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4 ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Calling embedded binaries with dependencies in WIX
Just as a side note, cygwin and sed (what you seem to be using) are both licensed under GPL license hence you are required to provide source code access to all customers using the software (installer is also software), including any modifications. Furthermore, the installer would need to be rebuildable with the modified sed files (if customers wants to do that for whatever reason) so source code/object code of the wix would need to be provided as well. Adam, I'm not a lawyer, but I don't believe that this interpretation is correct. The GPL talks about derived works, and I don't believe that using sed in your installer makes your installer a derived work of sed. This quote from Wikipedia is helpful: The program must be GPL only if it includes GPL source code or it is linked with a GPL library (with the usual provisos about relying on Wikipedia). You would have to comply with the provisions about supplying source code to sed, but you it is sufficient to provide a written offer to supply the source code on demand: Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange Regards, John - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Just found SetupBld
I have been having issues with getting a bootstrapper working for some time now. i just recently found the program setupbld, and it looks like it might solve my problems. Here is what i aim to achieve the user runs setup.exe. it would detect and prerequisits and install them, then launch the msi but passing the update parameters if it already exists. curretly my setup.exe installs the prereqs but i have to do a major upgrade everytime. which is causing us major amounts of work with hacking things to make the update go smoothly. this isnt pleasent for us or the end user. will setupbld let me do this. if not is there a known bootstrapper that can achieve this for me. Back to installshield if not :( not something i would relish I'm using the dotNetInstaller bootstrapper (http://www.codeproject.com/install/dotNetInstaller.asp), which I've modified to use the MSI APIs to detect whether the product is already installed and perform the right type of upgrade. It's not too hard to implement. Regards, John - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Advertised feature install starting
John Hall wrote: However, this installing per-user on demand could be quite useful. I would like to install some files per-user as well as the registry entries. How do I make sure the files that need to be installed are available? That requires caching the real MSI and any external cabs. The .msi file that MSI caches is stripped of all embedded cabs. Bob, Is that something I would have to do manually, or is there an MSI mechanism? Regards, John - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Advertised feature install starting
John Hall wrote: It's an HKCU registry key that would have been created for the user who installed the application, but obviously not the user who is running. Is this the default behaviour for a key in HKCU even if the feature is not advertised? Yes, for an advertised shortcut. Also, is this the expected behaviour? I thought that a copy of the MSI was stored away in c:\Windows\Installer, so why is the system not able to use that one rather than looking for the original .msi file that the bootstrapper dropped into the temp directory. It does but something's requiring source. You can set the MSI logging policy to get a verbose log when the repair is triggered. Bob, Thanks for that - I tracked it down to a component that just contains some HKCU registry entries, and so now I understand what is happening. This was triggering a repair install. The repair install was trying to reinstall some files that were marked as companion files. It turns out that I don't need to have them as companion files any more so I've changed that and the install no longer prompts for the media and all is well. However, this installing per-user on demand could be quite useful. I would like to install some files per-user as well as the registry entries. How do I make sure the files that need to be installed are available? Currently, I have a bootstrapper that includes the .msi and .cab files as resources - it drops them into the temp directory and then deletes them again once the installation has completed. I tried including the per-user files in their own cab file and embedding them in the .msi, but this doesn't work. Regards, John - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Advertised feature install starting
I've got some machines that after a minor upgrade, unprivileged users unexpectedly get MSI launching a dialog saying that the feature you are trying to use is on a network resource that is unavailable. Administrators do not see the message. The installer was run as Administrator. I assume it is because some features have been installed as Advertised rather than Local. In my installer however, I have marked all my features with AllowAdvertise=no, so It's probably an automatic repair. Check the System event log to see which component MSI thinks is broken. Bob, Thanks for the pointer. It's an HKCU registry key that would have been created for the user who installed the application, but obviously not the user who is running. Is this the default behaviour for a key in HKCU even if the feature is not advertised? In this case, it doesn't matter if the settings are not available for the current user, and I would prefer MSI just to ignore these keys. Also, is this the expected behaviour? I thought that a copy of the MSI was stored away in c:\Windows\Installer, so why is the system not able to use that one rather than looking for the original .msi file that the bootstrapper dropped into the temp directory. Regards, John - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Shorcuts between components
Is it possible to create a shortcut in one component, that will reference to an executable which is located in another component? We have an executable used by all our applications, but is running with different command line arguments for each component. So I want the executable to be placed in a single components and to create the shortcuts from all the other components. How can I achieve that? Dror, You can set the shortcut target to be any file that is installed using its ID with a '#' prefix, e.g. Component Id=MyShortcut Guid=... Shortcut Id=MyApp.Shortcut Name=My Application Target=[#myapp.exe] Directory=DesktopFolder Show=normal / /Component However, you might get warnings if the two components are not part of the same feature. Regards, John - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Advertised feature install starting
I've got some machines that after a minor upgrade, unprivileged users unexpectedly get MSI launching a dialog saying that the feature you are trying to use is on a network resource that is unavailable. Administrators do not see the message. The installer was run as Administrator. I assume it is because some features have been installed as Advertised rather than Local. In my installer however, I have marked all my features with AllowAdvertise=no, so The bootstrapper has since deleted the .msi and .cab files - if I put them where MSI is looking for them (in Administrator's temp directory) then everything works from then on. Does anybody have any ideas why this might be happening or how I might go about tracking it down? I don't even know which feature it is that is being looked for, since the installer starts while the application is running, not right at the start. Thanks, John - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] WiX 3.0 post 3304 working for anyone?
Whenever I run a tool in version 3307, 3328 or 3419 builds obtained from wix.sourceforge.net/releases, I get a System.IO.FileLoadException This suggests that the public key token of wix.dll isn't what candle.exe is asking for. Loading the files into Reflector (www.aisto.com/roeder/dotnet) shows that wix.dll has a public key token of 9f4be179981a58d1. Is this working for anyone else? I can't imagine how it could be, but before I put a bug in the tracker I wanted to be sure. Mike, The wix.dll in the Wix3 MSI is OK however - it is just the one in the binaries.zip that has the wrong key. I've installed 3419 and it works fine. regards, John - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Automated testing?
I'm wanting to do some automated testing of my installers, testing upgrades from previous versions, doing some regression testing and doing a thorough testing of the various combinations of features available. Has anyone done something similar? How have you gone about it? I do my testing manually at the moment using virtual machines (Virtual PC 2007) to be able rollback to a clean state. Doing some automation of VPC seems just about possible but not particularly easy. Regards, John - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Bug in WiX2 2.0.5805.0 - CompanionFile attribute
I think I have found a bug in WiX2 (2.0.5805.0) (not sure if it is also in Wix3 - not using it) Consider this code: Component Id=Component1 Guid=GUID DiskId=1 File Id=File1 Name=File1.exe Vital=yes KeyPath=yes Checksum=yes / File Id=File2 Name=File2.dll Vital=yes Checksum=yes CompanionFile=File1/ /Component Checking the MSI file with ORCA the FileTable: The row that belongs to file File2 will contain the real version of the file (in Column Version) instead of text: File1 The problem appears only if the file is binary. If the file File2 is text file the Version column is filled correctly. Stefan, I found a bug in WiX 3 along these lines: http://sourceforge.net/tracker/index.php?func=detailaid=1758782group_i d=105970atid=642714 Regards, John - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Handling Feature Dependencies
Robert, I encountered this same issue when porting our installer from InstallShield to WiX. InstallShield has the ability to make dependencies between features - I decompiled the MSI and discovered that it does it with a custom action and a custom table of dependencies called ISRequiredFeature. It is not too hard to write a similar custom action that reads records from a custom table and enables the subordinate features as required. I run my custom action just before InstallValidate. However, in hindsight, I think just using a ComponentGroupRef instead of feature fC and including it in both fA and fB might be simpler and more robust. Not sure what the relative downsides are. Regards, John _ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED] Sent: 15 October 2007 17:06 To: wix-users@lists.sourceforge.net Subject: [WiX-users] Handling Feature Dependencies Hello, Let's say I have three features - fA, fB, fC. All of these features are at the same level - Level 1. But only fA and fB are shown to the user. fB is hidden from the user and should be installed if fA or fB is installed. If neither of those gets installed, fC should not be installed. Now what the seemingly obvious answer is, is to add a condition to fC on the order of: Feature Id=fA Level=1 /Feature Feature Id=fB Level=1 /Feature Feature Id=fC Level=0 Display=hidden Condition Level=1![CDATA[ (fA = 3) OR (fB = 3)]]/Condition /Feature But that does not seem to work. What am I missing? Is this not the proper way to evaluate a Feature condition that is based on the selection of other features. Can I not do the evaluation of the condition in fC in the FileCost action since the feature selection is there? Can I make fC a sub-feature of both fA and fB (That doesn't sound right.)? Do I have the condition statement correct? - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Latest nightly build (3.0.3328.0) seems to be broken
The latest nightly build, version 3.0.3328.0, seems to be broken - specifically there seems to be a problem with the strong name signing: Unhandled Exception: System.IO.FileLoadException: Could not load file or assembly 'wix, Version=3.0.3328.0, Culture=neutral, PublicKeyToken=ce35f76fcda82bad' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) File name: 'wix, Version=3.0.3328.0, Culture=neutral, PublicKeyToken=ce35f76fcda82bad' Assembly manager loaded from: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll Running under executable c:\Projects\wix\3.0.3328.0\bin\candle.exe --- A detailed error log follows. === Pre-bind state information === LOG: User = OPTIONEXIST\john LOG: DisplayName = wix, Version=3.0.3328.0, Culture=neutral, PublicKeyToken=ce35f76fcda82bad (Fully-specified) LOG: Appbase = file:///c:/Projects/wix/3.0.3328.0/bin/ file:///c:/Projects/wix/3.0.3328.0/bin/ LOG: Initial PrivatePath = NULL Calling assembly : candle, Version=3.0.3328.0, Culture=neutral, PublicKeyToken=ce35f76fcda82bad. === LOG: This bind starts in default load context. LOG: Using application configuration file: c:\Projects\wix\3.0.3328.0\bin\candle.exe.Config LOG: Using machine configuration file from C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config. LOG: Post-policy reference: wix, Version=3.0.3328.0, Culture=neutral, PublicKeyToken=ce35f76fcda82bad LOG: Attempting download of new URL file:///c:/Projects/wix/3.0.3328.0/b file:///c:/Projects/wix/3.0.3328.0/b file:///c:/Projects/wix/3.0.3328.0/bin/wix.DLL in/wix.DLL. WRN: Comparing the assembly name resulted in the mismatch: PUBLIC KEY TOKEN ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated. Regards, John - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Explanation for why you can't have both a 32-bitand 64-bit installer
Presumably though, one can have an x64 and an x86 MSI, and a boot-strapper that detects architecture and runs the correct MSI? Yes, definitely. John - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Explanation for why you can't have both a 32-bit and 64-bit installer
I am supposed to create a MSI package using WiX that can detect whether the computer it's on has 32-bit or 64-bit architecture, and install different files for each. I have browsed Nabble and found replies that say making a single installer that does this is impossible, such as these: http://www.nabble.com/32-and-64-bit-installer-in-one-tf2635209.html http://www.nabble.com/64-bit-newbie-question-tf3979370.html However my boss is not satisfied with this explanation and wants a detailed technical explanation of why WiX or Windows Installer cannot do this. Could any of you give this explanation or perhaps suggest an alternative that I could do? Any links to outside sources would be great, since I suspect my boss doesn't trust Nabble much. Fundamentally it's an MSI restriction. From msi.chm: A Windows Installer package must be specified as either a 32-bit or a 64-bit package; it cannot be specified as neutral. Regards, John - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] WiX v3: COM on Vista. I have some success, but worried about heat's erroneous output
I've been reading more about heat, vb6 and vista. I'm now starting to get worried that there's a potential difference between running Heat on Vista versus XP. And yes, you do need to run as Admin, and elevated for Heat to actually extract anything. Also, Should I be deleting all the registry entries that refer to the VB Virtual Machine Runtime DLL...I forget the exact key, but it references c:\windows\system32 ... MSVBRuntime(forgot name).dll. Roy, I remove the following: 1. The VB runtime CLSID: {D5DE8D20-5BB8-11D1-A1E3-00A0C90F2731} 2. The two VB typelibs: {EA544A21-C82D-11D1-A3E4-00A0C90AEA82} and {000204EF---C000-0046}. 3. All interfaces that reference either of the typelibs. Regards, John - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Registering an OCX
Our software package needs to register an Active X Control. Currently I do it with the following: --- Property Id='REGSVR'regsvr32.exe/Property CustomAction Id=RegisterOCX Return=asyncNoWait Property=REGSVR ExeCommand='/s [INSTALLDIR]MyControl.ocx' / Should I be following another method to register the OCX so it consistently registers? Brad, A much better approach is to extract the registry entries that your OCX creates and create the registry entries directly from your installer. WiX 2 includes a utility 'tallow' [1] and WiX 3 a utility called 'heat' [2] that will do most of the work for you. Regards, John [1] http://blogs.conchango.com/stuartpreston/archive/2005/12/10/2488.aspx [2] http://installing.blogspot.com/2006/04/heatexe-making-setup-easier.html - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Suppressing DIFx installation
Hi, For the new version of our product I am using WiX to replace the previous installer. The new version is installable alongside the old one. The product includes a driver that with WiX I am installing with DIFx. I have found if I install the new version of the software and then uninstall it, it uninstalls the driver and stops the old version of the software from running. I would therefore like to suppress the DIFx installation if the driver is currently present, but still install the actual driver files into a subdirectory of my application directory. I've set up a file search to locate an existing copy of the driver in [SystemFolder]drivers, but I can't find a way of controlling the DIFx custom actions from within WiX based on the property that I set. If I modify the generated MSI file using Orca and set conditions on MsiProcessDrivers and MsiCleanupOnSuccess then the MSI does what I want, but obviously a way within WiX would be useful. Thanks, John - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Associating Icons to File Types
Can anybody point me to instructions for: (1) Associating an icon to a particular file type (2)Launching the application to which that file type is associated when the icon is double-clicked Dan, Here is some example XML taken from one of my products (it's WiX 3.0, but should be adaptable for v2): Component Id=FileTypes.BSDL Guid=... File Id=bsdl.ico Name=BSDL.ico / RegistryValue Id=Reg.Extn.BSD Root=HKCR Key=.bsd Value=BSDLfile Type=string / RegistryKey Id=Reg.Class.BSDL Root=HKCR Key=BSDLfile Action=createAndRemoveOnUninstall RegistryValue Id=Reg.Class.BSDL.Value Value=BSDL File Type=string / RegistryValue Id=Reg.Class.BSDL.Icon Key=DefaultIcon Value=[#bsdl.ico],0 Type=string / /RegistryKey /Component I have my icon for the filetype in an icon file, but you could reference an exe or dll that you've installed instead. Regards, John - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Can Wix V3 be used on a shipping product?
Dan, This is not quite answering your question, but I'm using WiX 3 on a product that is shipping later this year. I've found a couple of bugs, but nothing I haven't been able to work around. Cheers, John _ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dan Hoeger Sent: 21 August 2007 17:54 To: wix-users@lists.sourceforge.net Subject: [WiX-users] Can Wix V3 be used on a shipping product? I remember seeing a statement a while back that said that V3 should not be used on a product that is shipping any time soon. Has that status changed? If so what build should I use? Thanks, Dan - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] WixDifxAppExtension Build
Ben Greenberg wrote: I recall there being a bug in WiX 3.0 regarding this extension. Am I doing something wrong, is there a work around, or do the latest nightlies fix this? There's no workaround at present. The DiFX library ships as a .wixlib for WiX v2. WiX v3 can't read them. Either the DiFX team needs to recompile their bits with WiX v3 or WiX v3 needs to be able to read v2 .wixlibs. Ben, I'm working around this for now by packaging my driver in a merge module created with WiX version 2, and including that in my v3 MSI project. Regards, John - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Managed Custom Action
Alexei wrote: Have a look http://msdn2.microsoft.com/en-us/library/ms681383.aspx here - its the first one on the list. Course that's if it was an error from Windows Installer. If it was from your DLL then I got nothin'. However I believe the conventional wisdom is not to use managed CAs since they place too many pre-requisites on the target system - having the .NET framework installed for example. If your application has the .NET framework as a prerequisite then that doesn't really matter. From reading Rob Mensching's post on the subject [1], the main problem is with the versions of the .NET runtime. Once a process has loaded a version of the runtime, it can't load any other. If it becomes common for CAs to be written in managed code then the probability of two CAs requiring different .NET runtimes increases and at some point you will get a conflict and your installer will mysteriously fail. There are also some other issues with Windows Server 2003 if you read the post. Regards, John [1] http://robmensching.com/blog/archive/2007/04/19/Managed-Code-CustomActio ns-no-support-on-the-way-and-heres.aspx - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Beginning Question
You're doing it too late indeed. During msbuild (BeforeCompile?) grasp the build version and write it to a (new?) wxs file. Then add that wxs file to your Compile itemgroup to get it compiled (and linked) to an msi. An easier way is to create a custom MSBuild task to get the version number and pass it in as a pre-processor variable: Target Name=BeforeBuild MyGetVersionTask Output TaskParameter=Version PropertyName=MyVersion / /MyGetVersionTask CreateProperty Value=Version=$(MyVersion);$(DefineConstants) Output TaskParameter=Value PropertyName=DefineConstants / /CreateProperty /Target This will pass in your version into candle as a pre-processor variable, which you can access with $(var.Version). Regards, John - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] macro/property for detecting debug/release from Votive
I am using Votive in Visual Studio 2005. Can anyone tell me how I can configure my WXS file to pick up DLLS to be deployed (with the File tag) from bin\Debug if the build configuration is set to Debug, and bin\Release if its Release? Adam, Light uses the -b switch to specify the base directory to search for files. This is set using the LinkerBaseInputPaths element in the .wixproj file. You therefore shoud modify the .wixproj file with something like: PropertyGroup Configuration Condition= '$(Configuration)' == '' Debug/Configuration ProductVersion3.0/ProductVersion ProjectGuid{b166672d-6329-4dd1-abc3-2e72d5e6e0a1}/ProjectGuid SchemaVersion2.0/SchemaVersion OutputNameIdentifier/OutputName OutputTypePackage/OutputType WixToolPath$(ProgramFiles)\Windows Installer XML v3\bin\/WixToolPath LinkerBaseInputPathsbin\$(Configuration)/LinkerBaseInputPaths /PropertyGroup Regards, John - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] custom action VS2005
Error 1723. There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor. Action editOmniCfgFile, entry: UpdateCfg, library: C:\WINDOWS\Installer\MSI9F6.tmp MSI (s) (24:F8) [16:42:45:828]: Product: mtm Agent -- Error 1723. There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor. Action editOmniCfgFile, entry: UpdateCfg, library: C:\WINDOWS\Installer\MSI9F6.tmp Mark, Are you statically or dynamically linking with the runtime libraries? I've seen an error similar to this with the runtime dynamically linked when the runtime is not installed on the target machine. By far the safest thing to do is to statically link, i.e. use /MT rather than /MD. Regards, John - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Getting rid of the warnings when using the VC8 CRTmerge modules
From reading blogs on the web, the way to add the merge modules for the VC8 CRT libraries is shown in the WXS code below. But I get a lot of warnings in the process. We are using Visual Studio 2005 SP1 and Wix v3.0.2925 What is the reason for all the warnings? What can be done to fix the warnings? Or is there a bug/problem with the CRT merge modules? Francois, As far as I know, there is no way around the warnings. I've taken an approach mentioned by someone else on this list, to disable most ICE warnings normally, but create a separate project configuration with the warnings enabled that defines a preprocessor variable 'Verify' and has all the merge modules removed, i.e. ?ifndef Verify? MergeRef Id=Microsoft_VC80_CRT_x86.msm / MergeRef Id=policy_8_0_Microsoft_VC80_CRT_x86.msm / ?endif ? Cheers, John - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Wix 3.0.2925 heat TypeLib RegistryValue
Yeah, I agree that heat will produce a lot of RegistryValue elements that are not related to the DLL being looked at (like you said, usually VB Runtime related). Which is fine since heat shouldn't be used for automated builds etc, and the output should be hand-tooled/cleaned up. But I would expect it to create the TypeLibs for the DLL. I am using heat in an automated fashion... I have written a MSBuild task that invokes heat and then opens the XML file and tidies up the XML structure. However, your comments are making me go back and check the output more carefully. What also struck me as odd was that heat is generating Class and Interface elements as Component elements as well as File elements, e.g.: Component Class ProgID / /Class Class ProgID / /Class File Class ProgID / /Class /File Interface / Interface / Interface / ... RegistryValue / RegistryValue / RegistryValue / ... /Component And these Class elements were directly related to the DLL being looked at. In the above instance, there was no TypeLib element at all... Heat will generate TypeLibs for some of the other DLLs. Any suggestions? No suggestions really. I've looked at the output for some of my DLLs and OCXs and there are some entries outside the File element that are related, and they are all of this kind of form: RegistryValue Root=HKCR Key=CLSID\{5406F822-32BA-4AC7-B355-AD5E8DC28DEC}\Control Value= Type=string Action=write / RegistryValue Root=HKCR Key=CLSID\{5406F822-32BA-4AC7-B355-AD5E8DC28DEC}\MiscStatus\1 Value=131473 Type=string Action=write / RegistryValue Root=HKCR Key=CLSID\{5406F822-32BA-4AC7-B355-AD5E8DC28DEC}\MiscStatus Value=0 Type=string Action=write / RegistryValue Root=HKCR Key=CLSID\{5406F822-32BA-4AC7-B355-AD5E8DC28DEC}\ToolboxBitmap32 Value=[!controls.ocx], 3 Type=string Action=write / or Interface entries like this that seem to just forward to interfaces defined inside the File element: Interface Id={296923CA-99E8-40B8-87E3-0BEF5FF0D67C} Name=dbUtils ProxyStubClassId={00020424---C000-0046} ProxyStubClassId32={00020424---C000-0046} / RegistryValue Root=HKCR Key=Interface\{296923CA-99E8-40B8-87E3-0BEF5FF0D67C}\Forward Value={107C147F-8A37-4E29-813D-5958F10B97CF} Type=string Action=write / I don't see any extra Class elements. I need to go away and test the installation thoroughly to see if I'm throwing away too much. Cheers, John - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Preprocessor Directives
Where can I find the current list of preprocessor directives? I'm using the list from this article, http://msdn2.microsoft.com/en-us/library/aa302186.aspx#wixsetup_topic6 But I'm getting compilation errors in VS when using the ProjectAggregator2-3.0.2925.0.msi. Thanks Example error: Error 1 Undefined preprocessor variable '$(var.DNA.RadWorkflow.TabletWorklist.TargetPath)'. C:\RWFSystem\DNA.RadWorkflow\DNA.RadWorkflow.TabletWorklist\Application. TabletWorklist\Installer\TabletWorklist.wxs 19 1 TabletWorklist There is a wix.chm help file that gets installed in the doc directory. Under Tools in the contents is a section on the preprocessor. Is 'DNA.RadWorkflow.TabletWorklist.TargetPath' perhaps a WixVariable rather than a preprocessor variable? How is it defined? Regards, John - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Checkbox drawn with different coloured background
John Hall wrote: I wanted to add a checkbox at the end of my installer and found the WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT property. However, when the checkbox is displayed it is drawn with the wrong background colour - see the attached screenshot. This is with Wix 3.0.3120.0. Is there a way around this? No. Unfortunately, checkbox controls don't support transparency. I guess one way would be to draw the checkbox without a label and then add a Text control with the transparent attribute set. Is there an easy way to replace just one dialog in one of the standard UI sets? That's bad for two reasons: 1. It breaks user expectations, because many users expect to be able to click the checkbox's text. (Though that might be less true thanks to awful Web UI.) 2. It breaks accessibility as the checkbox no longer has associated text that screen readers can read. 3. (Bonus reason!) The checkbox itself uses the default control background so you can't avoid it entirely. The best workaround is to use a bitmap that doesn't have a bunch of white in it. Thanks Bob. I think I was being a little bit thick - I had forgotten that the bitmap extends across the whole of the dialog. It seems to be that if the standard dialog sets are going to offer the option to display that checkbox they shouldn't by default use a bitmap that extends into the area where the checkbox is drawn. As far as I can see this problem I had will always be an issue. You should be able to replace ExitDialog but you'll need to copy the fragment for whichever dialog set you're using to do so. Do you mean I have to make a copy of the whole dialog set, or can I just copy and modify ExitDialog.wxs from the source tree? Cheers, John - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Reorganising features and major upgrades
John Hall wrote: I'm in the process of migrating my installer from InstallShield to WiX 3. As part of this I have reorganised and rationalised the features in the product. When I come to do a major upgrade from the old installation to my new one, all of the features in my product in the customize dialog are unselected. If I install cleanly, they are all selected. As always: Start with the verbose log. MSI will pass an ADDLOCAL property to the server when it comes to actually installing the product. I'm assuming you have RemoveExistingProducts scheduled early, so you can also check out InstallValidate action logging, to see the features and components that are getting removed (old version) and selected for install (new version). Bob, Thanks for your reply. RemoveExistingProducts is scheduled after InstallInitialize and so has not been run when we get to the customize screen. It isn't actually migrating any feature states from the old version either: MSI (c) (60:F0) [06:04:52:081]: Doing action: MigrateFeatureStates MSI (c) (60:F0) [06:04:52:081]: Note: 1: 2205 2: 3: ActionText Action 6:04:52: MigrateFeatureStates. Migrating feature states from related applications Action start 6:04:52: MigrateFeatureStates. MSI (c) (60:F0) [06:04:52:091]: Skipping MigrateFeatureStates action: feature settings already made Action ended 6:04:52: MigrateFeatureStates. Return value 0. So it is not clear to me from the log why it is unselecting all the features. There is no other mention of features in the log. What sets up the initial feature action states? Regards, John - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] MSI Icon
I wanted to know whether it was possible to change the icon of the MSI file generated by WiX to something else? Hasan, Do you mean the icon that explorer displays for the .msi file or the icon that you see in the add/remove programs dialog once it is installed? If you mean the icon as viewed in explorer, I suspect not. Explorer does not handle .msi files differently from any other non-exe file type, like say a Word document. Cheers, John - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] WixUI_Mondo
I am trying to use wix for installation of my product .When i try to use the UI wizard in my wxs file by using the following lines: UIRef Id=WixUI_Mondo / UIRef Id=WixUI_ErrorProgressText / I get the fillowing error while linking : unresolved reference to the symbol 'WixUI: WixUI_ErrorProgressText' in the section Product={35D229AD-6CBC-4815-908D-33DB6E2691C0} Chandan, Are you using version 2 or version 3 of WiX? In version 2 you do something like this: light.exe -out SampleWixUI.msi SampleWixUI.wixobj path\lib\wixui.wixlib -loc path\lib\WixUI_en-us.wxl and in version 3, something like: light.exe -out SampleWixUI.msi SampleWixUI.wixobj -ext path\WixUIExtension.dll -cultures:en-us where path is the the path of your WiX installation. Cheers, John - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Problem writing registry values
It seems that MSI cannot write REG_DWORD type values to registry..Wht is the workaround for this? Anidil, The documentation for the registry table in MSI says: This column is the localizable registry value. The field is Formatted. If the value is attached to one of the following prefixes (i.e. #%value) then the value is interpreted as described in the table. Note that each prefix begins with a number sign (#). If the value begins with two or more consecutive number signs (#), the first # is ignored and value is interpreted and stored as a string. #x The value is interpreted and stored as a hexadecimal value (REG_BINARY). #% The value is interpreted and stored as an expandable string (REG_EXPAND_SZ). # The value is interpreted and stored as an integer (REG_DWORD). So just put a '#' on the front of your number: Value='#1' Regards, John - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Problem writing registry values
I have tried prefexing # for all the DWORD types but after running the MSI i see that the registry is getting updated as type REG_SZ Looks like I misled you - the RegistryValue element has a 'Type' attribute, which you can set to 'integer': RegistryValue Id=Registry1 Name=IntValue Value=42 Type=integer / Cheers, John - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Problem writing registry values
Oki..The ReistryKey and RegistryValue tags are used only with WiX 3.0 right? Yes. Under WiX 2.0, you seem to just use the Registry element, which also has a Type attribute: Registry Id=Registry1 Root=HKLM Key=Software\Product Value=42 Type=integer / Cheers, John - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Reorganising features and major upgrades
I'm in the process of migrating my installer from InstallShield to WiX 3. As part of this I have reorganised and rationalised the features in the product. When I come to do a major upgrade from the old installation to my new one, all of the features in my product in the customize dialog are unselected. If I install cleanly, they are all selected. I've made sure that MigrateFeatures is set to 'no' in the Upgrade element, and have even tried disabling the MigrateFeatures action when upgrading from the previous installer version. A typical feature in the product looks like this: Feature Id=ChainDebugger Title=Chain Debugger Description=XJTAG Chain Debugger Tool Level=1 Display=50 AllowAdvertise=no ... /Feature Is there something obvious I might be doing wrong? Regards, John - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Installer fails while reading the function from DLL
I created a Windows Installer DLL using Visual Studio C++. The installer is working fine in windows xp and vista. But when I run the installer which has custom action dll in windows 2003, it is not installing in windows server 2003. Is it known issue or does any body have idea this issue? Naresh, Are you linking to the runtime libraries statically or dynamically? It is much safer to link statically, i.e. use Multi-threaded (/MT) rather than Multi-threaded DLL (/MD). Regards, John - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Unknown preprocessor statements
Should the WiX preprocessor give an error if there is a statement that it does not recognise? I just spent some time tracking down a problem, which eventually came down to me using ?elsif ? rather than ?elseif ?. An error message saying ?elsif was not recognised would have been useful. Regards, John - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] What determines the order of shortcuts
My understanding is that the order that shortcuts appear is usually alphabetical. But ultimately it is a user-setting. Schortcut groups are just folders and I believe that the arrange by setting applies. Windows does store some special metadata about ordering though, since you can drag items around into the order that you want. Take a look in the registry at HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Men uOrder\Start Menu\Programs. Cheers, John - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How to deploy all the files inside the folder rather than specifying each files
Lingappa, Attached are two files: PackageTree.cs, a custom task that generates an XML file containing a WiX fragment, and metadata.cs an auxilary class that handles the GUIDS. The code is still a bit rough around the edges, but works fine. A .metadata.xml file is created in every subdirectory to store the GUIDs that the task creates for each component. You will get warnings for every file the first time it runs, and then from then on just warnings when new files are added. You want something like this in your wixproj file to get it to run and create a fragment file called tree.wxs that contains components for each file ending in .txt in c:\some\directory. The generated file will automatically get compiled. PackageTree RootDirectory=c:\some\directory OutputFileName=tree.wxs MatchPattern=\.txt$ Output TaskParameter=OutputFileName ItemName=Compile / /PackageTree Cheers, John _ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: 20 July 2007 13:55 To: John Hall Subject: RE: [WiX-users] How to deploy all the files inside the folder rather than specifying each files Hi John, Thanks for your inputs. I appreciate if you could send me sample code that you have written. Thanks again, Regards, Lingappa _ From: John Hall [mailto:[EMAIL PROTECTED] Sent: Friday, July 20, 2007 1:41 PM To: Sindhanur, Lingappa (Cognizant) Subject: RE: [WiX-users] How to deploy all the files inside the folder rather than specifying each files Hi, I need to specify contents of whole directory needs to be installed instead specifying each file names. Currently i am using like mentioned below: lt;Directory Id=AnyDirectory Name=AnyDirectory gt; lt;Component Id=AnyDirComp Guid=FE698C55-B139-419e-B8A3-71ECFA2922D5 gt; lt;File Id=first.aspx /gt; lt;File Id=second.aspx .../gt; ... ... ... ... lt;/Component gt; lt;/Directory gt; I need to specify all the files. Problem any file is being added to the directory again i need to add the file in the wxs source. Is there a to specify the directory instead of files? Your help will be greatly appreciate. Thanks in advance. Lingappa , I needed to do something like this, so I wrote an msbuild custom task that automatically generates a .wxs file. It generates a GUID per component and stores that in an XML configuration file. When it finds a new file it generates a new GUID and updates its configuration file. It's not something that's too hard in C#. Cheers, John This e-mail and any files transmitted with it are for the sole use of the intended recipient(s) and may contain confidential and privileged information. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. Any unauthorized review, use, disclosure, dissemination, forwarding, printing or copying of this email or any action taken in reliance on this e-mail is strictly prohibited and may be unlawful. Metadata.cs Description: Metadata.cs PackageTree.cs Description: PackageTree.cs - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Directories and Components
Is this possible? Ie. is there a way to reduce the number of components I must have? Or is the way I'm currently doing it the most efficient way to do multiple directories? Sadly a component can only contain files in one directory. You could use heat to automate the gathering of the files to install - it generates all the components and then a single ComponentGroup containing all those components. Cheers, John - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Companion Files
Hi, I'm trying to set the CompanionFile attribute of a file, something like this: Component File Id=parent ... KeyPath=yes / File Id=companion Companion=parent / /Component This doesn't seem to work. If I look at the generated File table, the companion file contains its version, not 'parent' as I would expect. Am I using the CompanionFile attribute correctly? Cheers, John - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Checkbox that won't check or un-check
Microsoft certainly doesn't like to make things easy do they? I assume though that if someone in the WMF group clued in to using MSI that they might also have the foresight to provide a merge module for the redistributables. Kind of like they should have years ago. However, assuming that they continue to do things like they have been for years (i.e. badly), what is the way to install another MSI installer from within my own? You need a bootstrapper application, aka a setup.exe to install your prerequisites. If you search the list archives (http://www.mail-archive.com/wix-users@lists.sourceforge.net/), there is quite a lot on this subject. I personally have started using dotNetInstaller, which as well as installing the .net redistributables, can chain any other package you need. Regards, John - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] setup.exe has no icon?
Weekly releases of WiX are available at http://wix.sourceforge.net/releases/. Is there an easy way to find out what is changed from release to release? The history.txt file looked promising, but it is not always updated from release to release, and is just a list of changes - there are no markers to show where any of the releases occurred in the history. Regards, John - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Proper use of heat on a COM control
I'm starting to build an installer for an application that includes a number of VB6 authored OCX controls. It seems that the correct way to capture COM registration data for these OCXs is to use 'heat file ...', which seems to generate nice Wix fragments. I want to call heat as part of the build process (rather than use its output as a template and commit it to source control) so that if the OCX interface changes, as it does from time to time, the fragment is recreated. Question 1: If I use the -gg argument to generate a GUID each time, does it matter that the component is effectively a different component in each build? I should note that currently, we only ever do major upgrades. Question 2: What is the best way to invoke heat as part of a build process? I'm currently deciding whether to use make or msbuild to tie everything together, and invoking heat from make is obviously quite straightforward, but I'm less familiar with msbuild. Cheers, John - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Installing dotnet framework along with your MSI package
I've been looking at bootstrappers recently, and I settled on dotNetInstaller, an open source program at http://www.devage.com/Wiki/ViewArticle.aspx?name=dotnetinstaller. It will install as many prerequisites as you need. It is well written and easy to modify (despite most of the comments being in Italian!), and so if you need to customise it further, it is relatively straightforward. Cheers, John _ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Pierson Lee (Volt) Sent: 03 July 2007 01:20 To: sanjay bhaskar; wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Installing dotnet framework along with your MSI package That's the same thing I'm doing. You have to use a bootstrapper. If you're using VS 2005, you can use the setup project and it will allow you to check for .net framework . The other way you can do it (which I did, but am having a heck of a time) is to call the .net Framework redistributable at the end using a custom action , but it has to be set after InstallFinalize so that your wix windows installer instance ends when your dotnetfx.exe is called. I did it this way and it works, although I don't know the consequences of this beyond installing the framework AFTER your application. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of sanjay bhaskar Sent: Monday, July 02, 2007 4:52 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Installing dotnet framework along with your MSI package How to include dotnet framework redistributable package (dotnetfx.exe) as a part of your own installation package (MSI) such that the dotnet framework gets installed during your installation process(Like through customActions). the error i get is that another installation is already in progress. How to get out of this problem and install the dotnetfx. Thanks _ Make every IM count. Download Windows Live Messenger and join the i'm Initiative now. It's free. Make it count! http://im.live.com/messenger/im/home/?source=TAGWL_June07 - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Best Way to Include MSVCRT 80 Dependencies
We just install the redistributables alongside our main exes. Not sure you're allowed to do that for the debug versions, though. The EULA prohibits redistributing the debug versions according to this: http://blogs.msdn.com/nikolad/archive/2005/09/02/running-c-application-b uilt-by-vc-express-on-another-computer.aspx Cheers, John - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Best Way to Include MSVCRT 80 Dependencies
Steve, What's the best way to include the Microsoft Visual Studio 2005 CRT dependencies? I want to include the debug versions for my debug build. I've tried using the standard MSM files but I get a bunch of warnings. I have the following WXS code: This blog entry: http://blogs.msdn.com/astebner/archive/2007/02/13/building-an-msi-using- wix-v3-0-that-includes-the-vc-8-0-runtime-merge-modules.aspx documents these various warnings but doesn't go beyond noting that you could disable them, but you would be disabling them for your whole project. I noticed another post on this list recently, where someone had a special verification mode in their project for running ice against, which excluded all merge modules. Cheers, John - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Future of Votive?
Is there a way of specifying the -b switch when building from Visual Studio? Assuming you mean using Votive, it doesn't appear to be exposed through the project property pages. But you can edit the .wixproj file outside VS and add a LinkerBaseInputPaths property to be a semi-colon-delimited list of paths. Would adding this to the light property page be the kind of thing that patches would be welcome for? Regards, John - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Adding User Interface to Setup Project in Visual Studio
I am trying to use Votive and Visual Studio to build my WiX Steup project, but to be able to add User Interface, I need to add parameters to light. For example: light.exe -out SampleWixUI.msi SampleWixUI.wixobj path\wixui.wixlib -loc path\WixUI_en-us.wxl However, the light settings in project file in VS does not let me add any new parameter. Does anybody know how I can build my setup project with VS? Ashin, I don't think you can add the reference to WixUIExtension.dll from within Votive, so you need to modify the wixproj manually and add an item like this: ItemGroup WixExtension Include=$(WixDir)\bin\WixUIExtension.dll / /ItemGroup I've defined an environment variable called WixDir to make my file portable rather than put in an absolute path, but there might be a better way. Regards, John - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Future of Votive?
Bob Arnson wrote I don't think there's a switch in there currently to do relative paths. Typically that's when I switch to search replace. You can also omit the Source attribute entirely, if the file is in the directory indicated by the Directory element hierarchy and has the same name. The binder can use the -b switch to Light to determine where to start looking for files. Bob, Is there a way of specifying the -b switch when building from Visual Studio? Regards, John - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users