在启动时确定应用程序的客户端版本

时间:2013-07-17 15:20:59

标签: c# version

问题:

我们有一个C#应用程序,.Net 3.5,它在客户端计算机上手动更新。甚至不要问,我们不能进行一键式部署。

当创建新版本并且客户端尚未更新时,我想提醒客户端(启动时)应用程序已过期,并且必须先获取新版本才能继续。

我对其他人可能用来解决相同问题的方法感到兴趣(限制客户使用旧版本)

谢谢 - 格伦

3 个答案:

答案 0 :(得分:0)

您需要创建一个将返回当前应用程序版本的Web服务。必须将服务安装在客户端可以调用的位置。

然后,您需要添加对服务的调用,并根据服务中的版本检查正在运行的应用程序版本。

答案 1 :(得分:0)

我们的应用程序连接到数据库,我们确保在应用程序启动时,应用程序的版本与数据库中记录的版本匹配。如果不匹配,则向用户显示消息。如果您的应用程序没有连接到数据库,我想它可以与WCF服务通信以获取最新版本。我看到人们只是从共享驱动器中检索文件并从中读取值。这要求所有用户都可以使用共享的UNC路径,这并不总是很方便。

答案 2 :(得分:0)

您是否使用ClickOnce分发您的应用程序?如果是,您可以在发布之前指定所需的最低版本。

如果不是,您可以管理可执行文件的版本并在启动时进行检查。类似的东西:

Assembly assembly = Assembly.GetExecutingAssembly();
FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(assembly.Location);
string version = fvi.FileVersion;