web-dev-qa-db-ja.com

ソフトウェアインストールポリシーを使用してFlash Playerをデプロイしました。アップグレードするには?

DCとしてWindows Server 2008マシンを使用しています。今年初め、私はソフトウェアインストールを作成しましたGPO Adob​​e Flash PlayerプラグインMSIを展開します。ポリシーをコンピューターに割り当て、Windowsの約半分を実行XP x86および残りの半分はWindows 7 x64です。これはすべて時計仕掛けのように機能します。

ソフトウェアインストールポリシーを作成したとき、OrcaでMSIを編集して、Flash Playerプラグインの自動更新機能を無効にしました。これは、すべてのマシンでまったく同じバージョンのプラグインを実行したかったためです。

しばらくして、新しいバージョンのFlash Playerプラグインがリリースされました。プラグインの更新されたバージョンをプッシュする時が来ました。私はすでに新しいMSIを持っていますが、次に何をするか迷っています。

  • ソフトウェアインストールGPOに[アップグレード]タブが表示されますが、そのようなすべての読み取りは、より大きなマスタープログラムへのアドオンに使用され、時間の経過とともにリリースされる更新には使用されません。
  • 新しいMSIで新しいソフトウェアインストールポリシーを作成し、古いGPOを取り消して、新しいGPOを割り当てるのが最善であると読みました。時間が経つにつれ、アクティブなポリシーよりも取り消されたポリシーが増えるように感じます。
  • 古いMSIを新しいMSIに置き換えて、単にGPOを再デプロイするように指示するだけで成功した人もいます。これは私をトラブルに巻き込むだけのバックドアメソッドのようです。

要するに、グループポリシーを介して新しいバージョンをロールアウトするための正しい、ベストプラクティス、または推奨される方法は何ですか?

8
eleven81

私はこれをFlash Player(および他のソフトウェア)で何度も行っています。あなたがしたいことは:

  • ORCAを使用して、必要なカスタマイズを加えて編集し、変換として保存します(または、機能するものであれば、まったく新しいMSIとして保存します)。

  • その新しいMSI(および変換)をソフトウェア展開共有に配置します。

  • このソフトウェア(および変換)を既存のポリシーに追加します。以前のバージョンのFlash Playerへのアップグレードとして自動的に検出されます。以前にそれを構成した場合は(x86:プラグインとActiveX、x64:プラグインとActiveX)、同じポリシーですべてのバージョンを追加できます。または、既存のGPOレイアウトを続行できます。ポリシーにlike-for-likeを追加していることを確認してください。これにより、これらがアップグレードとして自動的に検出されます。

  • なんらかの理由でアップグレードとして自動的に検出されない場合は、ポリシーで自分で設定できます。これは、この状況を処理する正しい方法です。

これには特別なことは何もありません。

新しいバージョンがあるたびにORCAを使用してMSIを編集する代わりに、mms.cfgファイルを作成できます ここで説明されているように Flash Playerの設定で。このファイルはアップグレード全体で変更されることはないため、このファイルを一度プッシュするだけで、Vanilla Flash Playerインストールをデプロイできます。グループポリシーファイルの基本設定とアイテムレベルのターゲット設定を使用して、これを混合環境のx86マシンとx64マシンの正しい場所に配置しました。

16
MDMarra

アップグレードはそうするための最良の方法だと思います。私は過去にこの方法をかなり広範囲にわたって問題なく使用しました。

新しい展開方法を選択して、新しいMSIを別のパッケージとしてグループポリシーオブジェクトに追加します。以前にデプロイされたFlash Playerへのアップグレードとして検出されます。そうでない場合は、手動で更新タブに追加できます。

5
john

