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

Slides:



Advertisements
Similar presentations
This course is designed for system managers/administrators to better understand the SAAZ Desktop and Server Management components Students will learn.
Advertisements

Auditing Microsoft Active Directory
Research Triangle Park, NC
MODULE 3: OS & APP LAYERS. Agenda Preparing and importing a gold image Creating and understanding Install Machines Creating basic Application layers Understanding.
Designing, Deploying and Managing Workflow in SharePoint Sites Steve Heaney Product Development Manager OBS
Installation and Deployment in Microsoft Dynamics CRM 4.0
Raymond R. Balise Health Research and Policy
System Center Configuration Manager Push Software By, Teresa Behm.
Scripting Automated Solutions for Siemens PLM Software
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 9: Implementing and Using Group Policy.
11.1 © 2004 Pearson Education, Inc. Exam Planning, Implementing, and Maintaining a Microsoft Windows Server 2003 Active Directory Infrastructure.
Hands-On Microsoft Windows Server 2003 Administration Chapter 4 Managing Group Policy.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 9: Implementing and Using Group Policy.
MCDST : Supporting Users and Troubleshooting a Microsoft Windows XP Operating System Chapter 5: User Environment and Multiple Languages.
3. MSI and Setup.exe Explained Thomas Lee Chief Technologist – QA plc.
Application Repackaging - Naushad Ali T Doddamani.
Creating Dynamic And Robust Applications With The Windows ® Installer Mike Kelly Lead Software Design Engineer Microsoft Office TCO Team Microsoft Corporation.
Installation Requirements. Agenda Installation requirements Installation options Installing to correct folder locations Installing Windows resources Creating.
Advanced Deployment Topics – MSI Enhancements Om Sharma Program Manager, Windows Installer Microsoft Corporation.
National Instruments Confidential Deployment Techniques for LabVIEW ™ Applications Kennon Cotton LabVIEW R&D Group Manager.
OnBase Module Deployment
Group Policy in Microsoft Windows Active Directory.
Deploying and Managing Software by Using Group Policy.
Guide to MCSE , Enhanced 1 Activity 10-1: Restarting Windows Server 2003 Objective: to restart Windows Server 2003 Start  Shut Down  Restart Configure.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 9: Implementing and Using Group Policy.
70-294: MCSE Guide to Microsoft Windows Server 2003 Active Directory Chapter 12: Deploying and Managing Software with Group Policy.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 12: Managing and Implementing Backups and Disaster Recovery.
Section 10: Assigning and Publishing Software Packages Using MSI Packages to Distribute Software Using Group Policy as a Software Deployment Method Deploying.
Section 1: Introducing Group Policy What Is Group Policy? Group Policy Scenarios New Group Policy Features Introduced with Windows Server 2008 and Windows.
Microsoft Application Virtualization 5.0: Introduction Mohnish Chaturvedi & Ian Bartlett Premier Field Engineer WCL312.
11 MANAGING AND DISTRIBUTING SOFTWARE BY USING GROUP POLICY Chapter 5.
Managing User Desktops with Group Policy
Chapter 13 Users, Groups Profiles and Policies. Learning Objectives Understand Windows XP Professional user accounts Understand the different types of.
DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.
Performing Software Installation with Group Policy Lesson 9.
1 Chapter Overview Publishing Resources in Active Directory Service Redirecting Folders Using Group Policies Deploying Applications Using Group Policies.
Module 7 Configure User and Computer Environments By Using Group Policy.
Performing Software Installation with Group Policy BAI516.
Part II - Microsoft ® Project 2000 Enterprise Deployment Templates.
Compatibility and Interoperability Requirements
4. Managing the Desktop Thomas Lee Chief Technologist – QA plc.
Section 11: Implementing Software Restriction Policies and AppLocker What Is a Software Restriction Policy? Creating a Software Restriction Policy Using.
Module 6: Deploying and Managing Software by Using Group Policy.
Microsoft Management Seminar Series SMS 2003 Change Management.
WCL303 Business Desktop Deployment (BDD) 2007: Part 2, Deploying the 2007 Office system Michael Niehaus Systems Design Engineer Microsoft
Deploying Software with Group Policy Chapter Twelve.
Package & Deploy. OBJECTIVES Package Deploy Way to package.
Microsoft Deployment Workshop Deploying Office 2003 Editions Joe Liptrot Linkpad Limited.
How to Deploy Office XP and Windows XP With One Desktop Touch Liz Levitt Desktop Solution Specialist Microsoft Corporation.
Windows NT ® Security Management: Extending Windows NT 5.0 Security Management Tools, Part 2 Praerit Garg Program Manager Windows NT Security Microsoft.
App-V: An Overview MMS Minnesota 2014 Fred #MMSMinnesota #MMSAppV.
Cognos 8 BI Configuration, Administration, and Upgrade Cognos 8 BI.
Workflow in Microsoft Office SharePoint Server Jessica Gruber Consultant Microsoft Corporation.
Managing Servers Lesson 10. Skills Matrix Technology SkillObjective DomainObjective # Using Remote DesktopPlan server management strategies 2.1 Delegating.
© ExplorNet’s Centers for Quality Teaching and Learning 1 Describe applications and services. Objective Course Weight 5%
Unit 9 ITT TECHNICAL INSTITUTE NT1330 Client-Server Networking II Date: 2/17/2016 Instructor: Williams Obinkyereh.
CACI Proprietary Information | Date 1 PD² SR13 Client Upgrade Name: Semarria Rosemond Title: Systems Analyst, Lead Date: December 8, 2011.
CACI Proprietary Information | Date 1 PD² v4.2 Increment 2 SR13 and FPDS Engine v3.5 Database Upgrade Name: Semarria Rosemond Title: Systems Analyst, Lead.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
Managing User Desktops with Group Policy
Packaging and Deploying Windows Applications
Creating Manageable Setups With The Windows® Installer (Part 2 of 2) Rob Collie, Program Manager Windows Installer Microsoft Corporation Jim Masson,
MANAGING SOFTWARE Chapter 9
Installation The Intercompany Integration Solution for SAP Business One Version 2.0 for SAP Business One 9.1 Welcome to the course on the installation.
Installation The Intercompany Integration Solution for SAP Business One Version 2.0 for SAP Business One 9.1 Welcome to the course on the installation.
Chapter 9 MANAGING SOFTWARE.
Unit 9 NT1330 Client-Server Networking II Date: 8/9/2016
NT Applications Support – Status and Future Developments
Session Objectives And Key Takeaways
TechEd /28/2019 3:22 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Presentation transcript:

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

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

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

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

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

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

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

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

Demo  Rollback of a failed upgrade

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

Demo  Inside a Windows Installer package

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

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

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

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

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

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

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

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

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)

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

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

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

Demo  Installing an application from the Active Directory

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

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

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

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

Some Installer Tools  InstallShield  Seagate Software WinInstall  Wise Solutions

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

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

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 Feedback: by 11/15 Feedback: by 11/15