Automatisierte build-version-Nummer mit WiX, Inno Setup, und VS2008
Im Grunde das, was ich brauche, ist eine automatische Methode zum aktualisieren der Produkt-Versionsnummer in WiX (3.0 mit Votiv etc), und dann bekommen, dass die version-Nummer in einem Inno-Setup - "bootstrapper"
Ich ziemlich viel haben den Prozess weitgehend automatisiert, jedoch die version zahlen müssen noch manuell aktualisiert werden, die offensichtlich nicht ideal, aber ich konnte nicht herausfinden, wie die übergeben Werte zu Inno Setup zur compile-time (und wie auf Ihnen), und in der WiX-Projekt muss ich wissen, wie auf die Versionsnummer ein anderes Projekt in der gleichen Projektmappe in Visual Studio 2008
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht brauchen, um passieren alles! Sie können lassen Sie einfach das InnoSetup-Präprozessor liest die version, die info direkt von der binary-version der Ressource, z.B.:
Vor der version 5.4.1 (2011-02-09) ISPP war nicht Bestandteil der Standard-InnoSetup-Paket. Sie hatte download der InnoSetup Quick Start Pack: http://www.jrsoftware.org/isdl.php#qsp (danke @Gwyn, die für das update)
Können Sie die ProductVersion für WiX-aus einer Datei-version in Ihrem Paket. Syntax ist so etwas wie:
Oder Sie können Sie auf der Befehl-Linie, um die Kerze mit dem "-dVersionFromCommandLine=1.0.0.0" - Schalter, mit syntax wie:
Entweder arbeitet in der neuesten builds von WiX v3. Nur letzteres funktioniert auf WiX v2.
Die Art, wie ich es mit WSF-Skript (ich JavaScript verwenden, aber Sie könnte verwenden von VBScript oder sogar ein SH-Skript mit Cygwin), die erstellt eine header-Datei enthält Definitionen für die version zahlen. Sie können die Nutzung der Wix -
<include>
- Anweisung ziehen Sie die Versionsnummer in der.Für Inno Setup, ich erstelle einen .iss-Datei, die enthält die Versionsnummer, die #enthalten, in der main iss-Skript.
Bin ich zu Hause, kann aber nach ein paar Beispiel-code morgen, wenn Sie mögen.
EDIT: ich vergaß zu erwähnen, dass ich das Skript erzeugt die Dateien, die die build-Nummer, die während der pre-build-Phase meiner verschiedenen VS-Projekte.
Einige Beispiel-code, wie versprochen. Dies sollte genug sein, zum du zu erhalten begannen.
Den folgenden JavaScript-Code kann verwendet werden, um ein InnoSetup-iss-Datei mit der Versionsnummer. Die eigentliche Datei wird wie folgt Aussehen:
Den wichtigsten Inno Setup-Skript wird diese Datei einschließen, indem Sie den folgenden, um das Ende der [Setup] Abschnitt:
Hier ist das JavaScript (dies wäre in einer separaten Datei abgelegt - version.js für Beispiel):
Könnte man optimieren, dieses Skript zu erstellen, die version.iss-Datei in einem anderen Ordner.
Schließlich müssen Sie zum ausführen der JavaScript - der beste Platz wäre in der Pre-Build-Ereignis in Ihrem Visual Studio-Projekt. Fügen Sie den folgenden:
Würden Sie brauchen, um dies zu ändern, um auch eine Wix-kompatibel-include-Datei. Ich verwendet, um dies zu tun, aber gedumpten Wix zu Gunsten von Inno Setup, so habe ich nicht diesen code zur hand. Es ist ein mechamism für ein Wix-Skript, obwohl, so sollten Sie in die richtige Richtung - das Konzept ist das gleiche - eine text-Datei erstellt, die definiert, die Versionsnummer und fügen Sie Sie dann.
Hoffe, das hilft.
Ich fand dies für das inno-setup-Sektion, die aussieht wie es funktionieren würde:
http://agiletracksoftware.com/blog.html?id=4