私はhorrendous一見ランダムな失敗の数(この回答の終わりにある私のメモを参照)をいくつか持っています。v9、v10、およびv11の一部でAdobe Flash MSIが適切にアンインストールまたはアップグレードされず、MSIが残ります。 PC上のデータベースは私を警戒させる状態にあります。次のような起動スクリプトを使用することにしました。

  • HKEY_LOCAL_MACHINE\SOFTWARE\Macromedia\FlashPlayer\CurrentVersionレジストリ値を使用して、現在インストールされているバージョンが最新かどうかを確認します(WOW6432NODE(必要に応じて)そのパスに入れ、バージョンが最新の場合はベイルします

  • 古い、サポートされていない、今では不可能に近いmsizap.exe既知の障害のあるMSIを「その日の過去」から削除するユーティリティ({2BD2FA21-B51D-4F01-94A7-AC16737B2163}、{B7B3E9B3-FB14-4927-894B-E9124509AF5A}、および{FA1D6742-0515-4A94- AD5D-F0484026E4A2})。

  • アドビ提供のアンインストーラーEXEを使用して、Flashの現在のバージョンをサイレントに削除します

  • アドビが提供する現在のEXEインストーラーを-install activex引数(ほとんどのサイトでActiveXコントロールのみをインストールしています)で現在のバージョンをインストールします

  • 'mms.cfg。を書き出します。自動アップグレードを防止するファイル

これが私の起動スクリプトのクリーンアップされたバージョンです。これを実行したい場合は、外に出て適切なEXEを取得する必要があります。

@echo off
SET MSIZAP=\\my.domain.com\netlogon\bin\msizap.exe
SET DFSPATH=\\my.domain.com\dfsroot\Packages\Adobe

SET UNINSTALL=%DFSPATH%\uninstall_flash_player_x86.exe
SET INSTALL=%DFSPATH%\install_flash_player_11.4.402.278_active_x.exe 

rem Detect 64-bit Windows
IF NOT "%ProgramFiles(x86)%"=="" SET WOW6432NODE=WOW6432NODE\

SET VER_FLAG_KEY=HKEY_LOCAL_MACHINE\SOFTWARE\%WOW6432NODE%Macromedia\FlashPlayer
SET VER_FLAG_VALUE=11,4,402,278

REG QUERY "%VER_FLAG_KEY%" /v CurrentVersion | find /i "%VER_FLAG_VALUE%" > NUL 2>NUL
if errorlevel 1 goto do_install
goto :EOF

:do_install
rem Uninstall all old versions of Flash.
start /wait /min "" "%UNINSTALL%" -uninstall activex

rem MSIZAP all old versions
start /wait /min "" "%MSIZAP%" TW! {2BD2FA21-B51D-4F01-94A7-AC16737B2163}
start /wait /min "" "%MSIZAP%" TW! {B7B3E9B3-FB14-4927-894B-E9124509AF5A}
start /wait /min "" "%MSIZAP%" TW! {FA1D6742-0515-4A94-AD5D-F0484026E4A2}

rem Run new installer
start /wait /min "" "%INSTALL%" -install activex

rem Block future automatic updates
SET DEST="%windir%\system32\Macromed\Flash\mms.cfg"

rem Detect 64-bit Windows
IF NOT "%ProgramFiles(x86)%"=="" SET DEST="%windir%\SysWOW64\Macromed\Flash\mms.cfg"

rem I'm using "sort" here because the redirect is being interpreted as "1>" and
rem doing "1 >" causes a space to be stored in the file, which "breaks" the file.
echo AutoUpdateDisable=1|sort>%DEST%

古いFlash MSIのアンインストールで目にした問題は、主に次のとおりです。

  • 「Adobe Flash Player 11 ActiveX-エラー1714。古いバージョンのAdobe Flash Player 11 ActiveXは削除できません。テクニカルサポートグループにお問い合わせください。システムエラー1612。」

  • 「エラー2753:ファイル 'installax.exe'はインストール対象としてマークされていません」

私にとって、ラクダを背負ったストローは、これらのエラーが1,000以上のクライアントPCを備えた顧客サイトでランダムに発生しているのを目にしていました。 Flashの更新が行われていること、およびMSIがランダムにアンインストールに失敗することはオプションではないことを確認する必要があります。 MSIの失敗がその後の起動ごとに発生し、起動プロセスの速度が低下するという事実は、けがをするだけの侮辱になります。

私はv11 MSIを詳細に調べていません。 v9およびv10 MSIは、コマンドライン引数を使用してEXEベースのFlashインストーラーを実行するカスタムアクションにすぎません。 Windowsインストーラーを使用してEXEベースのセットアップを実行するだけではsing Windowsインストーラーではないので、MSIの品質には感心しませんでした。

5
Evan Anderson

新しいバージョンのflash.msiをsame GPOに追加すると、Windowsはこれが以前のバージョンへのアップデートであることを検出します(古いバージョンは[アップデート]タブに表示されます)。また、古いものを先に削除せずに、古いものの上に新しいものをインストールできることもわかります([更新]タブのチェックボックスがオンになっています)。

この魔法は、アドビが提供するmsiファイルのGUIDによって可能になります。

同じGPOに任意の数の新しいflash.msiを追加できますが、最終的に古いものを削除することもできます。

1つの例外はバージョン11.4.402.278でした。この場合、アドビはいくつかの場所で間違ったバージョン番号を入力したため、それ自体を正しく更新できませんでした。

このため、私は常にテストマシンにのみ適用される個別のGPOを用意し、アップグレード、ダウングレード、アップグレードのそれぞれの新しいバージョンに対してそれを試すことを強くお勧めします。

このマジックはすべてのmsiファイルで機能するわけではないことに注意してください。次に、古いものを手動で[更新]タブのリストに追加し、チェックボックスをオフのままにする必要があります。

1
Klaus Hartnegg