@prefix schema: <https://schema.org/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ks: <https://comcomponent.com/vocab/> .

<https://comcomponent.com/blog/2026/04/13/001-clickonce-what-is/#article>
    schema:about <https://comcomponent.com/knowledge/clickonce/>, <https://comcomponent.com/knowledge/per-user-deployment/> ;
    schema:mentions <https://comcomponent.com/knowledge/deployment-manifest/>, <https://comcomponent.com/knowledge/application-manifest/>, <https://comcomponent.com/knowledge/code-signing-cert/>, <https://comcomponent.com/knowledge/clickonce-cache/>, <https://comcomponent.com/knowledge/dll-hell/>, <https://comcomponent.com/knowledge/setup-exe-bootstrapper/>, <https://comcomponent.com/knowledge/file-patching/>, <https://comcomponent.com/knowledge/deployment-provider/>, <https://comcomponent.com/knowledge/machine-wide-install/>, <https://comcomponent.com/knowledge/msi/>, <https://comcomponent.com/knowledge/admin-rights/>, <https://comcomponent.com/knowledge/msix/>, <https://comcomponent.com/knowledge/package-identity/>, <https://comcomponent.com/knowledge/windows-service/>, <https://comcomponent.com/knowledge/publish-tool/>, <https://comcomponent.com/knowledge/dotnet/>, <https://comcomponent.com/knowledge/dotnet-framework/>, <https://comcomponent.com/knowledge/dotnet-mage/>, <https://comcomponent.com/knowledge/application-deployment-api/>, <https://comcomponent.com/knowledge/pubxml/>, <https://comcomponent.com/knowledge/offline-availability/>, <https://comcomponent.com/knowledge/application-settings-migration/>, <https://comcomponent.com/knowledge/self-signed-cert/> .

<https://comcomponent.com/knowledge/clickonce/> a skos:Concept ;
    skos:prefLabel "ClickOnce"@ja ;
    skos:definition ".NETのWindowsデスクトップアプリを、利用者単位で簡単に配り、自動更新まで含めて回すための配布技術。マニフェストを中心に配布・更新・キャッシュ管理をまとめて扱う配布モデル。"@ja ;
    skos:altLabel "ClickOnce配布"@ja ;
    ks:uses <https://comcomponent.com/knowledge/deployment-manifest/> ;
    ks:uses <https://comcomponent.com/knowledge/clickonce-cache/> ;
    ks:uses <https://comcomponent.com/knowledge/file-patching/> ;
    ks:recommendedFor <https://comcomponent.com/knowledge/per-user-deployment/> ;
    ks:notRecommendedFor <https://comcomponent.com/knowledge/package-identity/> ;
    ks:notRecommendedFor <https://comcomponent.com/knowledge/windows-service/> .

<https://comcomponent.com/knowledge/per-user-deployment/> a skos:Concept ;
    skos:prefLabel "per-user配布(利用者単位)"@ja ;
    skos:definition "利用者ごとに導入する配布方式。そのユーザーのプロファイル配下へ入り、同じ端末の他のユーザーからは見えず、管理者権限なしで導入できることが多い。"@ja ;
    skos:altLabel "per-user" ;
    skos:altLabel "利用者単位の導入"@ja ;
    ks:incompatibleWith <https://comcomponent.com/knowledge/machine-wide-install/> .

<https://comcomponent.com/knowledge/deployment-manifest/> a skos:Concept ;
    skos:prefLabel "配置マニフェスト(.application)"@ja ;
    skos:definition "いま配るべきバージョン、更新場所、更新方法などを表すClickOnceのマニフェスト。"@ja ;
    skos:altLabel ".application" ;
    skos:altLabel "Deployment Manifest" ;
    ks:uses <https://comcomponent.com/knowledge/application-manifest/> .

<https://comcomponent.com/knowledge/application-manifest/> a skos:Concept ;
    skos:prefLabel "アプリケーションマニフェスト(*.exe.manifest)"@ja ;
    skos:definition "その版のアプリ本体、依存ファイル、ハッシュ、エントリポイントなどを表すClickOnceのマニフェスト。"@ja ;
    skos:altLabel "Application Manifest" .

<https://comcomponent.com/knowledge/code-signing-cert/> a skos:Concept ;
    skos:prefLabel "コード署名証明書"@ja ;
    skos:definition "ソフトウェアの発行元を証明し、改ざんを検出するための証明書。"@ja ;
    skos:altLabel "Authenticode証明書"@ja .

