advanced deployment topics – msi enhancements om sharma [email protected]...

25
Advanced Deployment Topics – MSI Enhancements Om Sharma [email protected] Program Manager, Windows Installer Microsoft Corporation Session Code: CLI371

Upload: teresa-alexander

Post on 23-Dec-2015

216 views

Category:

Documents


2 download

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”

Windows Installer

Update Uninstall – Word2002 SP1

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.