Installation Requirements - PowerPoint PPT Presentation

1 / 34
About This Presentation
Title:

Installation Requirements

Description:

Applications must use Windows Installer (MSI) or ClickOnce for installation ... Applications listen to shutdown messages, and save state without prompting user ... – PowerPoint PPT presentation

Number of Views:53
Avg rating:3.0/5.0
Slides: 35
Provided by: davew7
Category:

less

Transcript and Presenter's Notes

Title: Installation Requirements


1
Installation Requirements
2
Agenda
  • Installation requirements
  • Installation options
  • Installing to correct folder locations 
  • Installing Windows resources
  • Creating custom actions
  • Supporting command-line installation
  • Following component rules
  • Installation test cases

3
Installation Requirements
  • Use Windows components for installation
  • Support User Account Control for installation
  • Install to correct folders
  • Sign ClickOnce manifests
  • Keep ClickOnce installations isolated
  • Correctly configure package identity
  • Install Windows resources properly
  • Follow best practices for creating custom actions
  • Avoid reboots during installation
  • Support command-line installation
  • Follow component rules

4
Agenda
  • Installation requirements
  • Installation options
  • Installing to correct folder locations 
  • Installing Windows resources
  • Creating custom actions
  • Supporting command line installation
  • Following component rules
  • Installation test cases

5
Installation Options
  • Applications must use Windows Installer (MSI) or
    ClickOnce for installation
  • Follows good setup design
  • Are safer
  • Evolves with operating system
  • Preferred by enterprise customers

6
Windows Installer 4.0
  • Efficient installation and configuration
  • Mature and proven technology
  • Reduces TCO
  • Better corporate deployment
  • No need to create Windows Vistaspecific packages
  • Meets most installation requirements

7
Supporting UAC for Installation
  • Installation requires privileges
  • Installer must have an embedded manifest
  • User must provide approval
  • Installer detects setup programs
  • Windows Installer engine automatically enables
    and follows UAC

8
Configuring Package Identity
  • Correct identification in Software Explorer
  • Supply all required information by using Windows
    Installer properties
  • ProductName
  • Manufacturer
  • ProductVersion
  • Application upgrade properties
  • UpgradeCode
  • ProductCode
  • ProductVersion
  • ProductLanguage

9
Restart Manager
  • Check if files that require updating are in use
  • Shut down applications, apply the update, restart
  • Applications listen to shutdown messages, and
    save state without prompting user
  • Applications restart as if they were never shut
    down
  • If system restart is unavoidable, schedule to
    minimize disruption

10
Using Restart Manager
  • Windows Installer 4.0 automatically uses Restart
    Manager
  • Files-in-use dialog boxes
  • ForceReboot action should not be used
  • Custom actions call Restart Manager APIs

11
Uninstalling Applications
  • Windows Installer follows clean uninstall logic
  • All nonshared application files and folders
  • Shared application files with refcount0
  • Unshared registry entries
  • Start menu shortcuts created on installation
  • Option to remove user data
  • Reinstall without errors
  • Windows Installer supports rollback if
    installation fails

12
ClickOnce
  • Simplified installation
  • Visual Studio support
  • Low impact
  • Media choices
  • Install or run cached
  • Automatically check for updates

13
Signing ClickOnce Manifests
  • Protect applications from tampering
  • Use Authenticode signature
  • Makecert.exe
  • Also need a Software Publishing Certificate
  • Certificate Authority
  • Sign the application
  • Test the signature

cert2spc yourkey.cer yourkey.spc
signcode -v ltpathgtyourkey.pvk -spc
ltpathgtyourkey.spc filename.exe
ckhtrust filename.exe
14
Isolating ClickOnce Installations
  • Store data only in user folders
  • Document registry keys
  • Designed to have minimal impact

15
Windows Installer 4.0 and ClickOnce
16
Agenda
  • Installation requirements
  • Installation options
  • Installing to correct folder locations 
  • Installing Windows resources
  • Creating custom actions
  • Supporting command-line installation
  • Following component rules
  • Installation test cases

17
Installing to Correct Folder Locations
  • Applications installed to Program Files or
    AppData
  • User data written at first run
  • Users given location flexibility
  • Managing shared components
  • New folder hierarchy

