kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

セミナーでいただいた質問など

24日のセミナーの最後ではパネルディスカッションということで、ホワイトボードに質問を貼ってもらって、それに回答するという形で約1時間おこないました。ここでも覚えている限りの質問を共有します。

XP Modeについて

質問が多かったです。XP Modeはどうも魔法の杖のほうに思われるかもしれないのですが、単なるVirtual PCで動作する、仮想マシンです。一台のPCで二台分のOSが動作しているだけです。したがってこんなことは一筋縄ではできません。

  • 特定のサイトだけXP ModeのIE6で動作させる(APP-Vを使えばそういうこともできます)
  • Windows 7からXP Mode内にあるアプリケーションと連携させる。特定のモジュール(dll)だけXP Mode内で動作させて、Windows 7のexeから動かすなんてことはだめです。
  • 設定はExplorerに統合されていますが、大体以前のVirtual PCと同じUIは出てきます。XPをシャットダウンさせる場合は、XPのウィンドウを起動して、Ctrl+Alt+Delでシャットダウンしないとだめですが、一度シャットダウンすると、休止にするか、シャットダウンにするか選択できます。
  • XP mode内のXPの文字はJIS90モードなので、日本語ファイルをやり取りするときは気をつけてください。

Win32 APIはどうなるの?

個人的な予想ですが、.NET Frameworkがまだ完全にカバーしているという状態でもないので、まだまだWin32 APIでも大丈夫でしょう。そして、新しいAPIはCOM使っているものが多いので、COMとはなんぞや?位は知っておいたほうがいいと思います。

64bit OSで動かないものってある?

私もVistaから64bit版に乗り換えましたが、64bitのドライバを提供してくれないと動作しないもの以外は割と動いています。典型的なのはマルチメディアと、プリンタ関係ですかね。
特に、FlashとかSilverlightとか、プリンタ周りで引っかかることが多いでしょう。Silverlightは64bitにする気、ないんでしょうかね…TechDays 2010のサイトができて、Silverlight4とか言ってますが…ほんとにすごいペースだなぁ。
引っかかりやすいところとして、.NET FrameworkはAny CPUで生成している場合、64bit OS上では64bitになってしまいます。そうなると32bit DLLをP/Invokeで使用しているようなコードは起動に失敗します。こういうところで「動かない」プログラムが出るかもしれませんが、それは作った人の不注意ですね。ちゃんとx86で生成しておけば、明示的に32bitとして実行されます。