Presentation is loading. Please wait.

Presentation is loading. Please wait.

Creating Manageable Setups With The Windows ® Installer (Part 1 Of 2) Rob Collie, Program Manager Windows Installer Microsoft Corporation Jim Masson, Program.

Similar presentations


Presentation on theme: "Creating Manageable Setups With The Windows ® Installer (Part 1 Of 2) Rob Collie, Program Manager Windows Installer Microsoft Corporation Jim Masson, Program."— Presentation transcript:

1 Creating Manageable Setups With The Windows ® Installer (Part 1 Of 2) Rob Collie, Program Manager Windows Installer Microsoft Corporation Jim Masson, Program Manager Windows NT Administration Microsoft Corporation

2 Agenda  Part 1 History and motivation History and motivation Technology Technology Package format Package format API API OS integration OS integration Examples Examples  Part 2 Build a package for an application Build a package for an application

3 History And Motivation  Application installation is a high TCO item Deploying an application upgrade strikes fear into the heart of administrators Deploying an application upgrade strikes fear into the heart of administrators  Problems with existing installation technologies Poor user experience Poor user experience Poor admin experience Poor admin experience Destabilizing to the OS and other apps Destabilizing to the OS and other apps Poor development experience Poor development experience

4 Administrator Experience Today  Setup is a black box Administrators want to know what it will do to them Administrators want to know what it will do to them  No easy way to determine the state of a machine  Difficult to lockdown desktops  Broken uninstall Can only refcount files Can only refcount files Cannot identify clients of resources Cannot identify clients of resources

5 Setup Development Today  Developing setup is often an afterthought  No notion of sharing setup logic between developers or products  Difficult to update and maintain Script-based setups Script-based setups  Fragile

6 The Windows Installer  The system manages application installation Provide consistent installation rules Provide consistent installation rules Manage shared components Manage shared components Enable dynamic configuration and repair Enable dynamic configuration and repair Windows 95, 98 and Windows NT ® 4.0 Windows 95, 98 and Windows NT ® 4.0 Integrated with Windows NT 5.0 management features Integrated with Windows NT 5.0 management features  Standard setup format  APIs so that applications can configure themselves

7 Architecture Installer Package and files File System Registry Applications Shell, COM, and App MGMT Client Active Directory Windows Installer API Windows Installer service ConfigData  Configuration data Tracks state of installed apps Tracks state of installed apps  Service built into OS Service on Windows NT Service on Windows NT Performs all install operations Performs all install operations  API Install and configure packages and features Install and configure packages and features Query machine state Query machine state Build packages Build packages  Package format Describes required state Describes required state

8 OS Resident Install Service  Setup is built into Windows NT 5.0 No more freelance setup.exe’s No more freelance setup.exe’s Consistent installation rules Consistent installation rules Also available for Windows 95/98 and Windows NT 4.0 Also available for Windows 95/98 and Windows NT 4.0  Transactional Each install session is a transaction system will rollback to previous state when there is a failure Each install session is a transaction system will rollback to previous state when there is a failure  Runs as a service on Windows NT Authorized apps can use elevated privileges to install Authorized apps can use elevated privileges to install

9 Demo  Rollback of a failed upgrade

10 Features Components Shortcuts Action Files Optional CAB Summary Information Other Tables... Pointers to source files Windows Installer Package  Custom database format Created by setup developer Created by setup developer One per product One per product Described in relational tables Described in relational tables  Products have Features Features Components Components Installable resources Installable resources Entry points Entry points .MSI file extension

11 Demo  Inside a Windows Installer package

12 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) Features, Components, Resources, And Entry Points

13 Components  Atomic unit of installation Groups installable resources Groups installable resources Installed and removed as a unit Installed and removed as a unit Shared and refcounted as a unit Shared and refcounted as a unit Enables non-file refcounting Enables non-file refcounting Identified by a GUID Identified by a GUID  Resources aren’t shared across components  Not exposed to user  Key path Path returned from Installer API functions Path returned from Installer API functions Usually a file, but can also be a registry key Usually a file, but can also be a registry key

14 Entry Points  Describe “entry points” to applications Shortcuts Shortcuts File extension servers File extension servers CLSIDs CLSIDs Other COM and Shell data Other COM and Shell data  Used to support install on demand  Used by Windows NT 5.0 assign and publish operations  Tied to feature and component

15 Features And Products  Installer features Grouping of components (and/or features) Grouping of components (and/or features) Can share components Can share components Exposed to user - “checkbox” level Exposed to user - “checkbox” level Install states: Install states: Local, Source, Absent, “As Needed” Local, Source, Absent, “As Needed”  Installer products Grouping of features Grouping of features One product = one.MSI file One product = one.MSI file Each product has a GUID Each product has a GUID

16 Windows Installer service File System Registry Windows Installer API Installer package and files Windows Shell Launches App ConfigData Automatic Repair Inside The Resiliency Demo  Shell opens MSI shortcut Uses descriptor for Uses descriptor for Product, Feature, Component Product, Feature, Component  Shell requests path MsiProvideComponent() MsiProvideComponent()  Installer queries system Config data Config data Key files Key files  Installs if required Use the package and source files to install and repair Use the package and source files to install and repair  Returns path to Shell  Shell launches app

17 Package Customization  Capture customizations to an Installer package Saved to a transform file Saved to a transform file Applied on the fly Applied on the fly Can use pristine source Can use pristine source  Multiple custom installs can share install point Office for accountants and Office for engineers Office for accountants and Office for engineers  Customizations can be reused  Customizations are deployed with packages Windows NT 5.0, Systems Management Server, etc… Windows NT 5.0, Systems Management Server, etc…  Use tools to create Office: custom Install Wizard Office: custom Install Wizard Make changes and customizations to the package, then save the transform Transform Original Package Open original package read only using a transform tool Custom Package Administrator wants a custom package Original Package Transform Custom Package Transform is applied to original to generate the custom package on the fly

18 Management API  Applications can programmatically Install, configure, and repair products and features Install, configure, and repair products and features Determine component locations Determine component locations  Installer manages all paths Ask Installer for paths at runtime Ask Installer for paths at runtime Enables resiliency and roaming Enables resiliency and roaming Enables on-demand install Enables on-demand install  Documented in the platform SDK msi.h and msiquery.h msi.h and msiquery.h See MGMT 005 for all the details See MGMT 005 for all the details

19 Just In Time Install  “Advertisement” of feature/product Make it appear installed, but postpone the actual install until the feature is used Make it appear installed, but postpone the actual install until the feature is used  Place entry points on machine Feature - application installs when needed Feature - application installs when needed Menu choice and toolbar button Menu choice and toolbar button Product - OS installs when needed Product - OS installs when needed Shortcuts Shortcuts File associations File associations COM registration COM registration  Uses token instead of paths Opaque representation of product, feature, component Opaque representation of product, feature, component

20 Advertising  Feature example: file converter Installed first time it’s used Installed first time it’s used Requires app to call API Requires app to call API No more “do I need this?” No more “do I need this?” MGMT 005 has all the details MGMT 005 has all the details  Product example: assigned application Top-level features Top-level features Requires OS support (Shell and COM) Requires OS support (Shell and COM)

21 Leveraged By Windows  Windows 95, 98 and Windows NT 4.0 Shell shortcuts and file extension activation support automatic repair Shell shortcuts and file extension activation support automatic repair Requires enhanced shell Requires enhanced shell Internet Explorer 4.01 SP 1 with enhanced shell Internet Explorer 4.01 SP 1 with enhanced shell  Windows NT 5.0 Shell and COM are Windows Installer aware Shell and COM are Windows Installer aware Automatic repair Automatic repair Just in time install Just in time install Install based on group policy Install based on group policy

22 Windows NT 5.0 Software Installation  Advertise entry points into Active Directory  Deployment types Assign Assign Place entry points on desktop automatically Place entry points on desktop automatically Publish Publish Just in time install Just in time install Choose from Add/Remove programs Choose from Add/Remove programs  Example - published application  Discussed in preconference

23 3. No file association entry found 1. Person activates doc to open 2. Look for file association in local registry Policy Integration (1 Of 3) Opening a new document today

24 Demo  Installing an application from the Active Directory

25 1. Admin publishesapplication Policy Integration (2 Of 3) Opening a new document with Windows NT 5.0 Active Directory 2. Application Deployment Editor advertises application in Active Directory 4. Person opens doc 3. Person logs in to NT 5. Shell looks for file association in local registry

26 Policy Integration (3 Of 3) Opening a new document with Windows NT 5.0 WindowsInstaller 8. Windows Installer installs the app, then the app opens the doc Active Directory 6. Look for file association in directory Application File Server 7. Open package Package 4. Person opens doc 5. Look for file association in local registry

27 Creating Installer Packages  Obtain an authoring tool Setup toolkit vendor Setup toolkit vendor “Rainier” release of VisualStudio ® “Rainier” release of VisualStudio ®  Plan your feature and component breakdown  Using the Installer is a big step towards manageable applications See MGMT 001 See MGMT 001  Part 2 of this talk focuses on creating packages

28 Windows Installer Timeline  In beta now Windows NT 5.0 Windows NT 5.0 Office 2000 Office 2000 Third-party tools Third-party tools  In platform SDK today  Release plan Goal: 11/1/98 Goal: 11/1/98 Version 1.0 of SDK Version 1.0 of SDK Version for all supported platforms Version for all supported platforms Will ship with Office 2000 Will ship with Office 2000 Will ship with Windows NT 5.0 Will ship with Windows NT 5.0

29 Some Installer Tools  InstallShield http://www.installshield.com/iszaw/ http://www.installshield.com/iszaw/ http://www.installshield.com/iszaw/  Seagate Software WinInstall http://www.seagatesoftware.com/newtechnology http://www.seagatesoftware.com/newtechnology  Wise Solutions http://www.wisesolutions.com/msieditor/ http://www.wisesolutions.com/msieditor/ http://www.wisesolutions.com/msieditor/

30 Next Steps  Stick around for Part 2! We will build a Windows Installer package for a small application We will build a Windows Installer package for a small application Walk through the process step by step Walk through the process step by step Also see MGMT 005 Also see MGMT 005 Empower your application using Installer APIs Empower your application using Installer APIs

31 Call To Action  Empower your applications to be managed! Separate user and machine data Separate user and machine data See MGMT 001 See MGMT 001 Policy enable your application Policy enable your application See MGMT 001, MGMT 006 See MGMT 001, MGMT 006 Create a Windows Installer package Create a Windows Installer package See MGMT 003, MGMT 004 See MGMT 003, MGMT 004 Leverage the Windows Installer API Leverage the Windows Installer API See MGMT 005 See MGMT 005 Leverage Active Directory for Application Data Leverage Active Directory for Application Data See DS 05, DS 06 See DS 05, DS 06

32 Windows NT 5.0 Logo  Leverage your investment in Windows Installer Install/uninstall is top concern among customers Install/uninstall is top concern among customers 1 of 4 key areas of the new Windows NT 5.0 logo 1 of 4 key areas of the new Windows NT 5.0 logo  Follow up info Draft requirements: Draft requirements: On the conference DVD On the conference DVD www.microsoft.com/windows/winlogo/developer www.microsoft.com/windows/winlogo/developer Feedback: logotalk@microsoft.com by 11/15 Feedback: logotalk@microsoft.com by 11/15

33


Download ppt "Creating Manageable Setups With The Windows ® Installer (Part 1 Of 2) Rob Collie, Program Manager Windows Installer Microsoft Corporation Jim Masson, Program."

Similar presentations


Ads by Google