Subject .iss problem
From Charlie <tm@tc.com>
Date Sun, 22 Apr 2018 16:14:11 -0400
Newsgroups dbase.getting-started
Attachment(s) GolfLeague1.isstcos2.iss

Hi.. I have two .iss files.  One named tcos.iss and the other named golfleague.iss.

They work fine but I have discovered a problem that is weird and getting the better of me.  I really would like to find out why this is happening so I can correct it.

I am using dbase 10 on Windows 7 where this is happening.  

If I run setup the tcos file works fine.  No problem.  But if I run the golf setup (with no tcos directory on the destination computer), for some reason the runtime and language files are created in a new tcos directory.  And then the golf.exe seems to work with them there instead of in the golf directly.  I don't know how the tcos directory is created as the golf setup is only supposed to create the golf directory.  I've looked over the golf file several times and I can see no reference to tcos.  I'm thinking possibly this is happening in the {tmp} file?  

I don't have much experience with inno but would love to find out what is happening if someone could help.  There is probably a simple explanation, but I can't see it.

Thanks much

P. S. I have had trouble setting up the golf program on windows 10 computers.  I'm not sure if this may be related to the prior problem mentioned.



[_TopOfScript]
; This is a Innoscript originally generated by dBASE PLUS Project Explorer
; After first generated it has been updated manually by Charles Siegel

[_Project]
ProjectNr=1.0.0.0
ProjectName=Golf League
ProjectExeFileName=C:\dbasewin\golf\Golf League.exe
ProjectMainFileName=C:\dbasewin\golf\GolfLeague.iss
ProjectAuthor=Copyright © 2018 Charles Siegel
ProjectCreateDate=04/05/2017 18:20:01
ProjectAccessDate=04/16/2017 15:26:07
ProjectdBaseVersion=dBASE PLUS 10.3 b2504
ProjectLastdBaseRuntimeVersion=1020
ProjectLastdBaseRuntimeLanguage=EN
ProjectdBasePRJFilename=C:\dbasewin\golf league  ;took the extra \golf out changed to golf league 4/22

[ISPP]
#pragma option -v+
#pragma verboselevel 9 ;Macro and functions successfull call acknowledgements
#define Debug
#define AppName "Golf League"
#define AppVersion "10.0.0.0"
#define AppId "Golf League_ID"
#define AppCopyright "Copyright © 2018 Charles Siegel"
#define AppUninstallDir "{app}\Uninstall Information"

[dBASERuntime]
#define SM_dBASERuntime "true"
#define dBPlus "true"
#define dBSeparat "false"
#define Resource "false"
#define dBASELang "EN"
#define dBaseRuntimeInstDir "C:\Program Files (x86)\dBASE\Plus10\Runtime\PLUS1031Runtime-b2504_ALL.exe"
#define dBaseRuntimeInstVer "2504"
#define dBaseRuntimeDir "C:\Program Files (x86)\dBASE\Plus10\Runtime"
#define dBaseBuild "2488"
#define dBaseVersion "1020"
#define BDEGroupEntries "false"
#define dBProgressbar "false"
#define dBProgressbox "false"
#define dBSilent "false"
#define dBUninstall "true"
#define dBDestRuntime "{app}"  ;added app  was blank 4/22  This maybe should be userapp.. maybe not could try it.
#define dBDestBDE "{cf}\Boarland\BDE"  ;was ""
#define dBMainFile "Golf League.exe"
#define DBuac "0"
#define dbVista ""
#define UninsHS "true"
#define UninsHSLanguages "EN"
#define UninsHSExeDir "C:\Program Files (x86)\dBASE\Plus10\Runtime\Include\Utilities\UnInsHs"
#include "C:\Program Files (x86)\dBASE\Plus10\Runtime\Include\dbaseRuntime.inc"

[LangOptions]
LanguageCodePage=0

