Ho distribuito Flash Player tramite una politica di installazione del software. Come si aggiorna?


8

Ho un computer Windows Server 2008 come controller di dominio. All'inizio di quest'anno ho creato un oggetto Criteri di gruppo per l'installazione del software per distribuire il plug-in MSI di Adobe Flash Player. Ho assegnato il criterio ai computer, circa la metà esegue Windows XP x86 e l'altra metà Windows 7 x64. Tutto funziona come un orologio.

Quando ho creato la politica di installazione del software, ho disabilitato la funzione di aggiornamento automatico del plug-in Flash Player modificando l'MSI in Orca. L'ho fatto perché volevo che tutte le mie macchine avessero la stessa identica versione del plugin.

Ora è passato del tempo ed è stata rilasciata una versione più recente del plug-in Flash Player. È tempo per me di distribuire la versione aggiornata del plugin. Ho già il nuovo MSI, ma mi sono perso su cosa fare dopo.

  • Vedo la scheda degli aggiornamenti nell'oggetto Criteri di gruppo per l'installazione del software, ma tutto ciò che si legge in quel modo verrebbe utilizzato per i componenti aggiuntivi di un programma principale più grande e non per gli aggiornamenti rilasciati nel tempo.
  • Ho letto che è meglio creare una nuova politica di installazione del software con il nuovo MSI, revocare il vecchio oggetto Criteri di gruppo e assegnare il nuovo oggetto Criteri di gruppo. Sento che, nel tempo, finirò con politiche più revocate di quelle attive.
  • Ho anche letto che alcune persone hanno avuto successo sostituendo il vecchio MSI con il nuovo MSI e dicendo semplicemente all'oggetto Criteri di gruppo di ridistribuire. Sembra un metodo backdoor che mi metterà nei guai.

In breve, qual è il modo corretto, ottimale o preferito per implementare la nuova versione tramite Criteri di gruppo?

Risposte:


16

L'ho fatto molte volte con Flash Player (e altri software). Quello che vuoi fare è:

  • Utilizzare ORCA per modificarlo con qualsiasi personalizzazione desiderata e salvarlo come trasformazioni (o salvarlo come un MSI completamente nuovo, qualunque cosa funzioni per te).

  • Inserisci il nuovo MSI (e le trasformazioni) nella condivisione di distribuzione del software.

  • Aggiungi questo software (e trasforma) alla tua politica esistente. Lo rileverà automaticamente come aggiornamento alle versioni precedenti di Flash Player. Puoi aggiungere tutte le versioni nello stesso criterio se è così che l'hai configurato in precedenza (x86: plug-in e ActiveX, x64: plug-in e ActiveX) oppure puoi continuare con qualsiasi layout dell'oggetto Criteri di gruppo che hai già. Assicurati solo di aggiungere like-for-like nei tuoi criteri e li rileverà automaticamente come aggiornamenti.

  • Se, per qualsiasi motivo, non vengono rilevati automaticamente come aggiornamenti, puoi impostarlo tu stesso nella politica. Questo è il modo corretto di gestire questa situazione.

Non c'è davvero niente di speciale in questo.

Una cosa a cui dovresti pensare è invece di modificare l'MSI con ORCA ogni volta che c'è una nuova versione, puoi creare un file mms.cfg come indicato qui con le preferenze di Flash Player. Questo file non verrà toccato attraverso gli aggiornamenti, quindi è necessario eseguire il push di questo file una sola volta e quindi è possibile distribuire un'installazione Vanilla Flash Player. Ho usato le preferenze dei file dei criteri di gruppo con il targeting a livello di elemento per metterlo nella posizione corretta su macchine x86 e x64 in un ambiente misto.


5

Credo che l'aggiornamento sia il metodo migliore per farlo. Ho usato questo metodo abbastanza ampiamente in passato senza problemi.

Aggiungi il nuovo MSI come un altro pacchetto nell'oggetto Criteri di gruppo, scegliendo il metodo di distribuzione Avanzato. Dovrebbe essere rilevato come aggiornamento a Flash Player precedentemente distribuito. In caso contrario, è possibile aggiungerlo manualmente alla scheda degli aggiornamenti.


5

Ho avuto un numero orrendo di guasti apparentemente casuali (vedi la mia nota alla conclusione di questa risposta) con alcuni dei Adobe Flash MSI v9, v10 e v11 che non si disinstallano o si aggiornano correttamente, lasciando il database MSI sul PC in uno stato questo mi rende diffidente. Ho finito col ricorrere all'uso di uno script di avvio che:

  • Verifica il HKEY_LOCAL_MACHINE\SOFTWARE\Macromedia\FlashPlayer\CurrentVersionvalore del registro per vedere se la versione attualmente installata è corrente (aggiungendo una WOW6432NODEin quel percorso, se necessario) e salvando se la versione è corrente

  • Utilizza l' msizap.exeutilità precedente, non supportata e ora quasi impossibile per rimuovere gli MSI con errori noti da "back in the day" (inclusi {2BD2FA21-B51D-4F01-94A7-AC16737B2163}, {B7B3E9B3-FB14-4927-894B- E9124509AF5A} e {FA1D6742-0515-4A94-AD5D-F0484026E4A2}).

  • Utilizza il programma di disinstallazione EXE fornito da Adobe per rimuovere silenziosamente tutte le versioni correnti di Flash

  • Utilizza l'attuale programma di installazione EXE fornito da Adobe con l' -install activexargomento (sto solo installando il controllo ActiveX nella maggior parte dei siti) per installare la versione corrente

  • Scrive un 'mms.cfg. file per impedire gli aggiornamenti automatici

