


PC42
 Tyler Robinson
Lead Program Manager
Microsoft Corporation













Multiple UAC prompts
Long installation times
Files left over after a failed
install or uninstall
Unnecessary add/remove programs
control panel entries
















External Chainer Transaction
Install
Install
Product
A
Product
B
Failure
Uninstall
Rollback
Install
Product
A
Product
B
Rollback
Failure












MsiBeginTransaction
MsiInstallProduct
MsiEndTransaction














InitializeEmbeddedUI, EmbeddedUIHandler
ShutdownEmbeddedUI

MsiEmbeddedUI
Requirement: Ability to keep the highest version of a shared component
when a patch to it is uninstalled
Design Change: Windows Installer patch uninstall behavior should consider
the global machine state instead of just the product state
Install Word
Word
Install Outlook
Word
Outlook
Installs Spell
Checker v12.0
Installs Spell
Checker v12.5
Apply a patch to Word
Word
Outlook
Word
Patch
Updates Spell
Checker to v12.6
Uninstall the patch to Word
Word
Outlook
Updates Spell
Checker to v12.0
Install Word
Install Outlook
Word
Word
Outlook
Installs Spell
Checker v12.0
Installs Spell
Checker v12.5
MSI Datastore
Word’s cache
Outlook’s cache
Spell Checker
12.0
Spell Checker
12.5
Apply a patch to Word
Word
Outlook
Word
Patch
Updates Spell
Checker to v12.6
Spell
Checker
12.0
12.6
12.5
Uninstall the patch to Word
Word
Outlook
Updates Spell
Checker to v12.5


















Click install …
Install the .NET Framework…
Install the application…
Install other prerequisites…









.NET Client Profile Bootstrapper will detect what versions
of the .NET Framework are installed and update the
computer accordingly
Operating System
No FX
NETFX 1.1 NET FX
2.0/SP1
NET FX
3.0/SP1
NETFX 3.5
Windows XP SP2+
Client Install
Full Install Full Install
Full Install
Full Install
Windows Vista
NA
NA
Full Install
Full Install
Full Install
Windows Server
2003
Full Install
Full Install Full Install
Full Install
Full Install
Windows Server
2008
NA
NA
Full Install
Full Install
Full Install
Client Install = .NET Client redistributables will be installed
Full Install = .NET Framework 3.5 SP1 full installation


































Personal Empowerment
• User is in control
• Standard user installs applications on
users’ schedule (in accordance with
policy)
Safer install and removal of Per-User
applications
• Applications are installed to the user’s
profile
• Removes risk of corrupted OS state
• One user installing an application
doesn’t impact another user
• No elevation necessary for
installation


























Allusers




Msiinstallperuser








http://blogs.msdn.com/windows_installer_team

http://msdn.microsoft.com/en-us/library/aa372866.aspx

http://go.microsoft.com/fwlink/?LinkID=120486

http://go.microsoft.com/fwlink/?LinkID=120527

http://msdn.microsoft.com/en-us/library/t71a733d.aspx





www.microsoftpdc.com
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market
conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.