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.