private async Task CheckNewVersion(bool startup = false)
{
if (ApplicationSettings.VersionInfoUrl == null)
return; // 更新チェック無効化
try
{
var versionInfo = await this.GetVersionInfoAsync();
if (versionInfo.Version <= Version.Parse(MyCommon.FileVersion))
{
// 更新不要
if (!startup)
{
var msgtext = string.Format(Properties.Resources.CheckNewVersionText7,
MyCommon.GetReadableVersion(), MyCommon.GetReadableVersion(versionInfo.Version));
msgtext = MyCommon.ReplaceAppName(msgtext);
MessageBox.Show(msgtext,
MyCommon.ReplaceAppName(Properties.Resources.CheckNewVersionText2),
MessageBoxButtons.OK, MessageBoxIcon.Information);
}
return;
}
using (var dialog = new UpdateDialog())
{
dialog.SummaryText = string.Format(Properties.Resources.CheckNewVersionText3,
MyCommon.GetReadableVersion(versionInfo.Version));
dialog.DetailsText = versionInfo.ReleaseNote;
if (dialog.ShowDialog(this) == DialogResult.Yes)
{
await this.OpenUriInBrowserAsync(versionInfo.DownloadUri.OriginalString);
}
}
}
catch (Exception)
{
this.StatusLabel.Text = Properties.Resources.CheckNewVersionText9;
if (!startup)
{
MessageBox.Show(Properties.Resources.CheckNewVersionText10,
MyCommon.ReplaceAppName(Properties.Resources.CheckNewVersionText2),
MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2);
}
}
}