CCエクステンションアイコン

【ExManCmd】実行環境を用意すんのメンドイから【Unified Plugin Installer Agent】(UPIA)に乗り換え&バッチファイルも作ってみた

新しく搬入されたWindowsやMacintoshに社内用エクステンションをインストールしようとしていたのですが、前々からアナウンスされていたプラグインインストール用の新しいコマンドラインツールが【ExManCmd】から【Unified Plugin Installer Agent】(以下、【UPIA】と表記)に置き換えられるというので乗り換えに挑戦しました

ExManCmd to be replaced by the Unified Plugin Installer Agent (UPIA)

参考:Adobe Tech Blog

もう既に実行環境が用意されている

ナント、version5.5以上のCreative Cloud Desktopがインストールされていれば、もう既に実行環境【UPIA】もインストールされているではないか!

まぁ、知ってたけどね…。そのおかげでわざわざ【ExManCmd】をイチイチ用意しなくても良くなったのですから!ちなみにインストール先は、、、

Windows

C:\Program Files\Common Files\Adobe\Adobe Desktop Common\RemoteComponents\UPI\UnifiedPluginInstallerAgent\UnifiedPluginInstallerAgent.exe

Macintosh

/Library/Application Support/Adobe/Adobe Desktop Common/RemoteComponents/UPI/UnifiedPluginInstallerAgent/UnifiedPluginInstallerAgent.app/Contents/MacOS/UnifiedPluginInstallerAgent

であります!(長い…)

【UPIA】のコマンドライン(公式)

下記公式ページを見て楽勝でできる方は一刻も早くこのページから離脱してください。

コマンドラインからの作業

参考:Adobe Creative Cloud

さて、離脱しなかった奇特な方向けの解説を次章から始めます。離脱しなかった特典として、バッチファイルの作り方も教えちゃいます。

【ExManCmd】を解説した前回(作ったらやっちゃおう!自作Adobe ExtensionのzxpへのパッケージとExManCmdによるインストール 2/2)と同じくWindowsなら【コマンドプロンプト】、Macintoshなら【ターミナル】を使用します。

インストールコマンド

公式ではカレントディレクトリ移動してコマンドを実行していますが、shock tm的には今回もcdを使わずにコマンドの前に[UPIA.exeへのフルパス]を打ち込む方式を採用しています。つまりインストールコマンド[install]なら下記のような感じです。

  • Windows(コマンドプロンプト)
  • "C:\Program Files\Common Files\Adobe\Adobe Desktop Common\RemoteComponents\UPI\UnifiedPluginInstallerAgent\UnifiedPluginInstallerAgent.exe" /install D:\QR_checker.zxp
  • Macintosh(ターミナル)
  • "/Library/Application Support/Adobe/Adobe Desktop Common/RemoteComponents/UPI/UnifiedPluginInstallerAgent/UnifiedPluginInstallerAgent.app/Contents/MacOS/UnifiedPluginInstallerAgent" --install "/Users/[ユーザ名]/QR_checker.zxp"

半角スペースを含むパス等は【”】(ダブルクォーテーション)で囲って実行します。WindowsはDドライブ直下・Macintoshはホームフォルダ直下にzxpファイルを配置しました。成功すると下記のような人生に成功したようなサクセスメッセージが流れます。※Windowsです。

Installing extension with file path = D:\QR_checker.zxp
Installation Successful for extension with file path = D:\QR_checker.zxp

【UPIA】になってからイチイチ管理者権限を確認しなくなりました。結構煩わしかったので助かります(セキュリティ上は問題ですが…)。

スポンサーリンク

インストール確認コマンド

続いてインストール後の確認方法は、[list]コマンドに引数[all]。単体のCCアプリを検索する場合は引数を[Product_name]にします。例えばInDesign2022ならば

  • Windows(コマンドプロンプト)
  • "C:\Program Files\Common Files\Adobe\Adobe Desktop Common\RemoteComponents\UPI\UnifiedPluginInstallerAgent\UnifiedPluginInstallerAgent.exe" /list "InDesign 2022 64"
  • Macintosh(ターミナル)
  • "/Library/Application Support/Adobe/Adobe Desktop Common/RemoteComponents/UPI/UnifiedPluginInstallerAgent/UnifiedPluginInstallerAgent.app/Contents/MacOS/UnifiedPluginInstallerAgent" --list  "InDesign 2022"

となり、Windowsでは64bitを示す【64】が必要になったりややこいです。成功すると下記のような結果を返してくれます。※Windowsです。

