For the complete documentation index, see llms.txt. This page is also available as Markdown.

ネイティブ Choco Runtime

Native Choco Runtime は RealmJoin 独自のプロセス内パッケージ インストール エンジンで、旧式の Chocolatey 0.10.3 バイナリに代わり、既存パッケージとの完全な互換性を保ちます。

Native Choco Runtime は次とともに導入されました RealmJoin Agent 4.21.6(ベータ)。この機能は オプトイン:既存のクライアントは、ネイティブランタイムを明示的に有効にするまで、従来の Chocolatey エンジンを使い続けます。

概要

RealmJoin Agent が Intune 以外でソフトウェア パッケージをインストールするとき(参照 パッケージのインストール)、従来は次に依存していました Chocolatey を基盤となるパッケージ エンジンとして使用してきました。RealmJoin は、固定された大幅にパッチ適用済みのオープンソース Chocolatey CLI ビルドを提供しており、バージョン 0.10.3 — として同梱されていました choco.exe 次の場所に C:\ProgramData\chocolatey\.

その Native Choco Runtime は、その同梱された Chocolatey バイナリを RealmJoin の 独自の目的特化実装に置き換えます これは プロセス内で RealmJoin サービス内で実行されます。これは シムとして動作し Chocolatey に対応しています。同じパッケージ形式(.nupkg)を理解し、パッケージ作成者と管理者の観点では同じように動作しますが、もはや古くなった Chocolatey 0.10.3 のコードベースには依存しません。

言い換えると、すでに使っているパッケージは変更なしで動作し続け、変わるのはその下にあるエンジンだけです。

仕組み

  • プロセス内エンジン。 パッケージのインストールは、外部の choco.exeでのみ利用できます。The chocolateyInstall.ps1 各パッケージの chocolateyInstall.ps1 は、プロセス内 PowerShell runspace で実行されます。

  • 分離されたストレージ。 ネイティブランタイムは、その 独自の ルートに C:\ProgramData\RealmJoin\choco\lib\, extensions\、および logs\ などのサブフォルダーを含みます)。従来の Chocolatey の状態には書き込まず、 C:\ProgramData\chocolatey\ また、システム全体の ChocolateyInstall 環境変数も変更しません。つまり、ネイティブランタイムと既存の従来の Chocolatey は 共存できます 同一デバイス上で。

  • 依存関係の自動解決。 次に宣言されたパッケージの依存関係は .nuspec (たとえば RealmJoin Core Choco Extension)は、構成済みのソースから自動的に解決され、インストールされます。

  • choco.exe シム。 一部のパッケージ スクリプトは choco.exe choco.exe を直接呼び出します。これらを動作させ続けるため、ランタイムは小さなシムを %ProgramFiles%\RealmJoin\choco-shim\choco.exe に配置し、そのような呼び出しを従来の Chocolatey ではなくプロセス内エンジンに戻します。このシムはシステムの PATHには追加されません。パッケージ スクリプトの実行中だけ利用可能になります。

互換性

Native Choco Runtime は、 ドロップイン代替として設計されています:

  • 既存の RealmJoin パッケージ( Package Storeを含む)は、同じ方法でインストールおよびアンインストールされます。

  • RealmJoin Portal で設定されたパッケージ引数 / パラメーターも引き続き機能します。

  • その RealmJoin Core Choco Extension パッケージ スクリプト内で使用されるヘルパー cmdlet も引き続き利用できます。

  • RealmJoin ESP / Autopilot がサポートされます。ネイティブランタイムを有効にした新しいデバイスでは、 winchoco パッケージは登録中にネイティブにインストールされ、依存関係も自動的に解決されます。

使い方

ランタイムは RealmJoin の 設定で選択されるため、個々のクライアントに触れることなく中央で制御できます。RealmJoin の設定は階層的に継承されるため、 テナント全体の既定値 必要に応じて 特定のグループで上書きできます (およびその中のオブジェクト)

設定キー: Chocolatey.UseNativeRuntime

設定値: true / false

次の設定が動作を制御します:

設定項目
既定値
意味

