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