【问题标题】:Visual Studio installer does not overwrite non binary filesVisual Studio 安装程序不会覆盖非二进制文件
【发布时间】:2016-12-13 05:43:30
【问题描述】:

当我在现有已安装产品上运行新安装时,安装程​​序不会覆盖非 EXE 和 DLL 文件。对于 EXE 和 DLL,我可以设置版本号,它定义是否将替换文件。但这对于包含纯文本的配置文件是不可能的。

是否有强制安装程序替换所有文件?

DetectNewInstalledVersion 设置为TrueFalse 没有任何效果。

RemovePreviousVersions 设置为 True

【问题讨论】:

    标签: visual-studio installation overriding visual-studio-setup-proje


    【解决方案1】:

    Windows Installer 的文件替换规则不允许替换用户修改的文件:

    https://msdn.microsoft.com/en-us/library/windows/desktop/aa370531(v=vs.85).aspx

    基本问题是您并不真正希望产品安装数据库文件,用数据填充它,然后通过产品升级将其销毁。

    这很可能是正在发生的事情。如果您使用以下命令记录升级:

    msiexec /I [升级 MSI 的路径] /l*vx [文本日志文件的路径]

    然后搜索文件名它会告诉你为什么它没有替换它。

    另一种可能是该文件已在 MSI 文件的 Component 表中标记为 NeverOverwrite。在您的情况下,这似乎不太可能,因为 Visual Studio 设置在 IDE 中不提供对此的支持。这适用于安装后的组件并且无法撤消 - 这是系统设置,而不是 MSI 设置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-15
      • 2021-02-17
      • 1970-01-01
      • 2011-06-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多