• Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
460
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
65
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • MGB 2003 © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  • Greg Shields
  • Greg Shields
  • Greg Shields
  • Windows Connections Updates will be available at http://www.devconnections.com/updates/Orlando_Spring09/Windows
  • Greg Shields
  • Greg Shields
  • Greg Shields
  • Greg Shields
  • Greg Shields
  • MGB 2003 © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Transcript

  • 1. Preparing Software for Deployment with a Windows 7 Upgrade Greg Shields, MVP Partner and Principal Technologist www.ConcentratedTech.com
  • 2. This slide deck was used in one of our many conference presentations. We hope you enjoy it, and invite you to use it within your own organization however you like. For more information on our company, including information on private classes and upcoming conference appearances, please visit our Web site, www.ConcentratedTech.com . For links to newly-posted decks, follow us on Twitter: @concentrateddon or @concentratdgreg This work is copyright ©Concentrated Technology, LLC
  • 3. Agenda
    • Topics
      • Part I: The Art of Software Packaging
      • Part II: The Science of Software Deployment
    Many IT Professionals have problems with automated software distribution because it feels like a complicated topic. But there are really two halves: Software Packaging … and… Software Deployment In this session, you ’ll learn the nuances of both.
  • 4. Automated Software Deployment
    • There are two halves to rapidly and remotely installing applications:
      • Repackaging – A software installation must first be reconfigured to install without prompting the user or requiring additional information.
      • Deployment – The repackaged software installation is then loaded into a deployment tool and scheduled for deployment.
  • 5. Part I The Art of Software Packaging
  • 6. Repackaging
    • Consider the typical installation…
      • Insert the CD/DVD media
      • Double-click setup.exe or setup.msi
      • Next…Next…Finish…
      • Head to the next desktop
  • 7. Repackaging
    • Consider the typical installation…
      • Insert the CD/DVD media
      • Double-click setup.exe or setup.msi
      • Next…Next…Finish…
      • Head to the next desktop
    • In order to deploy the same software automatically and remotely, you must…
      • Figure out how to complete the software installation without requiring input by the user.
      • Figure out how to execute the reconfigured setup.exe or setup.msi file locally on designated desktops.
  • 8. Repackaging
    • Software installations arrive in one of essentially three formats.
      • .EXE-based setup files
        • Most often today, EXEs actually wrap around an MSI
      • .MSI-based setup files
        • These are slowly becoming the primary mechanism for Windows software installations
      • Copy-it-yourself formats
        • These are relatively rare these days.
  • 9. Repackaging
    • Software installations arrive in one of essentially three formats.
      • .EXE-based setup files
        • Most often today, EXEs actually wrap around an MSI
      • .MSI-based setup files
        • These are slowly becoming the primary mechanism for Windows software installations
      • Copy-it-yourself formats
        • These are relatively rare these days.
    • Of the first two above, virtually all are packaged using one of the major packaging utilities:
      • Wise Package Studio
      • InstallShield
      • Inno Setup
      • Nullsoft Scriptable Install System
  • 10. Repackaging
    • Each format and packager has its own characteristics and switches.
      • Adobe Acrobat: AcroRd32.exe /s /v/qn
      • Installation switches define the “hidden” parameters that can be used to install the package.
      • Silent switches instruct the package to install without prompting for input.
      • Some have neither. Some have nothing.
  • 11. Repackaging
    • Each format and packager has its own characteristics and switches.
      • Adobe Acrobat: AcroRd32.exe /s /v/qn
      • Installation switches define the “hidden” parameters that can be used to install the package.
      • Silent switches instruct the package to install without prompting for input.
      • Some have neither. Some have nothing.
    • Thus, while every software installation is different, they are in many ways the same.
      • You need to sleuth out if switches exist and what they are!
      • Or…(More on that in a minute!)
  • 12. Repackaging – MSI ’s
    • MSI installation uses the native Microsoft Installer
      • Microsoft Installer is the framework built into Windows.
      • Like Microsoft Update, but for installing software.
      • “ Silent” switches are common across all installations.
  • 13. Repackaging – MSI ’s
    • MSI installation uses the native Microsoft Installer
      • Microsoft Installer is the framework built into Windows.
      • Like Microsoft Update, but for installing software.
      • “ Silent” switches are common across all installations.
    • Packaging tools automatically interrogate the MSI database to determine silent switches & customizations.
    • Customization and silencing is done at command-line.
      • msiexec /i /qb- AppA.msi DESKTOP_SHORTCUTS=0
      • msiexec /i AppB.msi TRANSFORMS=custom.mst
  • 14. MSI Examples
    • The standard command syntax for any MSI is…
      • msiexec.exe – Invokes the installer, and then…
        • /i – Install
        • /a – administrative install
        • /l* – Log all information
        • /q – No user interface
        • /qb- – Basic user interface with no dialog boxes
        • PROPERTYNAME = PropertyValue
      • msiexec /qb- /l* logfile.txt /i setup.msi NAME=Value
  • 15. MSI Examples
    • The standard command syntax for any MSI is…
      • msiexec.exe – invokes the installer, and then…
        • /i – Install
        • /a – administrative install
        • /l* – Log all information
        • /q – No user interface
        • /qb- – Basic user interface with no dialog boxes
        • PROPERTYNAME = PropertyValue
      • msiexec /qb- /l* logfile.txt /i setup.msi NAME=Value
    • (Non-functioning) Example
      • msiexec /qb- /l* logfile.txt /i AcroRd32.msi SERIALNUMBER=59a83b987c REBOOT=SUPRESS
  • 16. DEMO Analyzing an MSI Installation
  • 17. Repackaging – EXE ’s
    • EXE files have no common switch schema.
      • There ’s no central authority that governs EXE switches.
      • Depending on the packager used to create the EXE, there are some known tricks.
    • Finding the correct “silent switches” is key to installing properly. And they can be anything !
      • AppA.exe /s /v/qn
      • AppB.exe /quiet /norestart
      • AppC.exe /go /blowyournose
      • AppD.exe /take /mywife:please
    Don ’t reinvent the wheel. Reference the Intertubes for applications and their silent switches. www.AppDeploy.com
  • 18. EXE Examples
    • InstallShield (Ol ’ school)
      • Run the installer with the /r switch on a reference machine
      • Proceed through the dialogs, answering prompts as you would on the client machine
      • Complete the installation
      • The installation will create a setup.iss file in %windows%
      • Use this file to run the installation
      • setup.exe /s /f1setup.iss [/f2logfile.txt]
    • InstallShield (Nu ’ school, with Wrapped MSI)
      • Setup.exe /s /v/qb
      • Characters after /v are passed to the wrapped MSI file.
    • Wise Package Studio, Others…
      • setup.exe /s
  • 19. EXE Examples
    • Also Try…
      • /a
      • /q:a /r:n
      • /silent
      • /passive
      • /quiet
      • /norestart
      • /?
      • /help
    • /? and /help sometimes pop up a dialog box that contains useful clues.
  • 20. EXE Examples
    • Many EXEs these days are actually MSI wrappers
      • This means the EXE does little more than launch an MSI installation
      • fileName /s /v/qn – Anything after the /v is passed to the wrapped MSI file
  • 21. EXE Examples
    • Many EXEs these days are actually MSI wrappers
      • This means the EXE does little more than launch an MSI installation
      • fileName /s /v/qn – Anything after the /v is passed to the wrapped MSI file
    • Trick #1: Use the /a switch to perform an “administrative install”, which sometimes will unpack that MSI.
  • 22. EXE Examples
    • Many EXEs these days are actually MSI wrappers
      • This means the EXE does little more than launch an MSI installation
      • fileName /s /v/qn – Anything after the /v is passed to the wrapped MSI file
    • Trick #1: Use the /a switch to perform an “administrative install”, which sometimes will unpack that MSI.
    • Trick #2: Start the EXE installation, but don ’t finish it!
      • Double-click the EXE.
      • Wait for it to unpack.
      • When the first prompt appears, check %temp% for unpacked MSI install files.
    • It all depends on who wrote the installer…
  • 23. DEMO Analyzing an EXE Installation
  • 24. Repackaging – Diff ’s
    • Some software is exceedingly complicated, doesn ’t include “silent switches”, or simply won’t install with the other two mechanisms.
      • For these, we run a “diff”, yo.
  • 25. Repackaging – Diff ’s
    • Some software is exceedingly complicated, doesn ’t include “silent switches”, or simply won’t install with the other two mechanisms.
      • For these, we run a “diff”, yo.
    • The process to do this…
      • Build a barebones desktop of the same OS/SP. Virtual machines make this easy.
      • Snapshot its initial configuration.
      • Install and configure the application.
      • Re-Snapshot again.
      • Run the packager ’s “diff” tool to log and subsequently package the file/driver/registry changes.
    • In some cases this can be easier than an EXE install.
  • 26. Repackaging – Diff ’s
    • SLIGHT PROBLEM: Most packagers that can do this are expensive, natch.
      • Caphyon Advanced Installer
      • WinINSTALL MSI Packager
      • Wise for Windows Installer
      • EMCO MSI Package Builder
      • Acresso AdminStudio
      • Acresso InstallShield
    • But there are some freeware alternatives…
      • Some of the above ’s “free” versions
      • AppDeploy Repackager
      • SMSInstaller
      • WinINSTALL LE
    We ’ll use WinINSTALL LE in a sec…
  • 27. DEMO Analyzing a “diff” Installation Get Your Free Copy of WinINSTALL LE at: http://www.scalable.com/wininstall-le
  • 28. Post-Installation Customization
    • NEXT STOP: Customizing that app after its installed.
  • 29. Post-Installation Customization
    • NEXT STOP: Customizing that app after its installed.
    • For nearly all Windows applications, customization is stored in the registry.
      • Whole-machine customization in HKLM.
      • Per-user customization in HKCU.
    • The easiest way to determine post-installation customization is using that same “diff” packager tool.
      • Snapshot after installation
      • Make a configuration change
      • Re-snapshot
      • Package registry change
      • Distribute the registry change.
  • 30. Post-Installation Customization
    • HKLM is easy to manipulate.
      • Settings are per-machine.
    • HKCU can be a little more difficult.
      • User must be logged in for HKCU hive to be loaded.
    • This process gets waaaaaay easier with Group Policy Preferences.
      • Are you seriously not using them yet?
      • With GPPs, creating custom registry changes is crazy easy.
  • 31. DEMO Using “diffs” for Configuration Control
  • 32. Group Policy Preferences
    • Applications and Windows itself store its configurations either in the registry or in files.
    • What then we need is…
      • A toolset that allows admins to easily input custom configurations without requiring coding.
      • Environment variables, files, folders, INI files, registry settings, network shares, shortcuts.
      • Data sources, devices, folder options, local users and groups, network options, power options, printers, scheduled tasks, services.
    • Solution: GPPs!
  • 33. DEMO Group Policy Preferences
  • 34. Part II The Science of Software Deployment
  • 35. From Package to Software
    • Now that you ’ve got a software package, you need to get it deployed to machines.
    • Multiple software deployment solutions exist, with various price points…
      • Microsoft ConfigMgr
      • Microsoft SCE
      • Altiris
      • Kaseya
      • Kace KBOX
      • Active Directory
      • MDT
    Free  Not Free 
  • 36. One Way: GP Software Installation
    • Group Policy Software Installation (GPSI) is free and has already bromanced your Active Directory
      • Generally limited to MSI installations.
        • Although ZAP files allow EXE installations.
      • Careful: Deleting a GP in the wrong way can automatically uninstall software everywhere.
      • GPs have no reporting component. No way to know where failures have occurred.
    • … but, it is free.
  • 37. One Way: GP Software Installation
    • Four Steps to installing software via GPSI:
      • Obtain a “silenced” MSI installation package
      • Create a software distribution shared folder
      • Create a GPO
      • Assign or Publish the software
  • 38. One Way: GP Software Installation
    • Four Steps to installing software via GPSI:
      • Obtain a “silenced” MSI installation package
      • Create a software distribution shared folder
      • Create a GPO
      • Assign or Publish the software
    • Assignment vs. Publishing
      • When a package is Assigned , the software isn ’t downloaded and installed until its initial use.
        • The user must click its icon to start the process.
        • Eliminates software that users don ’t use, but increases the time to start on first use.
      • When a package is Published , it appears in Add/Remove Programs.
        • The user must choose to “Install a program from the network”
        • You cannot Publish to Computer objects
  • 39. Another Way: Task Sequences in Microsoft Deployment Toolkit
    • MDT includes multiple ways to inject applications directly into installed OS images.
      • Select them at deployment time.
      • Add them into a Task Sequence.
    • Deploying apps via MDT starts with repackaging…
  • 40. Another Way: Task Sequences in Microsoft Deployment Toolkit
    • Applications without source files is used for deploying prepackaged applications.
    • Application bundles link packages together.
  • 41. Injecting Apps During MDT Installation
    • Create new applications in MDT.
  • 42. Injecting Apps During MDT Installation
    • Once added, applications can be selected during the installation.
  • 43. Injecting Apps During MDT Installation
      • Alternatively, app installs can be added to a Task Sequence.
      • Adding there eliminates the questions during install.
  • 44. Preparing Software for Deployment with a Windows 7 Upgrade Greg Shields, MVP Partner and Principal Technologist www.ConcentratedTech.com
  • 45. This slide deck was used in one of our many conference presentations. We hope you enjoy it, and invite you to use it within your own organization however you like. For more information on our company, including information on private classes and upcoming conference appearances, please visit our Web site, www.ConcentratedTech.com . For links to newly-posted decks, follow us on Twitter: @concentrateddon or @concentratdgreg This work is copyright ©Concentrated Technology, LLC