ソフトウェア配布 - ヒントとトラブルシューティング

このナレッジ ベース記事では、Windows 10 デバイスへのソフトウェア配布を展開可能な、確認済みユースケースを示します (ソフトウェア配布は、VMware AirWatch v9.0.1 の アプリとブック セクションで設定します)。また、この記事では、AirWatch コンソールに入力するための、Win32 アプリケーション用の実行可能コマンドを取得する方法も説明します。記事の最後では、問題のトラブルシューティング手順を紹介します。

確認済みのユース ケース

AirWatch では、以下のユース ケースでソフトウェア配布が正常に機能することを確認済みです。この一覧を参照して、貴社での展開がこの確認済みユース ケースと類似しているかどうか確かめてください。

  • MSI アプリケーションのサイレント展開
  • 複数の変換ファイルを伴う MSI、およびユーザー グループごとに異なる変換ファイルの展開
  • 64 ビット デバイスでの 64 ビットおよび 32 ビットアプリケーション
  • インストール後にレジストリ検証とファイル チェックを行うインストーラ
  • 展開済みアプリケーションに適用されるパッチ
  • システム コンテキストおよびユーザー コンテキストに応じたアプリケーションのインストール
  • アプリケーションの完全サイレント インストール
  • 依存関係を持つアプリケーションのインストール
  • 複数のファイルを実行するスクリプトを含むパッケージ (PowerShell スクリプト、EXE、MST を含む ZIP ファイル)
  • 再起動が必要なアプリケーションのインストール
  • ディスク領域、バッテリ、RAM のチェックを行うアプリケーション
  • インストール済みアプリケーションのアンインストール

構成設定を取得するためのヒント

ここでは、Win32 アプリケーション用のコマンドと条件を取得する方法を示します。これらのデータは、AirWatch コンソールで Win32 アプリケーション パッケージをアップロードする際に入力します。

インストール コマンドの取得

Win32 アプリケーションのインストール コマンドを取得する方法を示します。

:インストール コマンドによりユーザーの入力を求める UI プロンプトが表示される場合は、インストール コンテキスト オプションの ユーザー オプションでこれらのコマンドを入力します。

  • コマンドラインから、Win32 アプリケーションを正常にインストールできる任意のスクリプトを呼び出します。
  • MSI ファイルでは、事前にサイレント パラメータを指定してインストール コマンドを実行できます。パラメータは AirWatch コンソールで編集/更新することができます。
  • EXE ファイルや ZIP ファイルに Win32 アプリケーションの MSI ファイルが含まれている場合は、msiexec コマンドを使用してインストールします。

アンインストール コマンドの取得

Win32 アプリケーションのアンインストール コマンドを取得する方法を示します。

  • 利用可能なアクションを表示するには、コマンドライン プロンプトで /? または /help パラメータを指定してコマンドを実行します (例:Mysampleapp.exe /?)。
  • デバイス上で、以下のレジストリに含まれる HKEY を調べます。
    • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall
    • HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\
    • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall
    • HKCU\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\
  • EXE ファイルに MSI が含まれる場合は、msiexec のアンインストール コマンドを使用します (例:msiexec /x <ファイルのパス>)。

検出条件の取得

検出条件は、デバイスに該当 Win32 アプリケーションがインストールされているかどうかを判断するのに使用します。検出条件を取得するには、アプリケーションをインストールし、デバイス上でチェックすべき項目を特定します。

  • プロダクト ID チェック
    • wmic コマンドを使用します。WMIC Product where name="<アプリ名>" のようにパラメータを指定して実行してください。
    • デバイス上で、以下のレジストリに含まれる HKEY を調べて、プロダクト ID を探します。
      • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall
      • HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\
      • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall
      • HKCU\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\
  • ファイル チェック
    • プロダクト ID チェックで示した HKEY を調べて、ファイル条件を探します。
    • Program Files または Program Files (x86) のフォルダを調べて、ファイル条件を探します。
  • レジストリ チェック 
    • プロダクト ID チェックで示した HKEY を調べて、レジストリを探します。
    • HKEY_CLASSES_ROOT\Installer\Products を調べます。

終了コードの取得

終了コードを取得するには、環境変数 %errorlevel% を使用します。すでに %errorlevel% に設定されている値を残しておくには、ECHOIFSET などの組み込みの DOS コマンドを併用してください。

  1. コマンドライン プロンプトで、Win32 アプリケーションのインストール コマンドを実行します。
  2. ECHO %errorlevel% を実行します。
  3. Win32 アプリケーションのインストール完了に再起動が必要な場合は、%errorlevel% 変数に「再起動」終了コードが返されます。

 

ソフトウェア配布での問題のトラブルシューティング

Win32 アプリケーションのインストールは複数のステップで成り立っています。すべてのステップが正常に実行されてはじめて、インストールが完了します。アプリケーションのインストールに失敗する場合は、以下のトラブルシューティング手順を実行して、問題を特定してください。

