Archives For XML

Ho rimesso mano al ChannelSelector per Office di cui ti avevo parlato un anno fa circa, un po’ per mettere a posto i nuovi nomi dei canali di aggiornamento adottati da Microsoft, un po’ per cambiare il metodo di intervento sul registro, in accordo con ciò che oggi è ormai capace di fare il Click2Run ufficiale che teoricamente utilizzi per mandare in downgrade o upgrade forzato una suite Office dal prompt dei comandi. Andiamo con ordine però, nell’articolo ti spiegherò le novità dello script, i riferimenti da adottare per il Registro di Sistema e l’uso in alternativa del C2R disponibile nella cartella Common Files di Office, soluzione che continua a rimanere ufficiale, pensata e distribuita direttamente da Microsoft.

Office 365 ProPlus (2016): aggiornamento di ChannelSelector

Il nuovo ChannelSelector

Tolto il blocco informativo iniziale con i riferimenti e le fonti utilizzate, cambia il metodo di azione sul Registro di Sistema (regedit), andando a compilare / modificare il campo CDNBaseUrl che determina l’URL dal quale scaricare i file di installazione o aggiornamento di Office, si passa poi alla rimozione delle altre chiavi di registro precedentemente valorizzate, così da permettere al tuo Office di popolarsele autonomamente al successivo avvio e conseguente ricerca aggiornamenti (inevitabile, considerando che stai cambiando canale di distribuzione).

Rimangono invece disponibili e valide le altre opzioni, fatte per conoscere il branch utilizzato e bloccare o permettere gli aggiornamenti automatici della suite. Una verifica introdotta con questa versione dello script si occuperà di terminarlo nel caso in cui non rilevi un’installazione di Office 2016 a bordo macchina.

Avvia lo script come amministratore locale della macchina (o di dominio), quindi scegli ciò che ti serve. Se non vuoi utilizzare un prompt dei comandi (oltre quanto già fatto per utilizzare il mio batch), dovrai chiudere ogni applicazione Office (e riaprirne una qualsiasi dopo la modifica) se vuoi accertarti che l’obiettivo sia stato centrato.

Maggiori informazioni (sempre utili) sul rilascio degli aggiornamenti sono disponibili nella documentazione ufficiale di Microsoft, a questi indirizzi: docs.microsoft.com/it-it/DeployOffice/overview-of-update-channels-for-office-365-proplus & docs.microsoft.com/it-it/officeupdates/release-notes-office365-proplus.

In via ufficiale: OfficeC2RClient.exe

Volendo operare per vie ufficiali, Microsoft ha da tempo aggiornato il proprio OfficeC2RClient.exe per permetterti di cambiare canale di distribuzione per nuove versioni e aggiornamenti della suite Microsoft Office. Ti spiego molto rapidamente come procedere partendo dallo schema aggiornamenti:

CanaleParametro (da Prompt o Office Deployment Tool)
Canale mensile (Mirato)Channel=Insiders o Channel=FirstReleaseCurrent
Canale mensileChannel=Monthly o Channel=Current
Canale semestrale (Mirato)Channel=Targeted o Channel=FirstReleaseDeferred
Canale semestraleChannel=Broad o Channel=Deferred

Ciò detto, apri un prompt dei comandi con diritti amministrativi, quindi spostati sotto Program Files → Common Files → microsoft shared → ClickToRun (cd \Program Files\Common Files\microsoft shared\ClickToRun). A questo punto dovrai semplicemente lanciare l’eseguibile OfficeC2RClient.exe con il parametro /changesetting Channel=$Canale, dove al posto di $Canale dovrai specificare quello che ti interessa, un esempio pratico:

C:\Program Files\Common Files\microsoft shared\ClickToRun>OfficeC2RClient.exe /changesetting Channel=Monthly

Questa abiliterà il canale di aggiornamento mensile sulla suite Office installata. Per poter scatenare l’operazione di ricerca aggiornamenti nell’immediato ti basterà utilizzare lo stesso eseguibile ma con un parametro diverso:

C:\Program Files\Common Files\microsoft shared\ClickToRun>OfficeC2RClient.exe /update user

Il gioco è fatto, non ti servirà fare null’altro.

Buon lavoro :-)


crediti: erwinbierens.com/switch-office-2016-to-monthly-targeted-channel

Condividi l'articolo con i tuoi contatti:

