我有一个 Winforms 项目,其中一个 .exe 文件作为主要输出。我正在使用部署项目来分发它,但是安装新版本时 .exe 文件没有更新,这意味着我必须要求用户手动卸载然后安装新版本。
这就是我正在做的:
- 我在输出项目上增加程序集版本(这是部署项目的主要输出)
- 我增加部署项目版本(并在提示时更新产品代码)
- 部署项目设置为删除以前的版本
- .exe 上的“永久”属性设置为 False
我确信我以前已经成功地做到了这一点,但现在我似乎无法做到这一点。我究竟做错了什么?
编辑:我通过改变它来工作file项目属性中的版本,如这个答案 https://stackoverflow.com/questions/511789/how-do-i-persuade-a-vs2005-msi-to-upgrade/1510353#1510353
很难说是什么原因造成的。如何安装不删除以前版本的 MSI?我建议运行不支持详细日志记录的安装。我会从命令行运行它,如下所示:
msiexec /i "project.msi" /l*v "c:\install.log"
/l 告诉 msiexec(安装程序服务)创建日志,* 告诉它记录所有内容,v 告诉它使用详细模式。
运行它,然后查看日志文件,它应该告诉您失败的原因和原因。您也可以在此处发布该日志文件,我打赌我们可以一起找到一些东西。
其他问题:日志文件使得安装程序看起来好像没有什么可做的。当您声明更新文件版本时,您在更新什么?如何部署包含的文件?您是否将它们作为“主要输出”包含在设置项目中,或者直接包含程序集?您是否让它确定依赖项并自动包含它们,或者您是否包含项目输出?
UPDATE请参阅这篇文章,了解自动升级 MSI 需要进行哪些更改的说明。问题 511789 https://stackoverflow.com/questions/511789/how-do-i-persuade-a-vs2005-msi-to-upgrade/513169#513169
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)