Frage

Ich fand, dass Wix V3 ein Werkzeug (Heat.exe) verwendet, um Informationen in Wix -Fragmente zu "ernten". Entweder schaue ich an der falschen Stelle, oder dies ist dünn dokumentiert.

Was ist der beste Weg, um ein Wix-Fragment (wahrscheinlich mit Heat.exe) für eine komplexe Ordnerstruktur zu generieren, die Mediendateien enthält:

  • Von unterschiedlichen Typen (ICO/PNG/XAML/ETC)
  • Dies kann sich regelmäßig ändern (Namen/Standorte/Fühe/Entfernungen)
  • Das werden als "Inhalt" eingestuft und in a .csproj enthalten

So dass sie über Wix in einen Installateur eingebaut werden können und Upgrades und Patches mit Anstand standhalten?

Hintergrundinformation

  1. Ich fand heat.exe, das den autogenen Wix -Fragmentanforderungen zu lösen scheint
  2. Als ich den "Dir" Harvester zum Laufen gebracht habe, bemerkte ich das "Projekt" Harvester (Commandline -Hilfe)
  3. Die Medien sind bereits in der C# -Projektdatei und stellten fest, dass "-Pog: Inhalt" möglicherweise sehr gut abschneidet
  4. Flüchtige Suche in der date datum gefunden
  5. Realisierte ganze Projektinstallateur konnte wahrscheinlich mit "Project" Harvester erledigen, war sich jedoch nicht sicher, wie gut dies unterstützt wurde und was die Fallstricke waren.
  6. Ich habe die Erzeugung von "putguid-hier" gesehen und erkannte, dass die Autogeneration von GUIDs wahrscheinlich Upgrade-/Patch-Implikationen haben würde.
  7. Erkannte, dass es Menschen geben muss, die diese Tools für ähnliche Zwecke verwenden und mich wahrscheinlich in die richtige Richtung verweisen könnten.

Es wurde (ziemlich) darauf hingewiesen, dass V3 noch nicht "erledigt" ist (also die Knappheit der Dokumentation und Tutorials). Das Gefühl, dass ich jetzt bekomme, dass es nicht trivial ist, dies in meinen Build-Skripten zu automatisieren, und die Tools derzeit wachsen, um dies zu erleichtern.

War es hilfreich?

Lösung

Nach meiner Erfahrung John Robbins ' Paraffin Löst viel von den Problemen mit tallow.exe (Heat.exe in v3). Ich bin mir nicht sicher, ob Paraffin gut mit V3 spielt, aber es könnte sich lohnt, es zu überprüfen.

Zu Ihrer Information, ich habe Paraffin in einem Build-Prozess verwendet, und es ermöglichte mir, den vorherigen 2-3-Stiefreinigungsprozess zu entfernen, der ein PowerShell-Skript beinhaltete.

Andere Tipps

Für die Upgrade-Auswirkungen von automatisch generierten Setups, lesen Sie dies. Die Nachricht zum Mitnehmen:

Durch Windows Installer können Sie Komponenten in einem kleinen Upgrade nicht entfernen

Es ist schwer zu garantieren, dass Komponenten weiterhin existieren, wenn Sie Ihr Setup automatisch generieren. Daher müssen Sie zwischen der automatischen Generation von Komponenten und der Fähigkeit, kleinere Upgrades durchzuführen, wählen.

Wenn Sie einige automatisch generierte Komponenten haben, bleiben Sie einfach an wichtige Upgrades. Sie können verwenden Diese Probe von Rob als Beispiel.

Vielen Dank für den Hintergrund, ich wusste nicht, dass sie an einer neuen Version von Wix arbeiteten. Laut der Projektseite ist es noch nicht RTM, was möglicherweise die Probleme erklärt, die Sie haben. Ich hoffe, von den Wix -Entwicklern in einem der Antworten zu hören.

Ich kann Ihnen nicht helfen, die unterentwickelten Heat.exe-Funktionen zu verwenden. Ich war jedoch in Ihrer Situation und meine Lösung bestand darin, ein Tool zu erstellen, das Verzeichnis- und Dateiinformationen als Eingabe und generierte gültige WIX -Projektdateien als Ausgabe generiert hat. Eine .VSPROJ -Datei ist nur eine XML -Datei, und Sie können XSL, C#linq, PowerShell oder eine Reihe anderer Tools verwenden, um die Arbeit zu erledigen. Ich persönlich habe (Pre-Linq) C#/xmldom verwendet, um gegen Projektdateien zu diesem Zweck zu analysieren.

Viel Glück,

Dave

Zur Dokumentation lesen Sie die mit WIX installierte Hilfedatei - Wix.chm Bietet die aktuellsten Informationen (zusammen mit der Befehlszeile -help Möglichkeit).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top