2

无处不在,看起来像在VS2010中,所有的选项已被删除来做到这一点。VS2010安装项目强制覆盖文件

我有一个安装项目,它具有复制到应用程序文件夹的应用程序文件。我想要的是能够覆盖那里的任何现有文件。最终用户可以在更新之间编辑这些文件,我需要能够覆盖其更改以及向这些文件发送任何更新。

将文件夹设置为“CreateAlways = True”并不意味着文件夹内容被覆盖,因为我曾希望/期望。它只允许你创建空文件夹。

I've tried this solution.显然这不符合2010年

我能想到的最简单的事情是工作,要能够对这些文件设置版本号强制安装规则来覆盖旧版本,但我不我认为这是可能的文本文件等。 (此外,它是很多文件,我经常更新)

回答

2

最常用的方法(也是最简单的)是为File Table中的所有行设置非常高的版本。例如,你可以使用:

65535.65535.65535.65535 

这可以经由对MSI数据库,修改并保存更改脚本或EXE来完成。你可以在这里找到MSI数据库API:http://msdn.microsoft.com/en-us/library/aa368250(VS.85).aspx

请注意,一些商业工具有一个特殊的选项。

+0

我希望避免编写任何代码,所以我只想让用户运行批处理文件来删除我想在更新之前更新的文件。 – VenerableAgents 2011-04-20 20:41:57