1 extensions installed for InDesign 2022 64 (ver 17.0.0)
Status                        Extension Name               Version
=========  =============================================  ==========
Enabled    QR_checker                                         1.0.5

【UPIA】になってから外部エクステンションのみになり見やすいので、まぁ【all】でいいんではないでしょうか?【ExManCmd】で実行するとInDesignの場合こんなんでしたから、

145 extensions installed for InDesign 2022 64 (ver 17.0.0)
Status                        Extension Name               Version
=========  =============================================  ==========
Enabled    Alignment Panel64 CC                            17.0.096
Enabled    ArticlePanel64 CC                               17.0.096
---途中省略 ※141行もある!---
Enabled    QR_checker                                         1.0.5

アンインストールコマンド

アンインストールは[remove]コマンドで、引数は[Extension Name]。インストール確認コマンドから取得した名前を指定します。

公式では[Plugin_name]とされてますが、listコマンドから取得できるのは[Extension Name]ですよ?

  • Windows(コマンドプロンプト)
  • "C:\Program Files\Common Files\Adobe\Adobe Desktop Common\RemoteComponents\UPI\UnifiedPluginInstallerAgent\UnifiedPluginInstallerAgent.exe" /remove QR_checker
  • Macintosh(ターミナル)
  • "/Library/Application Support/Adobe/Adobe Desktop Common/RemoteComponents/UPI/UnifiedPluginInstallerAgent/UnifiedPluginInstallerAgent.app/Contents/MacOS/UnifiedPluginInstallerAgent" --remove QR_checker

となります。CCアプリ上のウィンドウ名とは異なりますので注意してください。

バッチファイル作成

開発者側はバッチファイルを作成すると便利です。ネットワーク(共有フォルダ)上のzxpファイルを更新して、バッチファイルを実行するだけで各端末を最新版に更新できます。具体的なコマンド実行手順は下記の通りです。

  1. まずは該当エクステンションをアンインストールコマンド(念の為)
  2. 新しいエクステンションのインストールコマンド
  3. インストール確認コマンド
  4. コマンドプロンプトを終了させないコマンド(Windowsのみ[cmd /k])

バッチファイルはエディタなどで作成し、Windowsは拡張子【.bat】、Macintoshは拡張子【.command】です。ネットワーク【W】ドライブ(共有フォルダ)直下にzxpファイル配置するものとして、具体的なコードは

  • Windows(コマンドプロンプト)
  • "C:\Program Files\Common Files\Adobe\Adobe Desktop Common\RemoteComponents\UPI\UnifiedPluginInstallerAgent\UnifiedPluginInstallerAgent.exe" /remove QR_checker
    "C:\Program Files\Common Files\Adobe\Adobe Desktop Common\RemoteComponents\UPI\UnifiedPluginInstallerAgent\UnifiedPluginInstallerAgent.exe" /install "W:\QR_checker.zxp"
    "C:\Program Files\Common Files\Adobe\Adobe Desktop Common\RemoteComponents\UPI\UnifiedPluginInstallerAgent\UnifiedPluginInstallerAgent.exe" /list "InDesign 2022 64"
    cmd /k
  • Macintosh(ターミナル)
  • "/Library/Application Support/Adobe/Adobe Desktop Common/RemoteComponents/UPI/UnifiedPluginInstallerAgent/UnifiedPluginInstallerAgent.app/Contents/MacOS/UnifiedPluginInstallerAgent" --remove QR_checker
    "/Library/Application Support/Adobe/Adobe Desktop Common/RemoteComponents/UPI/UnifiedPluginInstallerAgent/UnifiedPluginInstallerAgent.app/Contents/MacOS/UnifiedPluginInstallerAgent" --install "/Volumes/W/QR_checker.zxp"
    "/Library/Application Support/Adobe/Adobe Desktop Common/RemoteComponents/UPI/UnifiedPluginInstallerAgent/UnifiedPluginInstallerAgent.app/Contents/MacOS/UnifiedPluginInstallerAgent" --list "InDesign 2022"

上記バッチファイルを各端末で実行すると最新版に置き換わります。たまにはMacintoshの実行結果

Last login: Mon Jan 10 19:01:18 on console
/Users/[ユーザ名]/QR_Checker-Install.command ; exit;
Removing QR_checker
Failed to remove QR_checker, status = -406
Installing extension with file path = /Volumes/W/QR_checker.zxp
Installation Successful for extension with file path = /Volumes/W/QR_checker.zxp
1 extension installed for InDesign 2022 (ver 17.0.1)
Status                        Extension Name               Version
=========  =============================================  ==========
Enabled    QR_checker                                         1.0.5
[プロセスが完了しました]