<https://comcomponent.com/knowledge/clickonce-cache/> a skos:Concept ;
    skos:prefLabel "ClickOnceキャッシュ"@ja ;
    skos:definition "取得したアプリのファイルを保持する、利用者ごと・アプリごと・バージョンごとに分離されたClickOnceの管理領域。現行版と前版が分離して保持される。"@ja ;
    skos:altLabel "ClickOnce Cache" ;
    ks:mitigates <https://comcomponent.com/knowledge/dll-hell/> .

<https://comcomponent.com/knowledge/dll-hell/> a skos:Concept ;
    skos:prefLabel "DLL Hell"@ja ;
    skos:definition "共有されたDLLを別のアプリが上書きしたり、別バージョンへ入れ替えたりして、それまで動いていたアプリが壊れるWindowsの古典的な問題。"@ja ;
    skos:altLabel "DLL地獄"@ja .

<https://comcomponent.com/knowledge/setup-exe-bootstrapper/> a skos:Concept ;
    skos:prefLabel "setup.exe(bootstrapper)"@ja ;
    skos:definition "アプリ本体の前に、必要なランタイムや再頒布可能パッケージといった前提条件を確認・導入する、ClickOnceの小さな導入プログラム。"@ja ;
    skos:altLabel "Bootstrapper" ;
    skos:altLabel "setup.exe" ;
    ks:shouldPrecede <https://comcomponent.com/knowledge/deployment-manifest/> .

<https://comcomponent.com/knowledge/file-patching/> a skos:Concept ;
    skos:prefLabel "file patching"@ja ;
    skos:definition "更新のときに、新しい版のファイルをすべて取り直すのではなく、前の版と比べて変わったファイルだけを取得するやり方。"@ja ;
    skos:altLabel "差分パッチ更新"@ja .

<https://comcomponent.com/knowledge/deployment-provider/> a skos:Concept ;
    skos:prefLabel "deploymentProvider"@ja ;
    skos:definition "配置マニフェストの中に書かれる、更新をどこから取りに行くかを示す場所。URLまたはUNCパスで、導入済みのクライアントはここを見続ける。"@ja ;
    skos:altLabel "更新元指定"@ja .

<https://comcomponent.com/knowledge/machine-wide-install/> a skos:Concept ;
    skos:prefLabel "machine-wide install(端末単位)"@ja ;
    skos:definition "端末に1つだけ導入し、全ユーザーが同じ実体を使う配布方式。Program Filesのような共有領域へ入るため、導入には通常管理者権限が必要になる。"@ja ;
    skos:altLabel "machine-wide" ;
    skos:altLabel "端末単位の導入"@ja .

<https://comcomponent.com/knowledge/msi/> a skos:Concept ;
    skos:prefLabel "MSI(Windows Installer)"@ja ;
    skos:definition "Windowsの標準インストーラーパッケージ形式。ALLUSERSプロパティなどでインストール先の範囲を選べ、machine-wide installが一般的だがユーザー単位のインストールもできる。"@ja ;
    skos:altLabel "Windows Installer" ;
    skos:altLabel "MSI" ;
    ks:recommendedFor <https://comcomponent.com/knowledge/machine-wide-install/> .

<https://comcomponent.com/knowledge/admin-rights/> a skos:Concept ;
    skos:prefLabel "管理者権限"@ja ;
    skos:definition "コンピューター全体の設定を変更できる権限。"@ja ;
    skos:altLabel "昇格"@ja .

<https://comcomponent.com/knowledge/msix/> a skos:Concept ;
    skos:prefLabel "MSIX"@ja ;
    skos:definition "package identityを持つ、Windowsのモダンなアプリパッケージング形式。"@ja ;
    skos:altLabel "MSIX" ;
    ks:recommendedFor <https://comcomponent.com/knowledge/package-identity/> .

<https://comcomponent.com/knowledge/package-identity/> a skos:Concept ;
    skos:prefLabel "package identity"@ja ;
    skos:definition "MSIXなどのパッケージが持つ、Windowsが認識する一意の識別子。名前、バージョン、アーキテクチャ、ResourceId、発行元という5つの組で構成される。"@ja ;
    skos:altLabel "パッケージID"@ja .

