我有一个MSI程序集,这是一个升级。升级代码在先前版本和新升级程序集之间保持不变。我还设置了RemovePrevious属性,因此在安装升级之前会删除旧版本。
我看到旧版本的卸载按预期发生。但是,Windows Installer 3.1立即转向尝试在它再次进入新版本之前再次重新安装旧版本。我已经通过更改较新版本中的第一个自定义安装对话框来验证这一点,并在第一次安装新版本时看到它就好了。但升级时看到的对话框是旧版本与之前版本一起提供的对话框。我甚至使用消息框显示来重建旧版本,以验证安装程序是否确实在卸载后立即重新安装旧版本,而不是转到新的升级版本。
使用MSIExec并未显示任何记录错误以解释这种奇怪的行为,我找不到任何有助于确定原因发生的文档。
任何人都对这种行为发生的原因以及如何解决这个问题有任何想法?
答案 0 :(得分:0)
尝试在嵌入资源中增加app / dll的版本号。除非文件版本被提升,否则安装程序的“新”行为不会升级任何exe / dll。