210 likes | 487 Views
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
E N D
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
Optional Internal CAB Features Components Shortcuts Pointers to source files Action Summary Information Files Other Tables... 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
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
*.ops Installing Office 2003 Logos xcopy Customize Office Templates Profile Wizard Add-ins pro11.msi Custom Installation Wizard proplus.mst
Tools For Building/Examining MSIs • Visual Studio • 3rd Party Tools • Installshield – www.installshield.com • AdminStudio • Wininstall • Wise – www.wise.com • Package Studio • Wise for Windows Installer • Lanovation – www.lanovation.com • Prisim pack • PWC – www.unitysite.com • UnityInstaller • Novadigm – www.novadigm.com • E-Wrap
Orca • Part of MSI SDK • Raw MSI Table Editor • Easy to make mistakes! • Available from: • http://www.microsoft.com/msdownload/platformsdk/sdkupdate/default.htm?p=/msdownload/platformsdk/sdkupdate/psdkredist.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