<https://comcomponent.com/knowledge/windows-service/> a skos:Concept ;
    skos:prefLabel "Windowsサービス"@ja ;
    skos:definition "ユーザーのサインインと無関係にバックグラウンドで動くWindowsのプロセス。"@ja ;
    skos:altLabel "サービス"@ja .

<https://comcomponent.com/knowledge/publish-tool/> a skos:Concept ;
    skos:prefLabel "Publish tool"@ja ;
    skos:definition ".NET Core 3.1および.NET 5以降のWindowsデスクトップアプリのClickOnce発行に使う、Visual Studioの発行機能。"@ja ;
    skos:altLabel "発行機能"@ja ;
    skos:altLabel "Visual Studio Publish" ;
    ks:implements <https://comcomponent.com/knowledge/clickonce/> ;
    ks:uses <https://comcomponent.com/knowledge/pubxml/> .

<https://comcomponent.com/knowledge/dotnet/> a skos:Concept ;
    skos:prefLabel ".NET(Core以降)"@ja ;
    skos:definition ".NET Frameworkの後継となる、クロスプラットフォーム対応の.NETランタイム(.NET 5以降)。"@ja ;
    skos:altLabel ".NET Core" ;
    skos:altLabel "モダンな.NET"@ja .

<https://comcomponent.com/knowledge/dotnet-mage/> a skos:Concept ;
    skos:prefLabel "dotnet-mage.exe"@ja ;
    skos:definition "手動でClickOnceのマニフェストを扱う際に使うコマンドラインツール。"@ja ;
    skos:altLabel "Mage" ;
    skos:altLabel "dotnet-mage" ;
    ks:implements <https://comcomponent.com/knowledge/deployment-manifest/> .

<https://comcomponent.com/knowledge/application-deployment-api/> a skos:Concept ;
    skos:prefLabel "ApplicationDeployment API"@ja ;
    skos:definition ".NET Framework時代のClickOnceで、更新確認や配置情報の取得に使われてきたAPI。.NET Core 3.1 / .NET 5 / .NET 6ではそのまま使えない。"@ja ;
    skos:altLabel "System.Deployment.Application" ;
    ks:incompatibleWith <https://comcomponent.com/knowledge/dotnet/> ;
    ks:requires <https://comcomponent.com/knowledge/dotnet-framework/> .

<https://comcomponent.com/knowledge/dotnet-framework/> a skos:Concept ;
    skos:prefLabel ".NET Framework"@ja ;
    skos:definition "Windowsのコンポーネントとして扱われ、インストールされているOSのライフサイクルに沿ってサポートされるランタイム。System.Messagingの対象範囲。"@ja .

<https://comcomponent.com/knowledge/pubxml/> a skos:Concept ;
    skos:prefLabel "発行プロファイル(.pubxml)"@ja ;
    skos:definition "Publish toolの発行設定を保存するファイル。コマンドラインのMSBuildからビルドする際に指定する入口になる。"@ja ;
    skos:altLabel ".pubxml" ;
    skos:altLabel "Publish Profile" .

<https://comcomponent.com/knowledge/offline-availability/> a skos:Concept ;
    skos:prefLabel "オフライン利用ありの構成"@ja ;
    skos:definition "ClickOnceアプリを利用者の端末へ導入し、スタートメニューからも起動できるようにする見せ方。オンライン専用の対極に位置する。"@ja ;
    skos:altLabel "Available Offline" .

<https://comcomponent.com/knowledge/application-settings-migration/> a skos:Concept ;
    skos:prefLabel "アプリケーション設定の持ち越し"@ja ;
    skos:definition "既定のアプリケーション設定プロバイダを使っている場合に、ClickOnceが更新時に前版の設定を新版へマージする仕組み。"@ja ;
    skos:altLabel "設定のマージ"@ja ;
    skos:altLabel "Application Settings Migration" .