18
User Profile Namespace
19
Agenda
  • Installation requirements
  • Installation options
  • Installing to correct folder locations 
  • Installing Windows resources
  • Creating custom actions
  • Supporting command-line installation
  • Following component rules
  • Installation test cases

20
Installing Windows Resources
  • Applications must not install WRP files
  • Update using Microsoft Service Pack
  • Never repackage system components

21
Agenda
  • Installation requirements
  • Installation options
  • Installing to correct folder locations 
  • Installing Windows resources
  • Creating custom actions
  • Supporting command-line installation
  • Following component rules
  • Installation test cases

22
Creating Custom Actions
  • Document behavior
  • No nested install
  • Do not add columns to standard tables
  • Cannot call gacutil
  • Record outcome in log
  • Do not prefix tables or properties with msi
  • Actions changing system state written as a
    deferred and rollback pair

23
Agenda
  • Installation requirements
  • Installation options
  • Installing to correct folder locations 
  • Installing Windows resources
  • Creating custom actions
  • Supporting command-line installation
  • Following component rules
  • Installation test cases

24
Supporting Command-Line Installation
  • Enable deployment by SMS
  • Successfully install in quiet mode
  • Document command-line options

25
Agenda
  • Installation requirements
  • Installation options
  • Installing to correct folder locations 
  • Installing Windows resources
  • Creating custom actions
  • Supporting command-line installation
  • Following component rules
  • Installation test cases

26
Following Component Rules
  • Installing or removing one application should not
    harm another
  • Enable Windows Installer to remove application
    correctly
  • At most one COM server per component
  • At most one target for Start menu or desktop
    shortcut
  • ComponentId field not null

27
Agenda
  • Installation requirements
  • Installation options
  • Installing to correct folder locations 
  • Installing Windows resources
  • Creating custom actions
  • Supporting command-line installation
  • Following component rules
  • Installation test cases

28
Installation Test Cases (1)
  • Verify application installer uses Windows
    Installer
  • Verify applications MSI installer does not
    receive any errors from the Internal Consistency
    Evaluators
  • Verify applications installer contains an
    embedded manifest
  • Verify application launches with installed user
    token
  • Verify application installs to the correct
    folders by default

29
Installation Test Cases (2)
  • Verify ClickOnce application is signed with a
    valid Authenticode certificate
  • Verify ClickOnce application stores data only in
    installed users folders
  • Verify Windows Installer package contains
    ProductName, Manufacturer, ProductVersion (major
    and minor), UpgradeCode, ProductCode, and
    ProductLanguage property tags and that they are
    not null

30
Installation Test Cases (3)
  • Verify application does not try to write to or
    replace any WRP registry keys or files
  • Verify the application does not use nested
    install custom actions
  • Verify the application does not add custom
    columns to the Windows Installer standard tables
    and that any custom tables or properties are not
    prefixed with msi

31
(No Transcript)
32
Installation Test Cases (4)
  • Verify the application rolls back the install and
    restores machine to previous state
  • Verify the application does not force a restart
    during install
  • Verify the application properly handles files in
    use during install
  • Verify the application can be installed quietly
    from the command line

33
(No Transcript)
34
Installation Test Cases (5)
  • Verify the applications Windows Installer
    ComponentID table does not contain null values
  • Verify the applications Windows Installer
    package does not contain more than one COM server
    for each component
  • Verify the applications Windows Installer
    package does not contain more than one shortcut
    for each component

35
Summary
  • Installation requirements
  • Installation options
  • Installing to correct folder locations 
  • Installing Windows resources
  • Creating custom actions
  • Supporting command line installation
  • Following component rules
  • Installation test cases

36
Additional Resources
  • ClickOncehttp//msdn.microsoft.com/netframework/
    windowsforms/learning/features/clickonce/
  • Windows Installer 4.0 Bloghttp//blogs.msdn.com/
    windows_installer_team/archive/2005/11/03/488945.
    aspx
  • Restart Managerhttp//msdn.microsoft.com/windowsv
    ista/prodinfo/what/reliability/default.aspx
Write a Comment
User Comments (0)
About PowerShow.com