强制两个版本的软件一起使用?

我们有两套不同的“软件套件”:windows-side软件和固件。 而且,不幸的是,只有某些版本Windows端软件可以与某些版本的固件一起工作。

例如,如果客户打电话给固件版本10,我们需要一个简单的方法让每个人(技术人员,开发人员,秘书等)知道这个特定的固件只适用于Windows软件版本12,13,14和15 。

我们有一个刚刚列出版本的wiki页面,它运行良好,但是没有遵循这个过程的人们有足够的“打嗝”,我们需要更有力的东西。

我们有一个版本系统的mercurial,但是我看不出这对这个问题有什么帮助(我们没有必要强制每个人都安装hg)。

任何想法的程序/设置/任何东西,将有助于我们缓解这个问题?

编辑:到目前为止大部分的讨论是我可以做的代码从现在开始。 我正在解决这个问题,但是我们能做些什么来解决所有以前的版本,我无法返回并更改任何代码? 感谢大家迄今为止的帮助! 非常感激!

要添加到ChristopheD的评论,一种方法是使软件检查兼容性:

  • 可以通过互联网(下载兼容固件的最新更新列表,看看这些版本是否存在于本地计算机上)
  • 或者如果没有可用的WAN连接,则通过简单的本地文本文件(比完整的应用程序版本更容易进行通信和更新)

您可以看看ClickOnce部署。 它允许更高级的配置,如最低版本。 部署服务器可能位于Internet或Intranet上。

我认为你将不得不改变实施来解决这个问题。 你不能强制更新(如果你能这样做会非常像病毒)

我突然想到了这个。

以.NET开发的软件,以及.NET框架(各种版本)都可以考虑。 也许你想要遵循这一点。

客户端的主机可以安装固件版本10和11; 但是您的应用程序需要固件版本12.因此您的安装程序将下载并安装版本12。

但是,如果您的应用程序需要固件版本10,并且安装的版本是12,则版本12也可能包含以前版本的文件(非冲突),从而允许应用程序(需要版本10)从版本12运行。

我不想回答我自己的问题,但我想标记的东西作为答案(这是毁了我的完美得分!):

我们所做的所有事情(最终都是为了解决这个问题)正在重新安排wiki,所以如果你想要一个windows版本的话,你必须选择你正在使用的固件(反之亦然)。 我认为人们忽略了文本,但是强迫他们点击某些东西就足以让他们思考。