社本@元ネオニート Blog

社本@元ネオニート (元々ワック) のいたずら書き (for Programmers)

AILight Banner
AILight Blog

プロフィール

社本@元ネオニート Blog
働いたら負けかなと思っていたのですが。。とうとう働き始めました。アメリカのシアトル・エリアにある企業向けのバックアップソフトを開発している会社です。日本人は私だけ。なんとか。。やっていけてるようです。

目次

Blog 利用状況

記事分類

過去の記事

タグ

.NET Framework がインストールされているかどうかの確認方法

.NET Framework がインストールされているかどうかの確認するコードです。
当初は、Windows InstallerのAPIで確認していたのですが、Windows Server 2003 上に
インストールされる .NET Framework Version 1.1 には使用できないことが判明。
これは、Windows Server 2003 では、.NET Framework Version 1.1 は OS自体によって
インストールされるため、Windows インストーラによってインストールされる製品としては
登録されていないからです。

.NET Framework 1.1 の再配布
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpdnnetdev/htm/redistdeploy1_1.asp

---
// .NET Framework がインストールされているかどうかの確認
static bool IsDotNetFxInstalled(LPCTSTR szVersion = _T("v1.1.4322"))
{
 CString strSubKey;
 strSubKey.Format(_T("SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\%s"), szVersion);

 DWORD dwInstall = CRegHelper::SHGetLongValue(
  HKEY_LOCAL_MACHINE,
  strSubKey,
  _T("Install"));
 if (dwInstall == 0)
 {
  return false;
 }

 return true;
}

// LangagePack がインストールされているかどうかの確認
static bool IsLangPackInstalled(LPCTSTR szVersion = _T("v1.1.4322"), LCID lcid = 1041)
{
 CString strSubKey;
 strSubKey.Format(_T("SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\%s\\%d"), szVersion, lcid);

 DWORD dwInstall = CRegHelper::SHGetLongValue(
  HKEY_LOCAL_MACHINE,
  strSubKey,
  _T("Install"));
 if (dwInstall == 0)
 {
  return false;
 }

 return true;
}
---

投稿日時 : 2005年1月12日 15:40


コメントを追加

#  re: .NET Framework がインストールされているかどうかの確認方法 2005年1月12日 15:52 渋木宏明(ひどり)

4322 決めウチって大丈夫なのかな?

.NET Framework のランタイムって、Server 以上と未満とでサービスパックの内容が違ってたりしてたから、ちょっと心配。

#  re: .NET Framework がインストールされているかどうかの確認方法 2005年1月12日 21:27 菊池

アプリケーション側のSideBySideの設定によるかな。
1.1.* で確認するか 1.1.4322まで確認するかはそれ次第の気がします。

#  re: .NET Framework がインストールされているかどうかの確認方法 2005年1月12日 22:01 社本@ワック

> 4322 決めウチって大丈夫なのかな?

この関数については、"v1.1.4322"がインストールされているかどうかを正確に確認するためのものだから、問題はないかな。
ただ、"v1.1"が入っているかどうかを確認したいのだとするとまた別の手法が必要でしょう。

なお、Windows Server 2003でも、"v1.1.4322"で問題はありませんでした。

#  re: .NET Framework がインストールされているかどうかの確認方法 2005年1月15日 3:28 渋木宏明(ひどり)

64bit は?
と、問うてみるテストw

#  ASP.NETのインストール確認方法 2005年2月7日 14:44 菊池 Blog

ASP.NETのインストール確認方法

#  .NET Framework のサイレントインストール (その2) 2005年7月25日 7:51 社本@ワック Blog

.NET Framework のサイレントインストール (その2)

#  re: .NET Framework がインストールされているかどうかの確認方法 2006年1月17日 18:18 初心者

インストーラーを作成する際の参考になりました。ありがとうございますm(__)m
タイトル
名前
URL
コメント