A seconda del motivo esatto del comportamento che hai descritto, potresti avere almeno un paio di opzioni.
Se il motivo del fallimento è un'azione personalizzata che gira su di disinstallazione, e questa azione personalizzata è condizionata con alcuni immobili che potrebbero influenza su, si può provare a passare il valore desiderato tramite la riga di comando:
msiexec /x {YOUR-PRODUCTCODE-HERE} RUNMYACTION=false
In questo esempio RUNMYACTION
è una proprietà di Windows Installer che partecipa a una condizione di azione personalizzata e se si passa false
come valore, l'azione non verrà eseguita.
In caso contrario, è possibile correggere la logica (o semplicemente disabilitare l'azione personalizzata in modo esplicito) e creare il nuovo pacchetto MSI. Poi caricarlo a quella macchina di destinazione, ed eseguire così:
msiexec /i YourPackage.msi REINSTALL=ALL REINSTALLMODE=vomus
Qui YourPackage.msi
è un nuovo pacchetto fisso, REINSTALL=ALL
istruisce il msiexec
reinstallare il prodotto utilizzando questo nuovo pacchetto, e REINSTALLMODE=vomus
(la v
parte esso) memorizzerà nuovamente il pacchetto MSI e in seguito potrai rimuoverlo normalmente.
Una nota a margine: è necessario testare l'installazione su una macchina virtuale per non rischiare quella reale.
fonte
2012-03-14 11:51:55
Esistono due approcci principali: correggere il pacchetto (sia in posizione con uno strumento come orca, o tramite l'installazione di un aggiornamento secondario), o, solo per casi interni, cercando di rimuovere le tracce e far finta che non sia mai stato installato. Quale stai cercando di fare? (Se quest'ultimo, perché non stavi usando una macchina virtuale?) –