Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Microsoft Windows Installer und Visual Studio Installer1 Frank Lange Business Solution Group Microsoft GmbH Windows Installer.

Ähnliche Präsentationen


Präsentation zum Thema: "Microsoft Windows Installer und Visual Studio Installer1 Frank Lange Business Solution Group Microsoft GmbH Windows Installer."—  Präsentation transkript:

1 Microsoft Windows Installer und Visual Studio Installer1 Frank Lange Business Solution Group Microsoft GmbH Windows Installer Visual Studio Installer Installation und Pflege von Anwendungen unter Windows 2000

2 Microsoft Windows Installer und Visual Studio Installer2 Inhalt Einleitung Microsoft Windows Installer Visual Studio Installer Fazit und Literatur Der Installer Service des Windows-Betriebssystems Das kostenlose Setup-Tool zum Visual Studio

3 Microsoft Windows Installer und Visual Studio Installer3 Motivation TCO Einrichten und Administrieren der Rechner soll einfach und kostengünstig sein. Win2000 ZAW-Initiative Eine Microsoft-Initiative, um Probleme und Umständlichkeiten beim Administrieren der Rechner zu erkennen und zu beseitigen. TCO = Total Cost of Ownership ZAW = Zero Administration Windows

4 Microsoft Windows Installer und Visual Studio Installer4 Ziele des Windows Installer Allgemein Verteilen, Installieren und Pflegen von Anwendungen soll einfach und robust sein. Systemstabilität an erster Stelle Anwendungen sollen keine Seiteneffekte zeigen. Weder auf andere Anwendungen noch auf das System. Plattform-Unterstützung Win95, Win98, NT4, Win2000

5 Microsoft Windows Installer und Visual Studio Installer5 Plattform-Unterstützung Win9x, NT4 Windows Installer evtl. noch nicht auf dem Rechner. Kein Problem: Setup mit Bootstrapping erstellen. D.h. bedarfsmäßig automatische Installer-Installation durch Setup der App. NT4 – Service Pack-Installation !... wie bisher z.B. durch vorgeschaltetes Setup-Programm lösbar. OS?: GetVersionEx() SP?: HKLM/Software/Microsoft/Windows NT/Current Version/CSDVersion = z.B: "Service Pack 4" OS?: GetVersionEx() SP?: HKLM/Software/Microsoft/Windows NT/Current Version/CSDVersion = z.B: "Service Pack 4" (Exkurs)

6 Microsoft Windows Installer und Visual Studio Installer6 Plattform-Unterstützung Windows 2000 Kein Problem. Manche Installer-Funktionalität nur unter Win2000 verfügbar. Netzadministrator kann Setup starten, um über Nacht auf gelocktem Client-Rechner Anwendungen zu installieren. Netzadministrator kann auf Client-Rechnern Anwendungen erscheinen lassen, welche vom Benutzer beim ersten Anklicken installiert werden (Anbieten).

7 Microsoft Windows Installer und Visual Studio Installer7 Inhalt Einleitung Microsoft Windows Installer Visual Studio Installer Fazit und Literatur

8 Microsoft Windows Installer und Visual Studio Installer8 Traditionelle Setup-Programme Skriptgesteuertes Prozedurmodell Das selbsterstellte Setup implementiert den Code zum Kopieren von Dateien und Überprüfen/Verändern des Systems. Um eine Deinstallation zu ermöglichen, müssen alle Teile programmatisch entfernt werden. Ein Setup-Programm kann andere App-Installationen beeinflussen! if(bed) doStep1;... doStepN;

9 Microsoft Windows Installer und Visual Studio Installer9 Problem des Prozedurmodells Viele Köche verderben den Brei... Mach mal, liebes Setup. Mach mal, anderes Setup! Setup ohne nötige Rechte

10 Microsoft Windows Installer und Visual Studio Installer10 Richtlinien für Setups Siehe MSDN "Fusing Your Applications to the System Through the Windows95 Shell von Jeff Richter Setup Weiterbestehende Probleme: z.B. Funktioniert Deinstallation, wenn App beschädigt wurde? Hoffentlich hält sich jeder dran... – keine Garantie.

11 Microsoft Windows Installer und Visual Studio Installer11 Selbstschutz des Systems System File Protection Windows 2000 läßt den Austausch von System-DLLs nicht zu. Selbst wenn mit DOS gebootet wird und DLLs augetauscht werden. Beim nächsten Win2000-Start werden die System DLLs wieder restauriert.