Tempo fa ti avevo parlato di un problema riguardante un mancato rollback della versione 16.0.8229.2073 (1706) di Microsoft Office 365 ProPlus (la versione 2016), risolto scaricando e installando un diverso pacchetto, inferiore a quello difettoso. Nel frattempo i problemi sono stati risolti e altri sono sorti, facendomi scegliere una diversa strada per un certo gruppo di utenti ai quali ho tolto la possibilità di aggiornare Office dal canale un po’ più rapido di Microsoft.

Dato che si tratta di semplici modifiche alle chiavi di registro, ho optato per la scrittura di un batch che potesse automatizzare le operazioni. Te lo propongo oggi, così che possa tornarti utile in caso di necessità, da tenere quindi da parte nella solita chiave USB degli strumenti da avere sempre a portata di mano :-)

Office 365 ProPlus (2016): selezione del canale di aggiornamento

Scritto a luglio e utilizzato nel corso del tempo, lo condivido e ti spiego com’è che funziona:

Update

Aggiornamento di ottobre: ho modificato lo script correggendo una svista che tornava a disabilitare gli aggiornamenti di Office quando veniva richiesta la riattivazione. Ne ho approfittato per integrare una nuova voce di menu (la 7) che effettua la lettura del canale di aggiornamento al quale Office si appoggia (fa una lettura da registro di sistema). Ogni voce selezionata attendere ora un colpo di invio (o altro pulsante da tastiera) per tornare a mostrare il menu principale del batch.

Il codice si basa sul fatto che:

  • l’aggiornamento arriverà dai server di Microsoft e non da una location interna alla tua rete (updatepathnon viene infatti valorizzato);
  • non c’è una versione d’arrivo dichiarata (come sopra, updatetargetversion non viene valorizzato);
  • l’unica voce che cambia (in base all’esigenza) è sempre quella relativa al canale di aggiornamento (updatebranch prende il valore in base al ramo di aggiornamento scelto).

è inoltre possibile (e previsto) che una postazione possa avere la necessità di bloccare ogni futuro aggiornamento, continuando quindi a utilizzare solo e sempre quell’unica versione di Office già a bordo. Alla stessa maniera, potrai sempre tornare indietro e chiedere a Office di aggiornarsi, in un secondo momento. In entrambi i casi, la chiave di registro da andare a ritoccare è la enableautomaticupdates.

Il batch è stato testato con successo su configurazioni Windows 7 e 10, con Office 2016 (365 ProPlus) a bordo, installato chiaramente tramite C2R. Potrai scaricarlo direttamente da GitHub e avviarlo –come amministratore locale o di dominio– sul PC che ti interessa. Se l’intervento è invece da portare a termine su più PC, ti consiglio di prelevare dal codice le chiavi di registro che ti interessano, quindi darle in pasto a uno strumento di distribuzione software (come Kace).

Buon lavoro! :-)

Condividi l'articolo con i tuoi contatti:

Più che un articolo complesso, una pillola che potrebbe tornare utile nelle ricerche di Google (e per imperitura memoria del sottoscritto). Si parla ancora di Sysprep, nonostante io abbia già pubblicato qualcosa in merito da poco, con però un riferimento specifico a Windows 10 (in attuale versione Creators Update 1703). Una macchina nuova appena preparata e pronta per essere “chiusa e resa clonabile“, un errore a video che lascia molto spazio a imprecazioni variopinte:

Sysprep was not able to validate your Windows Installation (Bitlocker)

Io quel log l’ho aperto, e ci ho trovato una serie di informazioni anomale, perché relative al Bitlocker mai configurato sul PC:

2017-07-25 10:59:42, Info [0x0f0080] SYSPRP ActionPlatform::LaunchModule: Found 'ValidateBitLockerState' in C:\Windows\System32\BdeSysprep.dll; executing it
2017-07-25 10:59:42, Error SYSPRP BitLocker-Sysprep: BitLocker is on for the OS volume. Turn BitLocker off to run Sysprep. (0x80310039)
[gle=0x00000001]
2017-07-25 10:59:42, Error [0x0f0082] SYSPRP ActionPlatform::LaunchModule: Failure occurred while executing 'ValidateBitLockerState' from C:\Windows\System32\BdeSysprep.dll; dwRet = 0x80310039[gle=0x00000001]
2017-07-25 10:59:42, Error SYSPRP SysprepSession::Validate: Error in validating actions from C:\Windows\System32\Sysprep\ActionFiles\Generalize.xml; dwRet = 0x80310039
2017-07-25 10:59:42, Error SYSPRP RunPlatformActions:Failed while validating SysprepSession actions; dwRet = 0x80310039
2017-07-25 10:59:42, Error [0x0f0070] SYSPRP RunExternalDlls:An error occurred while running registry sysprep DLLs, halting sysprep execution. dwRet = 0x80310039
2017-07-25 10:59:42, Error [0x0f00d8] SYSPRP WinMain:Hit failure while pre-validate sysprep generalize internal providers; hr = 0x80310039
2017-07-25 10:59:55, Info [0x0f0052] SYSPRP Shutting down SysPrep log

