Based on discussion in the Changes Topic there are old Setup Builder Clarion Accessory installers that work with a maximum of Clarion 8, 9 or 9.1.
Attached is a simple Clarion program “Fake Setup Clarion 9” that creates the 9.0 Registry Key and Folder that Setup Builder looks for. I also included a Version 8. Open the Project CLW and change the folder RootPath STRING('C:\Clarion9_Fake')
, then build and it runs like this:
Bo’s setup writes to C:\Users\Public\Documents\SoftVelocity\Clarion9\Accessory
under \Comsoft7\BoTpl 4.4\BCLabels
so if that folder does not exist I open Explorer to Public Dcouments and a Message tells you to make \SoftVelocity\Clarion9\Accessory
. I tried to MkDir but it always failed, even running as Admin
That’s it. When its done you have the registry key pointing to your X:\Clarion9_Fake folder which has been created.
I ran this and then installed BoTpl44SU.exe into Clarion9_Fake with I zipped and attached BoTpl44SU_Installed.zip (2.9 MB)
Fake Setup Clarion 9 or 8: FakeSetupClarion9or8.zip (7.9 KB)
Here is a code excerpt of how it works (a PUTREG and Make Dir):
VersionNo STRING('9.0') !FYI see Clarion9 below in C:\Users\Public\Documents\SoftVelocity\Clarion9
RootPath STRING('C:\Clarion9_Fake') !Written to Registry HKLM SOFTWARE\...\Uninstall InstallLocation
RegKeyInstaller STRING('{{905A4CB0-90B8-11E2-3D6C-299385554AE1}') !9.0
UninstallPath STRING('SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall') !+ \{hhhhhh-...
InstallLocation STRING('InstallLocation')
PublicClarion STRING('SoftVelocity\Clarion9\Accessory') !In C:\Users\Public\Documents\
TestGetReg = GETREG(REG_LOCAL_MACHINE,UninstallPath &'\'& RegKeyInstaller,InstallLocation)
IF TestGetReg THEN TestGetReg='||**** InstallLocation EXISTS in Reg = "' & CLIP(TestGetReg) & '" ****'.
CASE MESSAGE('This will setup a fake Clarion install for Setup Builder '&|
'to find.'&|
'|| Version: <9>'&VersionNo&|
'| Root Path: <9>'&RootPath&|
'| Reg Key: <9>'&RegKeyInstaller&' '&|
'| Reg Path: <9>'&UninstallPath&' '&|
'| Reg Name: <9>'&InstallLocation&' '&|
CLIP(TestGetReg) & |
'||This will make the folders and registry keys.'&|
'|You must have "Run as Admin" to write to HKLM.', |
'Fake Clarion Setup', ICON:Question, |
'Setup Fake|Cancel', 2)
OF 1 ! Name: Setup Fake
OF 2 ; RETURN ! Name: Cancel (Default)
END !CASE
MakeDir(RootPath,'')
IF ~EXISTS(RootPath) THEN
Message('Failed to MakeRootDir ' & RootPath,MsgCaption)
RETURN
END
!-----------------------
!BoTPL writes to C:\Users\Public\Documents\SoftVelocity\Clarion9\Accessory\Comsoft7\BoTpl 4.4\BCLabels
PublicDocsFolder = CLIP(FolderCls.ISystemFolder.GetDir(SV:CSIDL_COMMON_DOCUMENTS))
IF ~PublicDocsFolder THEN
Message('Odd SV:CSIDL_COMMON_DOCUMENTS not found',MsgCaption)
ELSIF ~EXISTS(PublicDocsFolder &'\'& PublicClarion) !C:\Users\Public\Documents\SoftVelocity\Clarion9\Accessory
RUN('Explorer.exe /e,"' & PublicDocsFolder &'"')
CASE MESSAGE('Explorer is opened to: '&PublicDocsFolder&|
'||In Public Documents YOU must make the below sub folders that some '&|
'installs update:'&|
'||Under: ' & PublicDocsFolder &|
'|Make: ' & PublicClarion &|
'|', MsgCaption, ICON:Asterisk,'I Made Dirs|Cancel|Ignore',,MSGMODE:CANCOPY)
OF 1 ! Name: I Made Dirs
IF ~EXISTS(PublicDocsFolder &'\'& PublicClarion) THEN STOP('Folder does not exist ' & PublicDocsFolder &'\'& PublicClarion).
OF 2 ; RETURN ! Name: Cancel (Default)
END !CASE
END
!-----------------------
IF PUTREG(REG_LOCAL_MACHINE,UninstallPath &'\'& RegKeyInstaller,'InstallLocation', RootPath, REG_SZ )
Message('PUTREG failed error ' & Error() & |
'||'& UninstallPath &'|'& RegKeyInstaller &' ' & InstallLocation & '|'& RootPath,MsgCaption)
RETURN
END
TestGetReg = GETREG(REG_LOCAL_MACHINE,UninstallPath &'\'& RegKeyInstaller ,InstallLocation)
IF ~TestGetReg THEN TestGetReg='GETREG Error ' & ERROR().
IF TestGetReg <> RootPath THEN
Message('PUTREG ' & InstallLocation & ' appears to have Failed||Wrote: ' & RootPath &'|ReRead: '& TestGetReg ,MsgCaption)
END
MakeDir(RootPath,'Bin') !Setup a few assume Install will do the rest
MakeDir(RootPath,'Accessory') !BO worked fine with just BIN setup
MakeDir(RootPath,'Accessory\libsrc')
MakeDir(RootPath,'Accessory\libsrc\win')
MakeDir(RootPath,'Accessory\template')
MakeDir(RootPath,'Accessory\template\win')
Message(VersionNo & ' all setup in ' & RootPath, MsgCaption)
RETURN
Bo TPL Setup lists my Fake 8 and 9