12 Microsoft Windows Installer und Visual Studio Installer12 Datengesteuertes Setup Microsoft Windows Installer - wacht über das System - protokolliert die Installationen - macht Setup zur Transaktion - kann mit Admin-Rechten arbeiten MWI Rezept

13 Microsoft Windows Installer und Visual Studio Installer13 Komponente 1,... Komponente n Komponenten Setup besteht aus Komponenten Datei(en) mit genau einem Zielpfad Registry-Einträge Startmenü-Einträge Datei-Verknüpfungen (z.B. auf Desktop) - kleinste Einheit des Setup (z.B. einzelne Datei) - eindeutige ID (eine GUID) (manche Tools zeigen stellvertretend den Dateinamen = Schlüsseldatei) Teile einer Komponente Transaktionskontrolle - wieder rückgängig machen können

14 Microsoft Windows Installer und Visual Studio Installer14 Qualifizierte Komponenten Komponenten-Kategorie Gleichartige Komponenten, welche alternativ einsetzbar (z.B. verschieden lokalisierte Komponenten). Statt Component ID nun Category ID. Alternative Komponenten bekommen zur Identifizierung einen Qualifier String (z.B. die LCID ). Kategorie Category ID Komponente deutsch Komponente Component ID Komponente englisch

15 Microsoft Windows Installer und Visual Studio Installer15 COM-Komponenten Leider – Problem! Das AUS für Transaktionskontrolle Registry, Files,... Mr. COM registriert sich selbst! Rezept DllRegisterServer() bzw. /RegisterServer

16 Microsoft Windows Installer und Visual Studio Installer16 COM-Komponenten (2) Ausweg: COM-Komp. über Installer Transaktionskontrolle Registry, Files,... Rezept Datei Mit Registry-Entries für die COM-Komponente

17 Microsoft Windows Installer und Visual Studio Installer17 Richtlinien Aufteilung in Komponenten - Empfehlung: eine Datei ist eine Komponente - falls mehrere Dateien, dann immer genau ein Zielverzeichnis - max. ein COM-Server je Komponente - keine Datei/Ressouce darf in verschiedenen Komponenten auftreten - neue Version, die nicht 100% abwärtskompatibel ist, wird zur einer neuen Komponente mit neuer ID Wiederverwendbarkeit - Merge-Module erzeugen (können in verschiedene Installations-Pakete eingebracht werden) - verschiedene Developer-Teams können Merge-Module erzeugen, die in das Produkt-Setup aufgenommen werden.

18 Microsoft Windows Installer und Visual Studio Installer18 Komponente 1,... Komponente n Features eines Produkts Endanwender wählt Features Rechtschreib-Prüfung Bilder-Katalog Beispiel-Dateien Feature besteht aus Komponenten Features können hierarchisch strukturiert sein.

19 Microsoft Windows Installer und Visual Studio Installer19 Features, Components, Entry Points Component 1 (WordCore) Component 3 (ExcelCore) Component 2 (MS Speller) Product(Office) Feature 2 (Excel) Feature 1 (Word) Entry Point (.doc) (Shortcut) (.xls) (Shortcut) (CLSID) Resource (Registry Key) Resource(winword.exe) Resource Resource(excel.exe) Resource Resource(Mssp.dll) Feature 3 (Word Speller) Feature 4 (Excel Speller)

20 Microsoft Windows Installer und Visual Studio Installer20 Phasen der Installation Acquisitation Evtl. Rollback - Was ist zu installieren? - Was ist auf dem System? - Synthese der Installationsschritte (Sequenz-Tabelle aufbauen, Skript generieren) Execution - Abarbeiten des Skriptes - Logfile mitführen, überschriebene Ressourcen temporär sichern

21 Microsoft Windows Installer und Visual Studio Installer21 Installer verwaltet Komponenten Robustheit Anbieten von Anwedungen (Win2000) - merkt sich, von welchen Apps eine Komponente installiert wurde -> mehr als nur RefCounting - merkt sich die Herkunft aller Bestandteile (Netz, URL, CD,...) -> automatische Reparatur, falls Dateien fehlen Bedarfsgesteuerte Feature-Installation - Komponenten bei Bedarf installieren ohne erneuten Setup-Aufruf a) Assigning = im Startmenü/Desktop sichtbar b) Publishing = unsichtbar z.B. durch andere Apps nutzbar, z.B: als MIME-Typ bereits bekannt (durch Netzadministrator) MIME = Multipurose Internet Mail Extentions

22 Microsoft Windows Installer und Visual Studio Installer22 Installer – Arbeitsweise einstellen API MSI-Funktionen und Komponenten-Eigenschaften. Kommandozeilen-Parameter MsiExec.EXEkann von Kommandozeile aufgerufen werden HKCU / Software / Policies / Microsoft / Windows / Installer Wenige Grund-Einstellungen: z.B. Logging standardmäßig einschalten Registry-Voreinstellungen

23 Microsoft Windows Installer und Visual Studio Installer23 Kommandozeilen-Parameter MsiExec.EXE MsiExec... /fp mypackage /ju mypackage /L logfilepath /qn fehlende Dateien reparieren Anbieten für den aktuellen Benutzer Fehler, Warnungen etc. mitprotokollieren ohne Benutzeroberfläche starten

24 Microsoft Windows Installer und Visual Studio Installer24 Installations-Typen Administrative Installation Ein Setup-Image wird auf einem Netzserver erstellt. Mit diesem Image können dann die Clients lokal installieren. Eine voreingestellte Feature-Auswahl kann getroffen werden. Lokale Installation Die Installation auf einem Client-Rechner.

25 Microsoft Windows Installer und Visual Studio Installer25 Installer Database, API Wer muß damit umgehen? Entwickler der Tools für Setup-Erstellung. Funktionen und Aufbau z.B. MsiOpenDatabase ( dbfilepath, MSIDBOPEN_CREATE, &hDB )...via SQL nutzbar Doku zu den Tabellen: Platform SDK / Management Services / Setup / Windows Installer / Installer Database z.B..../ File Table Groups z.B..../ Installer Database Reference / Database Tables Installer Database Ein Setup-Paket (MSI-Datei) enthält eine Installer Database mit Infos für datengesteuerte Installation. Features Components Shortcuts Action Files Optional CAB Summary Information Other Tables... Pointers to source files

26 Microsoft Windows Installer und Visual Studio Installer26 Setup erstellen Die schlechte Nachricht Die SDK-Dokumentation ist komplex. (Support-Vertrag als Ausweg) Die gute Nachricht Es gibt Tools! Profi-Tools: Wise-Installer, InstallShield für Win Installer,... Arme-Leute-Tool: Microsoft Visual Studio Installer (kostenlos als Visual Studio-Ergänzung)

27 Microsoft Windows Installer und Visual Studio Installer27 Inhalt Einleitung Microsoft Windows Installer Visual Studio Installer Fazit und Literatur

28 Microsoft Windows Installer und Visual Studio Installer28 Visual Studio Installer Was ist der VSI? Woher? Wie ist VSI positioniert? Ein kostenloses Tool für die Setup-Erstellung. Aus dem Internet: VSI ist ein brauchbares arme Leute-Tool. Den Herstellern von Profi-Tools (InstallShield, Wise,..) darf keine Konkurrenz gemacht werden. z.B. keine bedarfsgesteuerte Feature-Installation unterstützt.

29 Microsoft Windows Installer und Visual Studio Installer29 VSI aus dem Internet

30 Microsoft Windows Installer und Visual Studio Installer30 VSI Starten Start / Programme / Microsoft Visual Studio 6.0 / Microsoft Visual Studio Enterprise-Dienstprogramme / Visual Studio Installer Im Start-Menü

31 Microsoft Windows Installer und Visual Studio Installer31 VSI - Projekttypen Neues Projekt

32 Microsoft Windows Installer und Visual Studio Installer32 VSI – Projekttypen (2) Leerer Installer Leeres Mergemodul Visual Basic Installer Ein neues MSI-Paket wird erstellt. Die Komponenten werden im Anschluß hinzugefügt. Für Komponenten, die von mehreren Apps benutzt werden können. Ein Mergemodul (MSM) wird später in andere MSI-Pakete eingebracht. Aus einem VB-Projekt wird ein Installations-Paket (MSM oder MSI) erstellt.

33 Microsoft Windows Installer und Visual Studio Installer33 VSI - Dateien.MSI Installer-Paket (oder MSM-Merge Modul).WIP WinInstaller Projekt.SLN Projektmappe Erstellen VSI.xyz Komponenten- Dateien

34 Microsoft Windows Installer und Visual Studio Installer34 Aufbau der Zieldateien 1 MSI 1 MSI + n CAB 1 MSI + n Dateien

35 Microsoft Windows Installer und Visual Studio Installer35 Merge-Module Prinzipiell Für eine Komponente (z.B. DLL) wird ein Merge Modul-Projekt erstellt. Merge Modul (MSM) Das Merge-Modul kann in andere Setups aufgenommen werden. Komponente dann NIEMALS OHNE MSI installieren (Referenenz-Kontrolle durch Windows Installer). Vorsicht bei Komponenten von Fremdanbietern im selbsterzeugten Merge-Modul (Referenz-Kontrolle!).

36 Microsoft Windows Installer und Visual Studio Installer36 Mitgelieferte Merge-Module Laufzeit-Bibliotheken VB, MFC, ATL Pseudo-Module MDAC.MSM ist nur ein Überprüfungsmodul, ohne MDAC selbst zu enthalten. Drittanbieter Drittanbieter liefert MSM-File: schön! Keine Drittanbieter-Dateien bedenkenlos in ein Merge Modul packen (wegen Referenzüberprüfung durch Windows Installer). Stattdessen SharedLegacyFile-Eigenschaft setzen).

37 Microsoft Windows Installer und Visual Studio Installer37 Dateisystem Benutzeroberfläche Editoren des VSI Registrierung Verknüpfungen Verzeichnispfade für Installation Dialogfelder etc. Einträge in die Registry Dateierweiterungen, Verben, Start-Menü, Desktop-Shortcuts

38 Microsoft Windows Installer und Visual Studio Installer38 Verzeichnisse erstellen Dateien hinzufügen Dateisystem-Editor Falls Komponente aus mehreren Dateien, dann alle in ein Zielverzeichnis. Anwählen. RKlick auf Schlüsselkomponente... Gruppieren

39 Microsoft Windows Installer und Visual Studio Installer39 Benutzeroberflächen-Editor Setup-Dialoge verwalten

40 Microsoft Windows Installer und Visual Studio Installer40 Registrierungs-Editor Registry-Einträge verwalten

41 Microsoft Windows Installer und Visual Studio Installer41 Verknüpfungs-Editor Verknüfpungen verwalten Dokumenttypen:z.B. Word.Document MIME-Typen:für -Attachments, Internet-Sources COM-Objekte:für COM-Interface-Implementierungen Typbibliotheken:für COM-Interfaces

42 Microsoft Windows Installer und Visual Studio Installer42 VSI - Demos Arbeiten mit VSI.

43 Microsoft Windows Installer und Visual Studio Installer43 Inhalt Einleitung Microsoft Installer Service Visual Studio Installer Fazit und Literatur

44 Microsoft Windows Installer und Visual Studio Installer44 Fazit MS Windows Installer Erstellen von Setups Der Microsoft Windows Installer vereinfacht Installations- und Wartungsvorgänge. Das System wird robuster und besser handhabbar. Zum Erstellen von Setups gibt es Tools, die auf dem Windows Installer aufsetzen. Ein erstelltes Installer-Paket (MSI-File) enthält eine Datenbank zur datengesteuerten Installation. Das Erstellen eines Merge-Modul (MSM-Files) ist oft empfehlenswert.

45 Microsoft Windows Installer und Visual Studio Installer45 Fragen?

46 Microsoft Windows Installer und Visual Studio Installer46 MSDN Library, Platform SDK Visual Studio Installer Online-Hilfe API, DB-Aufbau VSI-Benutzung VSI Download Mehr Informationen Platform SDK Tool Orca

47 Microsoft Windows Installer und Visual Studio Installer47 Glossar Bedarfgesteuerte Installation Ohne erneuten Setup-Aufruf werden Programm-Funktionalitäten (sog. Features) erst später beim ersten Verwenden automatisch nachinstalliert. Datengesteuertes Setup Im Gegensatz zum traditionell prozeduralen Setup wird nicht der Installations-Code geschrieben. Eine Datenbank (MSI-File) mit Komponenten, Bedingungen und Abhängigkeiten wird erstellt. Das System sorgt für die nötigen Installationsschritte. SFP System File Protection schützt die Systemdateien des Windows Das System wird robuster. Transaktion Ein Vorgang, der entweder vollständig abläuft oder im Fehlerfall den vorherigen Systemzustand wiederherstellt. Ein auf MSI-basierendes Setup ist eine Transaktion.

48 Microsoft Windows Installer und Visual Studio Installer48 Where do you want to go today?


Herunterladen ppt "Microsoft Windows Installer und Visual Studio Installer1 Frank Lange Business Solution Group Microsoft GmbH Windows Installer."

Ähnliche Präsentationen


Google-Anzeigen