我正在将我的安装程序从NSIS更改为MSI(使用Wix),我需要在升级时将配置文件从旧安装复制到新安装。
在实际安装新版本之前,我需要通过执行卸载程序来卸载旧版本。
所以我最终得到了一组自定义操作:首先,如果应用程序正在运行,我会停止它;然后我将配置文件复制到[TempFolder]
;然后我启动旧应用程序的卸载程序;之后我让MSI完成它的工作,作为最后一步,我把一堆<CopyFile>
从[TempFolder]
复制到安装文件夹。
问题是Microsoft Installer 5(Windows 7和Windows 2008 R2之一)似乎在启动自定义操作之前检查文件是否存在,然后它不会复制它们。它在以前的Windows Installer版本中运行良好,最高可达4.5。
有没有办法在我的自定义操作后执行检查?或者有更好的方法来完成我概述的所有步骤?
答案 0 :(得分:1)
MoveFiles操作在InstallFiles之前。也许文件被正确复制但MSI会覆盖它们。请生成日志文件以获取更多详细信息。