In realtà, incuriosito da quel lucchetto aperto e il segnale di Warning sul disco del sistema operativo, ho scoperto che la protezione dei dati c’è, anche se non si vede. In pratica, quello che Windows 10 Creators Update fa, è una pre-attivazione di Bitlocker, il sistema che permette di criptare i dati ospitati su disco e che consiglio caldamente di utilizzare nel caso in il tuo PC portatile ti segua in tutti i tuoi spostamenti. Aprendo il Pannello di Controllo e portandoti sulla voce relativa alla sicurezza dei dati, noterai una schermata simile (io l’ho recuperata in inglese, ho dimenticato di fare uno screenshot al SO che stavo preparando!):

Sysprep was not able to validate your Windows Installation (Bitlocker) 1

A questo punto hai una sola possibilità: dato che non puoi lanciare un Sysprep di una macchina con Bitlocker attivo, dovrai prima disattivarlo e quindi -una volta terminata la decrittografia- rilanciare il processo di chiusura (Sysprep, appunto). Per farlo ti consiglio di utilizzare la Powershell, nettamente più rapida di una criptazione completa dei dati e successiva decrittografia.

Apri una finestra di PowerShell e lancia il comando Disable-BitLocker -MountPoint "C:", dove C: è la lettera corrispondente al disco che ospita il sistema e che ti sta dando questo problema. A questo punto dovrai semplicemente attendere che la decrittografia venga completata, a quel punto non dovresti più avere errori a video:

 esc.


fonti utilizzate:
Condividi l'articolo con i tuoi contatti:

Ti è mai capitato di preparare una macchina “template” da catturare e clonare su diverse altre macchine dello stesso modello? Qui continuamente, ed è tutto ciò su cui si cerca di basare il rilascio di nuove postazioni. Avere un solo modello Desktop e uno laptop (o comunque un numero quanto più limitato) aiuta a gestire meglio il parco macchine aziendale, è risaputo ed è una pratica di quelle buone, da cercare di mantenere il più possibile nel tempo.

Tralasciando però quella che è la pippa mentale relativa alla teoria delle buone pratiche, passiamo al succo dell’articolo e al problema specifico da risolvere: un SysPrep fallito, con tanto di messaggio di accompagnamento simile (in realtà potrebbe essere identico) a quello riportato nel titolo dell’articolo.

Microsoft Windows

Di motivi per far fallire un SysPrep ne esistono diversi, ma un paio sono quelli più comuni e sono quelli a cui possiamo fare riferimento insieme (con relativa soluzione), e onestamente non ho idea del perché io abbia lasciato nel dimenticatoio questo articolo (la bozza era del 2014, fa un po’ te). Provo a dargli una svecchiata, magari è la volta buona che va in pubblicazione :-)

Hai finito le cartucce

Con Windows 7, contrariamente a Windows 10, avevi a disposizione un massimo di 3 Rearm di sistema (il Rearm serviva a terminare un intervallo di utilizzo di sistema privo di attivazione, cominciandone uno nuovo e permettendoti di estendere il tuo periodo “di prova” di Windows, ciò è alla base dei periodi trial di Microsoft tutt’oggi, sia per Windows che per Office). Questo era ciò che nel libro di teoria potevi trovare pressoché ovunque, ma che come ogni medaglia, dava il meglio di sé voltando la prima faccia. Un SysPrep comprendente un parametro di Rearm, andava a dare un’occhiata a quello che era il contatore di sistema, che puoi facilmente richiamare ancora oggi eseguendo il comando slmgr.vbs -dlv (come suggerito anche nel forum di Microsoft):

A fatal error occurred while trying to sysprep the machine

Lo screenshot qui sopra fa riferimento a quel vecchio sistema 7 che dovevo mandare in SysPrep nel 2014, e che riportava uno zero in corrispondenza della voce “Numero di ripristini di Windows rimanenti“, era proprio lui a impedirmi di portare a termine il mio compito. Come si aggirava e si aggira tutt’oggi (se hai ancora a che fare con Windows 7, nda) l’ostacolo? Semplice. Si va a modificare la chiave di registro che ne controlla il contatore.

Per farlo però, ti occorre mandare in recovery il sistema, premendo F8 durante l’avvio dell’OS e selezionando la voce relativa alla partenza avanzata di Windows (Advanced Boot Options), quella che ti permette di avere un prompt dei comandi. Dal prompt dovrai semplicemente fare tre operazioni relative al registro di Windows:

reg load HKLM\MY_SYSTEM "%~dp0Windows\System32\config\system"
reg delete HKLM\MY_SYSTEM\WPA /f
reg unload HKLM\MY_SYSTEM

Se la modifica va a buon fine, potrai riavviare la macchina e rilanciare il comando slmgr.vbs -dlv per verificare che il contatore sia tornato a mostrare un numero di possibili Rearm positivo. Se Windows dovesse richiederti il Product Key, ignora il passaggio e recuperalo in seguito, anche via prompt dei comandi, sempre passando per il slmgr.vbs. Il comando completo per passare un Product Key al sistema è slmgr /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX dove, chiaramente, dovrai andare a sostituire la serie di “X” con il codice in tuo possesso. Se non lo hai, utilizzane uno a tempo (scadono entro un mese):

  • Windows 7 Ultimate: D4F6K-QK3RD-TMVMJ-BBMRX-3MBMV
  • Windows 7 Professional: HYF8J-CVRMY-CM74G-RPHKF-PW487
  • Windows 7 Home Premium: RHPQ2-RMFJH-74XYM-BH4JX-XM76F
  • Windows 7 Home Basic: YGFVB-QTFXQ-3H233-PTWTJ-YRYRV
  • Windows 7 Starter: 7Q28W-FT9PC-CMMYT-WHMY2-89M6G

A tutto questo c’è un’alternativa che ti permette di bypassare il contatore dei Rearm e fare SysPrep perdendo un po’ meno tempo. È riportata in un articolo che mi è tornato molto utile in passato (questo: mickitblog.blogspot.it/2011/08/fatal-error-occurred-while-trying-to.html), questo il riassunto:

  • Nel file Unattend.xml cerca e cancella il parametro skiprearm=1
  • Nel regedit, naviga in HKLM\SYSTEM\Setup\Status\SysprepStatus, quindi cerca e imposta GeneralizationState a 7
  • Da un prompt dei comandi, lancia prima un msdtc -uninstall, fai seguire poi un msdtc -install
  • Torna nel regedit, naviga in HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform, quindi cerca e imposta il valore SkipRearm a 1
  • Togli il cavo di rete dalla macchina (e disconnettila dal WiFi, se connessa)
  • Rilancia il SysPrep.

E se invece è un problema di profilo?

Può capitare anche questo, ed è il secondo caso più comune. Hai preparato il sistema, sei partito da un’immagine già esistente, da fondamenta già gettate e apparentemente ben solide ma, all’ultimo minuto, il SysPrep va in errore per cause apparentemente sconosciute, strane da interpretare. Potresti scoprire che in realtà si tratta di un vecchio profilo locale rimosso, ma rimasto “appeso” nel registro di sistema. Se ne parlava in un vecchio thread nel forum, tra le possibili soluzioni: social.technet.microsoft.com/Forums/windows/en-US/2aa9466d-a203-4f3e-80d9-f1ae6d11f6c5/sysprep-failed-at-microsoftwindowsshellsetup?forum=w7itproinstall

È ancora una delle vie d’uscita poco considerate, ma che possono toglierti le castagne dal fuoco. Avvia il regedit, naviga in HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProfileList. Noti nulla di strano? Se qui compare un profilo non più presente sulla macchina, la CopyProfile prevista dal tuo file XML unattend non potrà mai andare a buon fine, generandoti l’errore a video.

Cancella la chiave di registro (intera) relativa al profilo non più esistente. Riprova ora il SysPrep, molto probabilmente andrà a buon fine e tu potrai concludere il lavoro.

Cosa dice Microsoft

Raccoglie qualche riferimento all’interno di un documento ufficiale di Support, che tu stesso puoi leggere puntando il browser a support.microsoft.com/en-us/help/929828/an-error-message-occurs-when-you-run-sysprep-generalize-in-windows-vis, probabilmente però questo non riuscirà a dare risposta alla tua domanda e difficoltà, ma questa è un’altra storia.

Ciò che mi auguro è che l’articolo, rispolverato e rimesso più o meno in ordine, possa darti realmente una mano in caso di difficoltà con questo ottimo strumento che è SysPrep.

