コードを含む InfoPath フォーム テンプレートを展開する方法
適用対象: InfoPath 2010 | InfoPath Forms Services | Office 2010 | SharePoint Server 2010 | Visual Studio | Visual Studio Tools for Microsoft Office
この記事の内容
完全な信頼を必要としないフォーム テンプレートを展開する
完全な信頼を必要とするフォーム テンプレートを展開する
.NET Framework セキュリティ設定を構成する
InfoPath のマネージ コード フォーム テンプレートのフォーム コードは、共通言語ランタイム (CLR) の下で実行されるアセンブリとしてコンパイルされます。これは、フォーム コードを変更するときには、常に、Microsoft Visual Studio Tools for Applications でプロジェクトを開き、コード エディターで編集し、フォーム テンプレートを再コンパイルして、フォーム テンプレートを再展開する必要があることを意味します。さらに、マネージ コード フォーム テンプレートのプライベート アセンブリは、ホストされる CLR アプリケーション ドメインで実行されるので、完全な信頼を必要とするフォームのセキュリティ設定は、完全な信頼を必要としないフォーム テンプレートとは若干異なります。
完全な信頼を必要としないフォーム テンプレートを展開する
フォーム テンプレートのフォーム コードで完全な信頼を必要とする InfoPath オブジェクト モデルのメンバーを使用しておらず、フォーム テンプレートで完全な信頼を必要とする機能を使用していない場合は、次の手順に従って InfoPath から直接フォーム テンプレートを発行することができます。InfoPath のセキュリティ モデルの詳細については、「マネージ コード フォーム テンプレートのセキュリティ モデルについて」を参照してください。
完全な信頼を必要としないフォーム テンプレートを展開する
Microsoft Visual Studio Tools for Applications でフォーム テンプレートを作成してデバッグします。
Microsoft Visual Studio Tools for Applications コード エディターで作業している場合は、InfoPath に切り替えて、[ファイル] タブをクリックし、[発行] タブ上の目的の発行場所のボタンをクリックします (フォーム テンプレートを以前に既に発行済みの場合は、[ファイル] タブをクリックし、[クイック発行] をクリックして、フォーム テンプレートを同じ場所に再発行できます)。
フォーム テンプレートがコンパイルされ、発行ウィザードが開始されます。発行ウィザードの手順に従って、選択した場所にフォームを展開します。発行ウィザードの使用方法の詳細については、InfoPath のヘルプで「フォーム テンプレートを発行する」を参照してください。
完全な信頼を必要とするフォーム テンプレートを展開する
フォーム テンプレートのフォーム コードで完全な信頼を必要とする InfoPath オブジェクト モデルのメンバーを使用している場合、またはフォーム テンプレートで完全な信頼を必要とする機能を使用している場合は、信頼できる発行元から発行されたコード署名用の証明書を使用して、フォーム テンプレート (.xsn) ファイルにデジタル署名する必要があります。ユーザーがフォームを開いたときに、この発行元を信頼するように求めるメッセージが表示されます。フォーム テンプレート ファイルにデジタル署名すると、フォームも完全に信頼され、フォーム コードに対して FullTrust アクセス許可が付与されます。
フォーム テンプレートをコンパイル、発行、およびデジタル署名する
Microsoft Visual Studio Tools for Applications でフォーム テンプレートを作成してデバッグします。
Microsoft Visual Studio Tools for Applications コード エディターで作業している場合は、InfoPath に切り替えて、[ファイル] タブの [フォームのオプション] をクリックします。
[セキュリティと信頼] カテゴリをクリックします。
[セキュリティ レベル] で、[自動的にセキュリティ レベルを設定する] チェック ボックスをオフにして、[完全信頼] をオンにします。
[フォーム テンプレートの署名] で、[このフォーム テンプレートに署名する] チェック ボックスをオンにして、[証明書の選択] をクリックし、フォーム テンプレートへの署名に使用するコード署名用の証明書を指定します。
[OK] を 2 回クリックして [フォームのオプション] ダイアログ ボックスを閉じ、変更内容を保存します。
[発行] タブをクリックし、目的の発行場所のボタンをクリックします。
フォーム テンプレートがコンパイルされ、発行ウィザードが開始されます。発行ウィザードの手順に従って、フォーム テンプレートを展開します。発行ウィザードを使用して、完全な信頼を必要とするフォーム テンプレートを展開する方法の詳細については、InfoPath のヘルプで「完全信頼のフォーム テンプレートを発行する」を参照してください。
メモ
フォームにデジタル署名するには、認証されたコード署名用の証明書がコンピューターにインストールされている必要があります。この証明書を取得するには、認証機関またはネットワーク管理者に問い合わせてください。
発行後にフォームを変更する必要がある場合は、同じ手順を繰り返して、フォーム テンプレートに再度署名する必要があります。これは、フォームを変更すると、デジタル署名が無効になるためです。完全信頼のアクセス許可を必要とするフォームを開発するときには、「[方法] 完全信頼が必要なマネージ コード フォーム テンプレートをプレビューおよびデバッグする方法」で説明している手順に従って、ローカル コンピューター上のフォーム テンプレートを登録できます。
.NET Framework セキュリティ設定を構成する
InfoPath マネージ コード フォーム テンプレートで実行されるマネージ コードに付与するアクセス許可をさらに細かく制御するには, .NET Framework 2.0 Configuration ユーティリティを使用して、フォーム コードに特定のアクセス許可を付与します。
重要
InfoPath マネージ コード フォーム テンプレートについて .NET Framework セキュリティ設定を構成しても、完全な信頼を必要とする InfoPath オブジェクト モデルのメンバーが実行を許可されるかどうかには影響しません。完全な信頼を必要とする InfoPath オブジェクト モデルのメンバーに対する呼び出しを有効にするには、このトピックで既に説明したように、フォーム テンプレートにデジタル署名するか、フォーム テンプレートを登録する必要があります。.NET Framework セキュリティ設定の構成は、InfoPath オブジェクト モデル以外の, .NET Framework クラスおよびマネージ コンポーネントのメンバーにのみ適用されます。
フォーム テンプレートをコンパイル、発行、およびフォーム テンプレートの .NET セキュリティ設定を構成する
Microsoft Visual Studio Tools for Applications でフォーム テンプレートを作成してデバッグします。
Microsoft Visual Studio Tools for Applications コード エディターで作業している場合は、InfoPath に切り替えて、[ファイル] タブをクリックし、[発行] をクリックして、目的の発行場所のボタンをクリックします。
フォーム テンプレートがコンパイルされ、発行ウィザードが開始されます。発行ウィザードの手順に従って、フォーム テンプレートを展開します。発行ウィザードの使用方法の詳細については、InfoPath のヘルプで「フォーム テンプレートを発行する」を参照してください。
「[方法] マネージ コード フォーム テンプレートのセキュリティ設定を構成する方法」の「特定の URL または UNC にあるフォームに FullTrust を割り当てる」で説明している手順を実行します。
関連項目
タスク
[方法] マネージ コード フォーム テンプレートのセキュリティ設定を構成する方法