wix安装程序从net472升级到net6.0-windows应用程序时出现问题



我们已经将应用程序从net472迁移到net6.0-windows。该应用程序有一个wix安装程序。目前,安装程序从net472到net6.0-windows的升级顺序无法按预期工作。

这是因为在net472和net6.0-windows中,有一堆第三方库对于不同的平台具有相同的文件版本。例如,NLog.dll在这两个平台中都是4.7.7.12472。

AFAIU,文件替换规则起作用,因此当源文件(安装程序中的程序集(和目标文件(已安装程序集(版本相等时,安装程序将不会替换此文件。

因此,现在升级后,bin文件夹中只剩下旧的(来自第三方的net472(和新的(主要是我们的"文件版本递增"net6.0-windows(程序集。

关于如何解决此升级问题,有什么建议吗?

这是(第三方(破坏组件规则的一个例子。windows安装程序认为这很好,因为版本相同,但文件前后不兼容。

除非您想将REINSTALLMODE属性设置为amus(强制覆盖所有内容(或逐文件版本撒谎(文件版本attribe 65535.65535.65535.65.55535以强制该文件始终覆盖(,否则您需要在InstallValidate之后执行MajorUpgrde计划。

其他的可能性是将其视为一个新产品,并安装到一个新目录或考虑备用目录。NET编译/发布选项,以便应用程序自己包含这些文件,而安装程序永远不会看到它们。

相关内容

最新更新