Re: [WiX-users] Patch installing component with Not Installed condition
I have a very similar problem. I've created a single Feature install that includes a large set of files to install along with some other components such as one to install and modify the web.config. My new install works fine, however my Patch is trying to re-install the component for the web.config and it fails. My Patch file WXS explicitly names only 2 components to install. ( neither the web.config ) I tried adding the NOT INSTALLED condition, but that did not change things. My understanding is that my Patch file should take care of explicitly determining which files to install. I've used TORCH/PRYO and Product.wixout files from the new install folder and the patch folder to produce this MSP patch. I've successfully implemented this with the more simplistic examples such as WiX Patch Example Product. Any thoughts on where I am going wrong? DirectoryRef Id=MYWEBFOLDER Component Id=WebConfigCmp Guid=B356E039-6930-4703-BAC9-8B07CA2B413C Condition /Condition File Id=WebConfigFile KeyPath=yes Source=$(var.SourceDirectory)\web.config Vital=yes / util:XmlFile Id=ModifyRolePassword Action=setValue Permanent=yes ElementPath=/configuration/appSettings/add[\[]@key='RolePassword'[\]] Name=value File=[#WebConfigFile] Value=[DB_APP_ROLE_PWD] SelectionLanguage=XSLPattern Sequence=1 / /Component /DirectoryRef My patch WXS looks like this: ?xml version=1.0 encoding=UTF-8? Wix xmlns=http://schemas.microsoft.com/wix/2006/wi; Patch AllowRemoval=yes Manufacturer=xyz MoreInfoURL=http://www.usa.com/; DisplayName=HF1 Description=HF1 Classification=Hotfix Media Id=5000 Cabinet=RTM.cab PatchBaseline Id=RTM/ /Media PatchFamilyRef Id=PatchFamily/ /Patch Fragment PatchFamily Id='PatchFamily' Version='2.0.0.000' Supersede='yes' PropertyRef Id=ProductVersion/ ComponentRef Id=comp_8533AA6FF41A43C6969A14985BB1DD1C / ComponentRef Id=WebUI.dll / /PatchFamily /Fragment /Wix -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Patch-installing-component-with-Not-Installed-condition-tp7580889p7597506.html Sent from the wix-users mailing list archive at Nabble.com. -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Patch installing component with Not Installed condition
A couple of things to keep in mind: 1. Patches are applied at the feature level, so that entire feature is patched. If you had separate features you could do a patch install command with a REINSTALL=feature being patched which would leave the other features alone, assuming they weren't being patched. A patch is sort of an apply of the changes followed by a repair, so that component is a candidate for re-install. 2. A condition of NOT INSTALLED is incorrect because the property names are case-sensitive. Maybe that was just a typo in your message. --- Phil Wilson On Mon, Oct 27, 2014 at 6:11 AM, kjk129 kjk...@coolblue.com wrote: I have a very similar problem. I've created a single Feature install that includes a large set of files to install along with some other components such as one to install and modify the web.config. My new install works fine, however my Patch is trying to re-install the component for the web.config and it fails. My Patch file WXS explicitly names only 2 components to install. ( neither the web.config ) I tried adding the NOT INSTALLED condition, but that did not change things. My understanding is that my Patch file should take care of explicitly determining which files to install. I've used TORCH/PRYO and Product.wixout files from the new install folder and the patch folder to produce this MSP patch. I've successfully implemented this with the more simplistic examples such as WiX Patch Example Product. Any thoughts on where I am going wrong? DirectoryRef Id=MYWEBFOLDER Component Id=WebConfigCmp Guid=B356E039-6930-4703-BAC9-8B07CA2B413C Condition /Condition File Id=WebConfigFile KeyPath=yes Source=$(var.SourceDirectory)\web.config Vital=yes / util:XmlFile Id=ModifyRolePassword Action=setValue Permanent=yes ElementPath=/configuration/appSettings/add[\[]@key='RolePassword'[\]] Name=value File=[#WebConfigFile] Value=[DB_APP_ROLE_PWD] SelectionLanguage=XSLPattern Sequence=1 / /Component /DirectoryRef My patch WXS looks like this: ?xml version=1.0 encoding=UTF-8? Wix xmlns=http://schemas.microsoft.com/wix/2006/wi; Patch AllowRemoval=yes Manufacturer=xyz MoreInfoURL=http://www.usa.com/; DisplayName=HF1 Description=HF1 Classification=Hotfix Media Id=5000 Cabinet=RTM.cab PatchBaseline Id=RTM/ /Media PatchFamilyRef Id=PatchFamily/ /Patch Fragment PatchFamily Id='PatchFamily' Version='2.0.0.000' Supersede='yes' PropertyRef Id=ProductVersion/ ComponentRef Id=comp_8533AA6FF41A43C6969A14985BB1DD1C / ComponentRef Id=WebUI.dll / /PatchFamily /Fragment /Wix -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Patch-installing-component-with-Not-Installed-condition-tp7580889p7597506.html Sent from the wix-users mailing list archive at Nabble.com. -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Patch installing component with Not Installed condition
I have rebuilt the patch with the Component marked as Transitive='yes' and additionally added AND NOT PATCH to the condition but the component still gets installed. Is there something about it being a patch that prevents me from changing the behavior? Thanks - Tom -Original Message- From: Rob Mensching [mailto:r...@robmensching.com] Sent: Thursday, September 27, 2012 10:51 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Patch installing component with Not Installed condition The Condition is only evaluated once unless the Component is marked Transitive='yes' On Thu, Sep 27, 2012 at 9:03 AM, Tom Crozier tcroz...@rackwise.com wrote: I have an installer that contains the following component. Component Id=CompUser Guid={226F7E2A-2FBD-2ed4-B355-52C80E95A212} KeyPath=yes Condition![CDATA[NOT Installed]]/Condition Util:User Id=user.service Name=[USERACCOUNT] Domain=[USERDOMAIN] FailIfExists=yes Password=[USERPASSWORD] CreateUser=yes PasswordExpired=no PasswordNeverExpires=yes RemoveOnUninstall=yes LogonAsService=yes UpdateIfExists=yes /Util:User /Component This runs fine during the initial install. Now I have created a patch and have not modified this component but it is trying to run the code again even though the condition states NOT Installed. The log shows MSI (c) (18:10) [11:45:37:741]: PROPERTY CHANGE: Adding Installed property. Its value is '00:00:00'. ... MSI (s) (A0:88) [11:46:00:728]: Component: CompUser; Installed: Local; Request: Local; Action: Local Why is this component scheduled to be installed again and how do I prevent it? Thanks - Tom -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://ad.doubleclick.net/clk;258768047;13503038;j? http://info.appdynamics.com/FreeJavaPerformanceDownload.html ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- virtually, Rob Mensching http://RobMensching.com LLC -- Got visibility? Most devs has no idea what their production app looks like. Find out how fast your code is with AppDynamics Lite. http://ad.doubleclick.net/clk;262219671;13503038;y? http://info.appdynamics.com/FreeJavaPerformanceDownload.html ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Got visibility? Most devs has no idea what their production app looks like. Find out how fast your code is with AppDynamics Lite. http://ad.doubleclick.net/clk;262219671;13503038;y? http://info.appdynamics.com/FreeJavaPerformanceDownload.html ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Patch installing component with Not Installed condition
I have an installer that contains the following component. Component Id=CompUser Guid={226F7E2A-2FBD-2ed4-B355-52C80E95A212} KeyPath=yes Condition![CDATA[NOT Installed]]/Condition Util:User Id=user.service Name=[USERACCOUNT] Domain=[USERDOMAIN] FailIfExists=yes Password=[USERPASSWORD] CreateUser=yes PasswordExpired=no PasswordNeverExpires=yes RemoveOnUninstall=yes LogonAsService=yes UpdateIfExists=yes /Util:User /Component This runs fine during the initial install. Now I have created a patch and have not modified this component but it is trying to run the code again even though the condition states NOT Installed. The log shows MSI (c) (18:10) [11:45:37:741]: PROPERTY CHANGE: Adding Installed property. Its value is '00:00:00'. ... MSI (s) (A0:88) [11:46:00:728]: Component: CompUser; Installed: Local; Request: Local; Action: Local Why is this component scheduled to be installed again and how do I prevent it? Thanks - Tom -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://ad.doubleclick.net/clk;258768047;13503038;j? http://info.appdynamics.com/FreeJavaPerformanceDownload.html ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Patch installing component with Not Installed condition
The Condition is only evaluated once unless the Component is marked Transitive='yes' On Thu, Sep 27, 2012 at 9:03 AM, Tom Crozier tcroz...@rackwise.com wrote: I have an installer that contains the following component. Component Id=CompUser Guid={226F7E2A-2FBD-2ed4-B355-52C80E95A212} KeyPath=yes Condition![CDATA[NOT Installed]]/Condition Util:User Id=user.service Name=[USERACCOUNT] Domain=[USERDOMAIN] FailIfExists=yes Password=[USERPASSWORD] CreateUser=yes PasswordExpired=no PasswordNeverExpires=yes RemoveOnUninstall=yes LogonAsService=yes UpdateIfExists=yes /Util:User /Component This runs fine during the initial install. Now I have created a patch and have not modified this component but it is trying to run the code again even though the condition states NOT Installed. The log shows MSI (c) (18:10) [11:45:37:741]: PROPERTY CHANGE: Adding Installed property. Its value is '00:00:00'. ... MSI (s) (A0:88) [11:46:00:728]: Component: CompUser; Installed: Local; Request: Local; Action: Local Why is this component scheduled to be installed again and how do I prevent it? Thanks - Tom -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://ad.doubleclick.net/clk;258768047;13503038;j? http://info.appdynamics.com/FreeJavaPerformanceDownload.html ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- virtually, Rob Mensching http://RobMensching.com LLC -- Got visibility? Most devs has no idea what their production app looks like. Find out how fast your code is with AppDynamics Lite. http://ad.doubleclick.net/clk;262219671;13503038;y? http://info.appdynamics.com/FreeJavaPerformanceDownload.html ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users