180 likes | 418 Views
MSI Repackaging. Jeremy Schafer jschafer@rutgers.edu Enterprise Systems and Services. Agenda. What are MSI packages? Why would you want to use them? How do you make them? Tools / Links. What is an MSI package?. A database file including all aspects of the installation
E N D
MSI Repackaging Jeremy Schafer jschafer@rutgers.edu Enterprise Systems and Services
Agenda • What are MSI packages? • Why would you want to use them? • How do you make them? • Tools / Links
What is an MSI package? • A database file including all aspects of the installation • Registry / Files / Shortcuts • Similar to Redhat’s RPM spec file • Uses Windows Installer Service and msiexec.exe on Local Computer • Can include files inside of package if using Wise Installer/InstallShield
MSI version information • Version 2.0 • Windows 95/98, NT 4.0, 2000, XP, Server 2003 • Version 3.1 • Windows 2000SP3, Windows XP • Windows Server 2003 • Download from Windows Update
Why would you want to create MSI packages? • Standardize on the way applications get installed in your organization • Eliminate Mistakes in installation • Allows Continuity for Users • Integration with Active Directory • Reduce installation costs because deployment of software can be automated across a group or all machines in your network • Upgrades of software are easy / automated
Why would you want to create MSI packages? • Healing of applications for users that randomly delete files for critical applications • Reduce support costs because applications wont break • Impress your users with your super IT magic • ssh.com example
Software using MSI technology • Microsoft Office – Administrative Point • Adobe Acrobat Reader – Installation Tuner • AutoCAD 2005 – Network Installation • Etc…
Repackaging – Easy Part 1 • Start the installation of the Software • Wait for the software to prompt for user input (typically place for installation) • Find the MSI package along with accompanying files. • %TEMP% or c:\windows\temp
Repackaging – Easy Part 2 • Load Into Orca • Create MST for software deployment • Modify Clean MSI package for your organization • Modify PROPERTY table • Set Install Directory / Configure Software • Change Registry Keys
Well, that package doesn’t use the MSI technology Lets Try Plan B….
Package Process • Snapshot before install • Install software/settings • Snapshot after install • Now you have an MSI package you can use
Repackaging – Hard Part 1 • Setup the machine for Discovery • Vmware / Ghost / RIS • WinInstall LE / Wise Installer / Etc. • Patch to lowest level of target machines • Don’t install VirusScan • Take snapshot of machine
Repackaging – Hard Part 2 • Install the software manually doing only what is necessary to install the software • Don’t open program unless necessary because user settings will be captured • Limit the interaction and time between snapshots • Rediscover the machine. • **WinInstall LE will not survive a reboot
Repackaging --- Hard Part 3 • Now you have a raw MSI package. You will need to clean up the MSI package before you deploy it. • You can use WinInstall LE or Orca to manipulate your MSI package. • TEST. TEST. TEST.
Tools / Utilities • WinInstall LE • Initial Release part of Win2K OS CD • Located \valueadd\3rdparty\mgmt\winstle • Owned by OnDemand Software (was Veritas) • Windows Installer SDK • ORCA • MsiZap • Wise Installer for Windows / InstallShield
Links • Application Deployment forums http://www.appdeploy.com • Windows 2003 Platform SDK (Web Install) http://www.microsoft.com • MSI forums on Google Groups • microsoft.public.windows.msi • microsoft.public.platformsdk.msi