I have multiple EXECPackages chained in my managed bootstrapper, for example:
<ExePackage Id="Test1" SourceFile="D:\Test\TestBatch.bat" Vital="yes" Compressed="yes"
InstallCommand="Testinstall1"
UninstallCommand="Testuninstall1"
/>
<ExePackage Id="Test2" .../>
I want my rollback to execute the Uninstall command. The generated log file has the following info:
Rollback:uninstall. Applying rollback package: Test2, action: Uninstall, path: C:\ProgramData\Package Cache\AD944C8E8D75C79F57819C331F46D15B4CFD9172\TestBatch.bat, arguments: '"C:\ProgramData\Package Cache\AD944C8E8D75C79F57819C331F46D15B4CFD9172\TestBatch.bat" Testuninstall2' [24F4:246C][2013-06-05T14:45:10]e000: Error 0x80070003: Failed to CreateProcess on path: C:\ProgramData\Package Cache\AD944C8E8D75C79F57819C331F46D15B4CFD9172\TestBatch.bat [24F4:246C][2013-06-05T14:45:10]e000: Error 0x80070003: Failed to execute EXE package. [1654:27A8][2013-06-05T14:45:10]e000: Error 0x80070003: Failed to configure per-machine EXE package.
I realized that when rollback is triggered (Result.Cancel
), the cached folder that contains the Exe package payload is deleted from C:\ProgramData\Package Cache
.
However this used to work before.