none
Visual Studio 2005 に SP1 が適用されているかどうか判断するには? RRS feed

  • 質問

  • Visual Studio 2005 に SP1 が適用されているかプログラムから確認したいのですが、

    最もスマートな確認方法は何になるでしょうか?

     

    現状では、VS2005インストールディレクトリ内の「devenv.exe」のバージョンが

    以下のどれに該当するかで判断しようと考えています。

     

    VS2005 無印 ・・・ 8.0.50727.42

    VS2005 SP1 ・・・ 8.0.50727.762

    VS2005 SP1 Update for Vista ・・・ 8.0.50727.867

     

    FileVersionInfo vi = FileVersionInfo.GetVersionInfo(devenv.exeのフルパス);

    // viのProductPrivatePartでSP1が適用されているかどうか判断

     

    他の方法をご存じの方がいらっしゃいましたら、是非教えてください。

    2007年4月27日 5:29

すべての返信

  •  World of Insect さんからの引用
    他の方法をご存じの方がいらっしゃいましたら、是非教えてください。

    レジストリからであれば、BuildNumber か何かがあるハズです。

    ところで、

    FileVersionInfo vi = FileVersionInfo.GetVersionInfo(devenv.exeのフルパス);

    この devenv.exe のフルパスはどうやって取得されていますか?
    2007年4月27日 9:49
  • 早速の返信ありがとうございます。

     

    「devenv.exe」のフルパスについては、

    HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\8.0\Setup\VS

    内の、「EnvironmentPath」キーから取得しています。

    もしかしてもっと簡単な取得方法ありました?^^;

     

    「BuildNumber」については、上記レジストリパスの直下にありました。

    ただ、その中の「1041」キーの値は、"8.0.50727.42"となっています。

    私のPCにはSP1を適用しているのに期待した値になっていませんでした。。

    「プログラムの追加と削除」においてもSP1が表示されることを確認しています。

    何かおかしいですね。

    2007年4月27日 10:43
  •  World of Insect さんからの引用
    「devenv.exe」のフルパスについては、HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\8.0\Setup\VS 内の、「EnvironmentPath」キーから取得しています。

    であれば、直接値を見れば良いことにもなりますよね。

    「BuildNumber」については、上記レジストリパスの直下にありました。ただ、その中の「1041」キーの値は、"8.0.50727.42"となっています。

    あ、そうなのですか。
    実は、そちらの方を進めようとしていただけにちょっと残念です。

    ところで、なぜ devenv のバージョンを見たいのでしょう?
    開発時くらいしか関わりがないと思いますけど...
    2007年4月27日 12:58
  • 返信ありがとうございます。

     

    >ところで、なぜ devenv のバージョンを見たいのでしょう?

    >開発時くらいしか関わりがないと思いますけど...

     

    そうですね。

    開発環境にSP1が適用されているかどうかをチェックするプログラムを作ろうと

    思っていました。

    WebプロジェクトはSP1が適用されていないと作成できなかったりしますので。

     

     

    2007年4月28日 9:10