Ch, ch, ch, Changes . . . tracking for APP embed code

I have some BAT files on GitHub (link below) that make a Backup with a Date-Time stamp. I used to keep individual dated folders like you have, but that can grow to a lot of folders and files. These BATs copy to One Folder named _Bak_\Bak_Last, then Zip that folder to a file with a date stamp. Zip is done with PowerShell.

For little projects it gives me a quick way to backup without having to setup version control.

image

3 Likes

Backup4All is pretty nice too. I use that and git.

Thank you for sharing.

Is there any way of getting just the hand-coded changes to embed points, rather than all the generated code?

Perhaps you could take a look at a .TXA or .APV (app export)

Hi Donn,

The BoTPL templates have ‘embeds all out’ that works by exporting procedures to TXA and then parsing the TXA looking for [EMBED] sections and exporting them to .EMB files
You could use that or adapt the code.

BoTPLs can be found on IceTips

https://www.icetips.com/downloads.php?dl=PAR2

1 Like

Thanks Graham
I downloaded “BoTpl C9.1 (4.4) Misc template collection” but the installer doesn’t recognise my C11 installation. I don’t have anything older than C10. I will try to contact the site owner.

That installer probably wants to help you by putting the files in the right folders (Accessory Template and LibSrc) and then register the templates.

I would try to make a C:\ClarionBO folder and try get it to install into it and then manually copy the files to C11. Then register TPLs. Show some screen captures of the installer.

Thanks for the suggestiont. Even copied the installer directly into the C:\ClarionBO folder. It still reports “No Supported Clarion versions were detected”. :cry:

BoTPL was written by Bo Schmitz. He passed away quite a few years ago.
IceTips is @ArnorBld site. He is just hosting the old installer.

Maybe someone who has a “valid” Clarion installed could install it and gather the files based on the .log file.

This is why ‘Installers’ that detect Clarion versions are such a bad idea.

Anyway I’ve installed in into a sandbox (I have Clarion 9.1 installed) and attach a .ZIP with all the files that were created. You’ll need to place the bits into the correct places below
%ClarionRoot%\Accessory
and manually register the templates.

BoTPL.zip (2.9 MB)

4 Likes

Hi Graham,
Glad I checked this thread as I was just about to do that on a clean VM :slight_smile:

Best regards,

It would be nice to know what criteria the Installer was checking to make a simulated install that so older installers can work. I would guess it is checking the Registry for the SV Keys that contain the Root folder, and verifies the folder exists.

IIRC it was Bruce the published a spec for how 3rd party installers should work?

It would be easy to create the Reg Keys and folder for 9.1 with a little Clarion program. I have a tool that reads the registry keys and finds installs.

That is extremely helpful. Thank you

Hi Carl,

Unfortunately it’s not that simple :unamused:
Installers can use Clarion version auto-detection which looks for a GUID in the registry.
These GUIDs don’t appear to be stored in the Registry Keys that you utility looks at.

This has come up recently in the softvelocity.clarion.addons.setupbuilder newsgroup because the GUID for Clarion 11.1 is apparently the same as the GUID for Clarion 11
See the post there, subject “Install that knows about C11.1”
I’m trying to get a list of the GUIDs and where they’re stored from Friedrich but there seems to be reluctance to reveal them.

Friedrich has thoughtfully provided a list of the recent GUIDs for Clarion 7 upwards

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}

You create a key below…
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
with the GUID and then add a value for InstallLocation

eg…

root string(‘Software\Microsoft\Windows\CurrentVersion\Uninstall’)
Clarion7 string(’{{01D4BB50-BD48-11DB-6784-067D01F418BE}’)

putreg(REG_LOCAL_MACHINE,root & Clarion7,‘InstallLocation’,‘c:\temp’)

Remembering to run the app elevated so it writes to HKLM correctly.

Tried the above, initially on my machine Bo’s installer didn’t list Clarion 7, after running and adding the GUID Clarion 7 was detected.

1 Like

I ran ProcessMonitor on the BO Tpl 9.1 installer, the screen capture is below. It shows it finds 9.1 by reading GUID Registry key to get the InstallLocation

10:02:09.1874616 AM	BoTpl44SU.exe	26264	RegQueryValue	
HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{5FBB5960-7EDC-11E3-3D6C-05B078044AE1}\InstallLocation	
SUCCESS	Type: REG_SZ, Length: 26, Data: D:\Clarion91

That GUID matches what I see in the 9.1 Uninstall log. Other RegMon RegQueryValue entries match to 9.0 and 8.0 GUID’s from my logs. I did not install them on this machine but I have the folders and logs, so the BoTpl setup did not find 8 and 9.0.

So it would be easy to make a 8,9,9.1 Fake Installer to create those keys (PUTREG) and the empty folders (MkDir). The remaining question is what is being read from ClarionProperties.xml and does it matter? I’m sure Fred would tell us. I would guess it is the BoTpl product looking for its own info.

I used this above info to make a Fake Clarion 9 and it worked to install BoTpl