gpt4 book ai didi

wix - 如何处理 Burn FilesInUse 事件

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

我已经使用 WiX/Burn 编写了一个自定义托管 Bootstrap 应用程序,现在我正在尝试扩展它以处理 ExecuteFilesInUse 事件。我已经成功触发了事件并完成了我所得到的转储,这让我感到困惑......用 Powershell 锁定文件后(使用 File.OpenFileShare.None ) 并开始卸载,我收到两个包含此数据的回调:

[0484:0B48][2014-08-21T15:14:22]i000: Intercepted ExecuteFilesInUse event. Parameters: 
PackageId = TheProduct.msi
Files = {
"1524"
"Windows PowerShell"
""
""
""
""
""
""
}
Result = None
[0484:0B48][2014-08-21T15:14:22]i000: Intercepted ExecuteFilesInUse event. Parameters:
PackageId = TheProduct.msi
Files = {
"Windows PowerShell"
"Windows PowerShell (Process Id: 1524)"
}
Result = None

因此,两个回调,具有“相同”但格式不同的数据。此外,第一个有一堆空元素。

有什么方法可以解决这种明显的疯狂行为吗?我没有找到与此相关的 Burn 或 Windows Installer(我猜是 Windows 安装程序才是数据的真正来源)的任何文档。

最佳答案

由于我无法让 Burn 事件为我工作,我最终运行了自己的 FilesInUse 检查,在开始 Apply 阶段之前创建了一个短暂的 RestartManager session 。这里有一个明显的竞争条件,应用程序在检查完成后开始,但在这种情况下它被认为是可以接受的。

关于wix - 如何处理 Burn FilesInUse 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25428933/

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