200 likes | 432 Views
Installation/Setup creation tools. Stuart Eggerton Canberra ADUG Meeting 12 April 2005. What does a setup program do? . Install files and DLLs Create Short Cuts to start application install registry keys, file association etc. Uninstall (fully clean up) Other stuff…. Types of installer.
E N D
Installation/Setup creation tools Stuart EggertonCanberra ADUG Meeting12 April 2005
What does a setup program do? • Install files and DLLs • Create Short Cuts to start application • install registry keys, file association etc. • Uninstall (fully clean up) • Other stuff…
Types of installer • Manual install - Archive file e.g. ZIP file • Batch file install using XCOPY etc. • Installer script with internal engine e.g. INNO setup, Microsoft Setup API and older versions of Installshield and WISE • installers that use external installation engine e.g. Windows Installer/MSI
Installer script with internal engine e.g. • INNO setup • Microsoft Setup API (the old Microsoft setup.inf based installer)
Internal Engine - Pros • Many free tools exist for creating installation scripts • Users can create small scripts in minutes • Normally text based - Scripts can be checked in to version control systems and revisions easily compared using a text based diff • Often produces extremely small installation packages with little overhead for the installation engine.
Internal Engine - Cons • Complex installations could produce extremely large scripts • Hard to maintain logic flow when installing to several versions of windows with the same script. • Specific code must normally be written to handle existing versions of DLL files during both installation and uninstallion. • Silent installations without a GUI often require a whole new script
What is Windows Installer? • Different angle • File Format - MSI • Avoid DLL Hell
Windows Installer - features • Reference counting • Install on demand • Self repair
Windows Installer – Pros • The engine protects Operating System DLL files. – no installing version 1 of a DLL over version 7 • Database based (uses MSDE SQL Server database engine) • DLLs are managed by the Windows Installer not the users script • Self Repair via “advertised shortcuts” or selecting repair in add remove programs • Features can be installed on demand e.g. Microsoft office setup
Windows installer - Cons • Generally MSI tools are expensive • No support for non windows Operating Systems • Extremely complex and unforgiving if the database gets corrupt. This occurs because the data is generally not constrained by foreign keys rather it is just text based • GUIDs {E1260869-E36B-4386-823A-52DB6B7B82C0} • Database based (uses MSDE SQL Server database engine) • Self Repair
Tools - Evaluation Criteria • “Free” • Can install files • Can create shortcuts • Uninstall works!!!
Tools – “Nice to have” criteria • Can produce windows MSI format • Compression. • Fancy stuff during install e.g. banner • Even Fancier stuff during install - Form designer so installation can request data input
Core Engine - Nullsoft Scriptable Install System http://nsis.sourceforge.net/ • The script based install system that is used to package the Winamp mp3 player software. • Basic package is just a script compiler.
HM NIS EDIT (Using NSIS Engine to compile) • http://hmne.sourceforge.net/ • An editor/wizard for NIS Scripts Pros • Open source • Wizard driven interface • Supports uninstall • Decent looking windows help file • Syntax highlighting and context sensitive hints Cons • Once script has been created by wizard subsequent editing is by hand • Default directory didn’t work for me.
Core Engine - Inno Setup http://www.jrsoftware.org/ • The script based install system that is used to package the Winamp mp3 player software. • Basic package is just a script compiler. • A very widely used installer
IS Tool (Uses INNO Setup Engine to compile) http://www.istool.org Pros • One of the most polished setup editors around • Simple interface • Can generate script to download files as part of installation • Great wizard • Syntax highlighting Cons • Wizard doesn’t seem to work after generation although editing is pretty easy by selecting items in the tree
External engine - Windows Installer MSI generating tools • Using the powerful features of Microsoft’s engine
MIS Tool - Installer2Go http://www.dev4pc.com/ Pros • Create single file MSI • One of the few Free MSI/Windows installer editors • Can be distributed silently to users or onto servers using Microsoft SMS or Citrix etc. • Great if you must create an MSI • Very simple tab based interface Cons • some advanced features of windows installer such as advertising and install on demand cannot be included in setup • Freeware version shows advert at end of installation.
WinINSTALL LE 2003 http://www.ondemandsoftware.com Pros • Create single file MSI • One of the few Free MSI/Windows installer editors • Can be distributed silently to users or onto servers using Microsoft SMS or Citrix etc etc • Vendor claims previous version was distributed with windows and used by a large number of system administrators. Cons • No GUI • I couldn’t get my shortcut working and the help wasn’t