Topへ

開発ブログ(Blog)

WindowsXPからWindows7への移行後、ショートカットアイコンが消える

WindowsXPからWindows7への移行後、移行したディスクトップアイコンが一定時間経過後消えてしまう現象が発生しています。

ローカルマシンへのショートカットは消えませんが、ネットワークドライブなどの共用フォルダへのショートカットが一定時間経過後

消えてしまいます。


【理由】

Windows7はデスクトップ上に4つ以上「リンク切れ」ショートカットがあると、保守タスク が自動的に削除するようです。

一時的にショートカットがリンクが切れした場合であっても、「リンク切れ」ショートカットと見なして勝手に削除します。


【回避策】

※コントロールパネルで「表示方法」→「カテゴリ」を選択します。

「コントロールパネル」→「システムとセキュリティ」→「問題の発見と解決」→「設定の変更」→「コンピュータ保守」

「日常的なメンタンスの問題を確認し・・・・・・確認メッセージを表示します」を「無効」にします。

※これを無効にしたことによる影響はいまのところ出ていません。

IE11のブラウザでasp.netで不具合

IE11のブラウザでasp.netで不具合がまたもや発生

【状況】

ログイン処理でIE以外のブラウザとIE8未満のブラウザの場合、エラー画面を表示させていたが、IE11の場合IEと見なされずにエラー画面が表示されてログインできないようになりました。

 

【発生環境】

Windows2008Server + asp.net + Internet Explorer11

 

asp.netのプログラム内で下記のようなチェックを行っていたのですが、なんとRequest.Browser.Browserで返される値が'IE'ではなくて

'Mozilla'が返されるようになっているではないですか。

Dim browser As String = Request.Browser.Browser
Dim major As Integer = Request.Browser.MajorVersion()

'ログ出力処理
Dim log As Log = log.getInstance
'ブラウザの確認を行いIE8以上で無ければエラー画面にリダイレクトを行う
If browser <> "IE" Then    ←★ この判定でIE10以下は'IE'と返されるがIE11だと'Mozilla'が返される ★
        log.OutputLog(enmLogLevel.ERR, CNS_FRAMEWORK_ERR_MESSAGE_010 & String.Format(" browser:{0}", browser))
  Response.Redirect(SESSION_BROWSER_ERR_PAGE, True)
Else
 If major < 8 Then
     log.OutputLog(enmLogLevel.ERR, CNS_FRAMEWORK_ERR_MESSAGE_010 & String.Format(" major:{0}", major))
  Response.Redirect(SESSION_BROWSER_ERR_PAGE, True)
 End If
End If

 

いままでIEのユーザエージェント文字列は

 

【IE8】

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648)

 

【IE9】

Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)

 

【IE10】

Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)

だったのですが

 

【IE11】

Mozilla/5.0 (IE 11.0; Windows NT 6.3; Trident/7.0; .NET4.0E; .NET4.0C; rv:11.0) like Gecko

 

というように'MSIE'から'IE'に変わってしまっています。

IE11のブラウザでasp.net(.net framework 4)で不具合

IE11のブラウザでasp.net(.net framework 4)で開発されたサイトにアクセスすると動作しなくなるケースがあります。

 【状況】
昨日windows8.1のマシンから前述のシステムへアクセスしたところ「__doPostBack' は定義されていません。」というエラーが発生。
サーバー側のクリック イベントが起動されません。

 

 【発生環境】
Windows2008Server + asp.net(.net framework 4) + Internet Explorer11

半年くらい前にもframework3.5 + Internet Explorer10でそのようなことがありました、サーバー側のユーザーエージェントの判定が今までIE5~9で数字部分の判定が正規表現チェック(^[5-9])で良かったのですが、IE10になったため当該正規表現では誤判定しているものでした。

 

IEもasp.netもMicrosoftのプロダクトなのでもう少しきちんとチェックして欲しいものです。

 

で今回はサーバー側でIE11を未知のブラウザと認識しCookeiが正しく処理されないとのこと。

 

googleで検索してみると

 

http://support.microsoft.com/kb/2836939

 

がひっかかりました、早速サーバーにて実行し問題解決。