I have an Xml file I need to put in another application file, write some xml
to it and run it with that 3rd party application.
Sequence of events:
1. Write Xml to file
2. Get the Directory/Folder where the 3rd party application is sitting from
win.ini
3. Copy Xml file to 3rd party app folder
4. Run 3rd party app against my Xml File.
My code:
<!-- Get the Folder from Win.ini -->
<Property Id="GALILEOFOLDER">
<IniFileSearch Id="win.ini" Name="win.ini" Section="Focalpoint"
Key="SWDIR" Type="directory">
</IniFileSearch>
</Property>
<!-- copy Xml file to app folder, write xml to it and copy it to the 3rd
party app folder.
3rd party app exists if the win.ini entry is there -->
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLLOCATION" Name="MyApp">
<Component Id="aero.justify.xml"
Guid="6C65CE83-50D0-4D73-AE3B-868536D56081" >
<File Id="aero.justify.xml" Name="aero.justify.xml"
KeyPath="yes" Source="aero.justify.xml" />
<Condition><![CDATA[Installed OR GALILEOFOLDER]]></Condition>
<util:XmlFile Id="ViewpointButtonPicture"
File="aero.justify.xml" Action="setValue"
ElementPath="//[EMAIL PROTECTED]'PNRViewGalileo.Toolbar.xml'[\]]/Add/Button/Pic
ture"
Value="<![\[]CDATA[\[][INSTALLLOCATION]Panorama22.bmp[\]][\]]>"
SelectionLanguage="XPath"/>
<util:XmlFile Id="ViewpointButtonAction" File="aero.justify.xml"
Action="setValue"
ElementPath="//[EMAIL PROTECTED]'PNRViewGalileo.Toolbar.xml'[\]]/Add/Button/Act
ion"
Value="<![\[]CDATA[\[][INSTALLLOCATION]$(var.Aero.TargetFileName)[\]][\]]
>" SelectionLanguage="XPath"/>
<util:XmlFile Id="FocalpointButtonPicture"
File="aero.justify.xml" Action="setValue"
ElementPath="//[EMAIL PROTECTED]'focalpoint.config.xml'[\]]/Add/Button/Picture"
Value="<![\[]CDATA[\[][INSTALLLOCATION]Panorama22.bmp[\]][\]]>"
SelectionLanguage="XPath"/>
<util:XmlFile Id="FocalpointButtonAction"
File="aero.justify.xml" Action="setValue"
ElementPath="//[EMAIL PROTECTED]'focalpoint.config.xml'[\]]/Add/Button/Action"
Value="<![\[]CDATA[\[][INSTALLLOCATION]$(var.Aero.TargetFileName)[\]][\]]
>" SelectionLanguage="XPath"/>
<CopyFile Id="aero.justify.xmlcopy"
DestinationProperty="GALILEOFOLDER" FileId="aero.justify.xml"/>
</Component>
</Directory>
</Directory>
<Feature Id="ProductFeature" Title="Panorama" Level="1"
InstallDefault="local" Absent="disallow">
<ComponentRef Id="aero.justify.xml" />
</Feature>
<CustomAction Id="aero.justify.xmlrun" Property="GALILEOFOLDER"
ExeCommand="XmlJustify.exe /actionfile:aero.justify.xml
/logfile:aero.toolbar.log"
Execute="deferred" Impersonate="no" Return="check" />
<InstallExecuteSequence>
<Custom Action="aero.justify.xmlrun" Before="InstallFinalize">
<![CDATA[GALILEOFOLDER]]>
</Custom>
</InstallExecuteSequence>
I think this code has some kind of error because the installer is rolling
back and terminating unexpectedly. Here is the debug info:
MSI (s) (44:E0) [18:52:56:997]: Executing op:
ActionStart(Name=ExecXmlFile,,)
Action 18:52:56: ExecXmlFile.
MSI (s) (44:E0) [18:52:57:001]: Executing op:
CustomActionSchedule(Action=ExecXmlFile,ActionType=3073,Source=BinaryData,Ta
rget=ExecXmlFile,CustomActionData=1?1?aero.justify.xml?3?//[EMAIL
PROTECTED]'PNRVi
ewGalileo.Toolbar.xml']/Add/Button/Picture??<![CDATA[C:\Program
Files\ambroZio\Panorama22.bmp]]>?3?//[EMAIL
PROTECTED]'PNRViewGalileo.Toolbar.xml'
]/Add/Button/Action??<![CDATA[C:\Program
Files\ambroZio\Aero.exe]]>?3?//[EMAIL
PROTECTED]'focalpoint.config.xml']/Add/Butto
n/Picture??<![CDATA[C:\Program
Files\ambroZio\Panorama22.bmp]]>?3?//[EMAIL
PROTECTED]'focalpoint.config.xml']/Add
/Button/Action??<![CDATA[C:\Program Files\ambroZio\Aero.exe]]>)
MSI (s) (44:38) [18:52:57:006]: Invoking remote custom action. DLL:
C:\Windows\Installer\MSIF438.tmp, Entrypoint: ExecXmlFile
MSI (s) (44:74) [18:52:57:007]: Generating random cookie.
MSI (s) (44:74) [18:52:57:019]: Created Custom Action Server with PID 8660
(0x21D4).
MSI (s) (44:7C) [18:52:57:061]: Running as a service.
MSI (s) (44:7C) [18:52:57:062]: Hello, I'm your 32bit Elevated custom action
server.
End of action 18:52:57: InstallFinalize. Returned value 3.
MSI (s) (44:E0) [18:52:57:178]: User policy value 'DisableRollback' is 0
MSI (s) (44:E0) [18:52:57:178]: Machine policy value 'DisableRollback' is 0
MSI (s) (44:E0) [18:52:57:181]: Executing op:
Header(Signature=1397708873,Version=400,Timestamp=961910413,LangId=1046,Plat
form=0,ScriptType=2,ScriptMajorVersion=21,ScriptMinorVersion=4,ScriptAttribu
tes=1)
MSI (s) (44:E0) [18:52:57:181]: Executing op:
DialogInfo(Type=0,Argument=1046)
MSI (s) (44:E0) [18:52:57:181]: Executing op:
DialogInfo(Type=1,Argument=Panorama)
MSI (s) (44:E0) [18:52:57:182]: Executing op:
RollbackInfo(,RollbackAction=Rollback,RollbackDescription=A anular a
acção:,RollbackTemplate=[1],CleanupAction=RollbackCleanup,CleanupDescription
=Removing backup files,CleanupTemplate=File: [1])
MSI (s) (44:E0) [18:52:57:182]: Executing op:
RegisterBackupFile(File=C:\Config.Msi\1363fc12.rbf)
...
Action 18:52:57: Rollback. Nulling action:
Rollback: ExecXmlFile
MSI (s) (44:E0) [18:52:57:186]: Executing op:
ActionStart(Name=ExecXmlFile,,)
...
Thanks for your help.
All the best,
Joel
-------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users