Windows installer Windows Installer";错误1308。“未找到源文件”;按顺序方案卸载修补程序时
我需要使用Installshield 2012的修补程序设计创建一系列可卸载的修补程序。卸载时,前两个补丁可以正常工作。但是,如果且仅当已应用修补程序1和/或修补程序2时卸载第三个修补程序,则会产生错误:Windows installer Windows Installer";错误1308。“未找到源文件”;按顺序方案卸载修补程序时,windows-installer,installshield,patch,msi-patch,Windows Installer,Installshield,Patch,Msi Patch,我需要使用Installshield 2012的修补程序设计创建一系列可卸载的修补程序。卸载时,前两个补丁可以正常工作。但是,如果且仅当已应用修补程序1和/或修补程序2时卸载第三个修补程序,则会产生错误: MSI (c) (48:C4) [19:02:54:135]: Font created. Charset: Req=0, Ret=0, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg Error 1308.Source file not found: {p
MSI (c) (48:C4) [19:02:54:135]: Font created. Charset: Req=0, Ret=0, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg
Error 1308.Source file not found: {pathToFile}. Verify that the file exists and that you can access it.
其中有26个错误与不同的文件有关。文件或组件没有明显的模式,也没有明显的功能
注意:如果我只应用了修补程序3,卸载不会产生此错误
我用补丁设计中相同的选项创建了所有三个补丁。我所理解的唯一明显的区别是,补丁3比前两个包含更多的更改(文件更新)。让我重复一遍:还有很多变化
我的问题是:
%windir%Installer\$PatchCache$\Managed\{PackedProductCodeOfMyBaseMSI???}
文件夹。这可能会导致1308错误,因为如果我从这个缓存中删除更多的文件,就会得到与丢失的文件对应的相同错误。问题可能是,为什么所有的文件都不在这个文件夹中?我将不得不添加这个作为答案,因为它太长了,无法发表评论。200个文件更改?我想文件成本将比安装一个完整的小升级需要更长的时间。如果我是你,我会拒绝提供这种补丁。由于技术的复杂性,它们注定要失败,几乎百分之百确定无疑。请记住,MSI补丁只是一个已经运行的升级的交付机制,基本上只是增加了风险和复杂性。事实确实如此 MSI补丁非常复杂,需要注册以供检查和卸载-它们不只是像MSI之前的世界那样转储和修补文件。如果用户需要修补,我会选择与MSI完全不同的解决方案
你能更详细地描述一下这个场景吗?我发现提供主要升级的自动化构建过程非常适合向QA交付每日构建。如果安装速度是一个问题,您可以使用一些技术来加快速度,例如启用。使用此属性,您可以告诉系统执行较轻且耗时的操作,例如创建系统还原点,并进行彻底的文件成本计算(比较已安装和正在安装的文件以及目录大小)
我仍然在寻找解决方案,或者至少是一些指导,甚至 尽管我同意这超出了正常的良好实践杰克 一小时前 我无法访问我的部署工具,但我将尝试提供一个透视图。因为我没有完全掌握你写的东西的所有方面,所以它将是一般性的评论。我希望这至少与你的要求有关。我写的时候,它变成了一个博客 对我来说,MSI补丁对2种基本场景有效: