修正された?:Windows8.1開発者用ライセンスを取得できませんでした エラー 0xC03F1014

先月、MSDN フォーラムで「Windows8.1開発者用ライセンスを取得できませんでした エラー 0xC03F1014」と表示されて開発者用ライセンスが取得できないという質問 が挙がっていた。

今月に入って、KB2913270 を適用すると改善する という情報が Microsoft の担当者から寄せられているので、もし、お困りの方は試してみてはいかがでしょうか。

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

Microsoft Help Viewer 2.1でローカルストアパスがアクセスできなくなった場合のリカバリー

Visual Studio 2013 などに標準で付属している Microsoft Help Viewer 2.1(ヘルプビューア)はコンテンツの管理画面からローカルストアを変更することができます。

image

この時に指定したフォルダー・ドライブが何らかの事情でアクセスできなくなると、エラーメッセージとして「ヘルプ コンテンツのインストール先に指定した場所が無効か、アクセス許可がありません。」というエラーを表示し、即座に終了するという回復不能な状態に陥ります。

image

そこで、この状態からの回復をトライしてみた記事を取り上げてみます。
手順の途上にレジストリを触る箇所があります。レジストリは取り扱いを間違えると Windows が起動しなくなるなどの深刻な事態を招く可能性があります ので、十分にお気をつけください。

  1. レジストリエディタで以下の場所を開く。(Visual Studio 2013 の場合)
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Help\v2.1\Catalogs\VisualStudio12(64bit 環境)
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Help\v2.1\Catalogs\VisualStudio12 (32bit 環境)
  2. LocationPath にアクセスできなくなったフォルダーパスが入っているので、新しく保存先としたいフォルダー名を指定する。
    image
  3. これだけでは足りないので、指定したフォルダーに空のファイルでよいので「CatalogType.xml」という名前を持つファイルを作る。
    たとえば、新規テキスト文書で作ってこの名前に変えてもよい。拡張子を変えるため、拡張子を表示しておいた方がやりやすいです。
  4. ここまでで準備完了で、また Visual Studio 2013 からヘルプを表示しましょう。

今回、試した Windows 7 (x64) 環境では回復できました。
環境やバージョンによってはうまくいかないかもしれませんので、自己責任で試してください。

VS2013 リリース後の VS2012 言語パックの入手方法

Visual Studio 2013 がリリースされたことにより、Visual Studio のダウンロードページから Visual Studio 2012 の言語パックのダウンロードリンクがなくなっていそうだったので、ダウンロード方法をメモしておく。

http://www.microsoft.com/ja-jp/download/details.aspx?id=30681

このページに飛んだ上で、「言語を選んでください」から対象の言語を選べばよい。試しに「英語」を選んだ先のダウンロードリンクから英語の言語パックのダウンロード・インストールができた。

MSDN サブスクリプション契約者であれば、サブスクライバーダウンロードから「Visual Studio 2012 Language Pack」で検索すれば出てくる。検索対象言語でインストールしたい言語を選ぶのを忘れないようにしましょう。
検索で出てくるのは「Visual Studio 2012 Language Pack (x86) – Web Installer (English)」といった名称です。

(Visual Studio 2012 から海外版の Visual Studio をインストールすることなく、別言語の IDE を使えるようになっており、Visual Studio 2013 でも踏襲されている模様)

WebClient トラブル調査:ヘッダーの差異を調べる

わんくま同盟さんの質問掲示板の「C++.NetでWebClientのOpenReadについて」からのネタです。

今回の事例では、IE からは閲覧できて、WebClient では 503 エラーとなるものでした。
そこで、かんたんにコードを書いて実験することにします。

var wc = new WebClient();
using (var stream = wc.OpenRead(url))
{
}

※url はリクエストを投げる URL を示す文字列変数。

実際に質問に上がっていた URL で試すと、確かに 503 エラーを内包する Exception がスローされます。

ここで、Fiddler を使って差分を見ることにします。

まずは、上記のサンプルコードで試したときの通信内容です。

左側でセッションを選択すると右側に詳細が表示されますので上のビューの Headers を確認します。

非常にシンプルなリクエストになっていることがわかります。

