Why are you using xcopy at all? CopyFile is a thing which exists -> 
http://wixtoolset.org/documentation/manual/v3/xsd/wix/copyfile.html

And then your files will be part of uninstall/rollback/upgrade etc without any 
extra work.

Palbinder Sandher 
Software Platform Engineer 
T:   +44 (0)141 945 8500
F:   +44 (0)141 945 8501
http://www.iesve.com 

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


-----Original Message-----
From: David Welton [mailto:david.wel...@uk.thalesgroup.com] 
Sent: 07 July 2014 11:41
To: General discussion about the WiX toolset.
Subject: [WiX-users] Error 1723 when calling CAQuiteExec to xcopy config files

Dear WiX users,

 

I am getting an "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" when I try and run a custom action to 
xcopy some config files during my installation.
Here is my fragment...

 

<?xml version="1.0" encoding="UTF-8"?>

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi";

     xmlns:util="http://schemas.microsoft.com/wix/UtilExtension";>

  <Fragment>

 

    <Property Id="XCopyCustomAction" Value="1" />

    <!--echo n|xcopy src\* dst\* /e-->

 

    <CustomAction Id="SetCmdLineParams"

                  Property="QuietExecXCopy"

                  Value="&quot;[System64Folder]xcopy.exe&quot;
&quot;[INSTALLFOLDER]Backups\*&quot; &quot;[INSTALLFOLDER]*&quot; /E"

                  Execute="immediate" />

 

 

    <CustomAction Id="QuietExecXCopy"

                  BinaryKey="WixCA"

                  DllEntry="CAQuiteExec"

                  Execute="deferred"

                  Return="check"

                  Impersonate="yes"/>

 

    <InstallExecuteSequence>

      <Custom Action="SetCmdLineParams" After="CostFinalize"/>

      <Custom Action="QuietExecXCopy" After="InstallInitialize" />

    </InstallExecuteSequence>

    

  </Fragment>

</Wix>

 

I am building my msi with VS2010 using WiX 3.8 and have added a reference to 
WixUtilExtension to the project.

 

I have tried various permutations of the Value property just to see if it was a 
cmd line syntax issue but keep getting the same error when I run the msi.

 

Looking in the log file

...

MSI (s) (18:14) [09:16:16:899]: Doing action: SetCmdLineParams

MSI (s) (18:14) [09:16:16:899]: Note: 1: 2205 2:  3: ActionText 

Action start 09:16:16: SetCmdLineParams.

MSI (s) (18:14) [09:16:16:899]: PROPERTY CHANGE: Adding QuietExecXCopy 
property. Its value is '"C:\WINDOWS\system32\xcopy.exe" "C:\Program Files 
(x86)\TestConfigChanges\Backups\*" "C:\Program Files (x86)\TestConfigChanges\*" 
/E'.

Action ended 09:16:16: SetCmdLineParams. Return value 1.

...

MSI (s) (18:14) [09:16:17:180]: Executing op:
ActionStart(Name=QuietExecXCopy,,)

MSI (s) (18:14) [09:16:17:180]: Executing op:
CustomActionSchedule(Action=QuietExecXCopy,ActionType=3073,Source=Binary
Data,Target=CAQuiteExec,CustomActionData="C:\WINDOWS\system32\xcopy.exe"
"C:\Program Files (x86)\TestConfigChanges\Backups\*" "C:\Program Files 
(x86)\TestConfigChanges\*" /E)

MSI (s) (18:FC) [09:16:17:196]: Invoking remote custom action. DLL:
C:\WINDOWS\Installer\MSI1B9.tmp, Entrypoint: CAQuiteExec

MSI (s) (18:74) [09:16:17:196]: Generating random cookie.

MSI (s) (18:74) [09:16:17:196]: Created Custom Action Server with PID
3044 (0xBE4).

MSI (s) (18:80) [09:16:17:211]: Running as a service.

MSI (s) (18:80) [09:16:17:211]: Hello, I'm your 32bit Elevated custom action 
server.

MSI (s) (18:14) [09:16:17:227]: Note: 1: 1723 2: QuietExecXCopy 3:
CAQuiteExec 4: C:\WINDOWS\Installer\MSI1B9.tmp 

MSI (s) (18:14) [09:16:17:227]: Note: 1: 2205 2:  3: Error 

MSI (s) (18:14) [09:16:17:227]: Note: 1: 2228 2:  3: Error 4: SELECT `Message` 
FROM `Error` WHERE `Error` = 1723 

MSI (c) (00:F0) [09:16:17:227]: Font created.  Charset: Req=0, Ret=0,
Font: Req=MS Shell Dlg, Ret=MS Shell Dlg

 

MSI (s) (18:14) [09:16:25:795]: Note: 1: 2205 2:  3: Error 

MSI (s) (18:14) [09:16:25:795]: Note: 1: 2228 2:  3: Error 4: SELECT `Message` 
FROM `Error` WHERE `Error` = 1709 

MSI (s) (18:14) [09:16:25:795]: Product: 1TestConfigChanges -- 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 QuietExecXCopy, entry:
CAQuiteExec, library: C:\WINDOWS\Installer\MSI1B9.tmp

 

The property QuietExecXCopy seems to have a sensible value and it certainly 
performs the desired action when I simply type it in to a cmd prompt. 
Ultimately I'd like to call

echo n | xcopy src\* dst\* /E

so that I can copy without replacing during an upgrade, but one hurdle at a 
time!

Can anyone offer any assistance?

 

Thanks in advance,

David

 

 

------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse Turn 
processes into business applications with Bonita BPM Community Edition Quickly 
connect people, data, and systems into organized workflows Winner of BOSSIE, 
CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft 
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to