[Setup]
SourceDir=C:\dbasewin\golf
SetupIconFile=
AppId={#AppId}
AppName={#AppName}
AppVersion={#AppVersion}
AppVerName={#AppName} Version {#AppVersion}
AppCopyright={#AppCopyright}
DefaultDirName={pf}\{#AppName}
DefaultGroupName={#AppName}
PrivilegesRequired=admin
ShowLanguageDialog=false
VersionInfoVersion={#AppVersion}
VersionInfoDescription={#AppName} Setup
VersionInfoCompany={#AppCopyright}
VersionInfoTextVersion=Version {#AppVersion}
UninstallFilesDir={#AppUninstallDir}

[Languages]
Name: en; MessagesFile: compiler:Default.isl

[Messages]
BeveledLabel=Copyright © 2018 Charles Siegel

[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}
Name: desktopicon\user; Description: For the current user only; GroupDescription: {cm:AdditionalIcons}; Flags: Exclusive Unchecked; Languages: en
Name: desktopicon\common; Description: For all users; GroupDescription: {cm:AdditionalIcons}; Flags: Exclusive; Languages: en

[Icons]
Name: {commonprograms}\{#AppName} ; Filename: {app}\Golf League.exe; WorkingDir: {app}
Name: {commondesktop}\{#AppName} ; Filename: {app}\Golf League.exe; WorkingDir: {app}
Name: {userprograms}\{#AppName} ; Filename: {app}\Golf League.exe; WorkingDir: {app}
;Name: {commonstartmenu}\{#AppName} ; Filename: {app}\Golf League.exe; WorkingDir: {app}
;Name: {userstartmenu}\{#AppName} ; Filename: {app}\Golf League.exe; WorkingDir: {app}
;Name: {commonstartup}\{#AppName} ; Filename: {app}\Golf League.exe; WorkingDir: {app}
;Name: {userstartup}\{#AppName} ; Filename: {app}\Golf League.exe; WorkingDir: {app}
Name: {group}\{#AppName} ; Filename: {app}\Golf League.exe; WorkingDir: {app}
Name: {commondesktop}\{#AppName}; Filename: {app}\Golf League.exe; WorkingDir: {app}; IconFilename: {app}\Golf League.exe; Tasks: desktopicon\common
Name: {userdesktop}\{#AppName}; Filename: {app}\Golf League.exe; WorkingDir: {app}; IconFilename: {app}\Golf League.exe; Tasks: desktopicon\user
#if 'false' == UninsHS
  Name: {group}\{cm:UninstallProgram,{#AppName}}; Filename: {uninstallexe}
#endif

[Dirs]
;trying to add " 5/13/17
Name: "{userappdata}\golf"
Name: "c:\golfdata"

[Files]
; dBASE Runtime Installer
Source: "C:\Program Files (x86)\dBASE\Plus10\Runtime\PLUS1031Runtime-b2504_ALL.exe"; DestDir: "{tmp}"; Flags: ignoreversion deleteafterinstall
;BDE Settings
Source: C:\Program Files (x86)\dBASE\Plus10\Runtime\Include\Utilities\BDE\AddAlias.exe; DestDir: {tmp}; DestName: dBase_AddAlias.exe

Source: Golf League.exe; DestDir: {app}; Flags: IgnoreVersion
Source: c:\dbasewin\golf\data\archdbname.DBF; DestDir: {userappdata}\golf;
Source: c:\dbasewin\golf\data\archdbname.mdx; DestDir: {userappdata}\golf;
Source: c:\dbasewin\golf\data\archpayout.DBF; DestDir: {userappdata}\golf;
Source: c:\dbasewin\golf\data\archpayout.mdx; DestDir: {userappdata}\golf;
Source: c:\dbasewin\golf\data\archscores.dbf; DestDir: {userappdata}\golf;
Source: c:\dbasewin\golf\data\archscores.mdx; DestDir: {userappdata}\golf;
Source: c:\dbasewin\golf\data\archsum.dbf; DestDir: {userappdata}\golf;
Source: c:\dbasewin\golf\data\day_date.dbf; DestDir: {userappdata}\golf;
Source: c:\dbasewin\golf\data\dbname.dbf; DestDir: {userappdata}\golf;
Source: c:\dbasewin\golf\data\dbname.mdx; DestDir: {userappdata}\golf;
Source: c:\dbasewin\golf\data\email.dbf; DestDir: {userappdata}\golf;
Source: c:\dbasewin\golf\data\golfers.dbf; DestDir: {userappdata}\golf;
Source: c:\dbasewin\golf\data\golfers.mdx; DestDir: {userappdata}\golf;
Source: c:\dbasewin\golf\data\golfers_scores.dbf; DestDir: {userappdata}\golf;
Source: c:\dbasewin\golf\data\golfers_scores.mdx; DestDir: {userappdata}\golf;
Source: c:\dbasewin\golf\data\golfersdup.dbf; DestDir: {userappdata}\golf;
Source: c:\dbasewin\golf\data\golfersdup.mdx; DestDir: {userappdata}\golf;
Source: c:\dbasewin\golf\data\golfsum.dbf; DestDir: {userappdata}\golf;
Source: c:\dbasewin\golf\data\reminder.DBF; DestDir: {userappdata}\golf;
Source: c:\dbasewin\golf\data\reminder.dbt; DestDir: {userappdata}\golf;
Source: c:\dbasewin\golf\data\temp_golfers_scores.DBF; DestDir: {userappdata}\golf;
Source: c:\dbasewin\golf\data\temp_golfers_scores.mdx; DestDir: {userappdata}\golf;
Source: c:\dbasewin\golf\data\temp_scores.dbf; DestDir: {userappdata}\golf;
Source: c:\dbasewin\golf\data\temp_scores.mdx; DestDir: {userappdata}\golf;
Source: c:\dbasewin\golf\data\location.dbf; DestDir: {userappdata}\golf;
Source: c:\dbasewin\golf\data\hdcp_scores.dbf; DestDir: {userappdata}\golf;
Source: c:\dbasewin\golf\data\hdcp_scores.mdx; DestDir: {userappdata}\golf;

[RUN]
Filename: {tmp}\PLUS1031Runtime-b2504_ALL.exe; Parameters: "/S"; Flags:runascurrentuser waituntilterminated runhidden; Description: "dBASE Runtime and BDE"; StatusMsg: "Installing dBASE Runtime and BDE..."; WorkingDir: {tmp};
Filename: {tmp}\dBase_AddAlias.exe; Parameters: """-golfers"" ""{userappdata}\golf"" ""DBASE"""; WorkingDir: {tmp}; StatusMsg: Install BDE Alias
;Filename: {tmp}\PLUS1031Runtime-b2504_ALL.exe; Parameters: "-s -a Runtime=""{pf}\dBASE\Runtime"" BDE=""{cf}\Borland\BDE"" Silent -sr"; StatusMsg: Installing dBASE Runtime and BDE...
Filename: {app}\Golf League.exe; Description: Now start Golf League; Flags: nowait postinstall skipifsilent

[INI]
Filename: {app}\Golf League.ini; Section: Toolbars; Flags: UninsDeleteSection
Filename: {app}\Golf League.ini; Section: Toolbars; Key: Standard; String: 0
Filename: {app}\Golf League.ini; Section: Toolbars; Key: StandardFloat; String: 0
Filename: {app}\Golf League.ini; Section: Toolbars; Key: StandardStyle; String: 0
Filename: {app}\Golf League.ini; Section: Desktop; Flags: UninsDeleteSection
Filename: {app}\Golf League.ini; Section: Desktop; Key: Maximized; String: 0
Filename: {app}\Golf League.ini; Section: Desktop; Key: StatusBar; String: 0
Filename: {app}\Golf League.ini; Section: CommandWindow; Flags: UninsDeleteSection
Filename: {app}\Golf League.ini; Section: CommandWindow; Key: Open; String: 0
Filename: {app}\Golf League.ini; Section: ErrorHandling; Flags: UninsDeleteSection
Filename: {app}\Golf League.ini; Section: ErrorHandling; Key: ErrorTrapFilter; String: 1
Filename: {app}\Golf League.ini; Section: AppTheme; Flags: UninsDeleteSection
Filename: {app}\Golf League.ini; Section: AppTheme; Key: Type; String: 0
Filename: {app}\Golf League.ini; Section: Tools; Flags: UninsDeleteSection
Filename: {app}\Golf League.ini; Section: Tools; Key: LargeButtons; String: 1

[UninstallDelete]
Type: files; Name: Filename: {app}\Golf League.ini


[_EndOfScript]
; © dBase Portions by Jonny Kwekkeboom © 2002-2017
; Visual dBase, dB2K, dBase SE and dBase Plus © dataBased Intelligence.Inc Homepage: http://www.databi.com/
; dQuery for Delphi,C++,dBASE PLUS © dataBased Intelligence.Inc see also Homepage: http://www.dQuery.com/

;[Code]
;procedure CurPageChanged(CurPageID: Integer);
;begin
;  dBase_CurPageChanged(CurPageID); {INFO: Added for dBase Runtime start}
;end;

procedure DeInitializeSetup( );
begin
end;

function InitializeSetup(): Boolean;
var S: String;
begin
(** Create a Mutex so we can not double call this Setup.exe file **)
  S:='{#AppName}';
  Result:= true;
  if CheckForMutexes(S+'_SetupMutex')=false
  then Createmutex(S+'_SetupMutex')
  else Result:=False;
end;

#ifdef dBaseRuntimeInstDir
procedure DeinitializeUninstall();
begin
  dBase_DeinitializeUninstall();  (** INFO: Added for dBase Runtime uninstall **)
end;
#endif

[_TopOfScript]
; This is a Innoscript originally generated by dBASE PLUS Project Explorer
; After first generated it has been updated manually by Charles Siegel

[_Project]
ProjectNr=1.0.0.0
ProjectName=TCOS
ProjectExeFileName=C:\dbasewin\TCOS.exe
ProjectMainFileName=
ProjectAuthor=Copyright © 2018 Charles Siegel
ProjectCreateDate=06/01/2017 20:43:33
ProjectAccessDate=06/01/2017 20:43:33
ProjectdBaseVersion=dBASE PLUS 10.3  b2504
ProjectLastdBaseRuntimeVersion=1020
ProjectLastdBaseRuntimeLanguage=EN
ProjectdBasePRJFilename=C:\dbasewin\TCOS

[ISPP]
#pragma option -v+
#pragma verboselevel 9 ;Macro and functions successfull call acknowledgements
#define Debug
#define AppName "TCOS"
#define AppVersion "10.0.0.0"
#define AppId "TCOS_ID"
#define AppCopyright "Copyright © 2018 Charles Siegel"
#define AppUninstallDir "{app}\Uninstall Information"

[dBASERuntime]
#define SM_dBASERuntime "true"
#define dBPlus "true"
#define dBSeparat "false"
#define Resource "false"
#define dBASELang "EN"
#define dBaseRuntimeInstDir "C:\Program Files (x86)\dBASE\Plus10\Runtime\PLUS1031Runtime-b2504_ALL.exe"
#define dBaseRuntimeInstVer "2504"
#define dBaseRuntimeDir "C:\Program Files (x86)\dBASE\Plus10\Runtime"
#define dBaseBuild "2488"
#define dBaseVersion "1020"
#define BDEGroupEntries "false"
#define dBProgressbar "false"
#define dBProgressbox "false"
#define dBSilent "false"
#define dBUninstall "true"
#define dBDestRuntime "{app}"
#define dBDestBDE "{cf}\Borland\bde"
#define dBMainFile "TCOS.exe"
#define DBuac "0"
#define dbVista ""
#define UninsHS "true"
#define UninsHSLanguages "EN"
#define UninsHSExeDir "C:\Program Files (x86)\dBASE\Plus10\Runtime\Include\Utilities\UnInsHs"
#define UninsHSExeDir "C:\Program Files (x86)\dBASE\Plus10\Runtime\Include\Utilities\UnInsHs"
#include "C:\Program Files (x86)\dBASE\Plus10\Runtime\Include\dbaseRuntime.inc"
#define UninsHSExeDir "C:\Program Files (x86)\dBASE\Plus10\Runtime\Include\Utilities\UnInsHs"

[LangOptions]
LanguageCodePage=0

[Setup]
SourceDir=C:\dbasewin
SetupIconFile=
AppId={#AppId}
AppName={#AppName}
AppVersion={#AppVersion}
AppVerName={#AppName} Version {#AppVersion}
AppCopyright={#AppCopyright}
DefaultDirName={pf}\{#AppName}
DefaultGroupName={#AppName}
PrivilegesRequired=admin
ShowLanguageDialog=false
VersionInfoVersion={#AppVersion}
VersionInfoDescription={#AppName} Setup
VersionInfoCompany={#AppCopyright}
VersionInfoTextVersion=Version {#AppVersion}
UninstallFilesDir={#AppUninstallDir}

[Languages]
Name: en; MessagesFile: compiler:Default.isl

[Messages]
BeveledLabel=Copyright © 2018 Charles Siegel

[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}
Name: desktopicon\user; Description: For the current user only; GroupDescription: {cm:AdditionalIcons}; Flags: Exclusive Unchecked; Languages: en
Name: desktopicon\common; Description: For all users; GroupDescription: {cm:AdditionalIcons}; Flags: Exclusive; Languages: en
Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: Unchecked

[Icons]
Name: {group}\{#AppName} ; Filename: {app}\TCOS.exe; WorkingDir: {app}
Name: {commonstartmenu}\{#AppName} ; Filename: {app}\TCOS.exe; WorkingDir: {app}
Name: {userstartmenu}\{#AppName} ; Filename: {app}\TCOS.exe; WorkingDir: {app}
Name: {commondesktop}\{#AppName}; Filename: {app}\TCOS.exe; WorkingDir: {app}; IconFilename: {app}\TCOS.exe; Tasks: desktopicon\common
Name: {userdesktop}\{#AppName}; Filename: {app}\TCOS.exe; WorkingDir: {app}; IconFilename: {app}\TCOS.exe; Tasks: desktopicon\user
Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\{#AppName}; Filename: {app}\TCOS.exe; WorkingDir: {app}; IconFilename: {app}\TCOS.exe; Tasks: quicklaunchicon
#if 'false' == UninsHS
  Name: {group}\{cm:UninstallProgram,{#AppName}}; Filename: {uninstallexe}
#endif

[Dirs]
Name: "{userappdata}\train"

[Files]
; dBASE Runtime Installer
Source: "C:\Program Files (x86)\dBASE\Plus10\Runtime\PLUS1031Runtime-b2504_ALL.exe"; DestDir: "{tmp}"; Flags: ignoreversion deleteafterinstall
;BDEl Settings
Source: c:\Program Files (x86)\dbase\Plus10\Runtime\Include\Utilities\bde\AddAlias.exe; DestDir: {tmp}; DestName: dbase_AddAlias.exe
Source: data\MASTER.DBF; DestDir: {userappdata}\train;
Source: data\MASTER.mdx; DestDir: {userappdata}\train;
Source: data\AUCTION.DBF; DestDir: {userappdata}\train;
Source: data\AUCTION.mdx; DestDir: {userappdata}\train;
Source: TCOS.exe; DestDir: {app}; Flags: IgnoreVersion
Source: data\AUCTTXT.DBF; DestDir: {userappdata}\train;
;Source: data\SPDFILE.MEM; DestDir: {userappdata}\train;
Source: data\talname.dbf; DestDir: {userappdata}\train;
Source: data\salesdt.DBF; DestDir: {userappdata}\train;
Source: data\NAZDATA.DBF; DestDir: {userappdata}\train;
Source: data\NAZDATA.dbt; DestDir: {userappdata}\train;
Source: data\CGSOLD.DBF; DestDir: {userappdata}\train;
Source: data\pg.dbf; DestDir: {userappdata}\train;
Source: data\CONV0.DBF; DestDir: {userappdata}\train;
Source: data\conv1.dbf; DestDir: {userappdata}\train;
Source: data\conv2.dbf; DestDir: {userappdata}\train;
Source: data\spdmem.mem; DestDir: {userappdata}\train;
Source: data\location.DBF; DestDir: {userappdata}\train;
Source: data\AUCTCLOSED.DBF; DestDir: {userappdata}\train;
Source: data\AUCTCLOSED.mdx; DestDir: {userappdata}\train;
Source: data\auctint.dbf; DestDir: {userappdata}\train;
Source: data\auctint.dbt; DestDir: {userappdata}\train;
Source: data\AUCTOLD.DBF; DestDir: {userappdata}\train;
Source: data\auctopen.DBF; DestDir: {userappdata}\train;
Source: data\auctopen.mdx; DestDir: {userappdata}\train;
Source: data\CAT.DBF; DestDir: {userappdata}\train;
Source: data\CAT.mdx; DestDir: {userappdata}\train;
Source: data\EMAILWIN.DBF; DestDir: {userappdata}\train;
Source: data\guide.DBF; DestDir: {userappdata}\train;
Source: data\histcgsold.DBF; DestDir: {userappdata}\train;
Source: data\histcgsold.mdx; DestDir: {userappdata}\train;
Source: data\histinv.DBF; DestDir: {userappdata}\train;
Source: data\inv.DBF; DestDir: {userappdata}\train;
Source: data\inv.mdx; DestDir: {userappdata}\train;
Source: data\LABEL.DBF; DestDir: {userappdata}\train;
Source: data\LABEL.mdx; DestDir: {userappdata}\train;
Source: data\pnote.DBF; DestDir: {userappdata}\train;
Source: data\pnote.dbt; DestDir: {userappdata}\train;
Source: data\rawarch.dbf; DestDir: {userappdata}\train;
Source: data\rawarch.mdx; DestDir: {userappdata}\train;
Source: data\rawdata.dbf; DestDir: {userappdata}\train;
Source: data\rawdata.mdx; DestDir: {userappdata}\train;
Source: data\rawname.dbf; DestDir: {userappdata}\train;
Source: data\rawname.mdx; DestDir: {userappdata}\train;
Source: data\salesdttot.dbf; DestDir: {userappdata}\train;
Source: data\salesmem.DBF; DestDir: {userappdata}\train;
Source: data\spddata.DBF; DestDir: {userappdata}\train;
Source: data\spddata.mdx; DestDir: {userappdata}\train;
Source: data\spdname.DBF; DestDir: {userappdata}\train;
Source: data\spdname.mdx; DestDir: {userappdata}\train;
Source: data\spdtrans.dbf; DestDir: {userappdata}\train;
Source: data\spdnamearch.dbf; DestDir: {userappdata}\train;
Source: data\spdnamearch.mdx; DestDir: {userappdata}\train;
Source: data\spddataarch.dbf; DestDir: {userappdata}\train;
Source: data\spddataarch.mdx; DestDir: {userappdata}\train;
Source: data\taldata.DBF; DestDir: {userappdata}\train;
Source: data\taldata.mdx; DestDir: {userappdata}\train;
Source: data\talmem.DBF; DestDir: {userappdata}\train;
Source: data\convshop.DBF; DestDir: {userappdata}\train;
Source: data\convshop.mdx; DestDir: {userappdata}\train;

[RUN]
Filename: {tmp}\PLUS1031Runtime-b2504_ALL.exe; Parameters: "/S"; Flags:runascurrentuser waituntilterminated runhidden; Description: "dBASE Runtime and BDE"; StatusMsg: "Installing dBASE Runtime and BDE..."; WorkingDir: {tmp};
Filename: {tmp}\dBase_AddAlias.exe; Parameters: """-train"" ""{userappdata}\train"" ""DBASE"""; WorkingDir: {tmp}; StatusMsg: Install BDE Alias
;Filename: {tmp}\PLUS1031Runtime-b2504_ALL.exe; Parameters: "-s -a Runtime=""{pf}\dBASE\Runtime"" BDE=""{cf}\Borland\BDE"" Silent -sr"; StatusMsg: Installing dBASE Runtime and BDE...
Filename: {app}\tcos.exe; Description: Now start TCOS; Flags: nowait postinstall skipifsilent


[_EndOfScript]
; © dBase Portions by Jonny Kwekkeboom © 2002-2017
; Visual dBase, dB2K, dBase SE and dBase Plus © dataBased Intelligence.Inc Homepage: http://www.databi.com/
; dQuery for Delphi,C++,dBASE PLUS © dataBased Intelligence.Inc see also Homepage: http://www.dQuery.com/

;[Code]
;var FinishedInstall: Boolean;

;procedure InitializeWizard();
;begin
;  FinishedInstall:= false
;end;

procedure CurPageChanged(CurPageID: Integer);
begin
  dBase_CurPageChanged(CurPageID); {INFO: Added for dBase Runtime start}
  if CurPageID = wpFinished then FinishedInstall:= True;
end;

procedure DeInitializeSetup( );
var ErrorCode: Integer;
begin
  if FinishedInstall then
    #if VER >= 0x05000100
      ShellExec('open',ExpandConstant('{group}'),'',ExpandConstant('{group}'), SW_SHOWNORMAL, ewNoWait, ERRORCODE);
    #else
      InstShellExec(ExpandConstant('{group}'), '', '', SW_SHOWNORMAL, ERRORCODE);
    #endIf
end;

function InitializeSetup(): Boolean;
var S: String;
begin
(** Create a Mutex so we can not double call this Setup.exe file **)
  S:='{#AppName}';
  Result:= true;
  if CheckForMutexes(S+'_SetupMutex')=false
  then Createmutex(S+'_SetupMutex')
  else Result:=False;
end;

#ifdef dBaseRuntimeInstDir
procedure DeinitializeUninstall();
begin
  dBase_DeinitializeUninstall();  (** INFO: Added for dBase Runtime uninstall **)
end;
#endif