gpt4 book ai didi

wix 托管 Bootstrap : Rollback failing

转载 作者:行者123 更新时间:2023-12-04 04:55:30 25 4
gpt4 key购买 nike

我的托管 bootstrap 中链接了多个 EXECPackages,例如:

<ExePackage Id="Test1" SourceFile="D:\Test\TestBatch.bat" Vital="yes" Compressed="yes" 
InstallCommand="Testinstall1"
UninstallCommand="Testuninstall1"
/>
<ExePackage Id="Test2" .../>

我希望我的回滚执行卸载命令。
生成的日志文件包含以下信息:

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.



我意识到当触发回滚( Result.Cancel )时,包含 Exe 包有效负载的缓存文件夹会从 C:\ProgramData\Package Cache 中删除。 .

然而,这曾经有效。

最佳答案

UninstallCommand如果正在安装包,则在回滚时执行。我已经看到当同一可执行文件用于多个 ExePackage 时会发生此问题。单个 Chain 中的元素. Burn 引擎缓存包的方式使用可执行文件的哈希来确定位置。因此,如果您将相同的可执行文件放入 Chain它可以被提前删除。确保每个可执行包在您的 Bundle 中都是唯一的。

PS:强烈建议你有一个DetectCondition on the ExePackage

关于wix 托管 Bootstrap : Rollback failing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16818631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com