Fake Setup Clarion 9 to install older Accessory Setups like BoTpl

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

Fred posted all the GUID keys in Softvelocity.clarion.addons.setupbuilder. They match what I found in my uninstall logs. I did not have the version 7

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

These are the Clarion GUIDs:

* Clarion 7 - {01D4BB50-BD48-11DB-6784-067D01F418BE}
* Clarion 7.1 and 7.2 and 7.3 - {479A07C0-EF05-11DE-6DF1-18371B021649}
* Clarion 8 - {19336650-F595-11DF-72AE-06609D572CD6}
* Clarion 9 - {905A4CB0-90B8-11E2-3D6C-299385554AE1}
* Clarion 9.1 - {5FBB5960-7EDC-11E3-3D6C-05B078044AE1}
* Clarion 10 - {9B04EBD0-8ACA-11E4-4823-04D0CF9C0029}
* Clarion 11 - {40387FE0-70B9-11E8-41BB-330DD2345AF1}  also 11.1
* Clarion 12 - {8B14DD30-5F0D-11EA-72AE-145397C02CD6}  

11.1 uses the same GUID Product ID as 11 which makes for some confusion when both are on the same machine. I don’t get it, I need them to coexist. There is a discuss in Softvelocity.clarion.addons.setupbuilder subject “Install that knows about C11.1”. SB since 2015 can be run with /DisableAuto “option also lets you support different Clarion build
of the same version”.

This post is about getting old stuff installed although you could make a Fake 10 or 11 install to test. Open a new post to discuss 11.1 issues more.

If you want to add C11.1 for completeness, it is {40387FE0-70B9-11E8-41BB-330DD2345AF1}

is there any way to get faked 6.3 install? or how do I fix Clarion 6.3 installation (SB doesn’t see it)

My C6 reg settings, dont know if SB is looking for actual files though or using registry setting paths.

C6 Reg Setting.zip (5.4 KB)

Hi,

First of all, the installer has to be C6-enabled to detect Clarion 6. If C6 detection is not enabled, the installer can’t find it.

The installer uses a combination of checks for “c60ee.exe”, “c60pe.exe”, and “C60RUNX.DLL” to detect the correct Clarion 6 version and installation location.

Friedrich

Friedrich,

Sure, it is C63-enabled, and it works fine on my PC but not on the client’s PC.

There is often an issue when the client simply copies the Clarion 6 installation files instead of installing it properly using the setup program.

Which means, no registry settings…

IIRC, there was a tool for this (c6_vista_fix.exe). It’s dated 9-OCT-2013. I have to find the source code in my backups for it to see what exactly it does

Friedrich