J'ai déployé Flash Player via une politique d'installation de logiciels. Comment mettre à jour?

8

J'ai un ordinateur Windows Server 2008 comme DC. Plus tôt cette année, j'ai créé un GPO d'installation de logiciels pour déployer le plug-in Adobe Flash Player MSI. J'ai attribué la stratégie aux ordinateurs, environ la moitié de Windows XP x86 et l'autre moitié de Windows 7 x64. Tout cela fonctionne comme sur des roulettes.

Lorsque j'ai créé la politique d'installation du logiciel, j'ai désactivé la fonction de mise à jour automatique du plugin Flash Player en modifiant le MSI dans Orca. J'ai fait cela parce que je voulais que toutes mes machines exécutent exactement la même version du plugin.

Maintenant, un certain temps s'est écoulé et une nouvelle version du plugin Flash Player a été publiée. Il est temps pour moi de sortir la version mise à jour du plugin. J'ai déjà le nouveau MSI, mais je ne sais plus quoi faire ensuite.

  • Je vois l'onglet des mises à niveau dans le GPO d'installation de logiciels, mais tout ce qui se lit comme ça serait utilisé pour les modules complémentaires d'un programme maître plus grand et non pour les mises à jour qui sont publiées au fil du temps.
  • J'ai lu qu'il est préférable de créer une nouvelle stratégie d'installation de logiciels avec le nouveau MSI, de révoquer l'ancien GPO et d'attribuer le nouveau GPO. J'ai l'impression que, avec le temps, je finirai avec plus de politiques révoquées que de politiques actives.
  • J'ai également lu que certaines personnes ont réussi en remplaçant l'ancien MSI par le nouveau MSI et en disant simplement au GPO de se redéployer. Cela semble être une méthode de porte dérobée qui ne me fera que des ennuis.

En bref, quelle est la méthode correcte, la meilleure pratique ou préférée pour déployer la nouvelle version via la stratégie de groupe?

onze81
la source

Réponses:

16

Je l'ai fait plusieurs fois avec Flash Player (et d'autres logiciels). Ce que vous voulez faire, c'est:

  • Utilisez ORCA pour le modifier avec la personnalisation que vous souhaitez et enregistrez-le en tant que transformation (ou enregistrez-le en tant que nouveau MSI, tout ce qui vous convient).

  • Mettez ce nouveau MSI (et transforme) sur votre partage de déploiement logiciel.

  • Ajoutez ce logiciel (et transforme) à votre stratégie existante. Il le détectera automatiquement comme une mise à niveau vers vos versions précédentes de Flash Player. Vous pouvez ajouter toutes les versions dans la même stratégie si c'est comme cela que vous l'avez configurée précédemment (x86: plugin et ActiveX, x64: plugin et ActiveX) ou vous pouvez continuer avec la disposition de GPO que vous avez déjà. Assurez-vous simplement que vous ajoutez des éléments comparables dans votre stratégie et il les détectera automatiquement en tant que mises à niveau.

  • Si, pour une raison quelconque, ils ne sont pas automatiquement détectés en tant que mises à niveau, vous pouvez le définir vous-même dans la politique. C'est la bonne façon de gérer cette situation.

Il n'y a vraiment rien de spécial à cela.

Une chose à laquelle vous devriez penser est qu'au lieu de modifier le MSI avec ORCA chaque fois qu'il y a une nouvelle version, vous pouvez créer un fichier mms.cfg comme indiqué ici avec les préférences de Flash Player. Ce fichier ne sera pas touché lors des mises à niveau, vous n'avez donc qu'à pousser ce fichier une fois, puis vous pouvez déployer une installation Flash Player de vanille. J'ai utilisé les préférences de fichier de stratégie de groupe avec le ciblage au niveau de l'élément pour mettre cela au bon endroit sur les machines x86 et x64 dans un environnement mixte.

MDMarra
la source
5

Je pense que la mise à niveau est la meilleure méthode pour le faire. J'ai utilisé cette méthode assez largement dans le passé sans problème.

Ajoutez le nouveau MSI en tant que autre package dans l'objet de stratégie de groupe, en choisissant la méthode de déploiement avancée. Il doit être détecté comme une mise à niveau du Flash Player précédemment déployé. Si ce n'est pas le cas, vous pouvez l'ajouter manuellement à l'onglet des mises à jour.

John
la source
5

