Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Windows Installer Visual Studio Installer

Ähnliche Präsentationen


Präsentation zum Thema: "Windows Installer Visual Studio Installer"—  Präsentation transkript:

1 Windows Installer Visual Studio Installer
Track 4, Session IC1 Microsoft Visual Installer Services und Visual Installer 1 Windows Installer Visual Studio Installer Installation und Pflege von Anwendungen unter Windows 2000 Frank Lange Business Solution Group Microsoft GmbH Microsoft Windows Installer und Visual Studio Installer

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

3 Motivation TCO Win2000 ZAW-Initiative
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 Microsoft Windows Installer und Visual Studio Installer

4 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 Microsoft Windows Installer und Visual Studio Installer

5 Plattform-Unterstützung
Track 4, Session IC1 Microsoft Visual Installer Services und Visual Installer 5 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 ! (Exkurs) ... wie bisher z.B. durch vorgeschaltetes Setup-Programm lösbar. Auf einem NT4 ist es oft nötig, zuerst ein bestimmtes Service Pack zu installieren. Wer sein Setup über SDK-Funktionalität programmiert, wird die im schwarzen Kästchen angedeuteten Schnittstellen nutzen müssen, um den Rechner zu untersuchen. OS?: GetVersionEx() SP?: HKLM/Software/Microsoft/Windows NT/Current Version/CSDVersion = z.B: "Service Pack 4" Microsoft Windows Installer und Visual Studio Installer

6 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“). Microsoft Windows Installer und Visual Studio Installer

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

8 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; Microsoft Windows Installer und Visual Studio Installer

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

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

11 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. System Microsoft Windows Installer und Visual Studio Installer

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

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

14 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“ Microsoft Windows Installer und Visual Studio Installer

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

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

17 Richtlinien Aufteilung in Komponenten Wiederverwendbarkeit
- 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. Microsoft Windows Installer und Visual Studio Installer

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

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

20 Phasen der Installation
Acquisitation - 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 Evtl. Rollback Microsoft Windows Installer und Visual Studio Installer

21 Installer verwaltet Komponenten
Robustheit 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 Anbieten von Anwedungen (Win2000) (durch Netzadministrator) a) Assigning = im Startmenü/Desktop sichtbar b) Publishing = unsichtbar z.B. durch andere Apps nutzbar, z.B: als MIME-Typ bereits bekannt MIME = Multipurose Internet Mail Extentions Microsoft Windows Installer und Visual Studio Installer

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

23 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 Microsoft Windows Installer und Visual Studio Installer

24 Installations-Typen Administrative Installation Lokale 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. Microsoft Windows Installer und Visual Studio Installer

25 Installer Database, API
Features Components Shortcuts Action Files Optional CAB Summary Information Other Tables... Pointers to source files Installer Database Ein Setup-Paket (MSI-Datei) enthält eine Installer Database mit Infos für datengesteuerte Installation. 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 Microsoft Windows Installer und Visual Studio Installer

26 Setup erstellen Die schlechte Nachricht Die gute 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) Microsoft Windows Installer und Visual Studio Installer

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

28 Visual Studio Installer
Was ist der VSI? Ein kostenloses Tool für die Setup-Erstellung. Woher? Aus dem Internet: Wie ist VSI positioniert? 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. Microsoft Windows Installer und Visual Studio Installer

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

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

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

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

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

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

35 Merge-Module Prinzipiell Merge Modul (MSM)
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!). Microsoft Windows Installer und Visual Studio Installer

36 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). Microsoft Windows Installer und Visual Studio Installer

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

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

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

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

41 Verknüfpungen verwalten
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 Microsoft Windows Installer und Visual Studio Installer

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

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

44 Fazit MS Windows Installer Erstellen von Setups
Der Microsoft Windows Installer vereinfacht Installations- und Wartungsvorgänge. Das System wird robuster und besser handhabbar. Erstellen von Setups 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. Microsoft Windows Installer und Visual Studio Installer

45 Fragen? Microsoft Windows Installer und Visual Studio Installer
Track 4, Session IC1 Microsoft Visual Installer Services und Visual Installer 45 Microsoft Windows Installer und Visual Studio Installer

46 Mehr Informationen http://msdn.microsoft.com/vstudio/ Platform SDK
Track 4, Session IC1 Microsoft Visual Installer Services und Visual Installer 46 MSDN Library, Platform SDK API, DB-Aufbau Visual Studio Installer Online-Hilfe VSI-Benutzung VSI Download Platform SDK Tool „Orca“ . Microsoft Windows Installer und Visual Studio Installer

47 Glossar Bedarfgesteuerte Installation Datengesteuertes Setup SFP
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. Microsoft Windows Installer und Visual Studio Installer

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


Herunterladen ppt "Windows Installer Visual Studio Installer"

Ähnliche Präsentationen


Google-Anzeigen