Momentan arbeite ich an einem Projekt, das mit einem MSI-Paket bereitgestellt wird. Um das Programm zu patchen, stellen wir einfach ein anderes MSI-Installationspaket bereit, das einem MSP entgegengesetzt ist. Ist dies eine effektive / effiziente Möglichkeit, oder sollten wir stattdessen ein MSP-Patch-Paket bereitstellen? Ich habe Erfahrung mit MSI, aber nicht MSP. Wie würde ich auch einen MSP-Patch erstellen? Ich durchforstete das Internet und konnte anscheinend nichts finden.
Vielen Dank im Voraus!
Die Wahl liegt ganz bei Ihnen, obwohl MSP kleinere Dateigrößen bietet, die für große Projekte vorteilhaft sein können. Insbesondere dieser MSDN-Artikel lautet:
Das Warten von Anwendungen durch Bereitstellen eines Windows Installer-Patches statt eines vollständigen Installationspakets für das aktualisierte Produkt kann Vorteile bieten. Ein Patch kann eine ganze Datei oder nur die Datei-Bits enthalten, die notwendig sind, um einen Teil der Datei zu aktualisieren. Dadurch kann der Benutzer einen Aktualisierungspatch herunterladen, der viel kleiner als das Installationspaket für das gesamte Produkt ist. Ein Update mit einem Patch kann eine Benutzeranpassung der Anwendung durch das Upgrade beibehalten.
Diese Seite enthält Hinweise zur Verwendung des Dienstprogramms MSIMSP
zum Generieren einer MSP-Patch-Datei die alten und neuen MSI-Pakete gegeben.
Patchen ist sehr kompliziert und schwierig zu handhaben und ziemlich unzuverlässig, wenn Sie nicht den richtigen MSI-Praktiken folgen.
Ich benutze es nur, wenn ich muss, um eine Korrektur zu erreichen, die auf andere Weise nicht möglich ist. Ein Beispiel ist dies, wenn die Deinstallationssequenz eines Produkts beschädigt ist , sodass die Deinstallation nicht abgeschlossen wird, sondern rückgängig gemacht wird. Dann patch ich mit einem kleinen Upgrade , um den Fehler im installierten Produkt zu beheben, und deinstalliere es dann. Die meisten der Patches, die ich auf diese Weise erstellt habe, wurden mit Wise Package Studio erstellt - und sie funktionierten gut.
Ich verwende auch Patches, um sehr kleine Korrekturen für freigegebene Produkte zu liefern. In der Regel nur eine oder zwei Dateien mit einigen dringenden Hotfixes . Jede komplexe Softwareversion kann dringend einen solchen Patch ein paar Wochen nach der Hauptfreigabe benötigen, da dringende Probleme in freier Wildbahn entdeckt werden und eine schnelle Lösung gewünscht wird. Dies dient dazu, große Downloads für Endbenutzer zu verhindern. Und in diesen Fällen aktiviere ich immer " ganze Dateien einschließen ", um Bit-Level-Patches zu verhindern, die notorisch fehleranfällig sind.
Viele Leute möchten Patching verwenden, um kleine tägliche Updates an QA-Tester zu liefern. Vergiss es . Es ist das Risiko nicht wert, schon gar nicht die Anstrengung und spart praktisch keine Zeit, es sei denn, Ihre Tester sind im Ausland. Wenn Sie Patches für QA-Tester erstellen müssen, verwenden Sie niemals Bit-Level-Patches, da dies fehlschlägt, wenn sie sich im Installationsordner herumgesprochen haben - was gute QA-Tester wahrscheinlich tun.
Wenn Sie Patches für ein freigegebenes Produkt erstellen müssen, stellen Sie sicher, dass Sie alle verfügbaren QA-Tester gut nutzen, Patches auf verschiedenen Plattformen patchen, von verschiedenen Versionen, verschiedenen Sprachen usw. upgraden. Es ist sehr schwer, richtig zu werden. Es ist auch möglich, nicht zu viele vorherige Releases mit einem Patch anzusteuern, da dies die Dinge schnell kompliziert macht.
Insgesamt: Denken Sie daran, dass das Patchen auf Hotfixing ausgelegt ist . Der verlinkte Artikel könnte eine Lektüre wert sein, wenn Sie die Verwendung von Patches für Ihr Produkt untersuchen. Es ist ein bisschen chaotisch, aber beschreibt mehrere MSI Patches Hindernisse.
Tags und Links package windows windows-installer msp msi-patch