If you download the Rolodex package from my site you can see this in action. It installs and uninstalls very fast.
; This InnoSetup project file was generated by iwz2iss converter (1.0) ; by Michal Kulczycki (michal@meurs.pl) ; WWW: http://www.strony.wp.pl/wp/mikequ/ ; Source IWZ file: E:\Projects\Expressway\rolodex\rolodex4min.iwz ; InstallShield version: 2.01 (for Visual dBASE) ; ; Please check the output carefully, especially if source IWZ included: ; ; - special processing like BDE, ADO, BPL installation ; - installing/registering shared modules ; - uninstallation of registry keys ; - By PCX ; the original iss script did not include the runtime or bde, so this came out perfect ; we converted the full rolodex package but this one had errors. See this link: ; http://www.jrsoftware.org/iskb.php?a=bde ; also: http://www.dbase.com/KnowledgeBase/dbulletin/bu09inno.htm ; and: http://www.dbase.com/KnowledgeBase/int/innosetup/innosetup_db2k.htm ; for info on including the rt and bde, if you must include these. We use ; the runtime installer in a separate install option from CD. ; We are using ISTool 4.1.8 ; http://www.istool.org/ ; We aquired this from the INNO site-download-quick start pack, all in one download ; rather than aquiring them individually. [Setup] AppName=Rolodex 4.0 AppId=Rolodex 4.0 AppVersion=4.0 AppVerName=Rolodex version 4.0 AppPublisher=ExpressWay AppPublisherURL=http://www.pcexpressway.com/ AppSupportURL=http://www.pcexpressway.com/ AppUpdatesURL=http://www.pcexpressway.com/Download/ AppCopyright=Copyright © 2004 pcExpressWay Consulting Uninstallable=true DefaultDirName={pf}\ExpressWay\Rolodex OutputBaseFilename=rolodex-4.0 OutputDir=innocdImage DefaultGroupName=Rolodex UserInfoPage=true LicenseFile=C:\Program Files\ExpressWay\Rolodex\license.txt InfoBeforeFile=C:\Program Files\ExpressWay\Rolodex\readme.txt VersionInfoVersion=4.0.0 VersionInfoCompany=pcExpressWay Consulting VersionInfoDescription=Multi-Group Rolodex Database System VersionInfoTextVersion=Version 4.0 ShowLanguageDialog=yes SetupIconFile=E:\Projects\Expressway\rolodex\CRDFLE10.ICO UninstallIconFile=E:\Projects\Expressway\rolodex\CRDFLE10.ICO WizardImageFile=pcxlogo-vert.bmp WizardImageStretch=no WizardImageBackColor=clNavy WizardSmallImageFile=favicon2.bmp [Tasks] Name: desktopicon; Description: Create a &desktop icon [Files] Source: C:\Program Files\ExpressWay\Rolodex\Rolodex.exe; DestDir: {app}; Flags: promptifolder Source: C:\Program Files\ExpressWay\Rolodex\ewrolodex.hlp; DestDir: {app}; Flags: promptifolder Source: C:\Program Files\ExpressWay\Rolodex\ROLODEX.INI; DestDir: {app}; Flags: promptifolder Source: C:\Program Files\ExpressWay\Rolodex\mugsr.dll; DestDir: {app}; Flags: promptifolder Source: C:\Program Files\ExpressWay\Rolodex\readme.txt; DestDir: {app}; Flags: promptifolder Source: C:\Program Files\ExpressWay\Rolodex\license.txt; DestDir: {app}; Flags: promptifolder Source: C:\Program Files\ExpressWay\Rolodex\Installing ExpressWay Rolodex.hlp; DestDir: {app}; Flags: promptifolder Source: C:\Program Files\Expressway\Rolodex\cmndlgs.dll; DestDir: {app}; Flags: promptifolder Source: C:\Program Files\Expressway\Rolodex\tada.wav; DestDir: {app}; Flags: promptifolder Source: C:\Program Files\ExpressWay\Rolodex\RolodexUtility.exe; DestDir: {app}; Flags: promptifolder Source: C:\Program Files\ExpressWay\Rolodex\RolodexUtility.ini; DestDir: {app}; Flags: promptifolder Source: C:\Program Files\ExpressWay\Rolodex\rolodexdatabase\Rolostyle.DBF; DestDir: {app}\rolodexdatabase; Flags: promptifolder Source: C:\Program Files\ExpressWay\Rolodex\rolodexdatabase\rolostyle.MDX; DestDir: {app}\rolodexdatabase; Flags: promptifolder Source: C:\Program Files\ExpressWay\Rolodex\rolodexdatabase\Rolofiles.DBF; DestDir: {app}\rolodexdatabase; Flags: promptifolder Source: C:\Program Files\ExpressWay\Rolodex\rolodexdatabase\rolofiles.MDX; DestDir: {app}\rolodexdatabase; Flags: promptifolder Source: C:\Program Files\ExpressWay\Rolodex\rolodexdatabase\Divisions.DBF; DestDir: {app}\rolodexdatabase; Flags: promptifolder Source: C:\Program Files\ExpressWay\Rolodex\rolodexdatabase\divisions.MDX; DestDir: {app}\rolodexdatabase; Flags: promptifolder Source: C:\Program Files\Expressway\Rolodex\homedata\Zipcodes.DBF; DestDir: {app}\Homedata; Flags: promptifolder Source: C:\Program Files\Expressway\Rolodex\homedata\country.MDX; DestDir: {app}\Homedata; Flags: promptifolder Source: C:\Program Files\Expressway\Rolodex\homedata\Country.DBF; DestDir: {app}\Homedata; Flags: promptifolder Source: C:\Program Files\Expressway\Rolodex\homedata\zipcodes.MDX; DestDir: {app}\Homedata; Flags: promptifolder Source: C:\Program Files\ExpressWay\Rolodex\Objects\ABOUT32.PRo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\AREACODE.WFo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\areazip.dmo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\CITYSTATE.WFo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\delchild.pro; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\DIVISIONS.DMo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\DIVISIONS.PRo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\DIVISIONS.WFo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\EXPRESSWAYSET.PRo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\EXPWAYROLODEX.WFo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\FINDDIR.PRo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\fixcontactnamescompany.pro; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\GROUPS.DMo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\GROUPS.WFo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\IMPCHILD.PRo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\importfields.pro; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\IMPORTLOCAL.PRo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\IMPORTTABLE.PRo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\IMPORTTABLE.WFo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\impsalesrep.pro; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\ini_test.pro; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\LASTUPDATE.pro; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\LETTER1.reo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\letters.wfo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\MAKGROUPS.PRo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\MAKNAMES.PRo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\MAKROLODEX.PRo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\MAKSALESREPS.PRo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\MAKTABLE1.PRo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\mdiapp.pro; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\MEMO.REo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\mylogo.wfo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\MYROLODEX.WFo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\NUPW.WFo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\REPORTVIEWER.WFo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\ROLOCONTACT.DMo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\rolode_r.pro; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\ROLODEX.CDo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\ROLODEX.DMo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\ROLODEX.POo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\ROLODEX.REo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\ROLOFILES.PRo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\ROLOLABELS.LAo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\ROLOMAIN.DMo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\ROLOMEMO.DMo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\ROLONAMES.DMo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\ROLONAMES.LAo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\ROLONAMES.REo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\ROLOSTYLE.PRo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\ROLOUTILITY.WFo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\SALESREP.reo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\SALESREPS.DMo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\SALESREPS.REo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\SALESREPS.WFo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\SELREPORT.WFo; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\Objects\updatezip.pro; DestDir: {app}\objects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\SharedObjects\ABOUT32.WFo; DestDir: {app}\SharedObjects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\SharedObjects\APPFLAG.Co; DestDir: {app}\SharedObjects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\SharedObjects\BDEALIAS.Co; DestDir: {app}\SharedObjects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\SharedObjects\CALFORM.WFo; DestDir: {app}\SharedObjects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\SharedObjects\CMNDLGS.Co; DestDir: {app}\SharedObjects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\SharedObjects\DATEEX.Co; DestDir: {app}\SharedObjects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\SharedObjects\EW8X11LAND.CRo; DestDir: {app}\SharedObjects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\SharedObjects\EW8X11LETTER.CRo; DestDir: {app}\SharedObjects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\SharedObjects\EW8X14LAND.CRo; DestDir: {app}\SharedObjects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\SharedObjects\FIELDSGRID.Co; DestDir: {app}\SharedObjects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\SharedObjects\FILEEX.Co; DestDir: {app}\SharedObjects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\SharedObjects\FINDIT32.WFo; DestDir: {app}\SharedObjects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\SharedObjects\INI.Co; DestDir: {app}\SharedObjects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\SharedObjects\JCCONTROLS.Co; DestDir: {app}\SharedObjects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\SharedObjects\JLCFORM.CFo; DestDir: {app}\SharedObjects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\SharedObjects\KENCAL2.Co; DestDir: {app}\SharedObjects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\SharedObjects\LOWEREDCONTROLS.Co; DestDir: {app}\SharedObjects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\SharedObjects\MAINWIN.PRo; DestDir: {app}\SharedObjects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\SharedObjects\NOW.Co; DestDir: {app}\SharedObjects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\SharedObjects\now.wfo; DestDir: {app}\SharedObjects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\SharedObjects\nupw.wfo; DestDir: {app}\SharedObjects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\SharedObjects\PLWAIT.WFo; DestDir: {app}\SharedObjects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\SharedObjects\REPORT.Co; DestDir: {app}\SharedObjects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\SharedObjects\ROLODEX.Co; DestDir: {app}\SharedObjects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\SharedObjects\SEARCHREPLACE.WFo; DestDir: {app}\SharedObjects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\SharedObjects\SPEEDBAR.PRo; DestDir: {app}\SharedObjects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\SharedObjects\STRINGEX.Co; DestDir: {app}\SharedObjects; Flags: promptifolder comparetimestamp Source: C:\Program Files\ExpressWay\Rolodex\SharedObjects\TABLELIST.Co; DestDir: {app}\SharedObjects; Flags: promptifolder comparetimestamp [Icons] Name: {group}\ExpressWay Rolodex 4.0; Filename: {app}\Rolodex.exe; Parameters: ; WorkingDir: {app}; IconFilename: ; IconIndex: 0; Flags: runmaximized createonlyiffileexists Name: {group}\Readme.txt; Filename: {app}\readme.txt; Parameters: ; WorkingDir: {app}; IconFilename: ; IconIndex: 0; Flags: createonlyiffileexists Name: {group}\ExpressWay Rolodex Help; Filename: {app}\ewrolodex.hlp; Parameters: ; WorkingDir: {app}; IconFilename: ; IconIndex: 0; Flags: createonlyiffileexists Name: {group}\License.txt; Filename: {app}\license.txt; Parameters: ; WorkingDir: {app}; IconFilename: ; IconIndex: 0; Flags: createonlyiffileexists Name: {group}\Installing ExpressWay Rolodex; Filename: {app}\Installing ExpressWay Rolodex.hlp; Parameters: ; WorkingDir: {app}; IconFilename: ; IconIndex: 0; Flags: createonlyiffileexists Name: {group}\RolodexUtility; Filename: {app}\RolodexUtility.exe; Parameters: ; WorkingDir: {app}; IconFilename: ; IconIndex: 0; Flags: createonlyiffileexists Name: {userdesktop}\ExpressWay Rolodex 4.0; Filename: {app}\Rolodex.exe; WorkingDir: {app}; Tasks: desktopicon [Run] Filename: {app}\Rolodex.exe; Description: Launch application; Flags: postinstall nowait skipifsilent unchecked Filename: {group}\; Flags: shellexec ; we did the following as a test to see what would happen. We could have run added a ; line in the run section to to do something with this. I can see where this feature ; could be used from a menu item that checks for a website update, download it and install it. ; The author of these applications does not mind if you grab the source for the Visual Time Clock. ; It was written in VDB 5.1. I have lost the source that was generated with free upgrade :-( ; The actual application on my website is the upgraded version that deals with the Y2K issue. ;[_ISToolDownload] ;Source: http://www.pcexpressway.com/Download/visclksrc.zip; DestDir: {userdesktop}; DestName: visclksrc.zip ;[Code] ;// Function generated by ISTool. ;function NextButtonClick(CurPage: Integer): Boolean; ;begin ; Result := istool_download(CurPage); ;end; [_ISTool] OutputExeFilename=E:\Projects\Expressway\rolodex\innocdImage\rolodex-4.0.exe