Windows Server 2012 のアップグレードインストール

Windows Server 2008 R2 SP1環境の開発環境サーバーをWindows Server 2012へアップグレードインストールしてみました。

開発環境サーバーは主に、IISとHyper-Vホストとなっているサーバーです。

まず、Windows Server 2012のDVDを用意します。

isoをマウントする形式では、アップグレードの際の環境チェックに引っ掛かりますので、DVDからインストールする必要があります。
アップグレードの際の環境チェックでは、問題があった箇所と対処方法が示されるので、その通りに対応します。
私の環境では、DaemonTools LiteとMicrosoft Security Essentialsもアンインストールが必要となりました。

安全のため、Hyper-Vのゲストはシャットダウンしておきます。

必要な対処が完了し、再度インストーラを起動します。
あとは、ウィザードに従っていくだけで、Windows Server 2012へのアップグレードが完了しました。

Hyper-Vゲスト(Win7とWin8)も今まで通り動作していますし、WebサイトもアップグレードされたIIS上で問題なく動いています。

Windowsのアップグレードインストールは、殆ど行ったことがないのですが、タスクスケジューラやサービス設定も引き継がれていて、こんなにお手軽に環境が移行できると思いませんでした。

問題なく移行が出来ていれば、Windows.oldフォルダは不要ですので削除してしまいましょう。15GB程ディスクを消費しています。


Posted in 未分類 | Tagged | Leave a comment

Azure Storage Emulatorが起動できない場合

Azureの開発環境を久々に動かしたところ、ローカルのAzure Storage Emulatorが起動しなくなっていました。

別の開発のため、SQL Server Expressを削除し、Developer Editionをインストールしていたため、Emulatorが使用するDBが消えてしまっていたことが原因でした。

Storage Emulatorが使用するDBを再作成し、Emulatorと関連付けるため、Windows Azure Command Promptを起動して、以下のコマンドを実行します。

dsinit /sqlinstance: /forcecreate

sqlinstanceオプションに何も指定していないのは、SQL ServerがExpress Editionではないため、既定のインスタンス(名無し)を使用しているためです。

この後、手動でStorage Emulatorを起動すると、Visual StudioからAzureプロジェクトの起動ができるようになりました。


Posted in 未分類 | Tagged | Leave a comment

Bluetoothキーボードのチャタリングが解消した方法

最近、PCのキーボードをBluetooth接続のものに交換しました。

BuffaloのBSKBB09です。
「PC、スマートフォン、タブレット、PS3®で使える!!
Bluetooth®3.0に対応し、電池寿命が約15ヶ月の省電力薄型ワイヤレスフルキーボード」

使い始めは軽快でしたが、1日に何回か、発生し始めると頻繁にチャタリングが発生していました。
キーを1回押しただけで、そのキーが連続されて入力されてしまい、実用に耐えるものではありませんでした。
同じ文字が大量に入力される。BackSpaceを1回押しただけで、何十文字も消えてしまう。
この繰り返しです・・・

あくまで一例ですが、結果的に解決した方法がありますので、こちらで紹介します。
(その後の利用で再発してしまいました。ただし大幅に発生頻度は減りました。)

問題は、Bluetoothレシーバのドライバでした。
ドライバをWindows7標準からメーカー標準のものに変更したところ、全く発生しなくなりました。

私が使用していたのは、PLANEXの「BT-Micro3E1X」という製品。

メーカーサイトからドライバをダウンロードし、ドライバをインストール。
再ペアリングを実施し、無事解決しました。

ちなみに、チャタリングとは、電子回路の誤作動の一因となる機械的な振動によって発生する現象を示す用語のため、Bluetoothキーボードにおけるこの現象が「チャタリング」に該当するかは不明です。ネット上では、各社のBluetoothキーボードで、同様の現象がチャタリングとして数多く報告されていたので、ここでもそう呼びました。

多くの書き込みでは、「キーボードメーカーに問い合わせ、交換品が届くが、現象変わらず」という事例が殆どでしたが、もしかしたら他メーカーの場合でもレシーバのドライバ交換が有効なのではと思います。


Posted in 未分類 | Tagged , , | Leave a comment

マウスからペンタブレットへの移行

以前の投稿でも書いたことがあったが、マウスの反応が度々カクカクになることが続いていて、非常に操作ストレスを抱えた状態でのPC利用が続いていました。

私の場合Hyper-V上の仮想マシンに対して、RDPで操作することがメインだったため、原因がこれにあると考え、いろいろと対策をとってきたが、改善せず、無線マウスのドライバや無線LANとの干渉も疑ったが、どうにも改善しませんでした。

結局、ホストマシン上でも発生すること、有線マウスに交換すると治ったことなどから、無線マウスの交換も考えたが、治らなかった場合に無駄な投資となってしまうため、踏み切ることができませんでした。

そんな折、仕事でMacBook Airを使い始めたところ、タッチパネルの快適さに魅了されてしまい、自宅のデスクトップPCにもマウスの代わりにタッチパッドを導入しようと、WacomのペンタブレットBABOO FUN CTH470/K1を購入しました。
続きを読む >>


Posted in 未分類 | Tagged , | Leave a comment

[ASP.NET MVC] 配列、リスト、Dictionaryを含むモデルをバインドする

配列やリストやディクショナリの型のプロパティをビューに表示するだけでなく、更新した値をコントローラに渡すためには、HTMLタグのname属性が重要になります。

以下のようなモデルクラスを想定してみます。

    public class Book
    {
        public int ID { get; set; } // ID
        public string Title { get; set; } // 書名
        public int Price { get; set; } // 価格
        public string[] Authors { get; set; } // 著者
        public List<Review> Reviews { get; set; } // レビュー
    }

    public class Review
    {
        public int ReviewId { get; set; } // レビューID
        public string Content { get; set; } // レビュー内容
    }

BookクラスはAuthorsという配列プロパティと、ReviewsというReviewクラスのリストを持っています。

このインスタンスをビューに渡し、そこでの変更をコントローラで受け取るためには、全てのプロパティがバインドされている必要があります。
続きを読む >>


Posted in 未分類 | Tagged | Leave a comment

Visual Studio 2010 で競合したアプリ

キングソフト辞書というものをインストールしてから
Visual Studio 2010のWindows Formプロジェクトで、
修正後のビルド時にアプリケーションエラーで落ちるようになりました。

自分でも忘れたころにハマりそうなので、事例として書いておきます。

「マウスオン辞書」と「ハイライト翻訳」をオフにしておけば、回避できました。
フォームをフックしているので、影響があるのは仕方ないですね。

障害が発生しているアプリケーション名: devenv.exe、バージョン: 10.0.40219.1、タイム スタンプ: 0x4d5f2a73
障害が発生しているモジュール名: kernel32.dll、バージョン: 6.1.7601.17651、タイム スタンプ: 0x4e211318
例外コード: 0xc0000005
障害オフセット: 0x0002cf79
障害が発生しているプロセス ID: 0×2784
障害が発生しているアプリケーションの開始時刻: 0x01cd37bda8a730bf
障害が発生しているアプリケーション パス: C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe
障害が発生しているモジュール パス: C:\Windows\syswow64\kernel32.dll
レポート ID: f146873f-a3b0-11e1-8d55-d4bed9984cbd


Posted in 未分類 | Tagged | Leave a comment

.NET標準のログ出力機能の見直し

実際のプロジェクトではlog4netを使うことが殆どなのですが、
ちょっとしたサンプルプログラムや検証コードを書くときに.NET標準のログ出力クラスを何気なく使うことも多いかと思います。
ここでは、以下のクラスの特徴をざっくりと見直し、どれが使えるのかを考えてみました。
 System.Diagnostics.Debug
 System.Diagnostics.Trace
 System.Diagnostics.TraceSource

■System.Diagnostics.Debug

特徴:
・デバッグビルド時にのみコードが生成され、ログ出力が行われる。
・標準ではVisual Studioの出力ウィンドウのみ。
・TraceListenerにより、出力先を設定できる。
・ログレベルや出力オプションなどの機能はない。
・Assert や Indent があるよ。
続きを読む >>


Posted in 未分類 | Tagged , | Leave a comment

[WPF]定義済みRichTextBoxへのコードによる設定

XAMLで既に定義してあるRichTextBoxに対して、コードでテキストやリンクを
設定する際に少し手間取りました。

XAMLで定義されたRichTextBoxのインスタンスには、Blocksプロパティに要素が
最初から1つ存在するため、空だと思ってAddすると、先頭に空行ができてしまいます。
XAML上には要素としては見えいないので、なかなか気付きませんでした。

そのため、事前にClearメソッドを呼んでおく必要があります。
RichTextBoxをコードでインスタンス生成している場合は、問題ないようです。

            Hyperlink link = new Hyperlink();
            link.Inlines.Add("http://teruc.dnsalias.net/blog/");
            link.NavigateUri = new Uri("http://teruc.dnsalias.net/blog/");
            link.MouseLeftButtonDown += 
                new MouseButtonEventHandler(l_MouseLeftButtonDown);

            Paragraph para = new Paragraph();
            para.Inlines.Add("URL:");
            para.Inlines.Add(link);

            FlowDocument document = this.richTextBox.Document;
            document.Blocks.Clear();
            document.Blocks.Add(p);

以下はSilverlight向けのドキュメントですが、RichTextBoxの扱い全般について参考になります。
http://msdn.microsoft.com/ja-jp/library/ee681613(v=vs.95).aspx


Posted in 未分類 | Tagged | Leave a comment

Visual Studioでのデバッグ実行時のスレッド終了メッセージ

Visual Studioでデバッグ実行しているときに出力ウィンドウに、
以下のようなメッセージが出力されていることがあります。

「スレッド ‘<名前がありません>‘ (0xc80) はコード 0 (0×0) で終了しました。」

これは、各スレッドの終了を知らせるために、Visual Studioが既定で出力しているメッセージです。
「コード 0 で終了」なので、問題はないわけですが、なんとなく書いてみました。

多数のスレッドを起動している場合や独自にログ出力している場合などは、
逆にうるさい場合もありますよね。

そういう場合は、出力を停止させることも可能です。

Visual Studio 2010 では、[ツール] – [オプション]から、
[デバッグ] – [出力ウィンドウ] – [出力の全般設定] – [スレッド終了メッセージ]を「オフ」に変更してみてください。


Posted in 未分類 | Tagged , | Leave a comment

大量メモリ確保ツールv2

以前に作成したツールを少しアップグレードしたので公開します。

実行ファイル:MemoryEater.zip
ソースコード:MemoryEaterSource.zip

このツールには以下の機能があります。
・指定した量のメモリを超高速で確保する
・指定した量のメモリを指定した間隔で徐々に確保していく

用途としては、メモリがひっ迫した環境でのアプリケーションの動作を再現したい場合や利用可能なメモリが徐々に減少していく状況を再現したい場合を想定しています。

ツールの画面

利用方法は直感的に分かるかと思います。
1. 確保したい容量をMBytesまたはGBytesで指定する。
2. [開始]ボタンをクリックする。

以上です。

徐々にメモリが使用されていく状況を再現する場合は、[超高速]チェックを外し、スライダで速度を設定します。
環境によってメモリが確保されるスピードは変わるため、10ms程度の小さい値から試して速度を調整してください。
仕組み上「0」に設定しても超高速の場合より遅くなります。


Posted in 未分類 | Tagged , , | Leave a comment
This site has been fine-tuned by 3 WordPress Tweaks