我正在为我的 MVC3 Web 应用程序使用 VS2010 Web 设置项目。它在安装时工作正常。但是,如果我更新 MVC3 webapplication 二进制文件和 Web 设置项目的版本以进行升级(从旧版本的现有安装),它将不会替换目标目录上的 web.config 文件。所有其他文件和目录都被替换和更新,但只有“web.config”文件不会被 Web 设置替换。
每次更新 Web 应用程序中的任何内容时,我都会更改 Web 设置项目和 MVC3 应用程序的版本。
我还尝试更改“ProductCode”和“UpgradeCode”,但 web.config 文件仍然相同(第一个版本)
我设置了 Web 设置项目的以下属性
- DetectNewerInstalledVersion - 真
- 删除以前的版本 - 真
- 重新启动WWWService - 真
如果我手动删除/删除现有的 web.config 文件,然后安装新版本,它将放置新的更新的 web.config 文件。仅当目标目录中存在现有的 web.config 文件时才会出现此问题。
我还尝试了自定义操作的“OnBeforeInstall”来删除或重命名现有的 web.config 文件,以便新的 we.config 将在安装中复制。但在那我发现所有文件都在自定义操作方法执行之前被复制。
请帮助我解决此问题或建议另一种方法来向我的客户提供 Web 设置项目。
提前致谢!
编辑:我发现当我更改 Web Setup 项目的版本时,它会自动更改产品代码,但升级代码仍然相同。