Crosscompilierung . . . ein Windows-Installer mit 4 Befehlen - - PowerPoint PPT Presentation

crosscompilierung
SMART_READER_LITE
LIVE PREVIEW

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-1
SLIDE 1

Crosscompilierung

. . . ein Windows-Installer mit 4 Befehlen Wolfgang Dautermann

FH JOANNEUM

Linuxwochen Linz 2016

slide-2
SLIDE 2

1

Einführung in Crosscompiling

2

Andere Programmiersprachen

3

Installer für Maxima

4

Paketieren mit CPack

5

Nützliche Tools

slide-3
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
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
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
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
SLIDE 7

Hello world unter Linux compilieren

hoffentlich bekannt...

Compilieren von helloworld.c ✩ ❣❝❝ ✲❲❛❧❧ ✲♦ ❤❡❧❧♦✇♦r❧❞ ❤❡❧❧♦✇♦r❧❞✳❝ ✩ ❢✐❧❡ ❤❡❧❧♦✇♦r❞ ❤❡❧❧♦✇♦r❧❞✿ ❊▲❋ ✻✹✲❜✐t ▲❙❇ ❡①❡❝✉t❛❜❧❡✱ ①✽✻✲✻✹✱ ❬✳✳✳❪

slide-8
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
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
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
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
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
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
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
SLIDE 15

Abhängigkeiten

Maxima Installationspaket Maxima Lisp CLISP SBCL TK TCL Gnuplot (VTK) wxMaxima wxWidgets (jsMath T EX-Fonts)

slide-16
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
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
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
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
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
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
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
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
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
SLIDE 25

Compilieren des Installers

4 Befehle für einen Windows-Installer ❝❞ ❝r♦ss❝♦♠♣✐❧❡✲✇✐♥❞♦✇s✴❜✉✐❧❞✴ ❝♠❛❦❡ ✳✳ ♠❛❦❡ ★ ❦ö♥♥t❡ ✇❡❣❡❧❛ss❡♥ ✇❡r❞❡♥✱ ❡✈✳ ✲❥ ♥♥ ♠❛❦❡ ♣❛❝❦❛❣❡

slide-26
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
SLIDE 27

Vielen Dank

Fragen? (hoffentlich richtige. . . ) Antworten!

Vielen Dank für Ihre Aufmerksamkeit

Wolfgang Dautermann wolfgang.dautermann [AT] fh-joanneum.at

slide-28
SLIDE 28

Werbeeinschaltung :-)