Frage

ich eine Eclipse RCP-Anwendung erschaffe.

Ich verfolge Joel Rat im folgenden Artikel „Daily Builds sind dein Freund“:

http://www.joelonsoftware.com/articles/fog0000000023.html

Also, ich habe hier einen schönen Build-Skript geschrieben, das eine Eclipse RCP Produkt erstellt und betreibt Unit-Tests auf dem Code. Alle Ergebnisse werden dann an dem Entwickler-Liste verteilt (nach einigen murr). Nun ist mein nächster Schritt, will ich es das Setup-Paket erstellen, die ich normalerweise manuell erstellen die Inno Setup Compiler.

Die Frage ist, wie würde ich um dieses Paket automatisch erhalten zu schaffen? Ich glaube, ich kann die Inno Setup-Datei automatisch aus ant erzeugen, und dann rufen Sie den Compiler von der Kommandozeile, aber ich weiß nicht, ob dies möglich ist.

Irgendwelche Tipps für diese Aufgabe? Vielleicht eine andere Setup-Anwendung, die von Ameisen verwendet werden kann?

War es hilfreich?

Lösung

Sie sicher sein einfaches, ist Inno-Projekt eine einfache Textdatei, so können Sie sogar Skript bearbeiten SETUPPER leicht von Ameise, aber ich würde empfehlen, eine separate kleine Erstellen der Datei von Ihrem Skript enthalten. Sie können „Variablen“ wie Version haben Speicher dort + Build-Nummer, die Sie zeigen in der Einrichtung beginnen.

setzen Sie diese Zeile auf Ihre SETUPPER:

#include "settings.txt"

und machen settings.txt haben so etwas wie dieses

#define myver=xxx.xxx
#define tags

Jetzt brauchen Sie nicht den tatsächlichen SETUPPER Code von Build-Skript zu berühren.

unten ist ein Ausschnitt aus meiner Build-Skript die SETUPPER zu kompilieren. Sie müssen Batch-Datei von Ameise wie folgt aus:

<exec dir="." executable="cmd" os="Windows NT">
  <arg line="/c build.bat"/>
</exec>

Probencharge build.bat:

set isxpath="c:\program files\inno setup 5"
set isx=%isxpath%\iscc.exe
set iwz=myproj.iss
if not exist %isx% set errormsg=%isx% not found && goto errorhandler
%isx% "%iwz%" /O"%buildpath%" /F"MySetupper.exe" >>%logfile%
goto :eof

Andere Tipps

Ein weiterer netter Trick, wenn die Automatisierung Installer Gebäude ist die GetFileVersion Präprozessor (ISPP) Makro zu verwenden. So können Sie nicht Ihre (binäre) Dateien Versionsnummern in Form hartcodiert (wie in Toms settings.txt) - die Installer-Compiler es einfach gelesen werden die Dateien müssen doppelte Version Ressourcen, die Art und Weise. Z.

#define AppName "My App"
#define SrcApp "MyApp.exe"
#define FileVerStr GetFileVersion(SrcApp)
#define StripBuild(str VerStr) Copy(VerStr, 1, RPos(".", VerStr)-1)
#define AppVerStr StripBuild(FileVerStr)

[Setup]
AppName={#AppName}
AppVersion={#AppVerStr}
AppVerName={#AppName} {#AppVerStr}
UninstallDisplayName={#AppName} {#AppVerStr}
VersionInfoVersion={#FileVerStr}
VersionInfoTextVersion={#AppVerStr}
OutputBaseFilename=MyApp-{#FileVerStr}-setup

Darüber hinaus können Sie Symbole an die Compiler über die /d Commandline Switch weiterleiten, z.

iscc.exe /dSpecialEdition ...

und dann später diese in ifdefs verwenden, um verschiedene Arten von Installer (dummes Beispiel folgt) zu erstellen:

[Registry]
#ifdef SpecialEdition
Root: HKLM; Subkey: Software\MyCompany\MyApp; ValueName: SpecialEdition; ValueType: dword; ValueData: 1 ...
#endif
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top