チュートリアル: Web 配置パッケージを使用した Web アプリケーション プロジェクトの配置 (パート 1/4)
これは、Web 配置パッケージを使用して Web アプリケーション プロジェクトを配置する方法を説明するチュートリアル シリーズの 1 番目のチュートリアルです。 このシリーズでは、ファイル システムの Web アプリケーション プロジェクトを作成します。 最初にローカル IIS テスト用にローカル コンピューターを配置し、続いてこれをステージング サーバーに配置します。 ステージング サーバーに配置する際に使用する配置パッケージは、運用サーバーへの配置にも使用できるように構成されます。
このチュートリアルのシリーズでは、次の作業について説明します。
デバッグ ビルド構成のパッケージを作成する。
リリース ビルド構成のパッケージを作成する。
配置先環境の Web.Config ファイルの設定を変換する。
配置時にカスタム SQL スクリプトを含める。
既に配置されているデータベースを再配置する。
既に配置されているデータベースを配置から除外する。
複数の開発データベースを 1 つの配置先データベースに配置する。
ローカル コンピューター上で作成されたアカウント情報の有無にかかわらず、既定の ASP.NET メンバーシップ データベースを配置する。
パッケージのインストール時に変更できるようにする必要がある構成値にカスタム配置パラメーターを使用する。
IIS マネージャーを使用して、ローカル コンピューターにパッケージをインストールする。
deploy.cmd ファイルを使用して、リモート コンピューターにパッケージをインストールする。
このチュートリアルでは、次の作業について説明します。
デバッグ ビルド構成のパッケージを作成する。
配置先環境の Web.Config ファイルの設定を変換する。
複数の開発データベースを 1 つの配置先データベースに配置する。
配置時にカスタム SQL スクリプトを含める。
ローカル コンピューターで作成されたアカウント情報を使用して、既定の ASP.NET メンバーシップ データベースを配置する。
IIS マネージャーを使用して、ローカル コンピューターにパッケージをインストールする。
必須コンポーネント
このチュートリアル シリーズを完了させるための要件を次に示します。
Visual Studio または Visual Web Developer Express。
注意
Visual Studio を使用している場合、このチュートリアルでは、最初に Visual Studio を起動したときに設定の [Web 開発] コレクションを選択していることを前提としています。詳細については、「方法: Web 開発環境の設定を選択する」を参照してください。
SQL Server Express 2008 以降のバージョン。 (既定では、Visual Studio と共にインストールされます。)
AdventureWorksLT データベースの .mdf ファイルのバージョン。 このファイルは、CodePlex の Web サイトの「Microsoft SQL Server: Database Product Samples (Microsoft SQL Server: データベース製品サンプル)」から、SQL2008.AdventureWorksLT2008_Only_Database.zip をダウンロードすることで入手できます。
IIS 7 がローカル コンピューターで有効になっていること。
ASP.NET 4 がローカル コンピューターの IIS 7 に登録されており、ASP.NET 4 アプリケーション プールが既定の Web サイトに割り当てられていること。 詳細については、「ASP.NET IIS 登録ツール (Aspnet_regiis.exe)」を参照してください。
ローカル コンピューターの管理者権限。
さらに、4 番目のチュートリアルで配置パッケージのインストールを完了させるための要件を次に示します。
- 配置先となる 2 台目のコンピューター。 2 台目のコンピューターでも IIS 7 が有効で、ASP.NET 4 が IIS 7 に登録されており、ASP.NET 4 アプリケーション プールが既定の Web サイトに割り当てられている必要があります。 このコンピューターを設定する場合は、管理者権限を持っている必要があります。 コンピューターの設定を他の人に任せた場合は、使用する配置方法によっては管理者権限が必要になることがあります。 詳細については、2 台目のコンピューターが必要になるチュートリアル「チュートリアル: Web 配置パッケージを使用した Web アプリケーション プロジェクトの配置 (パート 4/4)」を参照してください。
配置する Web プロジェクトの作成
次の手順では、Visual Studio の ASP.NET Web アプリケーション プロジェクト テンプレートを使用して、配置する Web アプリケーション プロジェクトを作成します。 ASP.NET の既定のメンバーシップ データベースを作成し、AdventureWorksLT データベースを追加してから、コントロールを追加して AdventureWorksLT データベースのデータを表示します。
配置する Web プロジェクトを作成するには
Visual Studio の [ファイル] メニューの [新しいプロジェクト] をクリックします。
注意
[新しい Web サイト] ではなく [新しいプロジェクト] を必ず選択してください。パッケージの配置は、Web アプリケーション プロジェクトでのみ使用できます。
[新しいプロジェクト] ダイアログ ボックスが表示されます。
[インストールされたテンプレート] ウィンドウで、[Visual Basic] または [C#] を展開し、[Web] をクリックします。
[ASP.NET Web アプリケーション] テンプレートを選択します。
[新しいプロジェクト] ダイアログ ボックスは次の図のように表示されます。
[名前] ボックスに「AdventureWorks」と入力します。
[OK] をクリックします。
Visual Studio によって Web アプリケーションが作成されます。 このアプリケーションのデータベースを含む App_Data フォルダーが作成されますが、このフォルダーにはデータベースはまだ存在しません。
ソリューション エクスプローラーで Account フォルダーを展開して Register.aspx ファイルを右クリックし、[ブラウザーで表示] をクリックします。
次の図に示すように、[アカウントの新規作成] ページが表示されます。
[ユーザー名] に「newuser」、[パスワード] に「newuser」と入力し、電子メール アドレスを入力して、[ユーザーの作成] をクリックします。
App_Data フォルダーに ASPNETDB.MDF SQL Server データベース ファイルが作成され、指定した資格情報が入力されます。 ソリューション エクスプローラーで .mdf ファイルを表示するには、ソリューション エクスプローラー ツール バーの [すべてのファイルの表示] をクリックします。
SQL2008.AdventureWorksLT2008_Only_Database.zip ファイルの内容をプロジェクトの App_Data フォルダーに抽出します。 このサンプル データベースの詳細については、このトピックで前に説明した「前提条件」を参照してください。
Web.config ファイルを開きます。
connectionStrings 要素に、次の例に示すように AdventureWorksLT データベースの接続文字列を追加します。
<connectionStrings> <add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" /> <add name="AWLTConnectionString" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\AdventureWorksLT2008_Data.mdf;User Instance=true" providerName="System.Data.SqlClient" /> </connectionStrings>
Web.config ファイルを保存して閉じます。
Default.aspx ファイルを開きます。
ソース ビューにファイルが表示されます。
h2 要素および p 要素を削除し、その場所に次のマークアップを追加します。
<h2> Welcome to AdventureWorks! </h2> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:AWLTConnectionString %>" SelectCommand="SELECT SalesLT.Product.* FROM SalesLT.Product"> </asp:SqlDataSource> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ProductID" DataSourceID="SqlDataSource1"> <Columns> <asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" /> <asp:BoundField DataField="Color" HeaderText="Color" SortExpression="Color" /> <asp:BoundField DataField="ListPrice" HeaderText="ListPrice" SortExpression="ListPrice" /> <asp:BoundField DataField="Size" HeaderText="Size" SortExpression="Size" /> <asp:BoundField DataField="Weight" HeaderText="Weight" SortExpression="Weight" /> </Columns> </asp:GridView>
このマークアップによって、アプリケーションのタイトルが「Adventure Works」に変更され、AdventureWorksLT テーブルの 1 つのデータが表示される GridView コントロールが追加されます。 このコントロールを使用すると、AdventureWorksLT データが正常に配置されたことを確認できます。
Default.aspx ファイルを保存して閉じます。
必要に応じて、次の手順でマスター ページの見出しを変更します。
Site.master ファイルを開きます。
My ASP.NET アプリケーションを削除し、Adventure Works で置き換えます。
ファイルを保存して閉じます。
次の手順に従ってサイトをテストします。
Ctrl キーを押しながら F5 キーを押してアプリケーションをテストします。
Default.aspx ページがブラウザーに表示されます。 次の図のように、ページに Adventure Works 製品のリストが表示されます。
[ログイン] ハイパーリンクをクリックします。
[ログイン] ページが表示されます。
[ユーザー名] と [パスワード] の両方に「newuser」と入力し、[ログイン] をクリックします。
Default.aspx ページが開き、次の図に示すように右上隅に [ようこそ newuser!] と表示されます。
ブラウザーを閉じます。
配置先データベースの作成
現在の Web プロジェクトには 2 つのデータベースがあります。 両方のデータベースの内容を 1 つのデータベースに配置します。 稼働環境では、2 つではなく 1 つのデータベースを維持管理した方がコスト効果が高いことがあります。
次の手順では、配置先となる空の配置先データベースを作成します。
配置先データベースを作成するには
サーバー エクスプローラーで、[データ接続] を右クリックし、[新しい SQL Server データベースの作成] をクリックします。
[新しい SQL Server データベースの作成] ダイアログ ボックスが表示されます。
[サーバー名] ボックスに、「localhost\SQLExpress」と入力します。
[新しいデータベース名] ボックスに、「AdventureWorksTest」と入力します。
データベース名を入力すると、次の図のような [SQL Server データベースの新規作成] ダイアログ ボックスが表示されます。
[OK] をクリックします。
新しいデータベースが作成され、[サーバー エクスプローラー] ウィンドウの [データ接続] フォルダーに次の図のように表示されます。
対象データベースのアクセス許可スクリプトの作成
IIS に配置された Web アプリケーションは、既定の ASP.NET 4 アプリケーション プールに割り当てられ、アプリケーション プールの資格情報を使用することでこのデータベースにアクセスできるようになります。 したがって、これらの資格情報への読み取り権限を許可するスクリプトも作成する必要があります。
次の手順で、アプリケーション プールの資格情報にデータベースの読み取り権限を許可するために実行するスクリプトを作成します。
アプリケーション プールに読み取り権限を許可するスクリプトを作成するには
テキスト エディター (メモ帳など) を開きます。
新しいテキスト ファイルを作成し、次の Transact-SQL ステートメントを挿入します。
CREATE LOGIN [IIS APPPOOL\ASP.NET v4.0] FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english] GO CREATE USER [AdventureWorksUser] FOR LOGIN [IIS APPPOOL\ASP.NET v4.0] GO EXEC sp_addrolemember 'db_datareader', 'AdventureWorksUser' GO
注意
このスクリプトは、Windows 7 および Windows Server 2008 R2 の既定のセキュリティ設定で動作するように設計されています。旧バージョンの Windows を使用しているか、コンピューターにカスタム セキュリティ設定が行われていると、このスクリプトを IIS で実行しても Web サイトが使用する資格情報でデータベースが使用できない場合があります。SQL Server のセキュリティの詳細については、「SQL Server オンライン ブック」を参照してください。
ファイルに AdventureWorksGrant.sql と名前を付け、コンピューター上のフォルダーに C:\Temp のように保存します。
このスクリプトは、任意のフォルダーに保存できます。 このチュートリアルの後半でこのスクリプトにアクセスするため、この場所を覚えておいてください。
アクティブなビルド構成の設定
既定では、新しいプロジェクトのアクティブなビルド構成はデバッグです。 このビルド構成を初回配置に使用して、ローカル コンピューターの IIS に配置します。 次の手順では、正しいビルド構成が選択されていることを確認します。
アクティブなビルド構成を設定するには
[ビルド] メニューの [構成マネージャー] をクリックします。
[構成マネージャー] ダイアログ ボックスが表示されます。
[アクティブ ソリューション構成] ボックスの一覧で、[デバッグ] が選択されていることを確認します。
通常、[アクティブ ソリューション構成] ボックスの一覧は、[標準] ツール バーにも表示されます。 [標準] ツール バーに表示されている場合は、構成マネージャーを開かなくても、ビルド構成を確認または変更できます。
構成マネージャーを終了します。
配置パッケージの設定の指定
次の手順で、配置するファイルと IIS 設定、およびパッケージの作成方法を指定します。
配置パッケージの設定を指定するには
ソリューション エクスプローラーで、プロジェクトを右クリックし、[プロパティ] をクリックします。
[プロパティ] ページが表示されます。
[Web のパッケージ化/発行] タブをクリックします。
次の図に示すように、[Web のパッケージ化/発行] タブが表示されます。
[構成] ボックスの一覧で、[アクティブ (Debug)] が選択されていることを確認します。 既定では、アクティブなビルド構成が選択されています。 前の手順では、アクティブなビルド構成を [デバッグ] に設定します。
[配置する項目 (すべての配置方法に適用)] ボックスの一覧で [このアプリケーションの実行に必要なファイルのみ] チェック ボックスがオンになっていることを確認します。
[生成されたデバッグ シンボルを除外する] チェック ボックスがオフになっていることを確認します。
この部分のチュートリアルでは、テスト目的でコンピューターに配置を設定します。 そのため、デバッグできる必要があります。
注意
配置されたサイトをデバッグ モードで実行できるかどうかは、このオプションと Web.config ファイルの設定で決まります。ビルド構成の名前には依存しません。
[App_Data フォルダーからファイルを除外する] チェック ボックスをオンにします。
このプロジェクトでは、App_Data フォルダー内の SQL Server Express .mdf ファイルを使用しますが、空の配置先データベースでスクリプトを実行することによってこれを配置します。 したがって、.mdf ファイルは配置しません。
[[SQL のパッケージ化/発行] タブで構成したすべてのデータベースを含める] チェック ボックスがオンであることを確認します。 ([SQL のパッケージ化/発行] タブは次の手順で構成します)。
[ZIP ファイル形式で配置パッケージを作成する] チェック ボックスがオンになっていることを確認します。
配置ツールは、.zip ファイル形式のパッケージとして機能します。 このチェック ボックスがオフの場合、パッケージはフォルダー構造にファイルとして作成されます。 これは通常、配置したサイトのアーカイブ コピーを作成するために行われます。
[パッケージを作成する場所] ボックスに、次の値 (プロジェクト名として AdventureWorks を指定した場合の既定値) が含まれていることを確認します。
obj\Debug\Package\AdventureWorks.zip
[対象サーバーで使用する IIS Web サイト/アプリケーション名] ボックスに、「Default Web Site/AdventureWorks」と入力します。
[Web のパッケージ化/発行] タブへの変更を保存します。
データベースの配置設定の指定
次の手順では、配置するデータベースと配置方法を指定します。 また、前の手順で作成した AdventureWorksGrant.sql スクリプトが配置中に実行されるように指定します。
配置時に実行する SQL Server スクリプトを指定するには
[SQL のパッケージ化/発行] タブをクリックします。
次の図に示すように、[SQL のパッケージ化/発行] タブが表示されます。
[Web.config からインポート] をクリックします。
Visual Studio は、アプリケーションの Web.config ファイルを読み取って接続文字列を見つけます。 Web.config ファイルの接続文字列ごとに、[データベース エントリ] グリッドに行が作成されます。 既定では、[データベース エントリ] グリッドの名前は接続文字列名に -Deployment サフィックスを追加したものになります。
このチュートリアルでは、2 つの行が作成されます。 次の図に示すように、1 つは ApplicationServices-Deployment、もう 1 つは AWLTConnectionString-Deployment という名前が付きます。
[データベース エントリ] テーブルで、[ApplicationServices-Deployment] 行が選択されていることを確認します。
[データベース エントリ] グリッドより下のフィールドは、[データベース エントリ] グリッド内の選択された行に適用されます。 行が選択されていない場合、このテーブルより下のフィールドは無効になります。
[対象データベースの接続文字列] ボックスに、前の手順で作成した AdventureWorksTest データベースの接続文字列を入力します。 この処理は、次の手順で実行します。
[サーバー エクスプローラー] ウィンドウで、[データベース接続] フォルダーを展開し、[AdventureWorksTest] データベースを選択します。
[プロパティ] ウィンドウで、[接続文字列] プロパティの値を選択し、コピーします。 次の図は、[プロパティ] ウィンドウを示しています。
[対象データベースの接続文字列] ボックスに、接続文字列を貼り付けます。
[既存のデータベースからのデータまたはスキーマの取得] チェック ボックスがオンであることを確認します。
[Web.config からインポート] をクリックした場合、このオプションは自動的にオンになります。 Web.config ファイルの接続文字列を使用して [ソース データベースの接続文字列] ボックスにも自動的に入力されます。
[データベース スクリプトのオプション] ボックスの一覧を [スキーマとデータ] に設定します。
配置後、配置先データベースには、プロジェクトの作成時に作成したユーザー アカウントの資格情報が含まれるようになります。
[データベース エントリ] テーブルで、[AWLTConnectionString-Deployment] 行を選択します。
グリッドの下のフィールドに既定値が表示されます。
[対象データベースの接続文字列] ボックスに、ApplicationServices データベース用に入力したものと同じ対象データベースの接続文字列を入力します。
両方のデータベースに同じ対象データベース接続文字列を使用します。 このため、配置中にデータベース オブジェクトの作成と取得に使われたスクリプトが同じデータベースで実行されます。 この結果、対象データベースに、両方のプロジェクト データベースのすべてのテーブルおよびその他のデータベース オブジェクトが含まれるようになります。
[既存のデータベースからのデータまたはスキーマの取得] チェック ボックスがオンであることを確認します。
[データベース スクリプトのオプション] ボックスの一覧を [スキーマとデータ] に設定します。
[スクリプトの追加] をクリックします。
[ファイルの選択] ダイアログ ボックスで、C:\Temp\AdventureWorksGrant.sql を参照し、[開く] をクリックします (このチュートリアルの前の手順でスクリプトを別のフォルダーに保存した場合は、そのフォルダー名を使用します)。
次の図に示すように、[データベース スクリプト] グリッドに AdventureWorksGrant.sql ファイルが追加されます。
[SQL のパッケージ化/発行] タブへの変更を保存します。
カスタム スクリプトのトランザクション モードの指定
既定では、自動生成されたスクリプトはトランザクションで実行されます。 ただし、カスタム スクリプトは実行されません。 トランザクション モードを混在させると、配置のときに実行されるスクリプトでタイムアウト エラーが発生することがあります。
次の手順では、プロジェクト ファイルを編集して、前の手順で追加したカスタム スクリプトをトランザクションで実行するように構成します。
カスタム スクリプトをトランザクションで実行するよう指定するには
メモ帳などのテキスト エディターを使用する AdventureWorks.csproj ファイルまたは AdventureWorks.vbproj ファイルを開きます。
プロジェクト ディレクトリを参照するには、ソリューション エクスプローラーでプロジェクトを右クリックし、[エクスプローラーでフォルダーを開く] をクリックします。
デバッグ ビルド構成に関連する PropertyGroup 要素を見つけます。
この要素の開始タグの例を次に示します。
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
PropertyGroup 要素内で PublishDatabaseSettings 要素を見つけます。
PublishDatabaseSettings 要素内で、AWLTConnectionString-Deployment という名前の ObjectGroup 要素を見つけます。
この ObjectGroup 要素内の 2 つ目の Object 要素が AdventureWorksGrant.sql スクリプトを表しています。
AdventureWorksGrant.sql スクリプトを表す Object 要素内で、Source 要素の Transacted 属性の値を True に変更します。
AWLTConnectionString-Deployment ObjectGroup 要素は、現時点では、次の例のようになります。
<ObjectGroup Name="AWLTConnectionString-Deployment" Order="2"> <Destination Path="..." /> <Object Type="dbFullSql" Enabled="True"> <PreSource Path="..." ScriptSchema="True" ScriptData="True" CopyAllFullTextCatalogs="False" ScriptDropsFirst="True" /> <Source Path="..." Transacted="True" /> </Object> <Object Type="dbFullSql" Enabled="False"> <Source Path="...\AdventureWorksGrant.sql" Transacted="True" /> </Object> </ObjectGroup>
変更を保存し、プロジェクト ファイルを閉じます。
プロジェクトを再読み込みするかどうかを確認するメッセージが表示されたら、[再読み込み] をクリックします。
配置した Web.Config ファイルの接続文字列を変更する
次の手順で、配置された Web.config ファイル内のデータベース接続文字列を配置先環境の正しい値に設定する変換ファイルを作成します。
配置した Web.config ファイルの接続文字列を変更するには
ソリューション エクスプローラーで、Web.config ファイルを展開します。
Web.Debug.config という名前のファイルが存在しない場合、Web.config ファイルを右クリックし [構成変換の追加] をクリックします。
Web.Debug.config ファイルを開きます。
connectionStrings 要素を含むコメント ブロックを削除し、次のマークアップで置き換えます。 [接続文字列] を、[対象データベースの接続文字列] ボックスに入力した値で置き換えます。
<connectionStrings> <add name="ApplicationServices" connectionString="[connection string]" providerName="System.Data.SqlClient" xdt:Transform="SetAttributes" xdt:Locator="Match(name)" /> <add name="AWLTConnectionString" connectionString="[connection string]" providerName="System.Data.SqlClient" xdt:Transform="SetAttributes" xdt:Locator="Match(name)" /> </connectionStrings>
Web.Debug.config ファイルを保存して閉じます。
Web アプリケーションの配置
次は、パッケージを作成してプロジェクトを配置します。 IIS マネージャーを使用して、パッケージを IIS にインポートできます。
パッケージを作成して IIS にインポートするには
[プロジェクト] メニューの [配置パッケージの作成] をクリックします。
Visual Studio によってプロジェクトがビルドされ、配置パッケージが作成されます。[出力] ウィンドウにログが表示されます。 パッケージ作成プロセスの一環として、Web 配置 dbFullSQL プロバイダーは、ソース データベースごとに 1 つずつ、2 つの SQL サーバー スクリプトを作成します。 対象データベースは 1 つだけとなり、パッケージをインポートすると、これらのスクリプトの両方が実行されます。次の例は、[出力] ウィンドウの内容の一部を示します。
------ ビルド開始: プロジェクト: AdventureWorks、構成: Debug Any CPU ------
...
------ 発行開始: プロジェクト: AdventureWorks、構成: Debug Any CPU ------
Transformed Web.config using Web.Debug.config into
obj\Debug\TransformWebConfig\transformed\Web.config.
...
Copying all files to temporary location below for package/publish:
obj\Debug\Package\PackageTmp.
Adding MSDeploy.dbFullSql (MSDeploy.dbFullSql).
...
Adding child sqlScript (MSDeploy.dbFullSql/
dbFullSql[@path='c:\users\username\documents\visual studio 2010\
Projects\AdventureWorks\AdventureWorksCS\obj\Debug\AutoScripts\
ApplicationServices-Deployment_SchemaAndData.sql']/sqlScript).
...
Adding declared parameter 'IIS Web Application Name'.
Adding declared parameter 'ApplicationServices-Deployment Connection String'.
Adding declared parameter 'AWLTConnectionString-Deployment Connection String'.
Package "AdventureWorks.zip" is successfully created as single file
at the following location:
file:///c:/users/username/documents/visual%20studio%202010/
Projects/AdventureWorks/AdventureWorksCS/obj/Debug/Package
...
========== ビルド: 1 正常終了または最新の状態、0 失敗、0 スキップ ==========
========== 発行: 1 正常終了、0 失敗、0 スキップ ==========
次の手順に従って、配置パッケージのパスを Windows クリップボードにコピーします。
ソリューション エクスプローラーで、[ソリューション エクスプローラー] ツール バーの [すべてのファイルを表示] をクリックします (obj フォルダーが表示されていない場合)。
obj フォルダーを展開し、Debug フォルダーを展開して、Package フォルダーを展開します。
AdventureWorks.zip ファイルを選択します。
[プロパティ] ウィンドウで、[完全パス] フィールドの値を選択し、コピーします。
Windows の [コントロール パネル] で [管理ツール] をクリックし、[インターネット インフォメーション サービス (IIS) マネージャー] をクリックします。
IIS マネージャーが表示されます。コンピューターは [接続] パネルで選択されています。
[接続] パネルで、使用しているコンピューターのノードを展開し、[サイト] フォルダーを展開して、[既定の Web サイト] をクリックします。
IIS マネージャーは、次の図のように見えます。
[操作] パネルで、[アプリケーションのインポート] をクリックします。
注意
このリンクは通常 Web 配置 をインストールすると表示され、Visual Studio をインストールすると既定で Web 配置 がインストールされます。リンクがない場合は、[コントロール パネル] の [プログラムと機能] で、[Web 配置ツール] を右クリックし、[修復] をクリックします。
Import Application Package ウィザードが開き、[パッケージの選択] ダイアログ ボックスが表示されます。
[パッケージのパス] ボックスに、前の手順でコピーしたパスを貼り付けます。
[パッケージの選択] ダイアログ ボックスは次の図のように表示されます。
[次へ] をクリックします。
[パッケージの内容の選択] ダイアログ ボックスが次の図のように表示されます。
[次へ] をクリックします。
次の図に示すように、[アプリケーション パッケージ情報の入力] ダイアログ ボックスが表示されます。
アプリケーション パスと接続文字列の既定値は、[Web のパッケージ化/発行] タブで設定した値になります。
[次へ] をクリックします。
ASP.NET 4 がコンピューターにインストールされているかどうかをたずねるダイアログ ボックスが表示されたら (次の図を参照)、ASP.NET 4 のアプリケーション プールを既定の Web サイトに割り当てます。
その場合は、次の手順を実行します。
[アプリケーション パッケージ情報の入力] ダイアログ ボックスで、[キャンセル] をクリックします。
Windows の [スタート] メニューをクリックし、[コマンド プロンプト] を右クリックして、[管理者として実行] をクリックします。
次のように、.NET Framework 4 に適したフォルダーを検索します。
C:\Windows\Microsoft.NET\Framework\v4.0.30319
コンピューターの Windows フォルダーが別のドライブにある場合は、C を該当するドライブ文字に置き換えます。 64 ビットのオペレーティング システムでは、Framework ではなく Framework64 を使用してください。
「aspnet_regiis -iru -enable」とコマンドを入力し、Enter キーを押します。
ツールは IIS に ASP.NET を登録します。 詳細については、「ASP.NET IIS 登録ツール (Aspnet_regiis.exe)」を参照してください。
[コマンド プロンプト] ウィンドウを閉じます。
IIS マネージャーで [既定の Web サイト] をクリックし、[操作] パネルの [基本設定] をクリックします。
[アプリケーション プール] を ASP.NET v4.0 アプリケーション プールに変更します。 (チュートリアル終了後にこの値を元の値に戻すことができます。)
パッケージをインストールする前の手順を繰り返します。IIS マネージャーの [操作] パネルで [アプリケーションのインポート] ハイパーリンクをクリックするところから開始します。
Web 配置 によるパッケージのインストール中に、[インストールの進行状況および概要] ダイアログ ボックスが表示されます。 インストール プロセス中は、ダイアログ ボックスにプログレス バーが表示されます。 プロセスが完了すると、行われた操作のログが、ダイアログ ボックスに次の図のように表示されます。
[完了] をクリックします。
配置した Web アプリケーションのテスト
このチュートリアルの最後では、Web アプリケーションが正常に配置されたことを確認します。
Web アプリケーションをテストするには
ブラウザーを開いて、次の URL を入力します。
https://localhost/AdventureWorks
Default.aspx ページが表示されます。 ページの外観は、Visual Studio でプロジェクトを実行した場合と同じです。 製品の表は、AdventureWorksLT データベースが正常に配置されたことを示しています。
[ログイン] リンクをクリックします。
[ユーザー名] と [パスワード] の両方に「newuser」と入力し、[ログイン] をクリックします。
Default.aspx ページが再度表示され、今回は、[ログアウト] リンクの横に [ようこそ newuser!] が表示されます。 これは、ASP.NET メンバーシップ データベースが正常に配置されたことを示しています。
次の手順
このチュートリアルでは、2 つのデータベースを含むファイルシステムの Web アプリケーション プロジェクトを作成しました。 1 つのデータベースを使用する IIS Web アプリケーションにこれを配置しました。
このシリーズの次のチュートリアルは「チュートリアル: Web 配置パッケージを使用した Web アプリケーション プロジェクトの配置 (パート 2/4)」です。 このチュートリアルでは、1 つのデータベースの構造を変更し、Web ページを変更して、変更を配置します。