Come forzare MSIExec per l'aggiornamento alla versione specificata


0

Mi piacerebbe installare LibreOffice (versione 5.3.2.2) come parte di un'altra installazione ma sto riscontrando il seguente problema:

  • Quando è già installata una versione 4.x o precedente, il programma di installazione installa LibreOffice 5.3.2.2, come previsto.
  • Quando non è installato nulla, il programma di installazione installa LibreOffice 5.3.2.2, come previsto.
  • Quando una versione 5.x è già installata, il programma di installazione non fa nulla.

Quale parametro posso aggiungere alla riga di comando per forzare l'aggiornamento da 5.x a 5.3.2.2? Attualmente sto usando la seguente linea di comando:

msiexec /i "<filename.msi>" /q

Ho già provato il parametro REINSTALL=ALL ma questo non funzionava (nessun aggiornamento da 5.x a 5.3.2.2).

Nel caso in cui alcune modifiche debbano essere apportate al file MSI: Ho Orca sul mio PC, quindi posso modificare il file MSI dove necessario.

Qualche idea?


@ Daniel: Orca è un editor MSI, che potrei usare per modificare il file MSI, nel caso in cui non ci siano parametri che possono fare ciò che voglio.
Dominique

Ho rimosso il tag perché non aiuta a classificare la domanda. Il tag è presente su altre tre domande e nessuno di questi si riferisce all'editor MSI. Si riferiscono invece al lettore di schermo Orca.
Daniel B

Oops, mi dispiace, non avevo idea che esistesse un altro programma :-)
Dominique

Risposte:


1

Nel frattempo ho trovato la risposta alla mia domanda, usando l'SDK dell'installatore di Windows:

msiexec /i "<filename.msi>" /q REINSTALL=ALL REINSTALLMODE=A

(il REINSTALLMODE=A forza tutti i file da reinstallare, indipendentemente dal fatto che siano uguali / diversi / più vecchi / più giovani / ...)


Il tuo comando installerà il programma solo nell'unità C. Con la mia opzione di comando puoi controllare la cartella di destinazione. Ed è utile se il tuo drive C è in qualche modo danneggiato.
Biswapriyo

0

msiexec /a pathtoMSIfile /qb TARGETDIR=pathtotargetfolder

  • L'argomento "/ qb" dice al programma di installazione di visualizzare un'interfaccia utente semplice durante il disimballaggio, se invece si desidera rendere completamente silenzioso il processo, utilizzare "/ qn".

Msiexec

  • Diciamo che ho un file MSI di LibreOffice nell'unità F e voglio installarlo nell'unità E. Devo solo digitare il comando come amministratore

msiexec /a "F:\LibreOffice_5.3.3_Win_x64.msi" /qb TARGETDIR=E:\Libreoffice

Ecco le due immagini che mostrano lo stato di avanzamento dell'installazione Libreoffice Initial Libreoffice time

  • Questo processo sovrascrive tutti i precedenti file di installazione in quella directory di destinazione. Ricordati di copia tutte le DLL a partire dal Libreoffice\System64 a Libreoffice\program. Faccio una scorciatoia con E:\Libreoffice\program\soffice.exe --nologo (nel mio caso) da cui posso aprire qualsiasi file ufficio compatibile semplicemente trascinando e amp; far cadere. È possibile installare il programma diverso dall'unità di sistema.

  • Ci sono anche alcune app per installare MSI, prova queste: LessMSI , Estrattore universale , MSI Unpacker Utility


Sembra un'idea non molto bella. Non aggiornerà le registrazioni dei componenti (se presenti) e sicuramente non la versione registrata nel database MSI.
Daniel B

@DanielB Lo uso tutti i giorni con questo processo e non mi è mai successo niente di male. Si può aprire manualmente un file con un clic destro e selezionare "Apri con". E non è richiesta la registrazione.
Biswapriyo

@Biswa: grazie per la risposta elaborata, ma mi aspettavo qualcosa che assomigliava msiexec /i <filename>.msi <WHAT_TO_DO>=<OVERWRITE_EXISTING> (scusate le lettere maiuscole), ho cercato nell'SDK dell'installer di Windows ma non l'ho trovato. E nel caso questo non esistesse, potrei ottenere questo modificando & lt; filename & gt; .msi usando un editor MSI (come Orca)?
Dominique

Questo processo non richiede alcun eseguibile SDK. Msiexec è un software Windows in-build. E con questa opzione di comando puoi installarlo ovunque.
Biswapriyo
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.