I think the problem is that SchedXmlConfig now happens before ConfigureIIs so that the config file hasn't be updated by the time you try to write to it.
I tried scheduling SchedXmlConfig after ConfigureIIs but got a different error but am not sure why. Does anyone know why the scheduling of SchedXmlConfig and ConfigureIIs has changed? Neil -----Original Message----- From: Zhisheng Huang [mailto:zhhuang5...@yahoo.com] Sent: 01 January 2011 20:30 To: General discussion for Windows Installer XML toolset. Subject: -----SPAM----- Re: [WiX-users] problem with XmlConfig when migrating from Wix 3.0 to Wix 3.5 Looks like attachment does not work properly. Here are the two files that can repro the problem. Product.wxs <?xml version="1.0" encoding="UTF-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" xmlns:iis="http://schemas.microsoft.com/wix/IIsExtension"> <Product Id="3ab50111-a8a8-4c7c-bdba-1646a67df6bc" Name="SetupProject" Language="1033" Version="1.0.0.0" Manufacturer="SetupProject" UpgradeCode="c5b0350c-7e6e-4d4e-9fd2-f3a868429a46"> <Package InstallerVersion="200" Compressed="yes" /> <Media Id="1" Cabinet="media1.cab" EmbedCab="yes" /> <Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="ProgramFilesFolder"> <Directory Id="INSTALLLOCATION" Name="SetupProject"> </Directory> </Directory> </Directory> <CustomAction Id="SetApplicationHostFilePath" Property="ApplicationHostFilePath" Value="[WindowsFolder]System32\inetsrv\config\applicationHost.config" /> <?define MySiteSiteName = "Default Web Site/MySite"?> <?define MySiteWebServerXPath = /configuration/location[...@path="$(var.MySiteSiteName)"[\]]/system.webServer?> <?define MySiteHttpRedirectionXPath = $(var.MySiteWebServerXPath)/httpRedirect?> <?define MySiteAddHttpRedirectionXPath = $(var.MySiteHttpRedirectionXPath)/add?> <?define MySiteHttpRedirectDestination = /MySite/App.aspx?> <?define MySiteAddHttpRedirectionVerifyPath = $(var.MySiteAddHttpRedirectionXPath)[...@destination="$(var.MySiteHttpRedirectDestination)"[\]]?> <?define MySiteRemoveHttpRedirectionXPath = $(var.MySiteHttpRedirectionXPath)/remove?> <?define WebServiceName = "MySite"?> <?define VirtualDirDirectory = "d_Site" ?> <?define WebServiceComponentGuid = "f644efc9-ace2-49f1-8258-ff614c3c8e32"?> <?include WebServiceSetup.wxi?> <DirectoryRef Id="INSTALLLOCATION" > <!--Step 2: define the directory that will contain the file layout --> <Directory Id="d_Site" Name="Site"> <Component Id="c_MySiteConsoleRedirect" Guid="e83435c4-dea1-4791-abf6-57035a06e123"> <CreateFolder /> <util:XmlConfig Id="MySiteConsoleRedirectWebServerRedirect" On="install" Action="create" Sequence="1" File="[ApplicationHostFilePath]" ElementPath="$(var.MySiteWebServerXPath)" Name="httpRedirect" Node="element" VerifyPath="$(var.MySiteHttpRedirectionXPath)"/> <util:XmlConfig Id='MySiteConsoleRedirectWebServerRedirectValue' ElementId='MySiteConsoleRedirectWebServerRedirect' Sequence='2' File='[ApplicationHostFilePath]' Name="enabled" Value="true"/> <util:XmlConfig Id="MySiteConsoleRedirectUseExactDestination" ElementId='MySiteConsoleRedirectWebServerRedirect' Sequence='3' File="[ApplicationHostFilePath]" Name="exactDestination" Value="true"/> <util:XmlConfig Id="MySiteConsoleRedirectSetHttpResponse" ElementId='MySiteConsoleRedirectWebServerRedirect' Sequence="4" File="[ApplicationHostFilePath]" Name="httpResponseStatus" Value="Permanent"/> <util:XmlConfig Id="MySiteConsoleRedirectRemoveRedirect" On="install" Action="create" Sequence="5" File="[ApplicationHostFilePath]" ElementPath="$(var.MySiteHttpRedirectionXPath)" Name="remove" Node="element" VerifyPath="$(var.MySiteRemoveHttpRedirectionXPath)"/> <util:XmlConfig Id="MySiteConsoleRedirectRemoveWildCard" ElementId="MySiteConsoleRedirectRemoveRedirect" Sequence="6" File="[ApplicationHostFilePath]" Name="wildcard" Value="/"/> <util:XmlConfig Id="MySiteConsoleRedirectAddRedirect" On="install" Action="create" Sequence="7" File="[ApplicationHostFilePath]" ElementPath="$(var.MySiteHttpRedirectionXPath)" Name="add" Node="element" VerifyPath="$(var.MySiteAddHttpRedirectionVerifyPath)"/> <util:XmlConfig Id="MySiteConsoleRedirectSetWildCard" ElementId="MySiteConsoleRedirectAddRedirect" Sequence="8" File="[ApplicationHostFilePath]" Name="wildcard" Value="/"/> <util:XmlConfig Id="MySiteConsoleRedirectSetDestination" ElementId="MySiteConsoleRedirectAddRedirect" Sequence="9" File="[ApplicationHostFilePath]" Name="destination" Value="$(var.MySiteHttpRedirectDestination)"/> <util:XmlConfig Id="MySiteConsoleRedirectDeleteRedirect" On="uninstall" Action="delete" Sequence="10" File="[ApplicationHostFilePath]" ElementPath="$(var.MySiteHttpRedirectionXPath)" Name="add" Node="element" VerifyPath="$(var.MySiteAddHttpRedirectionVerifyPath)"/> </Component> </Directory> </DirectoryRef> <InstallExecuteSequence> <Custom Action="SetApplicationHostFilePath" Before="LaunchConditions" /> </InstallExecuteSequence> <Feature Id="ProductFeature" Level="1"> <ComponentRef Id="c_MySite"/> <ComponentRef Id="c_MySiteConsoleRedirect" /> </Feature> </Product> </Wix> WebServiceSetup.wxi <?xml version="1.0" encoding="utf-8"?> <Include xmlns='http://schemas.microsoft.com/wix/2006/wi' xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" xmlns:iis="http://schemas.microsoft.com/wix/IIsExtension"> <iis:WebSite Id='DefaultWebSite' Description='Default Web Site'> <iis:WebAddress Id='WebAddress' Port='80' Secure='no'/> <iis:WebAddress Id='WebAddressSSL' Port='443' Secure='yes'/> </iis:WebSite> <iis:WebDirProperties Id='MyWebDirProperties' Read='yes' Script='yes' AnonymousAccess='yes' WindowsAuthentication ='no' AccessSSL='yes' AccessSSL128='yes' AccessSSLRequireCert='no' AccessSSLNegotiateCert='no' /> <Component Id="c_$(var.WebServiceName)" Guid="$(var.WebServiceComponentGuid)" Directory="$(var.VirtualDirDirectory)"> <CreateFolder/> <iis:WebVirtualDir Id='$(var.WebServiceName)VirtualDir' Alias='$(var.WebServiceName)' Directory='$(var.VirtualDirDirectory)' WebSite='DefaultWebSite' DirProperties='MyWebDirProperties'> <iis:WebApplication Id='$(var.WebServiceName)WebApplication' Name='$(var.WebServiceName)' Isolation='low' AllowSessions='no' SessionTimeout='60' Buffer='yes' ParentPaths='no' DefaultScript='VBScript' ScriptTimeout='60' WebAppPool='$(var.WebServiceName)Pool'/> </iis:WebVirtualDir> <iis:WebAppPool Id='$(var.WebServiceName)Pool' Name='$(var.WebServiceName)Pool' Identity='networkService' RecycleMinutes='1740' IdleTimeout='1740' RecycleRequests='0'/> </Component> </Include> ----- Original Message ---- From: Zhisheng Huang <zhhuang5...@yahoo.com> To: General discussion for Windows Installer XML toolset. <wix-users@lists.sourceforge.net> Sent: Sat, January 1, 2011 11:43:29 AM Subject: Re: [WiX-users] problem with XmlConfig when migrating from Wix 3.0 to Wix 3.5 Hi Neil, I could repro this. Attched is my simplified repro based on the production code (Product.wxs and WebServiceSetup.wxi). It sets up a web application (but without any content, just to simplify repro), then modifies the corresponding node in applicationHost.config with XmlConfig. So it can be easily compiled with the following by using different version of Wix: candle.exe -dOutDir=. -dPlatform=x64 -arch x64 -ext WixUtilExtension.dll -ext WixIIsExtension.dll Product.wxs light.exe -ext WixUtilExtension.dll -ext WixIIsExtension.dll -out .\SetupProject.msi -pdbout .\SetupProject.wixpdb .\Product.wixobj By the way, our system is x64. So MSI we build are all x64. Msi build with Wix 3.0 works fine, but with Wix 3.5 fails with the error in the previous email. I didn't try if this repro for x86 or not since I don't have an x86 machine and the if I build x86 package and try to install on x64 machine, somehow it fails to install saying it can't open applicationHost.config file in both cases (build with wix 3.0 and 3.5) Thanks, Zhisheng ----- Original Message ---- From: Neil Sleightholm <n...@x2systems.com> To: General discussion for Windows Installer XML toolset. <wix-users@lists.sourceforge.net> Sent: Sat, January 1, 2011 1:17:31 AM Subject: Re: [WiX-users] problem with XmlConfig when migrating from Wix 3.0 to Wix 3.5 Could you post the WiX you are using to do this edit. Neil -----Original Message----- From: Zhisheng Huang [mailto:zhhuang5...@yahoo.com] Sent: 01 January 2011 05:40 To: wix-users@lists.sourceforge.net Subject: [WiX-users] problem with XmlConfig when migrating from Wix 3.0 to Wix 3.5 Hi, I have a Wix 3.0 project which installs an web application under default web site, it also uses XmlConfig to modify the section of that web site in applicationHost.config file. That works fine under Wix 3.0, however, after migrating to Wix 3.5 it fails with following error. ExecXmlConfig: Error 0x800710d8: failed to find node: /configuration/location/system.webServer in XML file: C:\Windows\System32\inetsrv\config\applicationHost.config Error 25542. Failed to find node: /configuration/locati...@path="Default Web Site/MySite"]/system.webServer in XML file: C:\Windows\System32\inetsrv\config\applicationHost.config, system error: -2147020584 MSI (s) (C0!50) [23:43:16:852]: Product: My Service -- Error 25542. Failed to find node: /configuration/locati...@path="Default Web Site/MySite"]/system.webServer in XML file: C:\Windows\System32\inetsrv\config\applicationHost.config, system error: -2147020584 Note, for the migration, nothing was changed in wix source files. Simply the wxi files are recompiled with Wix 3.5. If I uncomment the XmlConfig section to allow the wix 3.5 compiled MSI to isntall, I do see MySite is created and the node /configuration/locati...@path="Default Web Site/MySite"]/system.webServer exists in applicationHost.config file. Any known issue? Any idea what can go wrong here? Any suggestion is greatly appreciated! Zhisheng ------------------------------------------------------------------------------ Learn how Oracle Real Application Clusters (RAC) One Node allows customers to consolidate database storage, standardize their database environment, and, should the need arise, upgrade to a full multi-node Oracle RAC database without downtime or disruption http://p.sf.net/sfu/oracle-sfdevnl _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Learn how Oracle Real Application Clusters (RAC) One Node allows customers to consolidate database storage, standardize their database environment, and, should the need arise, upgrade to a full multi-node Oracle RAC database without downtime or disruption http://p.sf.net/sfu/oracle-sfdevnl _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Learn how Oracle Real Application Clusters (RAC) One Node allows customers to consolidate database storage, standardize their database environment, and, should the need arise, upgrade to a full multi-node Oracle RAC database without downtime or disruption http://p.sf.net/sfu/oracle-sfdevnl _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Learn how Oracle Real Application Clusters (RAC) One Node allows customers to consolidate database storage, standardize their database environment, and, should the need arise, upgrade to a full multi-node Oracle RAC database without downtime or disruption http://p.sf.net/sfu/oracle-sfdevnl _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users