October20, 2011
ElitePackaging
Forthe WindowsPlatform
Plus media clips for learning
Packaging
…isthe science,the art,andthe technology
ofenclosingorprotectingsoftware products
fordistribution,storage,sale,anduse…you
will package to meet the needs and requests
ofyour customer.
Benefits of Packaging
Help administrators deploy software
configuration – built-in custom configuration
Create reliable packages that can be
successfully distributedthroughout an
organization – for enterprise delivery
Minimize administrative errors during
installation – built-in logic to handle errors
Provide features that help streamline
application–automate prompts, custom splash
Reduce maintenance – provide backend support
Eliminate unnecessary application
deployments
Reduce complexity for support services
Reduce training of support services
1©Copyright1993-2011 MrNetTek
Media Clips
Application Packaging Explained Visually
Application Packaging with MSI Studio
Converting EXE to MSI using Wise
Wise Setup Capture
WinInstall MSI Packager version 10
Install Software through Group Policy
Flexera Software
Repackaging
2©Copyright1993-2011 MrNetTek
Globally–WindowsPackaging
Thisareais poorlystandardizedin general,exceptWindowsInstaller
Nosignificantresearchor attemptsto providecomplexpatterns
Requiressystemhardwareand deepsoftware configurationknowledge
Bigamount of customvendorspecificsolutionsdifferentbydesign
Mostorganizationshave theirown internal installationframeworks
Qualityis critical- errorlocalizationiscomplexandresourceful
3©Copyright1993-2011 MrNetTek
Purpose of this Document
Tosharemyexperience
Togetfeedback from you
Toknowmore aboutlatestnews in
thisarea
Email:
Site:
4©Copyright1993-2011 MrNetTek
Welcome to the REAL WORLD
The world of packaging is what you make it
5©Copyright1993-2011 MrNetTek
TypicalErrors to Avoid
Developinstallationas asoftware productwiththesame or lower quality
Changeinternal package design
withoutinforming customer
Prioritizeapplicationfeatures and qualityin expenseof packaging
Startpackagingsoonbeforethe critical delivery
6©Copyright1993-2011 MrNetTek
TypicalErrors to Avoid
Don’tinvestinthepackaging
designandinfrastructure
Removegarbagefrom thebuild outputsright beforethefinal delivery
Trytoautomateprocesswithout knowledgeof thecustomer requirements
Limitedability tosay“No” andin
decisionmaking
Trytointegrateineveryproject ecosystemcompletely
7©Copyright1993-2011 MrNetTek
Packaging-Inputs
Project
2
Project
3
Retail
Market
Project
1
Packaging
Team
Engineer
Conflictwith Scrum!
PackagingTeam
SaaS
Consulting
8©Copyright1993-2011 MrNetTek
What to do in Packaging
01.Gathertheapplication requirements
02.Gettheinitial deliverablesversion
03.Providefeedback andensurethat you
can satisfymost stakeholders
04.Agreeon thecommonrulesand achieve
acceptablecompromiseif needed
05.Howtolocalize applicationrelated errors
06.Createacceptanceandinternal testcases
07.Createtestenvironmentif possible
08.Createor updateinstallationpackage
09.Savesources andbinaries
10. Deliveryfor theinternal, applicationand
customercaretesting
11.Documentationupdate
9©Copyright1993-2011 MrNetTek
There are many DevelopmentPlatforms
InstallScript, Framework
MSI, VBScipt
MSI,.NET
Snapshot technology; Prism Deploy
MSI WindowsInstaller in general
InstallShield11-2011, VBScript, InstallScript,now mostlyWIX DTF
Visual Studio2008,2010, .NET 2.0
–4.0
Highlyfragmentedproprietary installationframeworkas abasis usedbyconsultantsbasedon
InstallShield/VBScript
Packaging
10©Copyright1993-2011 MrNetTek
WindowsInstallerXML
WiXwas developedbyMicrosoft softwaredesignengineerRob Mensching
ReleasedtoSourceForgeinApril of2004 –first Microsoftopen- sourceproject
Developersuse theirfreetimeto participateinthedevelopment
Everyonecanjointheproject– codechanges submittedvia email
Aftersome successfulchanges–
directaccesscould beprovided
11©Copyright1993-2011 MrNetTek
InstallShield
Since1992InstallShieldwas
developedbyStirling Technologies
NowInstallShielddevelopedby FlexeraSoftware ownedbyThoma CresseyBravoprivatefund
Knownindustrystandard
Formerly InstallScriptsolution
Successfullyimplementedsupport forWindowsInstaller technology
Widelyused by our Customerin
themostof theprojects
NowLimitedEdition shippedwith
Visual Studio2010
12©Copyright1993-2011 MrNetTek
WIX–CurrentUseCase
Windows
InstallerXML
VisualStudio
Shell
Commandline tools
Documentation
Thirdparty tools
Votivefor Installation Package Design
DTFC# CustomActions
Generate componentsby Heattool
WYSIWYG userinterface development
13©Copyright1993-2011 MrNetTek
InstallShield–CurrentUseCase
InstallShield
NativeUser
Interface
Visual
Studio
Bundled
Tools
Installation Package Design
VBScript Custom Actions
Context sensitive help
Generate
components
DTFor.NET Custom Actions
Compare twoMSI packages
Createbuild
server
14©Copyright1993-2011 MrNetTek
WIXvs.InstallShield–Summary
InstallShield
GloballyInstallShieldstill standard
solutionforthemarket
Morepredictable,supportedand controllableproduct
Developmentisnottoocomplicated, bestinstallationvisualization
Veryexpensive
WindowsInstaller XML
Someconcernsin regardofthe customerorientation
Businessvalueisquestionable,since theproductlifecyclesandfeatures hardtocontrolorpredict
Bestsolutionfromdeveloper’spoint ofviewanda key of success
Free
15©Copyright1993-2011 MrNetTek
Astheresult,compromise…
InstallShield2011
WIXDeploymentToolsFoundation
Cheaperthanthe PremierEdition
Concurrentlicenses
Multi-lingualsupport could bemade inexternalUI
InstallShieldUI allows fast visualizationandediting
oftheMSIpackage
WIXDTF andC# codehandlesmostof thecustom actionsneeded,especially for Silverlightand .NET basedones
NowInstallShieldbundledwiththeVisualStudio
16©Copyright1993-2011 MrNetTek
AutomationProsCons
Whendo you automate?
Stableandmatureproject structure
Welldocumented installation process
Installationfunctional,deliveredand approvedbythecustomers
Frequentupdates are required
Rarecustomerspecificreleases
Whereis it notneeded?
Requirements are notevenorstable
Frequent and significantapplication
designchanges
Rareupdates,slowdevelopment
Highlyvariablecustomerdemands
Customerspecificdeliveries
Processisnotdocumented
Limitedresourcesorbudget
17©Copyright1993-2011 MrNetTek
ExperimentalDesignPattern
18©Copyright1993-2011 MrNetTek
ExperimentalDesignPattern
Twopackagesperproduct
Componentsforthefiles
Mods fortheenvironment config.
Easy tolocalize theissue
Fasterto solveconfiguration relatederrors
Reusableassembliesfromthe
application
Functionaltemplatebased on the InstallShieldandWIXDTF, ready forthebuild automation
Automateddocumentation processing
19©Copyright1993-2011 MrNetTek
FutureofPackaging
.NET
launcher
MSI
packages
WIXDTF
InstallScriptoutof themarket
WindowsInstalleruserinterfacewillbe hiddenbycustom.NETbasedsolutions
Silentmodeusedmoreandmore
Multi instancedesignasthe requirementforgrowingASPmarkets
NoVB orInstallScriptinsidethe installation- .NET,C# andWIXDTF based solution
Integrationwiththeapplication assemblies
Flexiblebuildautomationthatwill handlemost ofthecustomer related cases
APPX and Windows Marketplace?
20©Copyright1993-2011 MrNetTek
...So,Don'tbeJustaSetupMonkey
Monkey see, monkey do – you can do better than that! You can be better than that!
21©Copyright1993-2011 MrNetTek
Packaging Tools you could be using
WinInstall, Flexera Admin Studio, MSI Pro, Prism Deploy Pictaker.exe
VBScript - VBSEdit
Notepad++
Script-o-matic
HTA-helpomatic
WMI Explorer
PrimalScript
Audacity and Gimp
22©Copyright1993-2011 MrNetTek
That’s only the beginning…
23©Copyright1993-2011 MrNetTek
Future Topics
Integrating Shell scripting into your packages
Integrating VBScript scripting into your packages
Integrating HTA scripting into your packages
Adding splash screens to your packages
Adding sounds to your packages
Adding special effects to your packages
Dealing with complex issues: permissions, registry, and multiple profiles
24©Copyright1993-2011 MrNetTek