web-dev-qa-db-ja.com

正確には、SCCMクライアントは、システムに.msiをインストールするときに何をしていますか?

特定の.msi(_AppleApplicationSupport.msi_)を使用しています。同等と思われる2つの異なる方法でインストールしました。ただし、結果は次のように異なります。

PSEXEC -i -s cmd

_psexec -i -s cmd_コマンドプロンプトを使用してインストールし、_msiexec /i AppleApplicationSupport.msi_を実行すると、必要な結果が得られます。

  • 「プログラムの追加と削除」に「Apple Application Support(32-bit)」が表示される
  • 「Apple Application Support(32-bit)」はアンインストール可能

SCCMクライアントによってインストールされるMSI展開タイプ

MSI展開タイプを作成し、SCCMクライアントを使用してインストールすると、次の結果が得られます。

  • 「プログラムの追加と削除」には何も表示されません
  • SCCMがインストールされていることを検出しない
  • 「Apple Application Support(32-bit)」アプリは_gwmi -Class Win32_Product_を使用して見つけることができますが、$app.Uninstall()を実行してもアンインストールされません。

違いはなんですか?

システムにインストールされたMSI展開タイプは、_psexec -i -s cmd_コマンドラインからmsiexecを実行することと同等であると思いました。明らかに、それらは同じではありません。

  1. 正確には、SCCMクライアントがシステムのMSIテクノロジ展開タイプをインストールするときにクライアントは何をしていますか?SCCM関与なしでその操作を複製できますか?

  2. SCCMクライアントによるスクリプトインストーラー展開タイプのインストーラーの実行reallyは、_psexec -i -s cmd_からのmsiexecへの呼び出しと同等ですか?)つまり、スクリプトインストーラー展開の場合型は、SCCMクライアントによるmsiexecの実行と_psexec -i -s cmd_からのmsiexecの実行の間のパリティを期待する必要がありますか?


kceの回答の後に追加:

  1. SCCMは、「プログラムの追加と削除」に表示されずに.msiをインストールするためにどのように管理しますか?
7
alx9r
  1. 正確には、SCCMクライアントがシステムのMSIテクノロジ展開タイプをインストールするときにクライアントは何をしていますか?SCCM関与なしでその操作を複製できますか?

私の知る限り、SCCMクライアントは、展開タイプで指定されたインストール文字列を実行していますただし NT AUTHORITY\SYSTEMのコンテキストで実行されています。BUILTIN\ Administratorsのメンバーであるアカウントから同じインストール文字列を実行することにより、インストールを概算できますが、複製することはできません。MSIEXECは、次のいずれかとして実行できます。 「インストールおよびアンインストールプログラムを64ビットクライアントで32ビットプロセスとして実行する」というボックスをチェックするかどうかに応じて、32ビットまたは64ビットプロセス。


  1. SCCMクライアントによるスクリプトインストーラーの展開タイプのインストーラーの実行は、psexec -i -s cmdからのmsiexecの呼び出しに本当に相当しますか?つまり、スクリプトインストーラーの展開タイプでは、 SCCMクライアントによって実行されたmsiexecおよびpsexec -i -s cmdから実行されたmsiexec?

うーん。良い質問。クライアントはインストール文字列を実行するだけでかまいませんが、より深く、より暗い魔法をかけても、私にはそれほど驚くべきことではありません。私があなたの状況で違いを引き起こしていると考えることができる唯一のことは、あなたがインストーラーを実行しているプロセスのビットネスです。 SCCMクライアントはほとんど常に64ビットを使用しますが、cmd.exeは32ビットですよね?

ソフトウェアインストールの問題に対処する際のその他の一般的なアドバイスについては、私の ここに回答 を参照してください。

幸運を祈ります。

4
user62491

@kceによるこの芸術作品の回答に加えて、私が追加しなければならないわずかで単純な単純なものは、

  • すべてのパッケージを平等に扱います

通常、「アプリケーション」は、それらに対処することを余儀なくされない限り回避します。通常、これは、App-V展開を作成しているときです。さもなければ、私はパッケージに固執します、彼らはあなたが見たまたは見るであろうように頭痛の少ないです。

SCCMでは、他のインストーラーと同じように.msiファイルのパッケージを作成しました。kceのように、システムアカウントでインストールするように言っていますが、パッケージを作成するときと使用するときデフォルトのmsiハンドラ。実行するインストール文字列を細かく制御できます。たとえば、msiexec /i "my.msi" /qb /v対デフォルトは何でも。私のアプリケーションは、手動でインストールした場合に表示されるはずだった場所に、基本的に常に[追加/削除]に表示されました。理論的には、はい、SCCM .msiのアプリケーション展開タイプは空想的に機能するはずですが、実際には別のものを使用すると、より良い結果が得られる可能性があります。アプリケーションはこのバージョンのSCCMに新しいので、たぶんいくつかのねじれがうまくいきます。

ボーナス

これがインストールアカウントに関連しているかどうかを本当に知りたい場合は、psexecスイッチを使用して、システムアカウントでコマンドを実行します。

2
MDMoore313