image

次に IE で同じ URL にアクセスしてみて、多数のセッションが表示される中で、同じ URL に対するリクエストを選択して、同じように上のビューの Headers を確認します。

(掲載画像は関係ない部分をモザイクでつぶしています)

image

Accept, Accept-Encoding, Accept-Language, User-Agent などが増えていることがわかります。

1 つのヘッダーを追加するだけで足りるかもしれませんし、複数のヘッダーを追加しないとダメなケースもあるかもしれません。組み合わせを考えて試してみましょう。

今回の事例では User-Agent を何か指定すれば OK だったみたいですので、1 個ずつ試していけばそのうち解決しますね。

なお、この方法でわかるのは、その時点の相手のページがどのようなヘッダー、値を条件にしているかだけであり、将来的に変更される恐れがあります。これは相手の方針やメンテナンス・リニューアルなどの事情によるので不確か(リスク)です。

もしも、相手側がブラウザー以外の閲覧を好ましく思っていないのであれば、無理にやらない方がいいかと思います。

unsigned short型配列からBitmapを作る

ありふれたネタかもしれませんが、コミュニティでそれらしい質問が上がっていたのでざっと書いてみました。

http://wp.me/a19AcI-5U
(Visual Studio 2010 / .NET 4 プロジェクト)

鍵となるのは Bitmap クラス、BitmapData クラスです。(WriteUInt16ToIndexed8Bitmap や WriteUInt16ToRgb24Bitmap あたり)
Bitmap クラスをサイズ・ピクセルフォーマットを指定してインスタンスを生成し、そのインスタンスの LockBits メソッドで書き込み先のメモリを用意します。
このメモリに必要な変換を書けたデータを 1 bytes / pixel や 3 bytes / pixel で Marshal.Copy や unsafe のポインタで書き込んで、UnlockBits メソッドで閉じるだけ。

ただし、Format8bppIndexed の場合はカラーパレットの設定も必要なのでお忘れなく。

※上記サンプルを .NET 3.5 以前で実行する場合、currentPointer 変数周りでコンパイルエラーになりますので、一旦 long 型にキャストして足し算してから、IntPtr 型にキャストし直してください。(currentPointer = (IntPtr)((long)currentPointer + stride); みたいな形)

VivoTab RT キーボードドックを 3 千円で購入

ヨドバシから単品で買っていた人向けに 2,980 円で買えるキャンペーンの案内メールが来ていたので買いました。

改めて見ると、キーボードドックつき TF600-GY32D が 62,800、単品 TF600-GY32 が 59,800、KBDOCK-TF600 単品が 14,800 と何かおかしい。セットで買わないと明らかに損する価格体系。

セットの TF600-GY32D は発売がまだですが、単品を組み合わせたお買い得セット 62,780 がヨドバシで売られていますね。単品の在庫処分なのだろうか?

[WP8] WP8 デバイスでの着信音の追加

公式に書いてあります が、WP7.5 時代とやり方が違います。

デバイスを USB でつなぐと、コンピューターノード以下にデバイスが現れるのでそこから、Ringtones フォルダーを選び、そこにファイルをコピーすれば設定できるようになります。
相変わらず、電話の着信音だけで、通知系の音のカスタマイズはできないのかもしれません。(触っている限りの印象ですが)

image

なお、日本語対応のデバイスであれば、公式通りの「着信音」フォルダーになるかもしれません。
ただ、手元の HTC8X を英語設定で使う限り、「Ringtones」でした。

—–

Windows Phone 7.5/IS12T の場合はこちら。

[WP8] 日本語 10 キーではフリックだけなどが選べる

WP8 では設定のキーボードから、各キーボードごとに設定ができるようになっている。

日本語 10 キーでは、「フリックおよびマルチタップ入力(Flick and Multi-tap Input)」、「フリック入力(Flick Input)」、「マルチタップ入力(Multi-tap Input)」が選べるようになっているようだ。
「フリック入力」の設定にしておけば、「あ」列の連続を斜めにフリックしなくても「あ」列を連続入力できるようになる。どちらかしか使わない人は設定を変えるとよいかも。

wp8keyboard