J'ai eu un nombre horrible d'échecs apparemment aléatoires (voir ma note à la fin de cette réponse) avec certains des MSI Adobe Flash v9, v10 et v11 qui ne se désinstallent pas ou ne se mettent pas à niveau correctement, laissant la base de données MSI sur le PC dans un état cela me rend méfiant. J'ai fini par recourir à un script de démarrage qui:

  • Vérifie la HKEY_LOCAL_MACHINE\SOFTWARE\Macromedia\FlashPlayer\CurrentVersionvaleur de registre pour voir si la version actuellement installée est actuelle (en ajoutant un WOW6432NODEdans ce chemin, si nécessaire) et mise en cache si la version est actuelle

  • Utilise l'ancien msizap.exeutilitaire , non pris en charge et désormais pratiquement impossible , pour supprimer les MSI défaillants connus de "retour dans la journée" (y compris {2BD2FA21-B51D-4F01-94A7-AC16737B2163}, {B7B3E9B3-FB14-4927-894B- E9124509AF5A} et {FA1D6742-0515-4A94-AD5D-F0484026E4A2}).

  • Utilise le programme de désinstallation EXE fourni par Adobe pour supprimer silencieusement toutes les versions actuelles de Flash

  • Utilise le programme d'installation EXE fourni par Adobe avec l' -install activexargument (j'installe uniquement le contrôle ActiveX dans la plupart des sites) pour installer la version actuelle

  • Écrit un 'mms.cfg. fichier pour empêcher les mises à niveau automatisées

Voici une version nettoyée de mon script de démarrage. Vous auriez besoin de sortir et de saisir les EXE appropriés si vous vouliez faire cela.

@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%

Les problèmes que j'ai rencontrés lors de la désinstallation d'anciens MSI Flash ont principalement été:

  • "Adobe Flash Player 11 ActiveX - Erreur 1714. L'ancienne version d'Adobe Flash Player 11 ActiveX ne peut pas être supprimée. Contactez votre groupe de support technique. Erreur système 1612."

  • "Erreur 2753: le fichier 'installax.exe' n'est pas marqué pour l'installation"

La paille qui a brisé le dos du chameau, pour moi, était de voir ces erreurs se produire de manière aléatoire dans un site client avec plus de 1000 ordinateurs clients. Je dois être sûr que les mises à jour Flash se produisent et que la désinstallation des MSI échoue de manière aléatoire n'est pas une option. Le fait que les échecs MSI se produisent à chaque démarrage suivant, ralentissant le processus de démarrage, ne fait qu'ajouter l'insulte à la blessure.

Je n'ai pas examiné en détail un MSI v11. Les MSI v9 et v10 ne sont rien de plus qu'une action personnalisée pour exécuter le programme d'installation Flash basé sur EXE avec des arguments de ligne de commande. Je n'ai pas été impressionné par la qualité des MSI, car l'utilisation de Windows Installer pour exécuter simplement votre configuration basée sur EXE n'utilise pas Windows Installer.

Evan Anderson
la source
Même problèmes avec les versions ultérieures (14-16). J'ai passé plusieurs heures à essayer de trier un seul MSI corrompu et j'ai finalement tout trié en supprimant et en téléchargeant un nouveau fichier MSI pour la version corrompue. La partie difficile est que l'installation d'origine est masquée en raison de l'échec de l'installation du MSI corrompu. Un nettoyeur (ou un script à nettoyer via GPO) doit d'abord être exécuté pour supprimer l'installation ayant échoué avant que le nouveau package ne s'installe sans erreur.
fyrye
1
@fyrye - J'ai cessé d'utiliser les distributions Flash basées sur MSI il y a plusieurs années parce qu'elles étaient si mauvaises. J'ai choisi d'utiliser un script pour msizaples installations ayant échoué.
Evan Anderson
@Evan Anderson, j'ai eu la même expérience avec les mises à niveau de Flash Player. De grandes quantités d'erreurs et d'échecs avec les mêmes entrées de journal des événements que vous décrivez. Plus récemment, le processus que j'utilise consiste à supprimer l'ancienne version et à choisir «Désinstaller immédiatement» à l'invite suivante. Ensuite, j'ajoute la nouvelle version au même GPO. Je me demande si l'ajout de la nouvelle version en tant que mise à niveau fonctionnera mieux. En attendant, je voulais vous demander si vous avez utilisé MSIZAP sur les machines Windows 7? Je ne pense pas qu'il soit pris en charge par Microsoft, mais si cela fonctionne dans la plupart des cas, je serais prêt à l'essayer.
satchel_74
1
@ satchel_74 - Historiquement, je me méfie beaucoup du paramètre "Désinstaller immédiatement ..." dans les GPO car, fondamentalement, vous placez une instruction de désinstallation qui ne peut pas être supprimée avec les outils pris en charge dans le GPO. J'ai utilisé MSIZAP sur des machines Windows 7 32 bits sans problèmes. Je ne l'ai pas testé intensivement et je ne suis honnêtement pas sûr de ce que serait le comportement sur les machines 64 bits. (Je ne pense pas qu'il y ait jamais eu de version x64 de MSIZAP.) C'est un outil que j'essaie d'éviter d'utiliser autant que possible, finalement.
Evan Anderson
1

Si vous ajoutez une version plus récente de flash.msi au même objet de stratégie de groupe, Windows détectera qu'il s'agit d'une mise à jour de la précédente (la plus ancienne est répertoriée dans l'onglet «mises à jour»). Il saura également qu'il peut installer le nouveau sur l'ancien, sans supprimer d'abord l'ancien (la case à cocher dans l'onglet de mise à jour est cochée).

Cette magie est rendue possible par les GUID dans le fichier msi, qui sont mis par Adobe.

Vous pouvez ajouter n'importe quel nombre de nouveaux flash.msi au même objet de stratégie de groupe, mais vous pouvez également éventuellement supprimer les anciens.

Une exception était la version 11.4.402.278, car dans ce cas, Adobe avait entré le mauvais numéro de version à certains endroits, il n'a donc pas pu se mettre à jour correctement.

Pour cette raison, je recommande fortement de toujours avoir un objet de stratégie de groupe distinct qui ne s'applique qu'à une machine de test, et d'essayer là-bas pour chaque nouvelle version: mise à niveau, rétrogradation, mise à niveau.

Veuillez noter que cette magie ne fonctionne pas avec tous les fichiers msi. Ensuite, vous devez ajouter les anciens manuellement à la liste dans l'onglet des mises à jour, puis vous devez laisser la case décochée.

Klaus Hartnegg
la source