Buon lavoro!

Condividi l'articolo con i tuoi contatti:

Sembra che ci siano dei problemi con le ultime release di Office 2016 (ProPlus, la versione installabile offline per chi ha un abbonamento Office 365) relativi alla possibilità di scalare di versione tramite il solito OfficeC2RClient.exe, quello di cui ti ho parlato già in passato (qui: gioxx.org/2016/03/17/office-365-proplus-2016-modifica-versione-installata).

OS X: da Microsoft Office 2011 a 2016, cosa disinstallare

Stiamo conducendo dei test in ufficio, riguardanti un possibile problema dell’ultima versione di Microsoft Access. Una incompatibilità con un database già esistente e che funzionava perfettamente fino a una release fa (la 1705 Build 8201.2102 del 13 giugno scorso). La cronologia delle versioni è disponibile su support.office.com/en-us/article/Version-and-build-numbers-of-update-channel-releases-ae942449-1fca-4484-898b-a933ea23def7#bkmk_bydate, e come tu stesso potrai notare, la 1706 è quella del 28 giugno, la build “problematica” è la 8229.2073).

Provando a richiamare l’eseguibile di OfficeC2RClient.exe, si ottiene un popup fin troppo chiaro. Office è aggiornato, l’operazione è quindi conclusa lì, ignorando la richiesta originale:

OfficeC2RClient.exe /update user updatetoversion=16.0.8201.2102

Office 16.0.8229.2073 (1706): problemi di rollback

Come non bastasse, provando a disabilitare i nuovi aggiornamenti dall’interfaccia grafica (Account di OfficeOpzioni di aggiornamentoDisabilita aggiornamenti), la modifica non sortisce alcun risultato, a prescindere che il programma venga avviato da utente semplice o da amministratore. Un bel quadretto complessivo, utile.

Il tutto viene discusso nella community di Microsoft, uno tra i tanti thread lo trovi all’indirizzo social.technet.microsoft.com/Forums/office/en-US/684e7f2d-560b-480a-8c8d-cc6f6fcbca28/office-2016-updates-roll-back?forum=Office2016ITPro, allo stato attuale non c’è una risposta risolutiva.

E quindi?

E quindi non c’è alternativa. Se ti serve tornare indietro a una precedente versione, non puoi fare altro che disinstallare completamente il prodotto e fare un download tramite C2R puntando direttamente a ciò che ti serve. Parti con disinstallazione e riavvio macchina. Io ti consiglio di accelerare i tempi e passare dal tool ufficiale che si occupa di tutto: aka.ms/diag_officeuninstall.

Una volta fatto, scarica il tool di deploy C2R da microsoft.com/en-us/download/details.aspx?id=49117, scompattalo (basta eseguirlo, ci pensa lui) e sostituisci il file di configurazione XML che permette scaricamento dati e installazione a bordo PC. Se vuoi, questo è file XML già pronto che puoi usare per prenderti i dati dai server di Microsoft:

<Configuration>
 <Add OfficeClientEdition="32" Channel="Current" Version="16.0.8201.2102 ">
 <Product ID="O365ProPlusRetail">
 <Language ID="it-it"/>
 </Product>
 </Add>
 <Updates Enabled="TRUE" Channel="FirstReleaseDeferred"/>
 <Display Level="None" AcceptEULA="TRUE"/>
 <Logging Name="OfficeSetup.txt" Level="Standard" Path="%temp%"/>
 <Property Name="FORCEAPPSHUTDOWN" Value="TRUE"/>
 <Property Name="PinIconsToTaskbar" Value="FALSE"/>
</Configuration>

Il resto è storia già conosciuta: setup.exe /download per scaricare i dati, setup.exe /configure quando hai terminato il download e sei pronto a eseguire l’installazione. La versione 16.0.8201.2102 pesa 1,86 GB su disco.

Una volta installato, ricorda di disattivare gli update, se ti serve.

Update

A tal proposito, non lo avevo incluso nell’articolo originale, se il pulsante per disabilitare gli aggiornamenti via interfaccia grafica di Office non ti dovesse funzionare, puoi sempre copiare, incollare ed eseguire questa stringa in un prompt dei comandi di DOS.

REG ADD HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Office\16.0\common\officeupdate /v enableautomaticupdates /t REG_DWORD /d 0 /f

Questo ti permetterà di andare a modificare la chiave di registro che obbliga Office a non aggiornarsi.

 

Condividi l'articolo con i tuoi contatti: