【发布时间】:2021-12-09 16:44:16
【问题描述】:
大约 18 个月前,我为我的程序构建了一个 Wix 安装程序。它只需要安装 3 个文件,一个 exe,一个 chm 和一个许可证文件。每个用户的exe和chm都是一样的,但是license文件不同。我为每个用户构建了一个具有适当许可证的新 msi。这对我来说没问题,因为我每周只获得一次新用户(如果我幸运的话!),所以在构建上花费 10 分钟并不是什么大问题。安装程序运行良好。
几个月前,我发布了一个需要新 exe 和 chm 的更新。我最终为每个用户重建了一个新的 msi 作为主要升级,并将其单独发送给每个用户(到那时大约 50 个)。这很痛苦,但效果很好。但是,显然必须有一种方法可以只使用一个补丁来替换 exe 和 chm(对所有用户来说都是相同的),但不影响他们现有的许可证。然后我可以只向每个用户发送一个文件,这样工作量会少很多。
我一直在阅读教程和 Ramirez 的书,他们都在讨论通过比较原始 msi 和新 msi 来构建补丁。但是,在我的情况下,每个用户的原始 msi 都不同。我陷入了纠结,试图弄清楚这一切(我显然不是一个经验丰富的安装构建者),所以任何建议,或者更好的示例代码或教程,都会受到欢迎。
谢谢。
【问题讨论】:
-
我现在没有太多时间。但是针对不同客户的许多设置会导致许多问题。每个 MSI 都将缺少 QA 和 UAT,并且误报的风险增加 - 如果它击中你,这是一个可怕的问题。安装文件应该是“众所周知的”并且可以被防病毒扫描程序和 Windows Defender 识别,否则它可能会被标记为不安全。在要管理的所有版本方面也存在巨大的混乱。哪些有问题?如何让升级工作 - 正如你所说。还有其他几个问题...
-
我认为许可应该在应用程序本身启动时发生,最好是通过 Internet 进行,这样激活可以顺利且即时,根本无需分发任何特定文件。应用程序在与服务器通信后简单地生成用户配置文件许可文件。有一些组件可以做到这一点 - 通常非常昂贵。我的一些答案(不是 100% 符合您的问题):1、2。 And how licensing can be complicated.
-
还有其他部署机制,例如MSIX,您可以尝试一下。我不确定您的项目未来的范围,但您肯定需要更好的部署策略。别担心,这样的问题很常见。如果需要,您始终可以寻求部署顾问,但首先我会尝试消除许可证文件分发并使用另一种更易于部署的许可形式。网络应用程序可能吗? (只需登录和身份验证)。