Wenn die Produkte A und B jeweils mehrere MSIs installieren und einige der MSIs identisch sind, beeinflusst die Deinstallation von A oder B die anderen? Ist die Installation wichtig?
Was passiert außerdem, wenn die Version von Common MSI C in Produkt B höher ist und B bei der Installation C aktualisiert? Wenn Sie nun B deinstallieren, wird das häufig verwendete MSI C entfernt, wodurch das Produkt A beschädigt wird. Wie gehen Sie damit ohne die Permanent-Flagge um?
Das erste, was bei dieser Frage in den Sinn kommt, ist, ob die fraglichen Produkte so zersetzt sind, wie sie sein sollten.
Als allgemeine Regel glauben alle MSI-Dateien, dass sie alles besitzen, was sie installieren, und sie werden alles entfernen, das an eine Komponenten-GUID in der MSI bei der Deinstallation angehängt ist, wenn die Anzahl der Produkte die Komponente verwendet ) ist Null.
Für diese Regel gibt es einige Einschränkungen :
Die Mechanismen zum Erstellen von gemeinsamen Komponenten zwischen MSI-Paketen sind im Allgemeinen:
Aktualisierung und Dateiaustausch :
An dieser Stelle würde ich diese Antworten gründlich lesen:
Vorausgesetzt, Sie verwenden Wix oder Sie sind bereit, Wix zu verwenden, würde ich meinen, dass die beste Lösung für überlappende Produkte darin besteht, Ihr Installationsprogramm in Wix-Segment-Quelldateien zu zerlegen benötigt in Ihren Haupt-Installern. Dies ermöglicht die Deinstallation eines Produkts, um Komponenten zu belassen, die von anderen Anwendungen verwendet werden.
Aus diesem Grund möchte ich nicht zu viele überlappende Abhängigkeiten in meinen Installern verursachen aus den in diesem Artikel aufgeführten Gründen (auch oben aufgeführt): Wix, um mehrere Anwendungen zu installieren .
Für Stabilität ist es von entscheidender Bedeutung, dass gemeinsame Komponenten stabil sind, bevor sie von zu vielen Setups verwendet werden als Bugfix als allgemeine Regel erfordert die Neukompilierung aller Setups, in denen die gemeinsame Komponente kompiliert oder zusammengeführt wird. Der einfache Weg, es zu sagen: bündeln Sie Dateien, die sich zusammen ändern .
Um dieser Notwendigkeit einer massiven Neukompilierung entgegenzuwirken, können Sie sich für ein eigenständiges unterstützendes Setup entscheiden, das aus einigen der gemeinsam genutzten Komponenten besteht. Einer oder einige solcher " geteilten Komponenten-Setups ", die wahrscheinlich Wix enthalten, enthalten diese Änderungen zusammen in einem ähnlichen langsamen Veröffentlichungsplan und trennen sich dann Setups für jedes Produkt sollten in der Lage sein, jedem Bereitstellungsbedarf Rechnung zu tragen und gleichzeitig ein Gleichgewicht zwischen Wartbarkeit und Flexibilität zu wahren.
Das Produkt-Setup sollte dann das sein, das oft neu kompiliert wird, und die gemeinsam genutzten Module sollten für eine minimale Neukompilierung ausgelegt sein. Dann warte auf wechselnde Anforderungen: -).
Für mich dreht sich alles um Zusammenhalt und Kopplung und die Schwierigkeit, Vertriebs-, Marketing- und technische Anforderungen in Einklang zu bringen.
Wenn Produkt A und Produkt B ein MSI C gemeinsam haben, dann Wenn Produkt A installiert ist, wird auch MSI C installiert, jetzt, wenn Produkt B installiert ist, wird MSI C nicht installiert, da es bereits im System verfügbar ist (wenn Produkt B WiX Burn basiert, registriert es eine Abhängigkeit). Im Falle der Deinstallation wird die Referenzzählung automatisch durchgeführt, wenn Produkt A und Produkt B auf WiX Burn basiert oder andere Bootstrapper, die Referenzzählen unterstützen, sonst wird MSI C zusammen mit Produkt B entfernt.
Tags und Links wix installer windows-installer wix3 merge-module