2017-02-02 10 views
0

Ich habe ein Problem, zum ersten Mal, mit einem kleinen Upgrade (ich denke, das ist der richtige Begriff?) Für meine Installshield MSI-Installer. Ich habe die notwendigen Werte im Installer so geändert, wie ich es schon oft getan habe: setze "Produktversion" von "2.0.12" auf "2.0.13" und aktualisierte die Komponentendatei/Assemblyversion von "2016.12.19.1415" bis "2017.1 .30.1037 ". Wenn ich das Upgrade ausführe, wird die Komponente jedoch nicht von der Version 2016 auf die Version 2017 aktualisiert.Installshield MSI-Aktualisierung nicht aktualisiert

Im Folgenden finden Sie so viele Informationen über die Komponente, wie ich aus dem MSI-Protokoll bekam:

MSI (s) (4C: 10) [16: 01: 32: 848]: Komponente: EAS.Common.SignalR .Client.dll; Installiert: Lokal; Anfrage: Null; Aktion: Null

bearbeiten: Ich kehrte zu der vorherigen Version des Installationsprogramms zurück und fügte die Updates hinzu. Das Upgrade funktioniert jetzt ordnungsgemäß. Ich denke, es hat etwas mit neuen Komponenten zu tun, die ich hinzugefügt habe.

Antwort

2

Die meisten Menschen sind besser dran mit den einfacheren, aber weniger effizienten Major-Upgrades. Geringfügige Upgrades erfordern ein gründliches Verständnis der Komponentenregeln und strikte Einschränkungen, was getan werden kann und was nicht. Dies erfordert Disziplin seitens des Entwicklungsteams in dem, was sie vom Setup-Entwickler verlangen.

Wenn Sie kleinere Upgrades durchführen, stellen Sie sicher, dass Sie die MSIENFORCEUPGRADECOMPONENTRULES property verwenden, um Ihre Konformität vollständig zu testen. Dies könnte Ihnen helfen, Fehler zu finden, anstatt sie zu installieren, die scheinbar funktionieren, aber nicht so enden, wie Sie es erwarten.

+0

Das Problem war, dass ich eine Komponente entfernte, die in früheren Installationen existierte. Ich setzte die Komponente auf eine Bedingung "1 = 0" und benannte sie in "DONOTDELETE_ {Name}" –

+0

Ich würde vorsichtig sein, um die Komponente umzubenennen. MSI mag es wirklich nicht, Primärschlüssel zu ändern. FYI, achten Sie darauf, über "Punktieren" Komponenten mit der Transitive Component-Bit zu lesen, wenn Sie MSI < 4.5. For > = 4.5 auf MSIUNINSTALLSUPERSEDEDCOMPONENTS lesen. http://stackoverflow.com/questions/23102970/remove-file-during-minor-upgrade –

+0

Wort der Warnung bezüglich der Umbenennung von Komponenten und anderen Primärschlüsseln: https://blogs.msdn.microsoft.com/windows_installer_team/2007/03/07/arbitrary-labels-used-as-primary-tasten-must-not-be-changed-zwischen-versions/ –

Verwandte Themen