advanced deployment topics – msi enhancements om sharma [email protected]...
TRANSCRIPT
Advanced Deployment Topics – MSI Enhancements
Om Sharma [email protected] Manager, Windows InstallerMicrosoft Corporation
Session Code: CLI371
2
AgendaAgenda
When should I use the Windows Installer (MSI) vs ClickOnce?
Windows Installer v3.0 (MSI3.0) Enhancements
Windows Installer (MSI4.0) – Longhorn Improvements
When should I use the Windows Installer (MSI) vs ClickOnce?
Windows Installer v3.0 (MSI3.0) Enhancements
Windows Installer (MSI4.0) – Longhorn Improvements
3
When Should I Use The Windows Installer (MSI) ?When Should I Use The Windows Installer (MSI) ?
ClickOnce is the solution for new self-contained applications
Low System ImpactNo Touch DeploymentInstall / Run Per-UserRich Interactive applications
Use Windows Installer if you need toInstall Shared ResourcesInstall Win32 Applications Perform custom actions during installation
ClickOnce is the solution for new self-contained applications
Low System ImpactNo Touch DeploymentInstall / Run Per-UserRich Interactive applications
Use Windows Installer if you need toInstall Shared ResourcesInstall Win32 Applications Perform custom actions during installation
4
ClickOnce And Windows Installer (MSI)ClickOnce And Windows Installer (MSI)
ClickOnce
MSI Client
No Touch Deployment Y
Low System Impact Y Y*Install/Run Per-User Y YRich / Interactive Y YOffline Y YWindows Shell Integration Y YPer-Machine/Shared Components
Y
Unrestricted Install Y
* MSI applications can be authored for “low system impact”
5
Windows Installer Basics.MSI Windows Installer Basics.MSI
Features
Components
Shortcuts
Action
Files
Optional Internal CAB
Summary Information Assemblies
Pointers to source files
MSI databasePopulated by setup developer.MSI file extensionOne per productDescribed in relational tables
Products haveFeaturesComponentsInstallable resourcesEntry points
Other Tables...
6
Windows Installer Basics.MSP Windows Installer Basics.MSP
MSP is a Windows Installer patch packagePatches make changes to the configuration information database and resources (files, registry)Patch package (MSP) contains
Summary Information StreamTransformsCabinet file
MSP is a Windows Installer patch packagePatches make changes to the configuration information database and resources (files, registry)Patch package (MSP) contains
Summary Information StreamTransformsCabinet file
7
Application LifecycleApplication Lifecycle
Develop
Package&
Customize
Deploy
MaintainTroubleshoot
Upgrade Patch
8
MSI TerminologyMSI Terminology
Major Update changes Product Code Minor Update changes Product VersionSmall Update makes no changes to Product Code or Version
Service Pack == Minor Update
A Baseline is a product checkpointMajor or minor updates create new baseline
Full file update – MSP contains new fileBinary difference update – MSP uses delta compression to update target file
Major Update changes Product Code Minor Update changes Product VersionSmall Update makes no changes to Product Code or Version
Service Pack == Minor Update
A Baseline is a product checkpointMajor or minor updates create new baseline
Full file update – MSP contains new fileBinary difference update – MSP uses delta compression to update target file
9
Windows Installer v3.0MSI3.0Windows Installer v3.0MSI3.0
MSI3.0 - EnhancementsSmaller patch package size for download
Patch Uninstall
Patch Sequencing / Author Control
Source Management & Inventory
Performance Improvements
10
Smaller Patch Package Size For Download Smaller Patch Package Size For Download
Use binary difference for all updates
Target the last 1-2 baseline versions
Use “small” and “minor” MSP updates
Use binary difference for all updates
Target the last 1-2 baseline versions
Use “small” and “minor” MSP updates
11
Binary Difference ImplementationBinary Difference Implementation
Windows Installer maintains a cache of patch packages, original (RTM) and last baseline files
Only files modified by a patch are cached
MSI will find/generate suitable file for binary difference target
Missing file is recreated from original file and patch packages
Patches will not require access to install source media (CD, network share)
Windows Installer maintains a cache of patch packages, original (RTM) and last baseline files
Only files modified by a patch are cached
MSI will find/generate suitable file for binary difference target
Missing file is recreated from original file and patch packages
Patches will not require access to install source media (CD, network share)
12
Servicing Shared AssembliesServicing Shared Assemblies
To update GAC assembly New assembly version Policy manifest to redirect assembly bindingBinary difference MSP with new MSI component for updated assembly
New tables in MSI3.0 to help retrieve target assembly from GAC
To update GAC assembly New assembly version Policy manifest to redirect assembly bindingBinary difference MSP with new MSI component for updated assembly
New tables in MSI3.0 to help retrieve target assembly from GAC
13
Patch UninstallPatch Uninstall
MSI3.0 can remove patches No authoring changes
Add Remove Program entry for application updatePatches can be removed in any orderRemove will not require original installation sourcePackage authors can specify “not removable”
MSI3.0 can remove patches No authoring changes
Add Remove Program entry for application updatePatches can be removed in any orderRemove will not require original installation sourcePackage authors can specify “not removable”
15
More About Patch UninstallMore About Patch Uninstall
Windows Installer computes resultant state from original MSI and remaining patches
Product is put in compliance with resultant state
Only components affected by the patch are restored to prior version
Product state after patch uninstall is equivalent to state where patch was never applied
Windows Installer computes resultant state from original MSI and remaining patches
Product is put in compliance with resultant state
Only components affected by the patch are restored to prior version
Product state after patch uninstall is equivalent to state where patch was never applied
16
Author ControlPatch SequenceAuthor ControlPatch Sequence
Patch sequence ensures correct product state regardless of order of patch application
New Patch Sequence data enables MSI3.0 to sequence updates correctly
Patch author specifies order
New patches may be sequenced before, after or in-between existing updates
Patches without the new sequence data are applied in order provided
Patch sequence ensures correct product state regardless of order of patch application
New Patch Sequence data enables MSI3.0 to sequence updates correctly
Patch author specifies order
New patches may be sequenced before, after or in-between existing updates
Patches without the new sequence data are applied in order provided
17
Install & Update IntegrationInstall & Update Integration
MSI3.0 can apply more than one patch in a single transaction
Installer provides integrated progress, rollback and reboot behavior
Takes into account sequence, obsolete, supersede
Enables Application + Updates in one transaction
MSI3.0 can apply more than one patch in a single transaction
Installer provides integrated progress, rollback and reboot behavior
Takes into account sequence, obsolete, supersede
Enables Application + Updates in one transaction
18
Management ImprovementsManagement Improvements
Source ListManage source location for products and patchesCD/DVD for mobile users
Inventory Product, feature, component and update inventory queries
Performance Update NOT EQUAL to ReinstallOnly entities effected by the update are reinstalled
Source ListManage source location for products and patchesCD/DVD for mobile users
Inventory Product, feature, component and update inventory queries
Performance Update NOT EQUAL to ReinstallOnly entities effected by the update are reinstalled
19
MSI RoadmapMSI Roadmap
Windows Installer v3.0 (MSI3.0)Ships on Windows XPSP2Redistributable for Win2k/SP3+, WinXP, Win2003 Server
Windows Installer v4.0 (MSI4.0)Longhorn releaseMSI4.0 includes all MSI3.0 featuresAnd more …
Windows Installer v3.0 (MSI3.0)Ships on Windows XPSP2Redistributable for Win2k/SP3+, WinXP, Win2003 Server
Windows Installer v4.0 (MSI4.0)Longhorn releaseMSI4.0 includes all MSI3.0 featuresAnd more …
20
Windows Installer v4.0MSI 40Windows Installer v4.0MSI 40
Longhorn extensionsMSI will support new Longhorn shell extension manifest
No-Reboot support for setup / updates
MSI detects processes holding files in useSends notification to processesDesign your applications to save state, shutdown and resume
Longhorn extensionsMSI will support new Longhorn shell extension manifest
No-Reboot support for setup / updates
MSI detects processes holding files in useSends notification to processesDesign your applications to save state, shutdown and resume
21
Windows Installer v4.0Image Based SetupWindows Installer v4.0Image Based Setup
Longhorn uses a new Image Based Setup model
Minimizes number of imagesDeployment of Windows + Applications is fasterImages can be maintained, serviced &modified offline/online
MSI applications can be deployed with Images
FASTOEM property is used by major OEMs to speed up factory floor setupFiles copied with the OS image Installation and configuration are done on first boot
Longhorn uses a new Image Based Setup model
Minimizes number of imagesDeployment of Windows + Applications is fasterImages can be maintained, serviced &modified offline/online
MSI applications can be deployed with Images
FASTOEM property is used by major OEMs to speed up factory floor setupFiles copied with the OS image Installation and configuration are done on first boot
22
Windows InstallerCall To ActionWindows InstallerCall To Action
Evaluate/Use MSI3.0 for application servicing
Use binary difference ‘small’ or ‘minor’ MSP updates
Test your application for install with the FASTOEM property
Evaluate/Use MSI3.0 for application servicing
Use binary difference ‘small’ or ‘minor’ MSP updates
Test your application for install with the FASTOEM property
23
Community ResourcesGet Your Questions Answered!Community ResourcesGet Your Questions Answered!
Newsgroups: microsoft.public.windows.msi
Client Lounge: middle of the Exhibit Hallconnect with Microsoft client product teams, and PDC 2003 Speakers
Ask The Experts: Tuesday 7 pm – 9 pm in Hall G,H
Web Sites:http://pdcbloggers.net http://msdn.microsoft.com/pdc/
Newsgroups: microsoft.public.windows.msi
Client Lounge: middle of the Exhibit Hallconnect with Microsoft client product teams, and PDC 2003 Speakers
Ask The Experts: Tuesday 7 pm – 9 pm in Hall G,H
Web Sites:http://pdcbloggers.net http://msdn.microsoft.com/pdc/
24© 2003-2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.