3. MSI and Setup.exe Explained Thomas Lee Chief Technologist – QA plc
Agenda History Windows Installer Setup.exe Application Compatibilty
History - Installation Challenges Change default application settings Hand edit the stf, lst, and inf Shortcuts hard to manage No Outlook customization
The Windows Installer Operating System resident service –Windows 9x, Windows NT4, Windows 2000, Windows XP Standard format for component management A management API for applications and tools Devolves installation to the operating system (where it belongs) –First steps to the end of DLL hell
The Windows Installer File Versioning Reference counting for ALL resources Products (applications) are: –Resources Files, registry keys etc –Components The atomic units of the installation –Features Correspond to custom install
The Windows Installer Products have one or more features Features have one or more components Components have one or more resources Resources are single files, registry keys etc Each product has a unique ID (GUID) –Windows Installer tracks components usage by product ID –Components can be shared between features or products
Windows Installer Service Operating System Service Installer on Down-level Clients
The Windows Installer Features can have 4 states following installation: –Installed locally –Installed to Run From Source –Advertised “On demand”, installed on first use –Not installed
Windows Installer Package Format Custom Database format –Created by setup developer –One per product –Described in relational tables Products have –Features –Components –Installable resources –Entry points.MSI file extension Features Components Shortcuts Action Files Optional Internal CAB Summary Information Other Tables... Pointers to source files
Core MSI tables
Windows Installer Transforms Generic way to customise an installation A Transform describes the delta between the original MSI package and the customised version –Saved to an.MST file –Is applied on the fly Transforms can only be associated with app during initial install
But what about Setup.exe Many vendors still use setup.exe Often provided as a stub –Checks system for presence of MSI components –Calls MSI to install the application –Provided as a backwards compatibility measure Example: XP Support Tools From CD
Installing Office 2003 pro11.msi proplus.mst Custom Installation Wizard Profile Wizard xcopy Customize Office *.ops Templates Add-ins Logos
Tools For Building/Examining MSIs Visual Studio 3 rd Party Tools –Installshield – AdminStudio Wininstall –Wise – Package Studio Wise for Windows Installer –Lanovation – Prisim pack –PWC – UnityInstaller –Novadigm – E-Wrap
Orca Part of MSI SDK Raw MSI Table Editor Easy to make mistakes! Available from: – e/default.htm?p=/msdownload/platformsdk/sdkupdate/psdkre dist.htm
Application Compatibility What is the problem? What is the real solution XP/Windows 2003 Application Compatibility
Application Compatibility Toolkit Collection of documents and tools Help developers and IT professionals avoid application compatibility problems Helps to locate and address compatibility problems
What is in ACT? Application Compatibility Analyzer –Helps to create and analyse applications –Requires SQL or Access Windows Application Verifier –Checks application for potential compatibity issues Windows Compatibility Administrator – helps you select and apply comptibilty fixes Extensive reference material
ACT Demo Application Sample application to show issues –Setup –Main Mode operation Demo “installs” and “runs” –But “badly written” –Readme file explains how bad!
Show Me Orca MSI file Application Compatibity Toolkit
Questions