У меня есть пользовательское действие wix
<CustomAction Id="BaselineSync_Cmd" Property="BaselineSync" Execute="immediate"
Value=""robocopy" "[SI_BUP]" "[SI_PROD]" /PURGE" />
<CustomAction Id="BaselineSync" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
<CustomAction Id="RoboCopy_Cmd" Property="RoboCopy" Execute="immediate"
Value=""robocopy" "[INSDIR]" [SI_PROD]" />
<CustomAction Id="RoboCopy" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
У меня работает более ранняя команда robocopy, но не вторая. При установке я передаю значения SI_BUP, INSDIR и SI_PROD через командную строку. Примерно так: INSDIR=C:\testing\CONTENT SI_BUP=C:\testing\BACKUP SI_PROD=C:\testing\PROD /qn /l*v install.log
Журнал первого пользовательского действия:
MSI (s) (74:88) [15:00:52:118]: Executing op: CustomActionSchedule(Action=BaselineSync,ActionType=3137,Source=BinaryData,Target=CAQuietExec,CustomActionData="robocopy" "C:\testing\BACKUP" "C:\testing\PROD" /PURGE /e)
CAQuietExec: -------------------------------------------------------------------------------
CAQuietExec: ROBOCOPY :: Robust File Copy for Windows
CAQuietExec: -------------------------------------------------------------------------------
CAQuietExec:
CAQuietExec: Started : Thu Jun 19 15:00:52 2014
CAQuietExec:
CAQuietExec: Source : C:\testing\BACKUP\
CAQuietExec: Dest : C:\testing\PROD\
Лог второго пользовательского действия:
MSI (s) (74:88) [15:00:52:190]: Executing op: CustomActionSchedule(Action=RoboCopy,ActionType=3137,Source=BinaryData,Target=CAQuietExec,CustomActionData="robocopy" "C:\testing\CONTENT\" "C:\testing\PROD" /e)
CAQuietExec:
CAQuietExec: -------------------------------------------------------------------------------
CAQuietExec: ROBOCOPY :: Robust File Copy for Windows
CAQuietExec: -------------------------------------------------------------------------------
CAQuietExec:
CAQuietExec: Started : Thu Jun 19 15:00:52 2014
CAQuietExec:
CAQuietExec: Source : C:\testing\CONTENT" C:\testing\PROD \e\
CAQuietExec: Dest -
Я не могу понять, что я должен делать, чтобы robocopy работал нормально. Я не рассматриваю пакетный подход для реализации этого... просто индивидуальный подход. Пожалуйста помоги.