<https://comcomponent.com/knowledge/self-signed-cert/> a skos:Concept ;
    skos:prefLabel "アドホックな自己署名証明書"@ja ;
    skos:definition "検証用にツールで自前発行したサーバー/クライアント証明書。鍵管理の仕組みを持たず、検証環境限定・期限つきでの利用が原則。適切に運用される社内CAのルート証明書(これも技術的には自己署名)とは区別する。"@ja ;
    skos:altLabel "自己署名証明書"@ja ;
    ks:notRecommendedFor <https://comcomponent.com/knowledge/clickonce/> .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/clickonce/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/deployment-manifest/> ;
    schema:description "ClickOnceは、いま配るべき版・更新場所・更新条件を表す配置マニフェストを中心に動作する"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/visualstudio/deployment/clickonce-deployment-manifest?view=visualstudio> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/deployment-manifest/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/application-manifest/> ;
    schema:description "配置マニフェストは対象版のアプリケーションマニフェストを参照し、実際に何を取得するかはアプリケーションマニフェストが握る"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/visualstudio/deployment/clickonce-deployment-manifest?view=visualstudio> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/application-manifest/> ;
    rdf:predicate ks:configuredBy ;
    rdf:object <https://comcomponent.com/knowledge/code-signing-cert/> ;
    schema:description "アプリケーションマニフェストは、使用するコード署名証明書を指定して署名するかどうかを構成できる"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/visualstudio/deployment/clickonce-and-authenticode?view=visualstudio> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/deployment-manifest/> ;
    rdf:predicate ks:configuredBy ;
    rdf:object <https://comcomponent.com/knowledge/code-signing-cert/> ;
    schema:description "配置マニフェストも同様にコード署名証明書で署名するかどうかを構成でき、マニフェストを手で変更した場合は再署名が必要になる"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/visualstudio/deployment/clickonce-and-authenticode?view=visualstudio> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/clickonce/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/clickonce-cache/> ;
    schema:description "ClickOnceは取得したファイルを利用者ごとの安全なClickOnceキャッシュへ配置し、アプリごと・利用者ごとに分離して保持する"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/visualstudio/deployment/clickonce-cache-overview?view=visualstudio> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/clickonce-cache/> ;
    rdf:predicate ks:mitigates ;
    rdf:object <https://comcomponent.com/knowledge/dll-hell/> ;
    schema:description "アプリごと・利用者ごと・バージョンごとに分離されたClickOnceキャッシュの構造は、共有DLLの上書きによるDLL Hellを避けやすくする(ClickOnce管理外の共有コンポーネントが絡む場合は対象外)"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/windows/win32/sbscs/about-side-by-side-assemblies-and-manifest-based-programming> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/setup-exe-bootstrapper/> ;
    rdf:predicate ks:shouldPrecede ;
    rdf:object <https://comcomponent.com/knowledge/deployment-manifest/> ;
    schema:description "setup.exeを使う構成では、前提条件の確認・導入が配置マニフェストの読み込みより先に行われる"@ja ;
    ks:evidence <https://learn.microsoft.com/ja-jp/visualstudio/deployment/how-to-install-prerequisites-with-a-clickonce-application?view=visualstudio> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/clickonce/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/file-patching/> ;
    schema:description "ClickOnceは新版のアプリケーションマニフェストと現行版を見比べ、変わったファイルだけを取得するfile patchingで冗長な再ダウンロードを避ける"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/visualstudio/deployment/how-clickonce-performs-application-updates?view=visualstudio> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/clickonce/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/deployment-provider/> ;
    schema:description "deploymentProviderを明示的に設定した場合、インストール済みのClickOnceクライアントは配置マニフェスト内のdeploymentProviderが指す場所を更新元として見に行き続ける(既定では更新元はインストール場所と同じになり、明示設定は必須ではない)"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/visualstudio/deployment/clickonce-deployment-manifest?view=visualstudio> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/per-user-deployment/> ;
    rdf:predicate ks:incompatibleWith ;
    rdf:object <https://comcomponent.com/knowledge/machine-wide-install/> ;
    schema:description "ClickOnceが基本とするper-user配布は、全ユーザー共通で1つを入れるmachine-wide installとは前提が異なり両立しない"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/visualstudio/deployment/clickonce-security-and-deployment?view=visualstudio> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/clickonce/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/per-user-deployment/> ;
    schema:description "標準ユーザーへ管理者権限なしに配りたく、per-user配布で足りる場合、ClickOnceが本記事の推奨である"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/visualstudio/deployment/clickonce-security-and-deployment?view=visualstudio> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/msi/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/machine-wide-install/> ;
    schema:description "全ユーザー共通でProgram Files前提に導入したいmachine-wide installには、ClickOnceではなくMSIなどのほうが自然である"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/windows/win32/msi/windows-installer-portal> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/machine-wide-install/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/admin-rights/> ;
    schema:description "Program Filesのような共有領域へ入れるmachine-wide installの導入には、通常、管理者権限が必要になる"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/windows/win32/msi/user-vs-system-context> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/msix/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/package-identity/> ;
    schema:description "package identity前提の機能やモダンパッケージングが欲しい場合は、ClickOnceよりMSIXを優先すべきである"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/windows/apps/desktop/modernize/package-identity-overview> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/clickonce/> ;
    rdf:predicate ks:notRecommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/package-identity/> ;
    schema:description "ClickOnceで配ったアプリはpackage identityを持たないため、これが要件になる用途にClickOnceを用いることは推奨されない"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/windows/apps/desktop/modernize/package-identity-overview> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/clickonce/> ;
    rdf:predicate ks:notRecommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/windows-service/> ;
    schema:description "Windows service、driver、shell extension、濃いCOM登録のようにOSへ深く触る要件にClickOnceを用いることは推奨されない"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/visualstudio/deployment/clickonce-security-and-deployment?view=visualstudio> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/publish-tool/> ;
    rdf:predicate ks:implements ;
    rdf:object <https://comcomponent.com/knowledge/clickonce/> ;
    schema:description "Visual StudioのPublish toolは、.NET Core 3.1および.NET 5以降のWindowsデスクトップアプリでClickOnceの発行を実装する"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/visualstudio/deployment/quickstart-deploy-using-clickonce-folder?view=visualstudio> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/publish-tool/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/dotnet/> ;
    schema:description "Publish toolは.NET Core 3.1と.NET 5以降のWindowsデスクトップアプリを対象とし、.NET Frameworkのアプリは別のウィザードを使う"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/visualstudio/deployment/clickonce-deployment-dotnet?view=visualstudio> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/dotnet-mage/> ;
    rdf:predicate ks:implements ;
    rdf:object <https://comcomponent.com/knowledge/deployment-manifest/> ;
    schema:description "手動でマニフェストを扱う場合は、dotnet-mage.exeが配置マニフェストやアプリケーションマニフェストの生成・編集を担う"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/visualstudio/deployment/clickonce-deployment-dotnet?view=visualstudio> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/application-deployment-api/> ;
    rdf:predicate ks:incompatibleWith ;
    rdf:object <https://comcomponent.com/knowledge/dotnet/> ;
    schema:description ".NET Core 3.1 / .NET 5 / .NET 6ではApplicationDeployment APIをそのままは使えない"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/visualstudio/deployment/clickonce-deployment-dotnet?view=visualstudio> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/application-deployment-api/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/dotnet-framework/> ;
    schema:description "ApplicationDeployment APIは.NET Framework時代のClickOnceで更新確認や配置情報の取得に使われてきたAPIである"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/visualstudio/deployment/clickonce-deployment-dotnet?view=visualstudio> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/publish-tool/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/pubxml/> ;
    schema:description "Publish toolは発行プロファイルとして.pubxmlファイルを作成し、コマンドラインのMSBuildからビルドする際にはこれを指定する"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/visualstudio/deployment/quickstart-deploy-using-clickonce-folder?view=visualstudio> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/offline-availability/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/deployment-provider/> ;
    schema:description "オフライン利用ありの構成では既定の更新元はインストール場所と同じになり、別の場所を更新元にしたい場合はdeploymentProviderを設定で指定する"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/visualstudio/deployment/choosing-a-clickonce-update-strategy?view=visualstudio> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/clickonce/> ;
    rdf:predicate ks:automates ;
    rdf:object <https://comcomponent.com/knowledge/application-settings-migration/> ;
    schema:description "既定の設定プロバイダを使っている場合、ClickOnceは更新時に前版の設定を新版へマージするアプリケーション設定の持ち越しを自動化する"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/visualstudio/deployment/clickonce-and-application-settings?view=visualstudio> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/self-signed-cert/> ;
    rdf:predicate ks:notRecommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/clickonce/> ;
    schema:description "検証環境限定・期限つきが原則の自己署名証明書を本番のClickOnce配布にそのまま用いることは推奨されず、テスト用署名と本番署名を分けて管理する必要がある"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/visualstudio/deployment/clickonce-and-authenticode?view=visualstudio> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .
