using System.Threading.Tasks;
using System.Globalization;
using System.Reflection;
+using Microsoft.Win32;
namespace OpenTween
{
[STAThread]
static int Main(string[] args)
{
+ if (!CheckRuntimeVersion())
+ {
+ var message = string.Format(Properties.Resources.CheckRuntimeVersion_Error, ".NET Framework 4.5.1");
+ MessageBox.Show(message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return 1;
+ }
+
StartupOptions = ParseArguments(args);
if (!SetConfigDirectoryPath())
}
/// <summary>
+ /// 動作中の .NET Framework のバージョンが適切かチェックします
+ /// </summary>
+ private static bool CheckRuntimeVersion()
+ {
+ // Mono 上で動作している場合はバージョンチェックを無視します
+ if (Type.GetType("Mono.Runtime", false) != null)
+ return true;
+
+ // .NET Framework 4.5.1 以降で動作しているかチェックする
+ // 参照: http://msdn.microsoft.com/en-us/library/hh925568%28v=vs.110%29.aspx
+
+ using (var lmKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32))
+ using (var ndpKey = lmKey.OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\"))
+ {
+ var releaseKey = (int)ndpKey.GetValue("Release");
+ return releaseKey >= 378675;
+ }
+ }
+
+ /// <summary>
/// “/key:value”形式の起動オプションを解釈し IDictionary に変換する
/// </summary>
/// <remarks>
}
/// <summary>
+ /// このソフトウェアは {0} 以降が必要です。 に類似しているローカライズされた文字列を検索します。
+ /// </summary>
+ internal static string CheckRuntimeVersion_Error {
+ get {
+ return ResourceManager.GetString("CheckRuntimeVersion_Error", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// このタブの発言をクリアしてもよろしいですか?{0}(サーバーから発言は削除しません。) に類似しているローカライズされた文字列を検索します。
/// </summary>
internal static string ClearTabMenuItem_ClickText1 {
<data name="UpdateMuteUserIds_Start" xml:space="preserve">
<value>Getting MuteUserIds...</value>
</data>
+ <data name="CheckRuntimeVersion_Error" xml:space="preserve">
+ <value>This software requires {0} or later version.</value>
+ </data>
</root>
\ No newline at end of file
<data name="UpdateMuteUserIds_Start" xml:space="preserve">
<value>MuteUserIds取得中...</value>
</data>
+ <data name="CheckRuntimeVersion_Error" xml:space="preserve">
+ <value>このソフトウェアは {0} 以降が必要です。</value>
+ </data>
</root>
\ No newline at end of file
更新履歴
==== Ver 1.2.1-beta1(2014/xx/xx)
+ * CHG: 起動時に .NET Framework 4.5.1 以降がインストールされているか確認を行います
* FIX: 発言詳細欄から右クリックで日本語ハッシュタグを固定すると、エンコード状態のハッシュタグが登録される問題を修正
* FIX: PublicSearchタブでの検索時に Err:Unauthorized(GetSearch) が表示される問題の回避策を追加
* FIX: サムネイル画像の読み込み中に別のツイートに選択を移動した際に動作が固まる現象の回避 (thx @_1t_, @Tan90909090, @suzushin!)