App Deployment Agent による Win32 パッケージの受領報告

ユーザー デバイス上の AW App Deployment Agent は、Win32 アプリケーションのインストールを処理します。この Agent は、デバイスが加入するとき、または加入済みデバイスから最新のアプリケーション リスト サンプルが収集されるときに、デバイスに展開されます。

この Agent からアプリケーションのインストールの報告があるまで、アプリケーション インストール コマンドはシステムのキューに保持されます。

手順

エンドユーザーのデバイスに Agent がインストールされているかどうかを確認するには、次の項目を調べます。

  • AirWatch コンソールで、デバイスが正常に加入しており、コンソールと同期していることを確認します。
  • レジストリの AW App Deployment Agent を調べます。
    1. コマンド プロンプトを開き、regedit を実行します。これにより、レジストリ エディタが開きます。
    2. レジストリ エディタで HKEY_LOCAL_MACHINE > SOFTWARE > Microsoft > EnterpriseDesktopAppManagement と進みます。
    3. AW App Deployment Agent を探します。AW App Deployment Agent の正しい status 値は 70 です。
  • デバイス上のサービスを調べ、AW App Deployment Agent が実行中であることを確認します。
  • レジストリの AW MDM ノードを調べます。
    1. コマンド プロンプトを開き、regedit を実行します。これにより、レジストリ エディタが開きます。
    2. レジストリ エディタで HKEY_LOCAL_MACHINE > SOFTWARE > AirWatchMDM > AppDeploymentAgent と進みます。
    3. 次の 3 つのノードを探します。この 3 つのノードが存在しなければ、デバイスは Win32 アプリケーション パッケージを受け取っていません。
      • App Manifest - このノードには、AirWatch コンソールの 展開オプション タブで指定されたオプション セットが格納されています。
      • Content Manifest - このノードには、AirWatch コンソールの ファイル タブで指定されたオプション セットが格納されています。
      • Queue - このノードには、アプリケーションのインストールに関する詳細ログが格納されています。このログを確認することで、アプリケーションのダウンロード状況を調べることができます。

Win32 アプリケーションのインストール状態

デバイスに Agent をインストールしたら、アプリケーションのインストール状況を追跡して、問題のトラブルシューティングを行うことができます。Win32 アプリケーションのインストール状態は、次のいずれかになります。 

  1. デバイスのインストール コマンド準備完了 – そのデバイスに対するインストール コマンドはキューに登録されていますが、まだデバイスが AirWatch にチェックインしていません。
  2. インストール コマンド発信済み – デバイスが AirWatch にチェックインし、インストール コマンドを受信しました。
  3. インストール中 – Win32 アプリケーションをダウンロードしており、そのデバイスでインストールが進行中です。 
  4. インストール済み – インストールは完了しており、デバイスから AirWatch コンソールに通知が送信されました。

手順

2 番目の状態「インストール コマンド発信済み」よりも後の段階でインストールに失敗する場合は、次の手順を実行してエラーの原因を見つけます。

  1. AirWatch コンソールの 展開オプション タブで、その Win32 アプリケーションの構成が正しいことを確認します。
    1. アプリとブック > リスト表示 > 社内 と進み、その Win32 アプリケーションを編集します。
    2. 編集 > 展開オプション を選択します。
    3. インストール方法 セクションで インストール コンテキスト の構成が デバイスユーザー かを確認します。
    4. 管理者特権 の設定を確認します。
    5. インストール コマンド の設定を確認します。
    6. そのアプリケーションをデバイスにサイドロードして、このアクションをきっかけにインストール コマンドの実行が開始されるかを確かめます。
  2. AirWatch コンソールで ハブ > レポート & 分析 > イベント > コンソール イベント と進み、コンソール イベント ログを調べて、エラーの原因を探します。
  3. デバイスでエラーの原因を探します。
    1. デバイスでコマンド プロンプトを開き、regedit を実行します。これにより、レジストリ エディタが開きます。
    2. レジストリ エディタで HKEY_LOCAL_MACHINE > SOFTWARE > AirWatchMDM > AppDeploymentAgent と進みます。
    3. Queue ノードの log フィールドを調べます。
    4. Queue ノードが存在しない場合は、デバイスまたはユーザーの SID が付いたノードを探します。この値には、その Win32 アプリケーションのプロダクト コードが含まれています。プロダクト コードを選択し、インストール エラーの原因を確認します。

下図のアプリケーション インストール フローチャートは、デバイス上でインストール前後のチェックがどのように実行されるかを示しています。

 

App_Installer_Flowchart_JA.png

免責事項:これは英文の記事「Software Distribution - Tips and Troubleshooting」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

Have more questions? Submit a request

0 Comments

Article is closed for comments.