Lynn Sweetwood - PowerPoint PPT Presentation

1 / 52
About This Presentation
Title:

Lynn Sweetwood

Description:

Software Packaging - General Steps. Use a clean system for packaging ... Files, Registry entries, shortcuts. Company information standards ... – PowerPoint PPT presentation

Number of Views:36
Avg rating:3.0/5.0
Slides: 53
Provided by: NancyR94
Category:
Tags: lynn | sweetwood

less

Transcript and Presenter's Notes

Title: Lynn Sweetwood


1
Software Packaging Best Practices
Pre-Deployment Critical Steps
  • Lynn Sweetwood
  • Macrovision Corporation
  • VP PM, Enterprise Software Group

2
Agenda
  • Introduction
  • Packaging Process
  • Packaging
  • Customization
  • Conflict Resolution
  • Testing
  • Preparation for distribution
  • Workflow Management

3
Introduction - Packaging Challenges
  • So, whats so hard about packaging an
    application?
  • Just take what you have and send it out to the
    endpoints.
  • Simple, right?
  • Enterprises that do not dedicate resources
    to packaging applications will fail at software
    distribution through 2004.
  • (0.8 Probability)
  • Gartner Group
  • 2002

4
Introduction - Packaging Costs
Cost of Ownership Factors
Other35
Communications57
Software810
Administration, development,support5070
Client hardware1012
Server hardware1215
Source IDC, 2004Summary of TCO Studies
5
Introduction - Packaging Goals
  • Improve the Reliability of Applications
  • Decrease Costly Deployment Failures
  • Reduce Software Rollout Times
  • Standardize the Application Preparation Process
  • Increase Employee Productivity

6
Software Packaging
Software Packaging
Testing
Distribution
Conflict Resolution
Customization
7
Software Packaging - Windows Installer (MSI)
  • Use Microsoft Windows Installer (circa 1999)
  • Created by Microsoft Office Team
  • Targeted to System Administrators
  • Part of strategy to lower TCO for Windows
  • Core component of Windows OSs since Windows 2000
  • Redistributable available for Windows 95, 98, and
    NT 4

8
Software Packaging - MSI Characteristics
Legacy Setup Types Windows Installer (MSI)
File Format Setup.exe .MSI File
Architecture Programmatic Database
Process Single Client/Server
Structure Proprietary Open Schema
Rollback Not available Available
Elevation Not available Available
Install on Demand Not available Available
Self healing Not available Available
9
Software Packaging Why MSI
  • Standardization of File Versioning Rules
  • MSI compares the version, date, and language
  • Stability of the OS is maintained
  • Customizing Installations
  • Customization natively supported by WI
  • Silent/Reduced UI, Transforms, Command Line
  • Capabilities similar for each package
  • Future Patches/Upgrades from ISV remain valid
  • Advertising installs only Application Entry
    Points
  • Shortcuts, COM Activation Data, File associations

10
Software Packaging - Process
Capture
Script Setup
Snap-Shot
Extract Additional Data from Setup
ZENworks.AXT
Monitor Installation
  • MSI Package

Other
.MSI
Edit
11
Software Packaging Preferred Method
  • Use installation monitoring
  • Fast
  • Takes only as long as setup to execute
  • Eliminates pre and post cataloging process
  • Accurate
  • Watches only processes started after launching
    setup
  • Eliminates dependency on Snap-shot process

12
Software Packaging Additional Data
  • Extract maximum information
  • SmartScan
  • Identifies installation as InstallScript-driven
  • Exposes conditional data stored in CAB Files
  • Creates more portable package
  • Preserves the feature hierarchy
  • Setup Intent
  • Performs static dependency scan on file set
    installed

13
Software Packaging - General Steps
  • Use a clean system for packaging
  • Only base OS and service packs
  • Leverage VMware or VirtualPC
  • Utilize a template
  • Reduces repetitive tasks
  • Enforces corporate standards
  • Utilize global exclusions
  • Reduces the time spent removing unwanted,
    unnecessary data

14
Software Packaging - General Steps
  • Avoid repackaging OS updates and Internet
    Explorer
  • Integral parts of the OS
  • Contain logic which is lost when repackaged
  • Use Component Best Practices
  • One Key Path per component
  • One PE-Style file per component (EXE, OCX, DLL,
    TLB etc.)
  • One Help file per component (HLP, CHM, etc.)

15
Software Packaging - General Steps
  • Collect all project data before beginning
  • Installation instructions
  • Serial Number, License Key, Passwords
  • Default installation directory
  • Prerequisites or dependencies
  • Exclusions
  • Collection of resources and system changes to be
    ignored by the Repackager
  • Files, Registry entries, shortcuts
  • Company information standards
  • Per-Machine, per-user installation
  • Silent installation

16
Software Packaging
17
Software Packaging
18
Customization
19
Customization - Common Requirements
  • Resource modification
  • Files, registry entries, shortcuts
  • Configure ODBC
  • Environment variables
  • Apply company standards
  • Add/Remove program behavior
  • Implement templates
  • Custom Actions
  • Extend the functionality of the installation
  • Launch an executable during the installation

20
Customization - Other Requirements
  • Service install and service control settings
  • Specify installation information for Service
  • Control the Service when installed or uninstalled
  • System Search
  • Pull information from the machine into the setup
  • Find location of previously installed application
  • Use to Set conditions during install
  • Setting Permissions
  • Install grants the permissions needed to make the
    app work
  • Set on file, folders, and registry objects
  • Build packages to support MSI 1.2, 2.0 or 3.0

