Visual studio Visual Studio安装程序不会覆盖非二进制文件

Visual studio Visual Studio安装程序不会覆盖非二进制文件,visual-studio,installation,overriding,visual-studio-setup-proje,Visual Studio,Installation,Overriding,Visual Studio Setup Proje,当我在现有安装的产品上运行新安装时,安装程序不会覆盖非EXE和DLL文件。对于EXE和DLL,我可以设置版本号,用于定义是否替换文件。但对于包含纯文本的配置文件,这是不可能的 是否有强制安装程序替换所有文件的方法 将DetectNewInstalledVersion设置为True或False没有任何效果 RemovePreviousVersions设置为TrueWindows Installer的文件替换规则不允许替换用户修改的文件: 基本问题是,您不希望产品安装数据库文件,用数据填充它,然后

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

是否有强制安装程序替换所有文件的方法

DetectNewInstalledVersion
设置为
True
False
没有任何效果


RemovePreviousVersions
设置为True

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

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

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

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

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

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