您能帮我一下吗?
我已在VM上安装了安装程序。之后,我安装了同一安装程序的升级版本。
由于某种原因,我在升级过程中收到一条错误消息。
这不是我的意思!我的意思是,收到错误消息后,我按“确定”继续中止升级。
它开始回滚,但在某些时候卡住了。
日志文件在某些元素上显示了一些错误:“无法删除缓存的程序包”。
该代码包含2个ExePackage,它们实现相同的程序包缓存目录,并且在回滚时,它删除了这些元素缓存目录之一。
当回滚到达第二个元素时,它搜索相同的缓存目录,但找不到它。
在创建时,是否可以强制在其他缓存目录中实现?
答案 0 :(得分:0)
可以使用ExePackage CacheId
属性覆盖缓存目录。
我在我编写的其中一个安装程序中使用了此安装程序,以了解某些使用<Product Id="*" .../>
的MSI的缓存位置。只需确保如果使用此CacheId属性,就将其设置为一个值,该值将在两个构建之间不相同,以避免当前遇到的问题。