1 / 48

Windows Installer Visual Studio Installer

Windows Installer Visual Studio Installer. Installation und Pflege von Anwendungen unter Windows 2000. Frank Lange Business Solution Group Microsoft GmbH Email: franklan@microsoft.com. Inhalt. Einleitung. Microsoft Windows Installer. Der Installer Service des Windows-Betriebssystems.

noreen
Download Presentation

Windows Installer Visual Studio Installer

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Windows InstallerVisual Studio Installer Installation und Pflege von Anwendungen unter Windows 2000 Frank LangeBusiness Solution Group Microsoft GmbH Email: franklan@microsoft.com Microsoft Windows Installer und Visual Studio Installer

  2. Inhalt Einleitung Microsoft Windows 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 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 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. 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 if(bed) doStep1; ... doStepN; 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! Microsoft Windows Installer und Visual Studio Installer

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

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

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

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

  13. Komponenten Komponente 1, ... Komponente n Datei(en) mit genau einem Zielpfad Registry-Einträge Startmenü-Einträge Datei-Verknüpfungen (z.B. auf Desktop) System Setup besteht aus Komponenten - 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 Microsoft Windows Installer und Visual Studio Installer

  14. Qualifizierte Komponenten Komponente Component ID Kategorie Category ID Komponente „deutsch“ Komponente „englisch“ 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 ). Microsoft Windows Installer und Visual Studio Installer

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

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

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

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

  19. Features, Components, Entry Points Feature 1 (Word) Feature 2 (Excel) Feature 3 (Word Speller) Feature 4 (Excel Speller) Component 1 (WordCore) Component 2 (MS Speller) Component 3 (ExcelCore) Resource (winword.exe) Entry Point (Shortcut) Resource (Mssp.dll) Entry Point (CLSID) Resource (excel.exe) Entry Point (Shortcut) Resource (Registry Key) Resource (Registry Key) Entry Point (.doc) Resource (Registry Key) Entry Point (.xls) Product (Office) 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 sichtbarb) 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 MsiExec MsiExec 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 MsiExec.EXE Microsoft Windows Installer und Visual Studio Installer

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

  25. Installer Database, API Optional CAB Features Components Shortcuts Pointers to source files Action Summary Information Files Other Tables... 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 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: http://www.msdn.microsoft.com/vstudio Wie ist VSI positioniert? VSI ist ein brauchbares „arme Leute“-Tool. Den Herstellern von Profi-Tools (InstallShield, Wise,..) darfkeine 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. 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. 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 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 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üpfungs-Editor Verknüfpungen verwalten Dokumenttypen: z.B. Word.Document MIME-Typen: für e-mail-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 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

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

  47. 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 2000. 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

More Related