Language

<deployment> 要素 (ClickOnce 配置)

更新プログラムの展開とシステムへの公開に使用される属性を識別します。

構文


      <deployment
   install
   minimumRequiredVersion
   mapFileExtensions
   disallowUrlActivation
   trustUrlParameters
>
   <subscription>
         <update>
            <beforeApplicationStartup/>
            <expiration
               maximumAge
               unit
            />
         </update>
   </subscription>
   <deploymentProvider
      codebase
   />
</deployment>

要素と属性

deployment要素は必須であり、urn:schemas-microsoft-com:asm.v2名前空間にあります。 要素には次の属性があります。

特性 Description
install Required. このアプリケーションがWindowsスタート メニューと コントロール パネル プログラムの追加と削除アプリケーションのプレゼンスを定義するかどうかを指定します。 有効値は true または false です。 false場合、ClickOnce は常にネットワークからこのアプリケーションの最新バージョンを実行し、subscription要素を認識しません。
minimumRequiredVersion Optional. クライアントで実行できるこのアプリケーションの最小バージョンを指定します。 アプリケーションのバージョン番号が配置マニフェストで指定されたバージョン番号より小さい場合、アプリケーションは実行されません。 バージョン番号は、 N.N.N.N形式で指定する必要があります。ここで、 N は符号なし整数です。 install属性がfalseされている場合は、minimumRequiredVersionを設定しないでください。
mapFileExtensions Optional. 既定値は false です。 true場合、展開内のすべてのファイルに .deploy 拡張子が必要です。 ClickOnce は、Web サーバーからファイルをダウンロードするとすぐに、これらのファイルからこの拡張子を削除します。 Visual Studioを使用してアプリケーションを発行すると、すべてのファイルにこの拡張機能が自動的に追加されます。 このパラメーターを使用すると、ClickOnce 配置内のすべてのファイルを、.exeなどの "安全でない" 拡張子で終わるファイルの転送をブロックする Web サーバーからダウンロードできます。
disallowUrlActivation Optional. 既定値は false です。 true場合は、URL をクリックするか、ブラウザーに URL を入力して、インストールされているアプリケーションが起動しないようにします。 install属性が存在しない場合、この属性は無視されます。
trustURLParameters Optional. 既定値は false です。 true場合、コマンド ライン引数がコマンド ライン アプリケーションに渡されるのと同様に、アプリケーションに渡されるクエリ文字列パラメーターを URL に含めることができます。 詳細については、「 方法: オンライン ClickOnce アプリケーションでクエリ文字列情報を取得する」を参照してください。

disallowUrlActivation属性がtrueされている場合、trustUrlParametersマニフェストから除外するか、明示的にfalseに設定する必要があります。

deployment要素には、次の子要素も含まれています。

サブスクリプション

Optional. update要素を格納します。 subscription要素には属性がありません。 subscription要素が存在しない場合、ClickOnce アプリケーションは更新プログラムをスキャンしません。 deployment要素のinstall属性がfalseされている場合、ネットワークから起動される ClickOnce アプリケーションでは常に最新バージョンが使用されるため、subscription要素は無視されます。

アップデート

Required. この要素は、 subscription 要素の子であり、 beforeApplicationStartup または expiration 要素を含みます。 beforeApplicationStartup と expiration の両方を同じ配置マニフェストで指定することはできません。

update要素には属性がありません。

beforeApplicationStartup

Optional. この要素は update 要素の子であり、属性はありません。 beforeApplicationStartup要素が存在する場合、クライアントがオンラインの場合、ClickOnce が更新プログラムをチェックすると、アプリケーションはブロックされます。 この要素が存在しない場合、ClickOnce は最初に、 expiration 要素に指定された値に基づいて更新プログラムをスキャンします。 beforeApplicationStartup と expiration の両方を同じ配置マニフェストで指定することはできません。

expiration

Optional. この要素は update 要素の子であり、子はありません。 beforeApplicationStartup と expiration の両方を同じ配置マニフェストで指定することはできません。 更新チェックが行われ、更新されたバージョンが検出されると、既存のバージョンの実行中に新しいバージョンがキャッシュされます。 その後、ClickOnce アプリケーションの次回起動時に新しいバージョンがインストールされます。

expiration要素は、次の属性をサポートしています。

特性 Description
maximumAge Required. アプリケーションが更新チェックを実行する前の現在の更新プログラムの古さを識別します。 時間の単位は、 unit 属性によって決まります。
unit Required. maximumAgeの時間単位を識別します。 有効な単位は、 hours、 days、および weeksです。

deploymentProvider

.NET Framework 2.0 では、配置マニフェストに subscription セクションが含まれている場合は、この要素が必要です。 .NET Framework 3.5 以降では、この要素は省略可能であり、既定では配置マニフェストが検出されたサーバーとファイル のパスになります。

この要素は、 deployment 要素の子であり、次の属性を持っています。

特性 Description
codebase Required. ClickOnce アプリケーションの更新に使用される配置マニフェストの場所を URI (Uniform Resource Identifier) として識別します。 この要素では、CD ベースのインストールの更新プログラムの場所を転送することもできます。 有効な URI である必要があります。

解説

起動時に更新プログラムをスキャンしたり、起動時に更新プログラムをスキャンしたり、更新プログラムを確認したりするように ClickOnce アプリケーションを構成できます。 起動時に更新プログラムをスキャンするには、 beforeApplicationStartup 要素が update 要素の下に存在することを確認します。 起動後に更新プログラムをスキャンするには、 expiration 要素が update 要素の下に存在し、更新間隔が指定されていることを確認します。

更新プログラムのチェックを無効にするには、 subscription 要素を削除します。 更新プログラムをスキャンしないよう配置マニフェストで指定した場合でも、 CheckForUpdate メソッドを使用して手動で更新プログラムを確認できます。

注

ApplicationDeployment名前空間のSystem.Deployment.Application クラスと API は、.NET Core および .NET 5 以降のバージョンではサポートされていません。 .NET 7 では、アプリケーション展開プロパティにアクセスするための新しい方法がサポートされています。 詳細については、「 .NET での ClickOnce 配置プロパティへのアクセス」を参照してください。 .NET 7 では、ApplicationDeployment メソッドと同等のメソッドはサポートされていません。

deploymentProvider と更新プログラムの関係の詳細については、「 ClickOnce 更新戦略の選択」を参照してください。

Examples

次のコード例は、ClickOnce 配置マニフェストの deployment 要素を示しています。 この例では、 deploymentProvider 要素を使用して、優先する更新プログラムの場所を示します。

<deployment install="true" minimumRequiredVersion="2.0.0.0" mapFileExtension="true" trustUrlParameters="true">
    <subscription>
      <update>
        <expiration maximumAge="6" unit="hours" />
      </update>
    </subscription>
    <deploymentProvider codebase="http://www.adatum.com/MyApplication.application" />
  </deployment>

こちらも参照ください