LINQ Preview (May 2006)のインストール

 LINQで遊ぼうと思い立ち、インストールを試みました。ちょうど五月にPreview版が出ているのでそれを入れようとしましたが、入れようとすると「Cannot find a valid Product to install LINQ with」と怒られてしまいます。僕のマシンに入っているVisual StudioがTeam Editionだからかと思って調べてみると次のようなQ&Aが。

 http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=395991&SiteID=1
 これはドイツ語版に入れようとして失敗しているひと。言語が違う場合インストーラに起動オプションを与える必要があるらしいです。日本語に対応させるにはこうでしょうか。バッチファイルにしてキック。

msiexec.exe /i "LINQ Preview (May 2006).msi" VSSKUNAME="VisualStudio" VBPROJECTTEMPLATESDIR.D2FF0048DE394E4D8287E063EC3A086B="C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\ProjectTemplates\VisualBasic\LINQ\" VBIDEDIR.D2FF0048DE394E4D8287E063EC3A086B="C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\" VCSPROJECTTEMPLATESDIR.C7A0C9D96EB648548BD084A2A4C688EB="C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\ProjectTemplates\CSharp\LINQ Preview\" VCSPKGDIR.C7A0C9D96EB648548BD084A2A4C688EB="C:\Program Files\Microsoft Visual Studio 8\VC#\VCSPackages\" VCSIDEDIR.C7A0C9D96EB648548BD084A2A4C688EB="C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\" DEBUGVISUALIZERDIR.C7A0C9D96EB648548BD084A2A4C688EB="C:\Program Files\Microsoft Visual Studio 8\Common7\Packages\Debugger\Visualizers\" CSWEBPROJECTTEMPLATESDIR.4AE13B6F621C49B9995EB64016EC2E60="C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\ProjectTemplates\Web\CSharp\1041" VBWEBPROJECTTEMPLATESDIR.4AE13B6F621C49B9995EB64016EC2E60="C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\ProjectTemplates\Web\VisualBasic\1041" CSITEMTEMPLATEDIR.92D1EB66EA714CFE9C88A25F2388CD0F="C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\ItemTemplates\CSharp\1041" VBITEMTEMPLATEDIR.92D1EB66EA714CFE9C88A25F2388CD0F="C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\ItemTemplates\VisualBasic\1041\" DEVENV="C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\Devenv.exe" DEVENVPATH="C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\"

 しかし、それでも同じエラーができてインストールできません。もうちょっと調べてると、海外に似たような人がいました。

 http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=404265&SiteID=1

 これはスペイン語版で失敗している模様です。それに対するMSの方からの返事、

You need at least 1 valid and supported product to install LINQ Preview (unfortunately there's no override at this moment). So please download and install one of the following Express Editions on your machine

English VB Express Edition 2005

English C# Express Edition 2005

or

English Visual Web Developers Express Edition 2005

That should get you past the product check and allow installation. The command line override will then take care of the rest.


 えー。結局「有効な Visual Studioのバージョンが一つ必要」ってことですか。というわけで、英語版のC# Express Edition 2005をインストールしてみました。めんどうですね(余談ですが、Express Editionはすでに入っているIDEと同じ場所にしか入れられないんですね。違う場所にしたかったんですが、すでに入っているTeam Editionと同じパスしか選択できません、とわざわざ書いてあり、インストール先を変更できない状態でした)

 で、ようやくLINQのほうのインストーラを上記バッチ経由で起動。おお、動いた。とちゅうで既存のC#のインテリセンスを上書きして良いかどうか聞かれます。僕の場合はふだんはVB.NETで開発しているから大丈夫だろう……(とおもったらVBのインテリセンス・コンパイラも汚染される模様。現行プロジェクトのorderとかgroupとかいう変数が全部おかしなことになってしまった。これじゃ試しに入れられません)。というわけで、無事インストーラは終わりました。起動してみると先に入っていたTeam Edition側でもLINQプロジェクトが選べるようになっていました。

 プロジェクトを作ろうとすると、いきなりError Loading string resource ID 301とか出ましたが、無視して進んだらなんとかプロジェクトの作成もでき、コンパイル・実行もできました。