Hi Pally, I have considered CopyFile but didn't think it would satisfy our *quite complicated* use case. Here's a bit more detail:
1- We want to deploy potentially hundreds of files to the Backups folder (Currently we heat the directory to create the wxs file). 2- The Backups folder will potentially contain sub-folders. 3- We want to copy (by whatever means) the files and folder structure from the Backups folder (the installed location) to a working folder. 4- Once in the working folder, the files are potentially user modifiable. 5- On an uninstall of the product we want the copy of the files in the working folder to be left alone (not uninstalled). 6- On an upgrade of the product we want the files and folders in the Backups folder to be upgraded as normal, however the copy of the files in the working folder should not be upgraded (to preserve any modifications that the user has made). We have a number of products that we want to manage in the same way so I was hoping to write this once and use it again. This does mean that I have to deal with different folder structures (below the Backups folder) and different files names. I'm quite new to WiX and couldn't see a way of making CopyFile copy over the folder structure or deal with wildcards for file names. If there is a way then that will probably satisfy the use case above. Any suggestions would be gratefully received. Thanks, David -----Original Message----- From: Pally Sandher [mailto:pally.sand...@iesve.com] Sent: 07 July 2014 13:51 To: General discussion about the WiX toolset. Subject: Re: [WiX-users] Error 1723 when calling CAQuiteExec to xcopyconfig files 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=""[System64Folder]xcopy.exe" "[INSTALLFOLDER]Backups\*" "[INSTALLFOLDER]*" /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 ------------------------------------------------------------------------------ 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