Ecco una versione ripulita del mio script di avvio. Dovresti uscire e prendere gli EXE appropriati se vuoi farlo andare.

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

I problemi che ho riscontrato nella disinstallazione di vecchi MSI Flash sono stati principalmente:

  • "Adobe Flash Player 11 ActiveX - Errore 1714. Impossibile rimuovere la versione precedente di Adobe Flash Player 11 ActiveX. Contattare il gruppo di supporto tecnico. Errore di sistema 1612."

  • "Errore 2753: il file 'installax.exe' non è contrassegnato per l'installazione"

La goccia che ha spezzato la schiena del cammello, per me, stava vedendo questi errori accadere casualmente in un sito del cliente con oltre 1.000 PC client. Devo essere sicuro che gli aggiornamenti di Flash siano in corso e che la disinstallazione casuale degli MSI non sia un'opzione. Il fatto che gli errori MSI si verifichino ad ogni avvio successivo, rallentando il processo di avvio, aggiunge solo un insulto alla lesione.

Non ho esaminato un MSI v11 in dettaglio. Gli MSI v9 e v10 non sono altro che un'azione personalizzata per eseguire il programma di installazione Flash basato su EXE con argomenti da riga di comando. Non sono rimasto impressionato dalla qualità degli MSIs, perché l'utilizzo di Windows Installer per eseguire semplicemente l'installazione basata su EXE non utilizza Windows Installer.


Stessi problemi anche con le versioni successive (14-16). Ho trascorso diverse ore a cercare di risolvere un singolo MSI danneggiato e alla fine ho risolto tutto eliminando e scaricando un nuovo file MSI per la versione danneggiata. La parte difficile è che l'installazione originale è nascosta a causa della mancata installazione dell'MSI danneggiato. È necessario eseguire prima un pulitore (o uno script da ripulire tramite GPO) per rimuovere l'installazione non riuscita prima che il nuovo pacchetto venga installato senza errori.
Fyrye,

1
@fyrye - Ho smesso di usare le distribuzioni Flash basate su MSI diversi anni fa perché sono state così male. Ho scelto di utilizzare uno script per msizaple installazioni non riuscite.
Evan Anderson,

@Evan Anderson, ho avuto la stessa esperienza con gli aggiornamenti di Flash Player. Grandi quantità di errori e guasti con le stesse voci del registro eventi descritte. Più di recente, il processo che utilizzo è quello di rimuovere la versione precedente e scegliere "Disinstalla immediatamente" dal prompt successivo. Quindi aggiungo la nuova versione allo stesso oggetto Criteri di gruppo. Mi chiedo se l'aggiunta della nuova versione come aggiornamento funzionerà meglio. Nel frattempo, volevo chiederti se hai usato MSIZAP su macchine Windows 7? Non penso che sia supportato da Microsoft, ma se funziona nella maggior parte dei casi sarei disposto a provarlo.
satchel_74,

1
@ satchel_74 - Storicamente, sono stato molto cauto nell'impostazione "Disinstalla immediatamente ..." negli oggetti Criteri di gruppo poiché, in sostanza, stai inserendo nell'oggetto Criteri di gruppo istruzioni di disinstallazione che non possono essere rimosse con strumenti supportati. Ho usato MSIZAP su macchine Windows 7 a 32 bit senza problemi. Non l'ho ampiamente testato e, onestamente, non sono sicuro di come si comporterebbe sulle macchine a 64 bit. (Non credo che ci sia mai stata una versione x64 di MSIZAP.) È uno strumento che cerco di evitare di usare quando possibile, in definitiva.
Evan Anderson,

1

Se aggiungi una versione più recente di flash.msi allo stesso oggetto Criteri di gruppo, Windows rileverà che si tratta di un aggiornamento a quello precedente (quello precedente è elencato nella scheda "aggiornamenti"). Saprà anche che può installare quello nuovo su quello vecchio, senza rimuovere prima quello vecchio (la casella di controllo nella scheda di aggiornamento è selezionata).

Questa magia è resa possibile dai GUID nel file msi, inserito da Adobe.

Puoi aggiungere un numero qualsiasi di nuovi flash.msi allo stesso oggetto Criteri di gruppo, ma alla fine puoi anche rimuovere quelli vecchi.

Un'eccezione era la versione 11.4.402.278, perché in questo caso Adobe aveva inserito il numero di versione errato in alcuni punti, quindi non è riuscito ad aggiornarsi correttamente.

Per questo motivo, consiglio vivamente di avere sempre un oggetto Criteri di gruppo separato che si applica solo a una macchina di prova e di provare lì per ogni nuova versione: aggiornamento, downgrade, upgrade.

Nota che questa magia non funziona con tutti i file msi. Quindi devi aggiungere quelli vecchi manualmente all'elenco nella scheda degli aggiornamenti e quindi lasciare la casella deselezionata.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.