[cd]使用時(Windowsのみ)

ちなみに、公式のように最初にカレントディレクトリ([cd] [UPIA.exeへのパス])を使用する方法だと

cd "C:\Program Files\Common Files\Adobe\Adobe Desktop Common\RemoteComponents\UPI\UnifiedPluginInstallerAgent"
UnifiedPluginInstallerAgent.exe /remove QR_checker
UnifiedPluginInstallerAgent.exe /install "D:\QR_checker.zxp"
UnifiedPluginInstallerAgent.exe /list "InDesign 2022 64"
cmd /k

上記のようにコードは短くなり、いい感じですがバッチファイル本体がCドライブ以外にあると、結果はエラーになってしまいます。

D:\>cd "C:\Program Files\Common Files\Adobe\Adobe Desktop Common\RemoteComponents\UPI\UnifiedPluginInstallerAgent"
D:\>UnifiedPluginInstallerAgent.exe /remove QR_checker
'UnifiedPluginInstallerAgent.exe' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

これは実行ファイルが[UPIA.exeのパス]つまりCドライブにあるが、実行バッチが違うドライブに存在するときに発生します。これを回避するには、まず1行目に【実行するexeの存在するドライブ】つまりCドライブを指定して下さい。

C:
cd "C:\Program Files\Common Files\Adobe\Adobe Desktop Common\RemoteComponents\UPI\UnifiedPluginInstallerAgent"
UnifiedPluginInstallerAgent.exe /remove QR_checker
UnifiedPluginInstallerAgent.exe /install "D:\QR_checker.zxp"
UnifiedPluginInstallerAgent.exe /list "InDesign 2022 64"
cmd /k

まぁ、この辺はお好みでどうぞって感じです。shock tm的にはネットワーク上で何もかも済ませたりするのでexeはフルパスで書くクセをつけています。

権限の変更(Maintoshのみ)

ちなみにMacintoshは何も付け加えずにそのままで実行できました。しかし、もしMacintosh環境でバッチファイルを実行できなければ、ファイル権限の変更をお試しくださいませ。

chmod -R 777 [.commandファイルパス]

バッチファイルの利点

さらにパッケージにもバッチファイルを利用すれば、開発中はデバッグ用の【manifest.xml】でパッケージするときにリリース用の【manifest.xml】に切り替えて、そのままインストールして機能の最終確認ができるので便利がいいですよ?(下記例はWindows)

REN C:\Users\[user]\AppData\Roaming\Adobe\CEP\extensions\QR_checker_Debug QR_checker
REN C:\Users\[user]\AppData\Roaming\Adobe\CEP\extensions\QR_checker\CSXS\manifest.xml manifest_Debug.xml
REN C:\Users\[user]\AppData\Roaming\Adobe\CEP\extensions\QR_checker\CSXS\manifest_Rerese.xml manifest.xml
REN C:\Users\[user]\AppData\Roaming\Adobe\CEP\extensions\QR_checker\.debug ._debug
D:\ExtensionCmd\cmd\ZXPSignCmd.exe -sign C:\Users\[user]\AppData\Roaming\Adobe\CEP\extensions\QR_checker D:\ExtensionCmd\_QRchecker_Rerese\QR_checker.zxp [証明書へのパス] [password]
REN C:\Users\[user]\AppData\Roaming\Adobe\CEP\extensions\QR_checker\CSXS\manifest.xml manifest_Rerese.xml
REN C:\Users\[user]\AppData\Roaming\Adobe\CEP\extensions\QR_checker\CSXS\manifest_Debug.xml manifest.xml
REN C:\Users\[user]\AppData\Roaming\Adobe\CEP\extensions\QR_checker\._debug .debug
REN C:\Users\[user]\AppData\Roaming\Adobe\CEP\extensions\QR_checker QR_checker_Debug
"C:\Program Files\Common Files\Adobe\Adobe Desktop Common\RemoteComponents\UPI\UnifiedPluginInstallerAgent\UnifiedPluginInstallerAgent.exe" /install D:\ExtensionCmd\_QRchecker_Rerese\QR_checker.zxp
"C:\Program Files\Common Files\Adobe\Adobe Desktop Common\RemoteComponents\UPI\UnifiedPluginInstallerAgent\UnifiedPluginInstall /list "InDesign 2022 64"
cmd /k

こうすることによって、下記画像のように開発中のエクステンションは【_debug】がついたメニュー名になりますので、開発中フォルダの移動をしなくてもよくなっているのです、万歳!

スポンサーリンク

スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です