2010-01-08 15 views
8

Ich möchte mein Produkt über MSI-Setup aktualisieren. Der Upgrade-Code beider msi bleibt gleich, da es dieselbe Produktfamilie ist. Selbst wenn ich die Version/den Produktcode des MSI für die Aktualisierung ändere, sagt er mir nur, dass das Produkt bereits installiert ist oder bittet mich, es zu reparieren. Es bietet keine Update-Option, die die aktuelle Installation ersetzt.So aktualisieren Sie über MSI

Ich bin mit Visual Studio 2008 Pro die MSI-Setup

+1

Mit welchem ​​Tool generieren Sie Ihr MSI? Visuelles Studio? WiX? Etwas anderes? –

+0

Visual Studio 2008 Pro – Kai

Antwort

9

generieren Wenn Sie die Version Eigenschaft in Ihrem Setup-Projekt, Visual Studio sollte sich ändern, fordert Sie auch die ProductCode zu ändern. Du musst das tun. Dann müssen Sie auch die Eigenschaft RemovePreviousVersion auf true festlegen. Stellen Sie sicher, dass UpgradeCode gleich bleibt.

Dies ist wahrscheinlich der einfachste Weg und, vom Lesen Ihrer Frage, was Sie suchen. Beachten Sie, dass dies eher eine Deinstallation als eine Neuinstallation als ein "Upgrade" an sich ist.

+1

-1 Beide werden 'Upgrades' genannt. MSI-Regeln definieren ein Major-Upgrade als Deinstallation/Neuinstallation mit einer Änderung von ProductCode unter derselben Familie von UpgradeCodes. Ein Minor Ugrade ändert nur die Komponenten, die sich zwischen den beiden Verisons unterscheiden. –

+1

@DSims: Ja, ich kenne die MSI-Definitionen und die inhärente semantische Ambiguität. Danke, dass du darauf hingewiesen hast. Ich habe nur die Deinstallation/Neuinstallation erwähnt, weil ich dachte, dass dadurch Verwirrung entsteht. Viele sind von diesem Verhalten gebissen, wenn sie ihre Erstinstallationsprogramme erstellen. Obwohl es sich um ein Upgrade handelt, entspricht diese Sprache nicht der Art und Weise, wie die meisten Nicht-Installer den Begriff verstehen. Was das Betriebssystem betrifft, ist es ein völlig neues Produkt. –

+0

@Dave: Entschuldigung, pedantisch zu sein. Semantische Präzision ist leider bei MSI/Windows Installer entscheidend. Es ist eine inhärent fragile Domäne, die Art und Weise, wie MS sie strukturiert hat, und spezifische Wörter haben spezifische technische und geschäftliche Konsequenzen. –

Verwandte Themen