我有一个使用VS 2015安装程序项目的应用程序。
我们的BONEHEAD供应商ComponentOne发布了我的产品所依赖的几个组件的新版本。
这是一个问题: 旧DLL版本:4.1.20102 ... 新DLL版本: 4.0.20162 ...
较新的DLL至少比较旧的DLL具有更新的文件日期。
当然,较新的DLL修复了自更正后C1组件中的错误带来的实际用户问题。
虽然我可以通过让最终用户完全卸载旧版本的产品并安装新版本来获取正确的DLL,但这是行不通的,因为:
该项目已将 RemovePreviousVersions 属性设置为true,我希望这样可以完全卸载。它不是;具有版本错误的六个程序集不会被替换。 DetectNewerInstalledVersion 属性也设置为true;我尝试使用False安装,它没有任何效果。
我还尝试明确包含C1程序集的所有检测到的依赖项,但它没有任何效果。
有没有办法强制安装项目覆盖程序集,只要文件日期更新,无论错误编码的版本是什么?
已编辑添加以下内容:
感谢您提供的任何帮助!
答案 0 :(得分:0)
我找到了一个有效的解决方法。
我已将RemovePreviousVersions设置为true,因此我通过在路径末尾添加 [ProductVersion] 来更改应用程序的默认文件夹。
这实现了:
这很好地解决了这个问题。没有将REINSTALLMODE设置为 amus ;没有暴力解决方案。