SLIDE 1
Crosscompilierung . . . ein Windows-Installer mit 4 Befehlen - - PowerPoint PPT Presentation
Crosscompilierung . . . ein Windows-Installer mit 4 Befehlen - - PowerPoint PPT Presentation
Crosscompilierung . . . ein Windows-Installer mit 4 Befehlen Wolfgang Dautermann FH JOANNEUM Linuxwochen Linz 2016 Einfhrung in Crosscompiling 1 Andere Programmiersprachen 2 Installer fr Maxima 3 4 Paketieren mit CPack Ntzliche
SLIDE 2
SLIDE 3
Cross-Compiler
Ein Cross-Compiler ist ein Compiler, der auf einer Plattform läuft, aber Compilate (Executables) für eine andere Plattform erzeugt.
helloworld.c cc helloworld.c TARGET (z.B. Windows) HOST (z.B. Linux) helloworld.exe
SLIDE 4
Cross-Compiler
Dabei können sich sowohl am Build-Rechner als auch auf der Zielplattform alle Komponenten unterscheiden: Betriebssystem CPU-Typ 32/64 Bit CPU (auch 16 oder 8 Bit) Die Target-Plattform muss nicht mal real existieren!
SLIDE 5
Einsatzzwecke - Embedded Systeme
Speicher/CPU-Ressourcen reichen für Compiler/Toolchain nicht aus Ein komfortable Entwicklungsumgebung läuft auf anderer Plattform Zeitersparnis: anderer Rechner hat mehr Ressourcen und kann schneller compilieren.
SLIDE 6
Einsatzzwecke
Gewohnte Entwicklungsumgebung läuft nicht auf anderen Plattformen Build-Umgebung soll einheitlich sein Target-Plattform nicht verfügbar Softwarelizenz (Betriebssystem und/oder Entwicklungstools) nicht vorhanden (Noch) kein Compiler auf der Targetplattform verfügbar Kontinuierliche Integration – aktueller Softwarestand wird automatisch für diverse Plattformen compiliert, um Probleme früh zu erkennen.
SLIDE 7
Hello world unter Linux compilieren
hoffentlich bekannt...
Compilieren von helloworld.c ✩ ❣❝❝ ✲❲❛❧❧ ✲♦ ❤❡❧❧♦✇♦r❧❞ ❤❡❧❧♦✇♦r❧❞✳❝ ✩ ❢✐❧❡ ❤❡❧❧♦✇♦r❞ ❤❡❧❧♦✇♦r❧❞✿ ❊▲❋ ✻✹✲❜✐t ▲❙❇ ❡①❡❝✉t❛❜❧❡✱ ①✽✻✲✻✹✱ ❬✳✳✳❪
SLIDE 8
Hello world unter Linux für Windows compilieren
Cross-Compiler ist installiert unter ✴✉sr✴❜✐♥✴✐✻✽✻✲✇✻✹✲♠✐♥❣✇✸✷✲❣❝❝. Einfach den speziellen Compiler installieren und damit compilieren:
Compilieren von helloworld.c
✩ ❛♣t✲❣❡t ✐♥st❛❧❧ ❣✰✰✲♠✐♥❣✇✲✇✻✹✲✐✻✽✻ ❬✳✳✳❪ ✩ ✐✻✽✻✲✇✻✹✲♠✐♥❣✇✸✷✲❣❝❝ ✲❲❛❧❧ ✲♦ ❤❡❧❧♦✇♦r❧❞✳❡①❡ ❤❡❧❧♦✇♦r❧❞✳❝ ✩ ❢✐❧❡ ❤❡❧❧♦✇♦r❞✳❡①❡ ❤❡❧❧♦✇♦r❧❞✳❡①❡✿ P❊✸✷ ❡①❡❝✉t❛❜❧❡ ✭❝♦♥s♦❧❡✮ ■♥t❡❧ ✽✵✸✽✻✱ ❢♦r ▼❙ ❲✐♥❞♦✇s
erzeugt ein Windows-Executable.
SLIDE 9
Programme unter Linux für Windows 64 Bit compilieren
Compilieren von helloworld.c
✩ ❛♣t✲❣❡t ✐♥st❛❧❧ ❣✰✰✲♠✐♥❣✇✲✇✻✹✲①✽✻✲✻✹ ❬✳✳✳❪ ✩ ①✽✻❴✻✹✲✇✻✹✲♠✐♥❣✇✸✷✲❣❝❝ ✲❲❛❧❧ ✲♦ ❤❡❧❧♦✇♦r❧❞✳❡①❡ ❤❡❧❧♦✇♦r❧❞✳❝ ✩ ❢✐❧❡ ❤❡❧❧♦✇♦r❞✳❡①❡ ❤❡❧❧♦✇♦r❧❞✳❡①❡✿ P❊✸✷✰ ❡①❡❝✉t❛❜❧❡ ✭❝♦♥s♦❧❡✮ ①✽✻✲✻✹✱ ❢♦r ▼❙ ❲✐♥❞♦✇s
erzeugt ein 64 Bit Windows-Executable.
SLIDE 10
Umfangreichere Programme unter Linux für Windows compilieren
Die notwendigen Bibliotheken (Libraries) müssen auch für die Zielplattform verfügbar sein1. Ansonsten kann ganz normal compiliert werden.
Compilieren von helloworld-wx.cpp
✩ ✐✻✽✻✲✇✻✹✲♠✐♥❣✇✸✷✲❣❝❝ ✲❲❛❧❧ ✲♦ ❤❡❧❧♦✇♦r❧❞✲✇①✳❡①❡ ❤❡❧❧♦✇♦r❧❞✲✇①✳❝♣♣ ✩✭✴✉sr✴✐✻✽✻✲✇✻✹✲♠✐♥❣✇✸✷✴❜✐♥✴✇①✲❝♦♥❢✐❣ ✲✲❧✐❜s ✲✲❝①①❢❧❛❣s✮ ✩ ❢✐❧❡ ❤❡❧❧♦✇♦r❧❞✲✇①✳❡①❡ ❤❡❧❧♦✇♦r❧❞✲s❞❧✳❡①❡✿ P❊✸✷ ❡①❡❝✉t❛❜❧❡ ❢♦r ▼❙ ❲✐♥❞♦✇s ✭●❯■✮ ■♥t❡❧ ✽✵✸✽✻ ✸✷✲❜✐t
erzeugt ein Windows-Executable.
1entweder selbst übersetzen oder fertig downloaden
SLIDE 11
Andere Programmiersprachen
Etliche (C, C++, ObjC, Fortran durch GCC unterstützt).
Beispiel Go
Targetangabe durch Umgebungsvariablen
❣♦ ❜✉✐❧❞ ❤❡❧❧♦✇♦r❧❞✳❣♦ ❬✳✳✳❪
- ❖❖❙❂✇✐♥❞♦✇s ❣♦ ❜✉✐❧❞ ❤❡❧❧♦✇♦r❧❞✳❣♦
❬✳✳✳❪
- ❖❖❙❂❧✐♥✉① ●❖❆❘❈❍❂❛r♠ ❣♦ ❜✉✐❧❞ ❤❡❧❧♦✇♦r❧❞✳❣♦
SLIDE 12
Motiviation: Windows-Installer für Maxima
leistungsfähiges Open Source CAS programmiert (überwiegend) in Lisp Entwickler arbeiten oft nicht unter Windows Windows-Installer kommen nur sporadisch Erstellung sehr aufwendig
SLIDE 13
Installationsanweisungen für Windows-Installer
External Requirements (passt grad noch auf die Folie)
1 MSYS+MinGW, including mktemp 2 msysDTK 3 GCL 4 Tcl/Tk (8.5 or later recommended) 5 Starkit, TclKit and img.kit 6 Vtk 7 InnoSetup 8 gnuplot 9 wxMaxima 10 Microsoft HTML Help Workshop 11 Perl 5.8 (ActivePerl) 12 Python
SLIDE 14
Installationsanweisungen für Windows-Installer
Die Installation der Pakete unter Windows... ❛♣t✲❣❡t ✐♥st❛❧❧ ▼❙❨❙ ▼✐♥●❲ ♠s②s❉❚❑ ●❈▲ t❝❧ t❦ ✳✳✳ s❡t✉♣✳❡①❡ ❛♣t✲❣❡t ✉♣❞❛t❡ ❀ ❛♣t✲❣❡t ✲❱ ✉♣❣r❛❞❡
SLIDE 15
Abhängigkeiten
Maxima Installationspaket Maxima Lisp CLISP SBCL TK TCL Gnuplot (VTK) wxMaxima wxWidgets (jsMath T EX-Fonts)
SLIDE 16
Anforderungen
für einen automatisierten Maxima-Installerbau
Skriptbar ((hoffentlich) keine manuellen Tätigkeiten)
⇒ bevorzugt unter Linux/Unix
Erweiterbar Automatische Downloads Einfache Updates Resultat: All-in-one Installer
Möglichkeiten
Shellskript Perl / Python / Ruby / ... -skript Makefiles (vgl. ❤tt♣✿✴✴♠①❡✳❝❝) Higher Level Buildsystem: scons, CMake
SLIDE 17
Vereinfachungen
Build-System (z.B. Linux) = Zielsystem (z.B. Windows)
Quellen: Downloads, Versionsverwaltungssysteme (SVN, GIT, CVS, ...) Fertig compilierte Archive Gnu Autoconf (✳✴❝♦♥❢✐❣✉r❡ ❀ ♠❛❦❡ ❀ ♠❛❦❡ ✐♥st❛❧❧), ... Patches CMake als Buildsystem Spezialfälle
SLIDE 18
CMake - ❡①t❡r♥❛❧♣r♦❥❡❝t❴❛❞❞
Einbinden von externen Programmen: fertige Archive
Beispiel: gnuplot: fertiges ZIP-File
★ ●♥✉♣❧♦t ✭❛❧r❡❛❞② ❛ ❜✐♥❛r② ♣❛❝❦❛❣❡ ❥✉st ❡①tr❛❝t ✐t✳✳✳✮ ❡①t❡r♥❛❧♣r♦❥❡❝t❴❛❞❞✭❣♥✉♣❧♦t ❯❘▲ ✧✩④●◆❯P▲❖❚❴❯❘▲⑥✧ ❉❖❲◆▲❖❆❉❴❉■❘ ✩④❈▼❆❑❊❴❙❖❯❘❈❊❴❉■❘⑥✴❞♦✇♥❧♦❛❞s ❯❘▲❴▼❉✺ ✩④●◆❯P▲❖❚❴▼❉✺⑥ ❈❖◆❋■●❯❘❊❴❈❖▼▼❆◆❉ ✧✧ ❇❯■▲❉❴❈❖▼▼❆◆❉ ✧✧ ■◆❙❚❆▲▲❴❈❖▼▼❆◆❉ ✧✧ ✮ ✐♥st❛❧❧✭❉■❘❊❈❚❖❘❨ ✩④❈▼❆❑❊❴❇■◆❆❘❨❴❉■❘⑥✴❣♥✉♣❧♦t✲♣r❡❢✐①✴sr❝✴❣♥✉♣❧♦t✴ ❉❊❙❚■◆❆❚■❖◆ ❣♥✉♣❧♦t✮
SLIDE 19
CMake - ❡①t❡r♥❛❧♣r♦❥❡❝t❴❛❞❞
Einbinden von externen Programmen: ✳✴❝♦♥❢✐❣✉r❡ ❀ ♠❛❦❡ ❀ ♠❛❦❡ ✐♥st❛❧❧
Beispiel: Compilieren von TCL
❡①t❡r♥❛❧♣r♦❥❡❝t❴❛❞❞✭t❝❧ ❯❘▲ ✧✩④❚❈▲❴❯❘▲⑥✧ ❉❖❲◆▲❖❆❉❴❉■❘ ✩④❈▼❆❑❊❴❙❖❯❘❈❊❴❉■❘⑥✴❞♦✇♥❧♦❛❞s ❯❘▲❴▼❉✺ ✩④❚❈▲❴▼❉✺⑥ ❈❖◆❋■●❯❘❊❴❈❖▼▼❆◆❉ ✩④❈▼❆❑❊❴❇■◆❆❘❨❴❉■❘⑥✴t❝❧✲♣r❡❢✐①✴sr❝✴t❝❧✴✇✐♥✴❝♦♥❢✐❣✉r❡ ✲✲❤♦st❂✩④❍❖❙❚⑥ ✲✲♣r❡❢✐①❂❈✿✴♠❛①✐♠❛✲✩④▼❆❳■▼❆❱❊❘❙■❖◆⑥ ❇❯■▲❉❴❈❖▼▼❆◆❉ ✩✭▼❆❑❊✮ ■◆❙❚❆▲▲❴❈❖▼▼❆◆❉ ✩✭▼❆❑❊✮ ✐♥st❛❧❧ ✮ ✐♥st❛❧❧✭❉■❘❊❈❚❖❘❨ ✩④❈▼❆❑❊❴❇■◆❆❘❨❴❉■❘⑥✴t❝❧✲♣r❡❢✐①✴sr❝✴t❝❧✲❜✉✐❧❞✴❈✿✴♠❛①✐♠❛✲✩④▼❆❳■▼❆❱❊❘❙■❖◆⑥✴ ❉❊❙❚■◆❆❚■❖◆ ✳✮
SLIDE 20
CMake - ❡①t❡r♥❛❧♣r♦❥❡❝t❴❛❞❞
Spezialfälle: ❈r♦ss❝♦♠♣✐❧✐❡r❡♥ ✈♦♥ ▲✐s♣ ✕ ▼❛①✐♠❛
Verwendung von Wine
✩ ❝❛t ✇✐♥❡✲❝❧✐s♣✳s❤✳t♠♣❧ ★✦✴❜✐♥✴s❤ ✇✐♥❡ ❅❈▲■❙P❘❖❖❚❅✴❝❧✐s♣✳❡①❡ ✧✩❅✧ s❡t✭❈▲■❙P❘❖❖❚ ✧✩④❈▼❆❑❊❴❇■◆❆❘❨❴❉■❘⑥✴❝❧✐s♣✲♣r❡❢✐①✴sr❝✴❝❧✐s♣✧✮ ❝♦♥❢✐❣✉r❡❴❢✐❧❡✭✧✩④❈▼❆❑❊❴❙❖❯❘❈❊❴❉■❘⑥✴✇✐♥❡✲❝❧✐s♣✳s❤✳t♠♣❧✧ ✧✩④❈▼❆❑❊❴❇■◆❆❘❨❴❉■❘⑥✴✇✐♥❡✲❝❧✐s♣✳s❤✧✮ ❝♦♥❢✐❣✉r❡❴❢✐❧❡✭✧✩④❈▼❆❑❊❴❙❖❯❘❈❊❴❉■❘⑥✴✇✐♥❡✲❧✐s♣✳s❤✳t♠♣❧✧ ✧✩④❈▼❆❑❊❴❇■◆❆❘❨❴❉■❘⑥✴✇✐♥❡✲❧✐s♣✳s❤✧✮
SLIDE 21
CMake - ❡①t❡r♥❛❧♣r♦❥❡❝t❴❛❞❞
Spezialfälle: ❈r♦ss❝♦♠♣✐❧✐❡r❡♥ ✈♦♥ ▲✐s♣ ✲ ▼❛①✐♠❛
Verwendung von Wine als Crosscompiler
❡①t❡r♥❛❧♣r♦❥❡❝t❴❛❞❞✭♠❛①✐♠❛ ★ ❝♦♣② t❤❡ ▼❛①✐♠❛ s♦✉r❝❡ t♦ ❛ ❜✉✐❧❞ ❞✐r❡❝t♦r② ❉❖❲◆▲❖❆❉❴❈❖▼▼❆◆❉ rs②♥❝ ✲❛✈ ✲✲❡①❝❧✉❞❡❂❝r♦ss❝♦♠♣✐❧❡✲✇✐♥❞♦✇s✴ ✧✩④❈▼❆❑❊❴❙❖❯❘❈❊❴❉■❘⑥✴✳✳✴✧ ✧✩④❈▼❆❑❊❴❙❖❯❘❈❊❴❉■❘⑥✴❜✉✐❧❞✴♠❛①✐♠❛✲♣r❡❢✐①✴sr❝✴♠❛①✐♠❛✧ ❇❯■▲❉❴■◆❴❙❖❯❘❈❊ ✶ ❈❖◆❋■●❯❘❊❴❈❖▼▼❆◆❉ s❤ ✲❝ ✧t❡st ✲① ❝♦♥❢✐❣✉r❡ ⑤⑤ ✳✴❜♦♦tstr❛♣✧ ❈❖▼▼❆◆❉ ✳✴❝♦♥❢✐❣✉r❡ ✲✲❤♦st❂✩④❍❖❙❚⑥ ✲✲❡♥❛❜❧❡✲❝❧✐s♣ ✲✲✇✐t❤✲❝❧✐s♣❂✩④❈▼❆❑❊❴❇■◆❆❘❨❴❉■❘⑥✴✇✐♥❡✲❝❧✐s♣✳s❤ ✲✲✇✐t❤✲❝❧✐s♣✲r✉♥t✐♠❡❂✩④❈▼❆❑❊❴❇■◆❆❘❨❴❉■❘⑥✴✇✐♥❡✲❧✐s♣✳s❤ ✲✲♣r❡❢✐①❂❈✿✴♠❛①✐♠❛✲✩④▼❆❳■▼❆❱❊❘❙■❖◆⑥ ❇❯■▲❉❴❈❖▼▼❆◆❉ ✩✭▼❆❑❊✮ ■◆❙❚❆▲▲❴❈❖▼▼❆◆❉ ✩✭▼❆❑❊✮ ✲❈ ✩④❈▼❆❑❊❴❇■◆❆❘❨❴❉■❘⑥✴♠❛①✐♠❛✲♣r❡❢✐①✴sr❝✴♠❛①✐♠❛ ✐♥st❛❧❧ ❉❊❙❚❉■❘❂✩④❈▼❆❑❊❴❇■◆❆❘❨❴❉■❘⑥✴♠❛①✐♠❛✲✐♥st❛❧❧r♦♦t✴ ✮
SLIDE 22
Paketieren mit CPack
RPM, DEB Pakete, Windows Installer (NSIS)
Diverse allgemeine Variablen setzen
s❡t✭❈P❆❈❑❴●❊◆❊❘❆❚❖❘ ✧◆❙■❙✧✮ s❡t✭❈P❆❈❑❴P❆❈❑❆●❊❴❱❊❘❙■❖◆ ✧✩④▼❆❳■▼❆❱❊❘❙■❖◆⑥✧✮ s❡t✭❈P❆❈❑❴P❆❈❑❆●❊❴❉❊❙❈❘■P❚■❖◆❴❙❯▼▼❆❘❨ ✧▼❛①✐♠❛✧✮ s❡t✭❈P❆❈❑❴P❆❈❑❆●❊❴❱❊◆❉❖❘ ✧▼❛①✐♠❛ ❚❡❛♠✧✮ s❡t✭❈P❆❈❑❴P❆❈❑❆●❊❴❉❊❙❈❘■P❚■❖◆❴❋■▲❊ ✧✩④❈▼❆❑❊❴❙❖❯❘❈❊❴❉■❘⑥✴✳✳✴❘❊❆❉▼❊✧✮ s❡t✭❈P❆❈❑❴❘❊❙❖❯❘❈❊❴❋■▲❊❴▲■❈❊◆❙❊ ✧✩④❈▼❆❑❊❴❙❖❯❘❈❊❴❉■❘⑥✴✳✳✴❈❖P❨■◆●✧✮ s❡t✭❈P❆❈❑❴P❆❈❑❆●❊❴■◆❙❚❆▲▲❴❉■❘❊❈❚❖❘❨ ✧♠❛①✐♠❛✲✩④❈P❆❈❑❴P❆❈❑❆●❊❴❱❊❘❙■❖◆⑥✧✮ s❡t✭❈P❆❈❑❴P❆❈❑❆●❊❴❋■▲❊❴◆❆▼❊ ✧♠❛①✐♠❛✲❝❧✐s♣✲s❜❝❧✲✩④❈P❆❈❑❴P❆❈❑❆●❊❴❱❊❘❙■❖◆⑥✧✮ s❡t✭❈P❆❈❑❴P❆❈❑❆●❊❴❊❳❊❈❯❚❆❇▲❊❙ ✧✳✳❭❭❭❭✇①▼❛①✐♠❛❭❭❭❭✇①♠❛①✐♠❛✧ ✧✇①▼❛①✐♠❛ ✭●❯■✮✧✮
SLIDE 23
Paketieren mit CPack
RPM, DEB Pakete, Windows Installer (NSIS)
NSIS spezifische Variablen setzen
s❡t✭❈P❆❈❑❴◆❙■❙❴■◆❙❚❆▲▲❴❘❖❖❚ ✧❈✿✧✮ s❡t✭❈P❆❈❑❴◆❙■❙❴❊◆❆❇▲❊❴❯◆■◆❙❚❆▲▲❴❇❊❋❖❘❊❴■◆❙❚❆▲▲ ❖◆✮ s❡t✭❈P❆❈❑❴P❆❈❑❆●❊❴■❈❖◆ ✧✩④❈▼❆❑❊❴❙❖❯❘❈❊❴❉■❘⑥✴♠❛①✐♠❛✲✐❝♦♥✳❜♠♣✧✮ s❡t✭❈P❆❈❑❴◆❙■❙❴▼❯■❴■❈❖◆ ✧✩④❈▼❆❑❊❴❙❖❯❘❈❊❴❉■❘⑥✴✳✳✴✐♥t❡r❢❛❝❡s❭❭❭❭♠❛①✐♠❛✲✐❝♦♥✳✐❝♦✧✮ s❡t✭❈P❆❈❑❴◆❙■❙❴▼❯■❴❯◆■■❈❖◆ ✧✩④❈P❆❈❑❴◆❙■❙❴▼❯■❴■❈❖◆⑥✧✮ s❡t✭❈P❆❈❑❴◆❙■❙❴❯❘▲❴■◆❋❖❴❆❇❖❯❚ ✧❤tt♣✿✴✴♠❛①✐♠❛✳s♦✉r❝❡❢♦r❣❡✳♥❡t✧✮ s❡t✭❈P❆❈❑❴◆❙■❙❴▼❊◆❯❴▲■◆❑❙ ✧❜✐♥✴♠❛①✐♠❛✳❜❛t✧ ✧▼❛①✐♠❛ ✭❝♦♠♠❛♥❞ ❧✐♥❡✮✧ ✧❤tt♣✿✴✴♠❛①✐♠❛✳s♦✉r❝❡❢♦r❣❡✳♥❡t✧ ✧❆❜♦✉t ▼❛①✐♠❛✧ ✧s❤❛r❡✴❞♦❝✴♠❛①✐♠❛✳♣❞❢✧ ✧▼❛①✐♠❛ ❞♦❝✉♠❡♥t❛t✐♦♥✧✮
SLIDE 24
Paketieren mit CPack
Registry-Einträge für File associations
★ ❋✐❧❡ ❛ss♦❝✐❛t✐♦♥s✿ s❡t✭❈P❆❈❑❴◆❙■❙❴❉❊❋■◆❊❙ ✧✦✐♥❝❧✉❞❡ ✩④❈▼❆❑❊❴❙❖❯❘❈❊❴❉■❘⑥❭❭❭❭❋✐❧❡❆ss♦❝✐❛t✐♦♥✳♥s❤✧✮ s❡t✭❈P❆❈❑❴◆❙■❙❴❊❳❚❘❆❴■◆❙❚❆▲▲❴❈❖▼▼❆◆❉❙ ✧ ❭❭❭✩④r❡❣✐st❡r❊①t❡♥s✐♦♥⑥ ❭❭❭✧❭❭❭✩■◆❙❚❉■❘❭❭❭❭✇①▼❛①✐♠❛❭❭❭❭✇①♠❛①✐♠❛✳❡①❡❭❭❭✧ ❭❭❭✧✳✇①♠❭❭❭✧ ❭❭❭✧✇①▼❛①✐♠❛ ❉♦❝✉♠❡♥t❭❭❭✧ ❲r✐t❡❘❡❣❙tr ❍❑❈❘ ❭❭❭✧✳✇①♠①❭❭❭❭❙❤❡❧❧◆❡✇❭❭❭✧ ❭❭❭✧◆✉❧❧❋✐❧❡❭❭❭✧ ❭❭❭✧❭❭❭✧ ✧✮ s❡t✭❈P❆❈❑❴◆❙■❙❴❊❳❚❘❆❴❯◆■◆❙❚❆▲▲❴❈❖▼▼❆◆❉❙ ✧ ❭❭❭✩④✉♥r❡❣✐st❡r❊①t❡♥s✐♦♥⑥ ❭❭❭✧✳✇①♠❭❭❭✧ ❭❭❭✧✇①▼❛①✐♠❛ ❉♦❝✉♠❡♥t❭❭❭✧ ❉❡❧❡t❡❘❡❣❑❡② ❍❑❈❘ ❭❭❭✧✳✇①♠①❭❭❭❭❙❤❡❧❧◆❡✇❭❭❭✧ ✧✮
SLIDE 25
Compilieren des Installers
4 Befehle für einen Windows-Installer ❝❞ ❝r♦ss❝♦♠♣✐❧❡✲✇✐♥❞♦✇s✴❜✉✐❧❞✴ ❝♠❛❦❡ ✳✳ ♠❛❦❡ ★ ❦ö♥♥t❡ ✇❡❣❡❧❛ss❡♥ ✇❡r❞❡♥✱ ❡✈✳ ✲❥ ♥♥ ♠❛❦❡ ♣❛❝❦❛❣❡
SLIDE 26
Extrahieren existierender Windows-Installer
Extrahieren von Microsoft-Formaten
7z extrahiert MSI, EXE Installer ❆✉❢❧✐st❡♥ ❞❡s ■♥❤❛❧ts✿ ✩ ✼③ ❧ ✐♥st❛❧❧❡r✳♠s✐ ★ ♦❞❡r ❡①❡ ❊①tr❛❤✐❡r❡♥✿ ✩ ✼③ ① ✐♥st❛❧❧❡r✳♠s✐ ★ ♦❞❡r ❡①❡ cabextract extrahiert CAB-Archive ❊①tr❛❤✐❡r❡♥✿ ✩ ❝❛❜❡①tr❛❝t ❢✐❧❡✳❝❛❜ ★ ✲✲❧✐st ❢✐❧❡✳❝❛❜ ③✉♠ ❆✉❢❧✐st❡♥
SLIDE 27
Vielen Dank
Fragen? (hoffentlich richtige. . . ) Antworten!
Vielen Dank für Ihre Aufmerksamkeit
Wolfgang Dautermann wolfgang.dautermann [AT] fh-joanneum.at
SLIDE 28