WiX, wie Sie verhindern, dass Dateien deinstallieren, obwohl wir vergessen haben, setzen Permanent="ja"

Haben wir ein Produkt installer erstellt mit Wix, mit einem Programmpaket ("V1") und einige Konfigurationsdateien. Nun, wir gehen, um ein major upgrade mit einem neuen Produkt-code, mit dem die alte version des Produkts deinstalliert und "V2" installiert ist. Was wir wollen, ist eine der Konfigurationsdateien zu deinstallieren, da es benötigt wird, für die V2 auch. Leider haben wir vergessen, um die Permanent="yes" option, wenn die von uns gelieferten V1 (Lesen Sie diese Frage für weitere Informationen).

Hier kommt die Frage: gibt es eine einfache Möglichkeit zu verhindern das deinstallieren der Datei überhaupt? Natürlich könnten wir hinzufügen einer benutzerdefinierten Aktion in das Skript ein backup der Datei vor der deinstallation, und eine andere benutzerdefinierte Aktion wiederherstellen, danach aber IMHO zu sein scheint, dass overkill für diese Aufgabe, und möglicherweise nicht mit anderen teilen der MSI-Registrierung.

EDIT: Und ja, die NeverOverwrite="yes" Attribut bereits gesetzt ist, in V2, und das Verhalten ist wie beschrieben hab ich es.

Ich glaube nicht, dass es hilft, etwas zu ändern, direkt in der Komponente Parameter der V2. Vielleicht gibt es eine Möglichkeit zum ändern der registry irgendwie in eine benutzerdefinierte Aktion vor der deinstallation von V1, so dass der installer Dienst meint, die Konfigurations-Datei in V1 installiert wurde mit Permanent="yes"?

  • Kann Sie nur installieren Sie diese Dateien, oder ist es, dass Sie wollen halten Sie die lokale Datei, da Sie möglicherweise haben wurden modifiziert?
  • Das ist genau der Fall - die Konfigurationsdatei wurde möglicherweise geändert und sollte so bleiben, wie es ist.
InformationsquelleAutor Doc Brown | 2010-05-11
Schreibe einen Kommentar