Chocolatey.Enabled

false

RealmJoin はデバイス上の Chocolatey 型パッケージを管理します。

Chocolatey.UseNativeRuntime

false

マスター スイッチ。 falseの場合、インストールは引き続き従来の choco.exe。その場合 true、すべての winchoco インストールはプロセス内ネイティブランタイムを経由します。

Chocolatey.DisableShim

false

次の場合にのみ関係します: UseNativeRuntime = true。その場合 trueのとき、外部の choco.exe を呼び出すパッケージ スクリプトは、シム経由でルーティングされる代わりに明示的に失敗します。外部バイナリをまだ参照しているスクリプトを見つけるのに便利です。

1

まずパイロット グループで有効にする

RealmJoin の設定を開き、 グループ 少数のパイロット デバイスを含むグループの Chocolatey.UseNativeRuntimetrue そこで設定します。グループ設定はテナント全体の既定値より優先されるため、それらのデバイスだけが新しいエンジンに切り替わります。

2

パッケージを検証する

パイロット デバイスに通常のパッケージ割り当てとアップグレードを実行させます。インストールが成功することを確認し、何かおかしい場合はログを確認してください(参照 パッケージ インストールの問題).

3

テナント全体に展開する

問題ないことを確認したら、 Chocolatey.UseNativeRuntimetrue なぜなら テナント全体の既定値 を設定して、すべてのクライアントで使用するようにします。必要に応じて、個別のグループは一時的に従来のエンジンのままにしておくこともできます。

設定は、他のエージェント設定と同じテナント設定 / グループ上書きモデルに従います。詳細は次を参照してください: 一般設定 (たとえば クライアント構成 および LAPS 構成 Tenant 設定)。

既定値は何ですか

Native Choco Runtime は 既定では無効です (Chocolatey.UseNativeRuntime = false)。クライアントは、管理者がネイティブランタイムを有効にするまで、従来の同梱された Chocolatey 0.10.3 エンジンを使い続けます。これはテナント全体または特定のグループで行えます。これにより、新しいランタイムを自分のペースで導入でき、機能がベータ版の間でも簡単に元に戻せます。

既存デバイスの移行

ネイティブランタイムと従来の Chocolatey は 共存できます 必要な期間、同一デバイス上で共存できます。すでに従来の Chocolatey でインストールされたパッケージがあるデバイスでネイティブランタイムを有効にすると:

  • 既存の RealmJoin 管理パッケージは引き続き動作し、 返しません ランタイムが変わっただけで再インストールされることはありません。インストール済み状態は切り替え後も引き継がれるため、再インストールの嵐は起きません。

  • 新規インストールとアップグレードはネイティブランタイム経由で行われます。従来のインストールは、明示的に削除されるまでディスク上にそのまま残り、変更されません。

従来の Chocolatey の全体削除は、別途計画された段階的な作業として予定されています。それまでは、ネイティブランタイムは残存する従来のインストールと共存できます。したがって、片付けに厳密な期限はありません。

個々のデバイス(たとえばサポートや QA の際)では、管理者はシムの 移行してください コマンドを 昇格した シェルから実行できます:

ログとトラブルシューティング

ネイティブランタイムのインストールは、パッケージごとのログを次に書き込みます:

(各パッケージにつき最新 10 件のみ保持されます)。これは従来の Chocolatey の C:\ProgramData\chocolatey\logs\。サポート依頼のためにログを収集する際は、次の C:\ProgramData\RealmJoin\ フォルダーも含めてください。詳細は パッケージ インストールの問題.

ファイルとパスの参照

Path
目的

C:\ProgramData\RealmJoin\choco\lib\<id>

ネイティブランタイムのパッケージ インストール ルート。

C:\ProgramData\RealmJoin\choco\extensions\<id>

自動インポートされる PowerShell ヘルパー モジュール。

C:\ProgramData\RealmJoin\choco\logs\<id>

インストールごとのログ(各パッケージにつき最新 10 件)。

C:\Program Files\RealmJoin\choco-shim\choco.exe

その choco.exe シム。

最終更新

役に立ちましたか?