Microsoft .NET Framework 3.0 展開ガイド

 

Microsoft Corporation

2006 年 7 月

内容

まとめ
はじめに
インストール要件
   ソフトウェア要件
   ハードウェア要件
.NET Framework 3.0 再頒布可能パッケージの入手先
Visual Studio 2005 セットアップ プロジェクトを使用した .NET Framework 3.0 の再配布
ユーザーが.NET Frameworkを手動でインストールする
アプリケーションセットアップでの再頒布可能パッケージのチェーン
Web アプリケーション.NET Framework 3.0 の再配布
Microsoft .NET Framework 3.0 の検出
   レジストリ キーの読み取り
   インターネット エクスプローラーでのユーザー エージェント文字列の読み取り
.NET Framework 3.0 再頒布可能パッケージのコマンド ライン オプション
.NET Framework 3.0 再頒布可能パッケージのエラー コード

まとめ

この記事では、.NET Framework 3.0 再頒布可能パッケージである Dotnetfx3.exe を使用して Microsoft .NET Framework 3.0 アプリケーションを展開する方法について説明します。 (10ページ印刷)

メモ このドキュメントには、配布について説明するシナリオに関する情報が含まれる場合がありますが、このドキュメントは、コンポーネントの一部を使用または配布する権限をユーザーに付与するものではありません。 お客様による本コンポーネントの使用には、本コンポーネントの使用許諾契約書が適用されます。 コンポーネントの使用許諾契約書を確認して、お客様の権利と使用条件を理解してください。

はじめに

Microsoft.NET Framework 3.0 には、.NET Framework 3.0 アプリケーションを実行するために必要な Windows Vista API への.NET Framework 2.0 バインドを含む再頒布可能インストーラーが用意されています。

.NET Framework 3.0 再頒布可能パッケージは、スタンドアロンの実行可能ファイルとして使用できます。 ファイルの名前は、対象プラットフォームの種類によって異なります。 32 ビット プラットフォームの場合、ファイルの名前は Dotnetfx3.exe です。 64 ビット プラットフォームの場合、ファイルの名前は Dotnetfx3_x64.exe です。 セットアップ中に必要なコンポーネントをダウンロードする Dotnet3setup.exe という名前の小さな再頒布可能パッケージを展開することもできます。

メモ.NET Framework 3.0 での IA64 のサポートは、"Longhorn" という名前の Microsoft Windows Server コードに限定されます。Longhorn には既に.NET Framework 3.0 が含まれているため、再頒布可能パッケージは必要ありません。

再頒布可能パッケージを手動で起動してコンピューターにインストールすることも、.NET Framework 3.0 アプリケーションのセットアップ プログラムの一部として起動してインストールすることもできます。

メモ.NET Framework 3.0 をインストールするには、管理者特権が必要です。

インストール要件

このセクションでは、Microsoft .NET Framework 3.0 再頒布可能パッケージをインストールするコンピューターのソフトウェアとハードウェアの要件について説明します。 最小要件が満たされていない場合、Dotnetfx3.exeは再頒布可能パッケージのインストールをブロックします。

ソフトウェア要件

Microsoft .NET Framework 3.0 をインストールするには、次のいずれかのオペレーティング システムをターゲット コンピューターにインストールする必要があります。

  • Microsoft Windows XP Home または Microsoft Windows XP Professional(Service Pack 2 以降の両方)
  • Service Pack 1 以降を使用する Microsoft Windows Server 2003 ファミリ。

Microsoft Windows Vista (IA64 プラットフォームを含まない) と"Longhorn" IA64 Edition という名前の Microsoft Windows Server コードの場合、.NET Framework 3.0 はオペレーティング システムの機能です。

ハードウェア要件

次の表に、.NET Framework 3.0 を実行するためのハードウェア要件を示します。

  CPU が必要 RAM が必要
最小値 Pentium 400 MHz 96 MB
推奨 Pentium 1 GHz 以上 256 MB 以上

.NET Framework 3.0 再頒布可能パッケージの入手先

Microsoft .NET Framework 3.0 再頒布可能パッケージは、Microsoft Vista ダウンロード センターまたは Microsoft Windows Update Web サイトからダウンロードできます。

メモMicrosoft Windows Update サイトでは、.NET Framework 3.0 の正式にリリースされたバージョンのみが提供されます。ベータ版は提供されていません。

ユーザーにインターネットから Microsoft .NET Framework 3.0 をインストールさせる必要がある場合は、自分のネットワークに再頒布可能パッケージを投稿しないでください。 代わりに、ユーザーを Microsoft Vista ダウンロード センターまたは Microsoft Windows Update Web サイトに誘導します。

Visual Studio 2005 セットアップ プロジェクトを使用した .NET Framework 3.0 の再配布

Visual Studio 2005 で作成され、.NET Framework 3.0 が必要なアプリケーションを展開する場合、アプリケーションをインストールする前に、ターゲット コンピューターに.NET Frameworkをインストールする必要があります。 Visual Studio 2005 セットアップ プロジェクトを使用して作成するセットアップ実行可能ファイルに、.NET Framework 3.0 を含めることができます。 これが実用的でない場合は、後で説明するように、ユーザーに.NET Frameworkを手動でインストールさせることができます。

アプリケーションと共に Microsoft .NET Framework 3.0 をインストールするように Visual Studio 2005 セットアップ プロジェクトを構成すると、.NET Framework 3.0 はアプリケーションと共にパッケージ化されます。 アプリケーションのセットアップで起動条件が確認 whether.NET Framework 3.0 がインストールされており、必要に応じて、セットアップ プロセスによってアプリケーションをインストールする前に.NET Frameworkがインストールされます。 Microsoft .NET Framework 3.0 では、Framework 2.0 がインストール whether.NET チェックされます。 そうでない場合は、セットアップ プロセスによって、以前のバージョンの.NET Frameworkもインストールするように求められます。

.NET Framework 3.0 をアプリケーションのセットアップ プロセスに含めるには、セットアップ プロジェクトを作成するコンピューターに、オプションの Visual Studio Extensions for .NET Framework 3.0 をインストールする必要があります。

.NET Framework 3.0 用 Visual Studio 拡張機能がインストールされているかどうかを確認するには

  1. Windows コントロール パネルで、[プログラムの追加と削除] をクリックします。
  2. [プログラムの追加と削除] ダイアログ ボックスで、Microsoft Visual Studio 2005 Extensions for .NET Framework 3.0 の[現在インストールされているプログラム] の一覧を確認します。

Visual Studio 2005 Extensions for .NET Framework 3.0 が一覧にない場合は、Microsoft ダウンロード センターの Microsoft Visual Studio Code Name "Orcas" Community Technology Preview – Development Tools for WinFX ページで入手できる、WinFX 用開発ツールの一部として拡張機能パッケージをダウンロードしてインストールできます。

コンピューターに Visual Studio Extensions for .NET Framework 3.0 パッケージがインストールされていることを確認したら、.NET Framework 3.0 を含むセットアップ プロジェクトを作成できます。

.NET Framework 3.0 をセットアップ プロジェクトに含めるには

  1. Visual Studio 2005 で、次の手順に従って新しいセットアップ プロジェクトを作成します。

    1. [ ファイル ] メニューの [ 新規作成] をクリックし、[ プロジェクト] をクリックします。
    2. [ その他のプロジェクトの種類] で、[ セットアップと配置] を選択します。
    3. プロジェクトに名前を付け、[OK] をクリック します
  2. プロジェクト出力、マージ モジュール、ファイル、アセンブリを追加します。

  3. ソリューション エクスプローラーで、プロジェクト名を右クリックし、[プロパティ] をクリックします。

    [プロパティ ページ] ダイアログ ボックスが表示されます。

  4. [ 前提条件] をクリックします。

  5. [セットアップ プログラムを作成して前提条件コンポーネントをインストールするチェック] ボックスを選択します。

  6. 一覧で Microsoft .NET Framework 3.0 を見つけて、ターゲット プラットフォームに適したバージョンを選択します。

  7. 前提条件のソースの場所を指定します。

    .NET Framework 3.0 の場所については、Windows Vista ダウンロード サイトまたは独自のサイトを指定できます。 URL では、独自のアプリケーションを配布する CD を指定することもできます。

  8. [OK] をクリックします。

ユーザーが.NET Frameworkを手動でインストールする

場合によっては、アプリケーションで.NET Framework 3.0 を自動的にインストールするのは現実的でない場合があります。 そのような場合は、ユーザーが .NET Framework を手動でインストールできます。 再頒布可能パッケージは、「The.NET Framework 3.0 再頒布可能パッケージを入手する場所」セクションで前述したように、複数のソースから入手できます。 ただし、アプリケーションのユーザーが入手場所やインストール方法を知っていると想定しないでください。 セットアップ プロセスでは、.NET Framework を探す方法とインストールする方法についてユーザーに指示する必要があります。

アプリケーションセットアップでの再頒布可能パッケージのチェーン

Visual Studio セットアップ プロジェクトを作成しない場合、またはユーザーに.NET Framework 3.0 を手動でインストールさせる場合は、独自のアプリケーションセットアップの一環として、.NET Framework 3.0 インストール プロセスをチェーンできます。 .NET Framework 3.0 インストール プロセスをチェーンするには、コマンド ラインから再頒布可能パッケージを実行し、次のサイレント インストール コマンド ライン オプションを使用します。

/q /norestart

Web アプリケーション.NET Framework 3.0 の再配布

.NET Framework 3.0 の機能に依存する Web ベースのアプリケーションでは、.NET Frameworkをユーザーのコンピューターにダウンロードしてインストールする必要がある場合があります。 ブラウザー ヘッダーでユーザー エージェント文字列に対してクエリを実行することで、.NET Framework 3.0 がユーザーのコンピューターにインストールされているかどうかを確認できます。 正しいバージョンの.NET Frameworkがインストールされていない場合は、.NET Framework 3.0 ダウンロード センターにユーザーを誘導して、.NET Framework 3.0 パッケージを取得できます。

Microsoft .NET Framework 3.0 の検出

レジストリ キーを読み取り、インターネット エクスプローラーでユーザー エージェント文字列に対してクエリを実行することで、.NET Framework 3.0 がインストールされているかどうかを検出できます。

レジストリ キーの読み取り

インストールが成功すると、.NET Framework 3.0 インストーラーによってレジストリ キーが書き込まれます。 フレームワーク 3.0 がインストール whether.NET テストするには、次の表に示すレジストリ キーを確認します。

レジストリ キー名
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup
名前: InstallSuccess

種類:DWORD

データ: 1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform
名前: Version

種類: REG_SZ

データ: .NET CLR 3.0.build number

インターネット エクスプローラーでのユーザー エージェント文字列の読み取り

.NET Framework 3.0 がコンピューターにインストールされている場合、ブラウザー ヘッダーで報告されるユーザー エージェント文字列の一部として、.NET Framework 3.0 のバージョン番号が表示されます。 次の例は、JavaScript を使用して Framework 3.0 がインストール whether.NET 検出して報告するサンプル ページを示しています。

メモこのサンプル ページにはインターネット エクスプローラーが必要です。

<HTML>
  <HEAD>
    <TITLE>Test for .NET Framework 3.0</TITLE>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8" />
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var NETFX3RuntimeVersion = "3.0.50727";
    
    function window::onload()
    {
      if (HasRuntimeVersion(NETFX3RuntimeVersion))
      {
result.innerText = "This machine has the correct version of the .NET 
Framework 3.0 runtime: " + NETFX3RuntimeVersion + "."  + "\n\nThis 
machine's userAgent string is: " + navigator.userAgent + ".";
      } 
      else
      {
        document.write("The .NET Framework version 3.0 is not installed on this computer.<br/>"
+ "<a href='https://msdn.microsoft.com/windowsvista/default.aspx'>"
+ "Click here to get</a> .NET Framework 3.0 now.");      }
    }
    
    //
    // Retrieve the version from the user agent string and compare with specified version.
    //
    function HasRuntimeVersion(versionToCheck)
    {
      var userAgentString = navigator.userAgent.match(/.NET Framework 3.0 RunTime [0-9.]+/g);

      if (userAgentString != null)
      {
        var i;

        for (i = 0; i < userAgentString.length; ++i)
        {
          if (CompareVersions(GetVersion(versionToCheck), GetVersion(userAgentString[i])) <= 0)
            return true;
        }
      }

      return false;
    }

    //
    // Extract the numeric part of the version string.
    //
    function GetVersion(versionString)
    {
      var numericString = versionString.match(/([0-9]+)\.([0-9]+)\.([0-9]+)/i);
      return numericString.slice(1);
    }

    //
    // Compare the version strings by converting them to numeric format.
    //
    function CompareVersions(version1, version2)
    {
      for (i = 0; i < version1.length; ++i)
      {
        var number1 = new Number(version1[i]);
        var number2 = new Number(version2[i]);

        if (number1 < number2)
          return -1;

        if (number1 > number2)
          return 1;
      }

      return 0;
    }
    
    -->
    </SCRIPT>
  </HEAD>
  
  <BODY>
    <div id="result" />
  </BODY>
</HTML>

文字列 ".NET Framework 3.0" バージョンの検索が成功すると、次のメッセージが表示されます。

This machine has the correct version of the .NET Framework 3.0: 3.0.50727.
This machine's userAgent string is: Mozilla/4.0 (compatible; MSIE 6.0; 
Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 
3.0.50727).

それ以外の場合は、次のメッセージが表示されます。

The .NET Framework version 3.0 is not installed on this computer.
Click here to get the .NET Framework 3.0 now.

.NET Framework 3.0 再頒布可能パッケージのコマンド ライン オプション

次の表に、コマンド ラインから .NET Framework 3.0 再頒布可能パッケージ インストール プログラム (Dotnetfx3.exe、Dotnetfx3_x64.exe、またはDotnet3setup.exe) を実行するときに含めることができるオプションを示します。

オプション 説明
/q
すべての UI を抑制します。 このオプションでは、.INI ファイルを指定できません。
/quiet
/q と同じ。
/qb
最小限の UI が表示され、進行状況のみが表示されます。
/passive
/qb と同じ。
/uninstall
製品をアンインストールします。
/remove
/uninstall と同じ。
/f
インストールされているすべての.NET Framework 3.0 コンポーネントを修復します。
/nopatch
パッチが適用されないことを指定し、パッチ チェックをバイパスします。
/norollback
セットアップ コンポーネントが失敗した場合にセットアップがロールバックされないことを指定します。
/norestart
インストールの完了後にインストーラーがコンピューターを再起動しないことを指定します。 再頒布可能パッケージ インストーラーは、再起動が必要な場合ERROR_SUCCESS_REBOOT_REQUIRED (3010) を返します。
/?
このオプションの一覧を表示します。

.NET Framework 3.0 再頒布可能パッケージのエラー コード

次の表は、.NET Framework 3.0 再頒布可能パッケージインストール プログラム (Dotnetfx3.exe、Dotnetfx3_x64.exe、またはDotnet3setup.exe) によって返されるエラー コードの一覧です。 エラー コードは、インストーラーのすべてのバージョンで同じです。

エラー コード 説明
ERROR_SUCCESS
0 アクションが正常に完了しました。
ERROR_INSTALL_USEREXIT
1602 ユーザーがインストールを取り消しました。
ERROR_INSTALL_FAILURE
1603 インストール中に致命的なエラーが発生しました。
ERROR_UNKNOWN_PRODUCT
1605 このアクションは、現在インストールされている製品に対してのみ有効です。
ERROR_PATCH_PACKAGE_INVALID
1636 パッチ パッケージを開けなかったか、パッチが .NET Framework 3.0 に適用されませんでした。
ERROR_INVALID_COMMAND_LINE
1639 コマンド ラインの引数が無効です。
ERROR_SUCCESS_REBOOT_INITIATED
1641 インストーラーが再起動を開始しました。 これは成功を示し、セットアップは再起動後も続行されます。 (オプションが指定されている場合、 /norestart 再起動は実行されません)。
ERROR_PATCH_PACKAGE_REJECTED
1643 修正プログラム パッケージはシステム ポリシーによって許可されていません。
ERROR_SUCCESS_REBOOT_REQUIRED
3010 インストールを完了するには再起動する必要があります。 このメッセージが表示された場合、操作は成功しました。