Visual studio 2015 虽然现有文件是最新的,但升级时如何替换现有文件?
我使用Visual Studio 2015安装项目安装支持升级的应用程序。我完成了以下任务: 1) 我通过安装在程序文件位置复制了test.xml文件 2) 我今天修改了test.xml 3) 我为应用程序执行升级,客户要求将test.xml(无论是否最新)文件与包文件一起复制/重写(假设包文件昨天已修改) 由于现有文件是最新的,而不是包文件,所以安装根本不会过度写入该文件 因此,我尝试在OnBeforeInstall()中删除此文件,以便在OnAfterInstall()中复制新文件。但是,不幸的是,安装程序在复制文件后调用了自定义操作事件处理程序 然后,我发现有一个叫做 状况 我将其定义为1(True),这样无论现有文件的修改时间如何,安装程序都可以重写该文件。但这也没有成功。似乎在条件计算为true后,安装程序仍然应用文件时间戳检查,并且如果现有文件是最新的,则不会复制Visual studio 2015 虽然现有文件是最新的,但升级时如何替换现有文件?,visual-studio-2015,windows-installer,visual-studio-setup-proje,Visual Studio 2015,Windows Installer,Visual Studio Setup Proje,我使用Visual Studio 2015安装项目安装支持升级的应用程序。我完成了以下任务: 1) 我通过安装在程序文件位置复制了test.xml文件 2) 我今天修改了test.xml 3) 我为应用程序执行升级,客户要求将test.xml(无论是否最新)文件与包文件一起复制/重写(假设包文件昨天已修改) 由于现有文件是最新的,而不是包文件,所以安装根本不会过度写入该文件 因此,我尝试在OnBeforeInstall()中删除此文件,以便在OnAfterInstall()中复制新文件。但是,不
因此,请让我知道是否有任何其他方式使这项工作 一些可能的解决方案:
很棒的建议!多谢。我用了tip.2,发现它很管用。但有一个问题是,每次我都需要在向客户移交之前修改MSI文件!我将RemoveExistingProducts的序列号更改为InstallInitialize的下一个,希望这就是我们需要做的。我不能使用Tip-1,因为大多数时候,我没有对XML文件进行任何修改。即使我引入了版本号或其他内容,并对每个版本不断进行修改,客户也不可能在我发布后立即使用我的版本,或者我无法阻止他们在我的版本发布后不修改XML文件。由于这个原因,我不能同时使用Tip-3。提示4:你能详细说明一下吗,我听不懂