2009-02-24 9 views
33
  • Was ist der Unterschied zwischen einem WiX-Include (.wxi Datei) und einem WiX-Fragment (.wxs Datei)?
  • Was sind die Anwendungsfälle für jeden?
  • Welche sollte verwendet werden und warum?

Antwort

20

Die Dateierweiterung ist eine Bequemlichkeit, der Inhalt der Datei ist was wirklich zählt. Die Unterscheidung erleichtert es, den Unterschied zwischen der tatsächlichen Installation (WXS-Dateien) und den Eigenschaften, die zum Erstellen der Installation erforderlich sind, zu verwalten (WXI-Dateien).

Zum Beispiel geben Sie Ihre wxs Dateien das Produkt und dessen Inhalt (die Dateien, die Sie installieren), während Sie Ihre wxi Dateien verwenden würden Produktversion angeben, Upgrade-Codes, gemeinsame Wege usw.

Die WiX Dokumentation liefert einige klare Informationen.

19

Ich persönlich nur Dateien verwenden .wxi zu gemeinsamen <?define?> s umfassen. Ich organisiere den Rest meines Produkts in viele verschiedene logische Gruppierungen von Fragmenten. Behandeln Sie Fragmente wie Funktionen in Ihrer typischen prozeduralen Sprache. Gruppieren Sie Dinge wie zusammen und machen Sie sie nicht zu lange.

0

Eine Sache zu beachten ist, dass das Hinzufügen einer WXS-Datei zu Ihrem Projekt impliziert, dass MSBuild eine inkrementelle Build erstellen wird, wenn Sie die WXS-Datei aktualisieren. Das Hinzufügen einer WXI-Datei tut dies nicht.

Auf der anderen Seite führt MSBuild keine automatischen Builds durch, wenn eine der Dateien, die Sie in Ihre msi aufnehmen, aktualisiert wurde, sodass Sie wahrscheinlich keine inkrementellen Builds erstellen.