21
Customization - Existing MSI Packages
  • Avoid repackaging vendor supplied MSI packages
  • Installation Hierarchy is lost
  • Upgrades and Patches become invalid
  • Create transforms instead

22
Customization - Transforms
  • Transforms
  • Simplified Windows Installer database with
    extension .MST
  • Modifies the MSI as it is being installed
  • Requires command line options or EXE-Style
    launcher
  • Nearly all aspects of the install can be modified
  • Two typical uses
  • Modification of installation
  • Multiple language support

23
Customization - Transforms
  • Creating Transforms
  • Blank Transform
  • Response Transform
  • Execute the UI of the MSI package
  • Data set during the execution is stored in the
    Transform
  • Common Install Modifications
  • Product properties, e.g., main installation
    directory
  • Default feature states
  • Shortcut properties
  • Registry and INI data
  • Files
  • Windows NT service settings
  • ODBC settings
  • Installation program server locations

24
Customization
25
Conflict Resolution
26
Conflict Resolution - Detection
  • Check for internal application issues
  • Use ICE rules
  • Check for cross-application issues prior to
    deployment
  • All installations introduce risk of breakage
  • Existing or future applications
  • High risk testing in the field
  • Resource Conflicts
  • Two or more applications installing incompatible
    resources
  • Installation Conflicts
  • Failure to share GUIDs or Shared DLL ref counts
  • Uninstallation removes critical components of
    other applications

27
Conflict Resolution - Scope
  • Check for all types of cross-application issues
  • Product components
  • Product files
  • Registry entries
  • Shortcuts
  • INI files
  • ODBC resources
  • NT services
  • File extensions
  • Product properties

28
Conflict Resolution Application Catalog
Test / Prepare
Conflict Testing/ Resolution
Distribute
Security Testing
Runtime Testing
  • Application
  • Catalog
  • Application Data
  • OS Images
  • Built-in Rules
  • Custom Rules
  • Conflict Data
  • Cleanup Process

29
Conflict Resolution - Data Groups
  • Use grouping within the database
  • OS Images
  • Common applications
  • Departmental applications
  • Focuses detection
  • Faster processing
  • Effort is directed to likely scenarios

Source Nelson Ruest, 2004
30
Conflict Resolution - Options
Identify Conflicts
Resolve Conflicts
Scalable Enterprise Conflict Database
Resolve Using Tranforms
.MST
.MSI
Resolve Inside Original MSI
Marketing
Application Groups
R D
.MSI
Sales
Resolve Using Application Isolation
Systems
.MSI
.DLL
Custom Resolution Policies
31
Validate Application Standards
32
Conflict Resolution
33
Conflict Resolution
34
Testing
35
Testing - Challenges
  • Tester may not know the application
  • Testing instructions are typically incomplete
  • Application too complex

36
Testing - Runtime Tests
  • Test applications in a runtime state
  • Augments installation and un-installation tests
  • Test for common issues
  • Entry points to application
  • Permissions in a locked-down environment
  • Check status of individual components
  • Create your own tests

37
Testing Patch Impact Analysis
38
Testing - Patches
  • Collect all patches and preview
  • Run initial test to focus efforts
  • Test for overlap with application contents
  • Test for overlap with application runtime
    dependencies
  • Integrate with full patch management toolset

39
Testing Security Operation
40
Testing Pre-Deployment
41
Distribution Preparation
42
Distribution Preparation
  • Use integrated tools to save time
  • Require valid login to destination
  • Maintain archive log of package handoff
  • Complete the other steps first
  • Garbage in, Garbage out

43
Distribution
44
Distribution
45
Application Management Lifecycle
Software Packaging Process
License Management
Monitor /Repair
Resolution And Test
Request
Package
Customize
Updates
Retirement
Distribute
Complete Application Lifecycle
46
Managing the Lifecycle
Web Interface
Applications Manager
  • User Requests
  • Real Time Status
  • Assign Roles
  • Allocate Packagers
  • Monitor Productivity
  • Reporting / Queries
  • Capture Documentation

End Users
  • Submit Requests
  • Install Instructions
  • Priority
  • Reporting / Queries
  • App Catalog
  • All App Data
  • History
  • Communication
  • Security
  • Conflict Database
  • Package Instructions
  • Best Practices
  • Time Stamp Critical Steps
  • Request Clarification
  • Test / Resolve Conflicts
  • Virtual Teaming
  • Notify Finished Package

Packagers
47
Managing the Lifecycle
  • Implement a scaleable and customizable solution
  • Grows to handle all packages
  • Maps to unique business practices
  • Tie together all phases of application management
  • Integrated process
  • All application information is globally
    accessible
  • Leverage Application Catalog
  • Ensure security is in place

48
Workflow management
49
Workflow management
50
Workflow management
51
Summary
  • Use Windows Installer (MSI)
  • Extract maximum data from original installations
  • Use templates for packaging and customization
  • Create transforms for vendor-supplied MSIs
  • Create an application catalog, and organize
    applications and OS images in catalog
  • Test against application catalog for cross-app
    conflicts
  • Test in runtime mode
  • Pre-test patches against catalog to focus testing
  • Investigate application workflow management tools

52
Contact InformationLynn Sweetwoodlsweetwood
_at_macrovision.com
Write a Comment
User Comments (0)
About PowerShow.com