繁体   English   中英

有没有办法确保 MSI 安装程序每次都更新 .exe 文件?

[英]Is there a way to ensure an MSI installer updates the .exe file every time?

是否有一些简单、无忧的方法可以让 MSI 安装在 .exe 文件更新时始终替换 .exe 文件(即主输出)?

这只是基本常识。 无论我在哪里搜索,总会有关于主要和次要版本和补丁的复杂讨论。 必须有一些简单的方法来确保文件在安装过程中被替换。 否则,在整个安装过程中 MSI 文件实际上在做什么。 这就像一个假安装,实际上没有任何东西被替换/更新/升级。

我错过了什么?

只要您增加 .exe 的版本号,一切都以“常识”的方式工作。 MSI 信任版本信息而不是文件时间戳等更具延展性的方面。

将项目的程序集版本设置为 1.0.*,然后它将自动生成一个新的.exe 版本。 您还需要确保增加设置版本,遗憾的是没有办法让它自动增加。

文件表中,您可以将版本列设置为“65535.65535.65535.65535”。 这样,文件将始终被覆盖,无论它实际具有什么版本。

这不受 Visual Studio 支持,但您可以使用Orca编辑 MSI。

我正在使用带有“Microsoft Visual Studio 安装程序项目”的 Visual Studio 2019 并部署 Windows Forms 应用程序。

做你所要求的——

  1. 为安装程序项目增加属性 window 中的版本号,它有 3 位数。 将出现一个弹出窗口询问更改产品代码,始终选择是。

同样在同一个地方,确保属性 - 'DetectNewerInstalledVersion' 设置为 true 并且 'RemovePreviousVersions' 为 true

  1. 在解决方案资源管理器中的“属性”子文件夹中的“AssemblyInfo.cs”文件末尾为每个项目增加版本号(有四位数字,但显然您需要增加前三位中的一个),其中您需要更新编译的文件。 如果您不这样做,新版本将显示正确安装,但旧的未更改文件可能会保留。

如果这一切都完成了,当用户安装它时,旧版本将更新到新版本,而无需手动卸载旧版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM