Download presentation
Presentation is loading. Please wait.
Published byJuniper Anderson Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.