private void QueryUpgrade() { #region Check/Validate Version KeyValues.Reresh(); String versionString = KeyValues.Instance.GetKeyValue(KeyValueE.CurrentVersionNo).Value; if (String.IsNullOrEmpty(versionString)) { ChatClient.Write(ChatTypeE.OnlineClient, ChatMessageTypeE.Error, ChatTypeE.OnlineClient, MsgE.InfoNoAvService, 0); return; } Int32 major; Int32 minor; Int32 build; Int32 revision; String[] versionParts = versionString.Split('.'); if (versionParts.Length < 4) { ChatClient.Write(ChatTypeE.OnlineClient, ChatMessageTypeE.Error, ChatTypeE.OnlineClient, MsgE.InfoNoAvService, 0); return; } if (!Int32.TryParse(versionParts[0], out major)) { ChatClient.Write(ChatTypeE.OnlineClient, ChatMessageTypeE.Error, ChatTypeE.OnlineClient, MsgE.InfoNoAvService, 0); return; } if (!Int32.TryParse(versionParts[1], out minor)) { ChatClient.Write(ChatTypeE.OnlineClient, ChatMessageTypeE.Error, ChatTypeE.OnlineClient, MsgE.InfoNoAvService, 0); return; } if (!Int32.TryParse(versionParts[2], out build)) { ChatClient.Write(ChatTypeE.OnlineClient, ChatMessageTypeE.Error, ChatTypeE.OnlineClient, MsgE.InfoNoAvService, 0); return; } if (!Int32.TryParse(versionParts[3], out revision)) { ChatClient.Write(ChatTypeE.OnlineClient, ChatMessageTypeE.Error, ChatTypeE.OnlineClient, MsgE.InfoNoAvService, 0); return; } #endregion #region Upgrade Version currentVersion = new Version(Config.Version); Version newVersion = new Version(major, minor, build, revision); Boolean upgradeRequired = false; upgradeRequired = UpdateUtility.IsUpgradeRequired(currentVersion, newVersion); if (upgradeRequired) { if (MessageForm.Confirm(null, MsgE.InfoUpgradeAvailable) == DialogResult.Yes) { DownloadUpgrades(); } } else { ChatClient.Write(ChatTypeE.OnlineClient, ChatMessageTypeE.Info, ChatTypeE.OnlineClient, MsgE.InfoUpgradeNotRequired, 0); } #endregion }