Sorry, I was using my own code and didn't complete the example. Here is the 
correction:
<util:XmlConfig Id="DelVELocation" File="[#IESveInterfaceParameters.xml]" 
Action="delete"
        ElementPath="/IESInterface"
        VerifyPath="IESveLocation"
        Node="element" On="install" Sequence="1" />
<!--Create Node -->
<util:XmlConfig Id="AddVELocation" File="[#IESveInterfaceParameters.xml]" 
Action="create"
        ElementPath="/IESInterface "
        Name="IESveLocation"
        Value="[VE59LOCATION]apps"
        Node="element" On="install" Sequence="2" />
Joel

-----Original Message-----
From: Joel Paula (hotmail) [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, October 22, 2008 5:11 PM
To: 'General discussion for Windows Installer XML toolset.'
Subject: RE: [WiX-users] Bug in x64 build of WiX UtilExtension?

Hi,

I was stuck with the same error. I moved on to use XmlConfig instead.
I guess there really is a bug with XmlFile.

Anyway, those commands only add or delete nodes. I had to delete nodes and then 
re-add them with the correct information.

Example using XmlConfig:
<util:XmlConfig Id="DelVELocation" File="[#IESveInterfaceParameters.xml]" 
Action="delete"
        ElementPath="/IESInterface"
        VerifyPath="IESveLocation"
        Node="element" On="install" Sequence="1" />
<!--Create Nodes for Viewpoint-->
<util:XmlConfig Id="ViewpointButtonPicture" 
File="[#IESveInterfaceParameters.xml]" Action="create"
        ElementPath="/IESInterface "
        Name="IESveLocation"
        Value="[VE59LOCATION]apps"
        Node="element" On="install" Sequence="2" />

HTH
Joel

-----Original Message-----
From: Pally Sandher [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, October 22, 2008 2:12 PM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Bug in x64 build of WiX UtilExtension?

I'm trying to use util:XMLFile to modify the inner text of a tag in an XML file 
during installation which is installed by my MSI for one of our plug-ins.

The XML file is named IESveInterfaceParameters.xml and contains the following 
code:

<?xml version='1.0'?>
<IESInterface>
  <IESveLocation>M:\IES\apps </IESveLocation>
  <OutputveXMLLocation> </OutputveXMLLocation>
  <Preferences city='Boulder (CO)' latitude='40.017' minimumFloorArea='0.0' 
buildingAreaType='Office' thinWalls='1' 
buildingRoomService='VariableRefrigerantFlow' 
verticalHorizontalElementTransitionAngle='45.0' 
adjacencySeparationDistance='0.91441111923921' longitude='-105.283' 
diagnosticAids='no' minimumRoomHeight='0.0'/>
</IESInterface>
 
My installer code is as follows:
 
<Component Id="Dialogs" DiskId="1" Guid="myguid">
...
  <File Id="IESveInterfaceParameters.xml" Name="IESveInterfaceParameters.xml" 
Source="..\..\..\code\Sketchup\Plugins\IESLink\Dialogs\IESveInterfaceParameters.xml"
 />
...
  <util:XmlFile Id="updateVELocation" Action="setValue" 
File="[#IESveInterfaceParameters.xml]" Value="[VE59LOCATION]apps" 
ElementPath="/IESInterface/IESveLocation" SelectionLanguage="XPath" />
</Component>


All the above code is supposed to do is replace the inner text of the 
<IESveLocation> tag. Unfortunately the documentation for util:XMLFile leaves a 
lot to be desired so it doesn't work as yet (back to good old trial & error 
again). Any help would be appreciated however this isn't what I'm referring to 
as a bug.

The machine that I use to build my MSIs runs XP64. I install the Wix3_x64.msi 
package when updating my WiX compiler (currently using v3.0.4617.0). When I 
build my MSI in Visual Studio it is set to build as x86 & checking it in Orca 
shows the Platform set to "Intel".

If I attempt to install it on an XP64 Virtual Machine I get the following in 
the log:

Action 12:08:28: ExecXmlFile. 
MSI (s) (40:C4) [12:08:28:138]: Executing op: 
CustomActionSchedule(Action=ExecXmlFile,ActionType=3073,Source=BinaryData,Target=ExecXmlFile,CustomActionData=1€1€C:\Program
 Files (x86)\Google\Google SketchUp 
6\Plugins\IESLink\Dialogs\IESveInterfaceParameters.xml€3€/IESInterface/IESveLocation€€C:\Program
 Files (x86)\IES\VE 59\)
MSI (s) (40:C4) [12:08:28:138]: Creating MSIHANDLE (10) of type 790536 for 
thread 1988
MSI (s) (40:C0) [12:08:28:138]: Invoking remote custom action. DLL: 
C:\WINDOWS\Installer\MSI4.tmp, Entrypoint: ExecXmlFile
MSI (s) (40:C0) [12:08:28:169]: Generating random cookie.
MSI (s) (40:C0) [12:08:28:169]: Created Custom Action Server with PID 1464 
(0x5B8).
MSI (s) (40:A8) [12:08:28:216]: Running as a service.
MSI (s) (40:A8) [12:08:28:216]: Hello, I'm your 32bit Elevated custom action 
server.
MSI (s) (40:C0) [12:08:28:497]: Closing MSIHANDLE (10) of type 790536 for 
thread 1988
Action ended 12:08:28: InstallFinalize. Return value 3. 

It then does a rollback & throws up the FatalError dialog. I'm guessing this is 
because my code is incorrect however when I attempt to install the same MSI on 
an XP32 Virtual Machine I get the following in the log:

Action 12:09:11: ExecXmlFile. 
MSI (s) (94:10) [12:09:11:325]: Executing op: 
CustomActionSchedule(Action=ExecXmlFile,ActionType=3073,Source=BinaryData,Target=ExecXmlFile,CustomActionData=1€1€C:\Program
 Files\Google\Google SketchUp 
6\Plugins\IESLink\Dialogs\IESveInterfaceParameters.xml€3€/IESInterface/IESveLocation€€C:\Program
 Files\IES\VE 59\)
MSI (s) (94:10) [12:09:11:340]: Creating MSIHANDLE (10) of type 790536 for 
thread 1296
MSI (s) (94:38) [12:09:11:340]: Invoking remote custom action. DLL: 
C:\WINDOWS\Installer\MSI4.tmp, Entrypoint: ExecXmlFile
MSI (s) (94:A0) [12:09:11:340]: Generating random cookie.
MSI (s) (94:A0) [12:09:11:356]: Created Custom Action Server with PID 532 
(0x214).
MSI (s) (94:BC) [12:09:11:418]: Running as a service.
MSI (s) (94:BC) [12:09:11:418]: Hello, I'm your 32bit Elevated custom action 
server.
MSI (s) (94!88) [12:09:13:637]: Creating MSIHANDLE (11) of type 790531 for 
thread 648
ExecXmlFile:  Found Wow64 API, but unable to link to 
Wow64DisableWow64FsRedirection function in kernel32.dll
MSI (s) (94!88) [12:09:13:653]: Closing MSIHANDLE (11) of type 790531 for 
thread 648
MSI (s) (94!88) [12:09:13:653]: Creating MSIHANDLE (12) of type 790531 for 
thread 648
ExecXmlFile:  Found Wow64 API, but unable to link to 
Wow64RevertWow64FsRedirection function in kernel32.dll
MSI (s) (94!88) [12:09:13:653]: Closing MSIHANDLE (12) of type 790531 for 
thread 648
MSI (s) (94:38) [12:09:13:715]: Closing MSIHANDLE (10) of type 790536 for 
thread 1296
Action ended 12:09:13: InstallFinalize. Return value 3.

Why any mention of the WoW64 API exists when running on 32-bit XP is bizarre. 
Hence I reckon it's a bug. I haven't tried installing the non-x64 WiX MSI as 
yet but while I do, if anyone could confirm or deny this as being a bug before 
I report it on the SourceForge tracker it would be a great help.

Cheers,


Palbinder Sandher 
Software Deployment and IT Administrator 

T: +44 (0) 141 945 8500 
F: +44 (0) 141 945 8501 
http://www.iesve.com 

**Design, Simulate + Innovate with the <Virtual Environment>**

Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 
Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 
0SP

Email Disclaimer




-------------------------------------------------------------------------
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=100&url=/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to