MSI rimuove richiesto assemblea l'aggiornamento installa, ma lo sostituisce in Riparazione

StackOverflow https://stackoverflow.com/questions/1889422

  •  19-09-2019
  •  | 
  •  

Domanda

Sto sperimentando alcune stranezze relative al MSI di installazione di aggiornamento, forse qualcuno può aiutarmi:

Ho due Msi, un originale e un aggiornamento:

  • MSI versione 1.0
    • Contiene un .NET assembly, foo.dll per essere installato a GAC
    • foo.dll è di tipo "Assemblea" (non "Output") all'interno del file MSI sistema di gui.
  • MSI versione 2.0
    • Contiene anche foo.dll (stessa versione), più una serie di ulteriori assemblee.
    • Vorrei MSI 2.0 a sostituire completamente 1.0, ho RemovePerviousVersion False.

Ora i due scenari di installazione:

  1. Ho eseguito MSI 1.0.Foo.dll è installato il GAC correttamente.Ho quindi eseguire MSI 2.0 e Foo.dll sembra di essere rimosso dal GAC, ma le assemblee ci sono.Non ho idea del modo.Tuttavia, se mi vai a Aggiungi/Rimuovi programmi " e fare clic su "Repair," Foo.dll viene messo in.

  2. MSI 1.0 è mai stato installato e ho eseguito MSI 2.0.Foo.dll (e gli altri assembly) è c', come previsto.

Tutte le idee perché la foo.dll viene rimosso durante l'aggiornamento??Grazie in anticipo!

-Ken

AGGIORNAMENTO Dopo alcuni rinfrescante/ricostruzione, sembra funzionare ora.Tuttavia, ora non rimuovere foo.dll quando disinstallo i driver MSI, anche se la sua proprietà "Permanente" è impostata su false.Non più grande di un problema, ma sarebbe bello sapere che cosa stava succedendo.

È stato utile?

Soluzione

Per correggere la stranezza, ho finito di fare le seguenti operazioni:

  1. Installato Orca.exe parte di Windows SDK.
  2. Aggiunto REINSTALLMODE=amus per la Struttura della tabella di via Orca, post di costruire.

Questo ha risolto il mio problema immediato e corretto l'installazione/disinstallazione problemi che stavo vivendo.L'unico problema è che questo è un processo manuale.Il passo successivo, fare di questo una parte di un sistema automatico di post-build evento in qualche modo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top