Packaging in 2009 Existing and Emerging Options
Bob Kelly Author Deploying and Administering Windows Vista Start to Finish Guide to Scripting with KiXtart The Definitive Guide to Desktop Administration (see www.bkelly.com for the full list) Product Manager at KACE AppDeploy.com KACE Virtual Kontainers a new Application Virtualization product Founder of AppDeploy.com
What Is AppDeploy.com? AppDeploy is the largest community website focused on the task of application and system deployment There are over 27,000 contributing members It sees over 350,000 visitors per month Details on the deployment of hundreds of thousands of applications are reviewed and update by the community on an ongoing basis
Should you repackage? Overview Pro s and cons What is everyone else doing? Tools to get the job done Best Practices if you choose to repackage The new option: Application Virtualization 4
What you have, What you want You have a setup.exe and you want to deploy it What inherent options exist? Does what is being offered meet your needs? MSI = Yes Extensive command line support Custom installation wizard ORCA or other MSI/MST Editor EXE = Maybe Command lines Answer files Simple follow-up scripts 5
What Is Setup.exe? How do you know what kind of setup it is? Setup.exe could still be an MSI or an MSP Run the setup on a reference machine Watch for Windows Installer Dialog Watch %TEMP% folder Watch for msiexec.exe process in task manager Enable MSI logging for the system and watch for a new log in %TEMP% (named MSIxxxx.log) 6
What Are Your Peers Doing? 7
8 Choosing Repackaging Benefits Consistent package Complete customization Full understanding of actions taken As MSI Package: Extensive command line support Rollback support Logging Support Repair functionality Required for GPO machine assignment Drawbacks Complex Requires skilled staff (updates, merge modules, etc.) Lots of room for error Missing files may cause an application to fail or not operate properly; Extra files can cause system problems on install or uninstall As MSI Package: Repair functionality conflicts or poor packages can result in repeated repair activity Sometime You Just Can t
9 Choosing Vendor Setups Benefits Vendor supported Maintain all installation logic included by the vendor Fastest path to deployment Can be simple task thanks to Package KB contributions Well supported by KBOX Drawbacks Desired customization is not always offered Scripting customizations after automated installation can be simple or complex depending upon your needs Inconsistent command line support between products (even versions of the same product) Review of setup should still be performed to ensure it makes no undesired changes to your environment
Repackaging Best Practices l What Should Not Be Repackaged l Using a Clean Machine l Exit Any Running Applications l Repackage From A Network Location l Reboot Following Installation l Launch The Application l Remove Unnecessary User Values 10
What Not To Repackage l Pre-existing vendor.msis l Operating Systems l Operating System Service Packs l Operating System Hotfixes l Internet Explorer l Windows Media Player l Windows Installer service
Using A Clean Machine It is important that you repackage applications on a "clean" system to ensure you capture all changes made by the installation. Operating system Service packs Hotfixes MDAC Internet Explorer Windows Media
Exit Any Running Applications Close all other applications to minimize changes to your system. Anti-Virus Software Software Firewalls Windows Update To verify what may be running check system tray, Startup, registry (run keys) Vista: Windows Defender Check Software Explorer feature of Windows Defender XP and Earlier: AutoRuns http://www.sysinternals.com/ntw2k/freeware/autoruns.shtml
Repackage From The Network Most repackaging software support execution from a network share. This means you do not have to taint your clean machine with the repackaging software files, resulting in a more accurate package.
Ensure Packages Are Clean Review yourself, and have someone else take a look. Watch For: Merge Module Components (MDAC) Legacy Uninstall References Current User Keys often unnecessary Temporary Files User-specific files or information Files managed by Windows File Protection Optionally use PackageCleaner to ensure nothing has been included that is reported to cause problems.
Reboot Following Installation Sometimes additional changes are made by an installation following a restart of the system. When needed, the installation wizard provided by the vendor will normally request (or even force) you to reboot. Files in use Post-install DLL registration
Launch The Application Sometimes applications may perform operations on first launch that you will want in your deployment package License Agreements Serial Numbers Product Registration Requests Default Configuration Requests
Remove User Values Including HKCU values in your package is often unnecessary and can result in problems: Windows Installer will trigger repair for first use by each user Reinstallation can overwrite user settings If you do include HKCU values, place them in a separate feature to minimize Windows Installer repair time experienced by users on first use.
Repackaging Options AdminStudio MSI Studio Package Studio WinINSTALL The AppDeploy Repackager
Repackaging Can Be Complex Including unnecessary elements can result in problems with other applications or uninstall failures Too Much Too Little Missing elements can result in broken applications and unhappy users
The AppDeploy Repackager Our tool is free to the AppDeploy community It is easy to use It generates a shareable file format Sharable Easy Free
Sharable Project Files XML files contain pointers to the location of needed file and registry entries and not the files and data themselves. At build time, necessary data is collected from the local system. XML MSI HKLM/Software/Vendor/Application/Settings HKLM/Software/Vendor/License Resource.dll Application.exe ShortCut.lnk
Using the AppDeploy Repackager 1. Snapshot of clean system 2. Install, configure software 3. Snapshot to determine difference 4. Review, clean results 5. Create project file 1. Download existing project file 2. Install, configure software 3. Review existence of needed elements
Video AppDeploy Repackager Demo
AppDeploy Repackager Summary The only free offering dedicated to the task of Windows Installer repackaging Created with novice admins in mind, it is very easy to use Results can be shared with others The AppDeploy Repackager is now available Full 1.0 release just came out of beta this week http://www.appdeploy.com/tools/repackager
Quick Intro to Application Virtualization Application virtualization is an umbrella term that describes software technologies that improve portability, manageability and compatibility of applications by encapsulating them from the underlying operating system on which they are executed. Virtual Applications Can run without actually installing run without modifying the local system run independent of one another
Application Virtualization Eliminates Conflict Issues between the OS and other Applications Applications are installed onto the host operating system Virtual Applications run without installation independent of one another and the OS Firefox, Adobe Acrobat and Access 2000 Firefox Adobe Acrobat MS Access 2000 MS Access 2007 Windows Vista Windows Vista 27
Benefits of Application Virtualization By isolating applications from the system and each other, application virtualization serves to Allow for easy repair of user changes to settings Allow multiple versions of apps to run simultaneously Allow for easy rollback to prior versions Simplify deployment Eliminate application conflicts Keep the host system free from application changes Reduce regression testing time Clean OS Dirty OS New System Installation 1 Installation 2 Installation 3 Installation 4 28
Several Options Are Emerging ThinApp (VMWare) Softricity/App-V (Microsoft) Virtual Application Studio (Xenocode) Software Virtualization Solution (Altiris) XenApp (Citrix) Virtual Kontainers (KACE) KACE Virtual Kontainer support coming to the AppDeploy Repackager in 2009
Creating Virtual Application Packages Before/After Snapshot Monitor setup process Migrate from MSI Install into virtual container Create using AppDeploy Repackager project files
Summary You may not need to repackage If you do, AppDeploy now has a new free tool to help Application Virtualization is maturing as a solution to many application deployment issues Watch for the AppDeploy/KACE solution in 2009
www.appdeploy.com www.kace.com Questions