CHT (Clarion Handy Tools)
Templates, Classes, Utilities, Apps, Projects

MARCH 15, 2021

Build 25A.02.00 Now Available

MULTIPLE CLARION INSTALLS UTILITY
HNDCLARIONDRIVE.EXE -- USER INTERFACE VERSION

The functioning of HNDCLARIONDRIVE.EXE remains the same as the previous release.

But for the DOS-PROMPT inadept among you, we've added for this update, a user interface which pops up when you launch the application from a desktop icon or by simply calling the executable by name or using the --help parameter.

When in "INTERFACE MODE" all of the features in the application appear as buttons on the interface window. Application output appears in a display area below the button/input field area.

A small note of caution, because this is so easy to use, be careful that you do not invoke the --SET10 and/or --SET11 functions with unintended values in the "Clarion Root" field. However, goofs are easy enough to set back to the correct or intended value by changing the "Clarion Root" field followed by a click on the --SET10 or --SET11 button, as appropriate.

REINSTATED HNDCODESIGN.APP

HNDCODESIGN.APP is back, better and easier than ever! You are able to create a viable, code-signing certificate, install it on your dev machine and begin using it in a few minutes.

The app comes with an empty HNDCODESIGN.TPS when you first launch this. We do not ship this file for obvious reasons as once you create your certificate(s) they are stored here for future use, certificate renewal and re-use.

When the application is first run, all of the correct values for successful code-certificate creation are completed correctly for you except those valuesrelevant to you. These are:

************************************************************
*** Common Name (CN): CERT_NAME_HERE_NNN
************************************************************
Follow the suggested format, UPPER_CASE with underscores instead of spaces.

************************************************************
*** E-Mail (E): email@youremail.com
************************************************************
Again follow the suggested format, lower case.

************************************************************
*** Organization (O): YOUR ORGANIZATION NAME
************************************************************
Follow the suggested format, UPPER CASE, spaces OK.

************************************************************
*** Country Code (C): (field is initially blank)
************************************************************
Insert your two letter country code in UPPER CASE. If you're not sure of yourslook it up here: http://www.modemsite.com/56k/_ccodes.asp.

************************************************************
*** Certificate Password: (P) (field is initially blank)
************************************************************
No hard and fast rules here other than those recommended for all passwords. No pet names, kids birthdates etc. Content should be alpha-numeric and contain at least one or two extended characters. This field is saved in the data table and is stored encrypted in the certificate installed on your dev machine.

The field has an "eye" icon beside it in case you need to take a peek after you've typed it. This password is saved on the clipboard for use during the creation process. Several times during creation the MAKECERT.EXE process asks you to confirm the password. Use CTRL-V to paste it from the clipboard.

No remembering required. The same applies next year when you re-create the certificate with a new expiration date.

You can scroll to past certificate configurations using the "First" "Last" "Next" and "Previous" buttons. Changes made to any certificate configuration must be followed by the "Accept" button to save it into the HNDCODESIGN.TPS.

When an existing certificate is created using the "Create" button and it already exists, the app warns you about this. No harm done as "Create" will simple overwrite and "RECREATE" after the warning using the new or old settings as stored in the HNDCODESIGN.TPS.

************************************************************
*** Valid To: (suggested expiry date completed for you)
************************************************************
We suggest you leave this date set as provided to one year from certificate creation. New signing rules were instituted that limit the length of signing certificates to 12 months.

After you've created and installed your certificate you can always come back to it using HNDCODESIGN.APP after the year has nearly elapsed, change the date forward and re-create, re-install the same certificate with a new forward date.

All other fields, are check boxes and radio buttons and these are completed for you using the most optimal settings. Leave these set as is.

Final Step

When all fields under you control have been completed, click the "Accept" button. Then click the "Create" button.

Next there will follow a short pause, while the MAKECERT.EXE process creates the certificate. The first window to pop up is labelled "Create Private Key Password".

Two fields called: "Password" and "Confirm Password" require you to CTRL-V (paste) the password, followed by a click on OK.

Next a second dialog labelled: "Enter Private Key Password" appears. As before, use CTRL-V to paste the password into the provided field, again followed by a click on the OK button.

Next, a security warning window appears asking if you really want to install this certificate. Click "YES"

The certificate is now installed to your certificate root, but not sufficiently configured for easy "by-name" (/n) signing from your apps.

This Step Repeats

Next to appear is the "Welcome to Certificate Import Wizard" dialog Leave it set to "Current User" and click "NEXT".

The import file field on the next screen is configured for you, leave it as is an click "Next".

The password field that appears next requires you to confirm the password. Use CTRL-V to paste it into the provided password field.

Now click the "Next" button.

The dialog window following this requires no changes. Leave it set to "Automatically select a certificate store" and click "Next"

Now click "FINISH"

Since the certificate is imported to two separate stores, the above steps will partially repeat from where I've marked it with "THIS STEP REPEATS" Complete this in the exact same manner until it exits with a completed message.

YOU'RE DONE!

You're done. The certificate is installed and ready to be used to sign your apps ready for distribution. Test it now by pulling up one of your apps or one of our demo apps and completing the cert name on the global "Handy Code Signing Extension" template and checking the "Enable this feature" checkbox.

CHT provides several different, mutually exclusive, ways to sign your apps with certificates created using HNDCODESIGN.APP or certificates purchased from some "official" source.

THREE WAYS TO SIGN
YOUR APPS USING CHT
TEMPLATES AND UTILITIES

*** 1) Sign apps individually from the IDE as you compile them using a global template called:"CHT Handy Code Signing Extension".

All or most of our demo apps come pre-configured with this template installed but the "Enable this feature" checkbox is unchecked at our end before we ship the app, since the "Certificate Name" needs to be changed from our certificate "CLARION_HANDY_TOOLS" to one that you own or have created with HNDCODESIGN.APP before you check the "Enable this feature" checkbox.

*** 2) From our CHT Clarion Project Builder (HNDCMP.APP)

As you bulk-compile your apps, you can sign each during the build process. To do that you must complete the "Post Compile" dialog with your certificate name and select a time-stamping server.

*** 3) From "CHT Code Signing Utility" (HNDBULKSIGNER.APP)

You can sign or re-sign your binaries (EXE, DLL, OCX) files from scratch whether they were signed before by some other method or not.Complete the certificate field name provided, select your apps into the provided browse by completing the file extension filter click "select all" followed by a click on the "Lightning Bolt" button. You can check results by clicking the "LOG" or "ERR" buttons to display success results (LOG) or error messages, if any (ERR).

You should be aware that all code-signing requires a working internet connection to be present. The process calls out to one of half-a dozen user-selectable time-stamping servers.

NOTE:
We're through most of the first quarter of 2021, and the next build, "25B.00.00"marks the 2nd quarter build for 2021, I estimate we're only three weeks away from a that new release. Talk to you then. ;-)

MARCH 1, 2021

Build 25A.01.00 Features Review

MULTIPLE CLARION DEVELOPMENT ENVIRONMENTS
ON PLUG-IN DRIVES
USING HNDCLARIONDRIVE.EXE

This HNDCLARIONDRIVE.EXE utility can be found in the /accessory/bin/ directory along with numerous other CHT support utilities provided for you pre-compiled. All the ones that start with HND* are Clarion apps and have source code provided in the form of .APP files in the /hndapps/ directory. There is one exception to this in the case of HNDCLEAN.EXE. It is a C# app like the CHTSNAP series of executable utilities. We named HNDCLEAN.EXE quite a while ago, before we adopted the "CHTSNAP" naming convention a few years back for our C# utilities.

The purpose of HNDCLARIONDRIVE.EXE is to tell your computer via the registry where Clarion 10 and/or Clarion 11 (or both) are installed. The intended purpose is to let you install multiple C10 and/or C11 environments on alternate drives.

We have multiple Clarion environments installed on type-3 USB drives. We don't suggest using a USB stick, since some of these can be sluggish depending on the stick type and USB port speed. Not all USB ports are equally fast.

We're talking about a real, USB plug in hard DISK, available, for example, from AMAZON for around $80.00 Canadian. Probably cheaper in the USA. These are fast, and reliable. We've been using 3 of them for the last 5 years without them ever missing a beat.

This is most convenient for maintaining numerous static, and perhaps differently configured, Clarion environments for apps that you won't be touching for a while.

Some of you set up VIRTUAL Windows environments for this purpose, and while VM's have been, up to now, the only practical way to do this, short of buying more computers, the technique described here, using HNDCLARIONDRIVE.EXE, is as good or better and a lot quicker and easier.

If you bother to learn to use the /ConfigDir=x:\cxx\data\options\ Clarion command-line option with your multiple Clarion environments, these Clarion instances can be set up to differ in "options" settings such as languange, appearance, fonts, coding, text editor, and so on. The IDE's Tools-Options settings are, with /ConfigDir, stored locally with the currently running IDE.

Otherwise, without the /ConfigDir= option, Clarion 10 and 11 use a global area, as below:

Users\Name\AppData\Roaming\Softvelocity\Clarion\10.0\
Users\Name\AppData\Roaming\Softvelocity\Clarion\11.0\

IDE instances that share configuration values located in one of these directories will "look", "feel" and "behave" identically. You may, of course, want it to work that way and avoid the /ConfigDir= option. But the option to configure each separate Clarion IDE separately, is available, and entirely your choice.

The /ConfigDir= option causes the IDE to store it's "look", "feel" and "behaviour" settings individually along with the IDE in:

Root\data\options\

THE --INFO10 PARAMETER

Before you attempt to use this new HNDCLARIONDRIVE.EXE utility, ask it for information about your present development computer and it will give you the registry values used by Clarion (10 and/or 11) and the CHT templates.

From a DOS prompt, configured AS ADMIN, switch into the /accessory/bin/ directory and type as follows:

HNDCLARIONDRIVE --info10 (for info about your Clarion 10 installation)
Here is what we see as a result of the above "--info10" inquiry:

** HNDCLARIONDRIVE.EXE ** - Version: CLARION DRIVE CONFIG [25A.01.00] **
© 1996-2021 - 25 Years Supporting Clarion Developers

REG_CURRENT_USER,SOFTWARE\CHToolsAll\C10PATH=c:\c10\
REG_LOCAL_MACHINE,SOFTWARE\CHToolsAll\C10PATH=c:\c10\
REG_CURRENT_USER,SOFTWARE\CHToolsAll\HNDAPPSLOCATIONC10=c:\c10\hndapps\
REG_LOCAL_MACHINE,SOFTWARE\CHToolsAll\HNDAPPSLOCATIONC10=c:\c10\hndapps\
REG_CURRENT_USER,SOFTWARE\CHToolsAll\INSTALLPATHC10=c:\c10\
REG_LOCAL_MACHINE,SOFTWARE\CHToolsAll\INSTALLPATHC10=c:\c10\
REG_CURRENT_USER,SOFTWARE\SoftVelocity\Clarion10\root=c:\c10\
REG_LOCAL_MACHINE,SOFTWARE\SoftVelocity\Clarion10\root=c:\c10\

** HNDCLARIONDRIVE.EXE ** - Version: CLARION DRIVE CONFIG [25A.01.00] **
© 1996-2021 - 25 Years Supporting Clarion Developers

THE --INFO11 PARAMETER

HNDCLARIONDRIVE --info11 (for info about your Clarion 11 installation)
Here is what we see as a result of the above "--info11" inquiry:

** HNDCLARIONDRIVE.EXE ** - Version: CLARION DRIVE CONFIG [25A.01.00] **
© 1996-2021 - 25 Years Supporting Clarion Developers

REG_CURRENT_USER,SOFTWARE\CHToolsAll\C11PATH=c:\c11\
REG_LOCAL_MACHINE,SOFTWARE\CHToolsAll\C11PATH=c:\c11\
REG_CURRENT_USER,SOFTWARE\CHToolsAll\HNDAPPSLOCATIONC11=c:\c11\hndapps\
REG_LOCAL_MACHINE,SOFTWARE\CHToolsAll\HNDAPPSLOCATIONC11=c:\c11\hndapps\
REG_CURRENT_USER,SOFTWARE\CHToolsAll\INSTALLPATHC11=c:\c11\
REG_LOCAL_MACHINE,SOFTWARE\CHToolsAll\INSTALLPATHC11=c:\c11\
REG_CURRENT_USER,SOFTWARE\SoftVelocity\Clarion11\root=c:\c11\
REG_LOCAL_MACHINE,SOFTWARE\SoftVelocity\Clarion11\root=c:\c11\

** HNDCLARIONDRIVE.EXE ** - Version: CLARION DRIVE CONFIG [25A.01.00] **
©1996-2021 - 25 Years Supporting Clarion Developers

STEPS TO CREATING A DEDICATED
CLARION 10 USB INSTALLATION

You can create a USB drive dedicated to say, Clarion 10, by following these steps:

*** FIRST

Install Clarion 10, with the standard Clarion 10 installer run (AS ADMIN) for example, onto the new USB drive in say, "h:\c10\" The drive letter and directory name used here are just examples.

Doing the above will overwrite some registry keys with the new Clarion 10 installation location stored on your machine.

HKEY_CURRENT_USER\SOFTWARE\SoftVelocity\Clarion10\root\
REG_LOCAL_MACHINE\SOFTWARE\SoftVelocity\Clarion10\root\

Your default c:\c10\ installation back on drive "C:" is now compromised because any Clarion IDE can only truly be installed once on any given machine due to this regstry-write operation performed by the Clarion installer.

Bet some of you didn't know any of this and you may even have have been cross-copying Clarion installs to other directories and/or other machines or drives with some unsatisfying results.

The Clarion root registry node now points to h:\c10\ and your CHT installation nodes still point to c:\c10\. These settings are what you would see by issuing an --info10 request as this stage:

HNDCLARIONDRIVE --info10

REG_CURRENT_USER,SOFTWARE\SoftVelocity\Clarion10\root=h:\c10\
REG_LOCAL_MACHINE,SOFTWARE\SoftVelocity\Clarion10\root=h:\c10\

The Clarion "root" now on drive "h".

This is because SV's installer changes Clarion's root registry entry to wherever you last installed it. Installing at h:\c10\ decidedly breaks the previously installed Clarion 10 or Clarion 11 located on c:\c10\.

All other settings related to this Clarion 10 installation are still pointing as before to the c:\ drive.

REG_CURRENT_USER,SOFTWARE\CHToolsAll\C10PATH=c:\c10\
REG_LOCAL_MACHINE,SOFTWARE\CHToolsAll\C10PATH=c:\c10\
REG_CURRENT_USER,SOFTWARE\CHToolsAll\HNDAPPSLOCATIONC10=c:\c10\hndapps\
REG_LOCAL_MACHINE,SOFTWARE\CHToolsAll\HNDAPPSLOCATIONC10=c:\c10\hndapps\
REG_CURRENT_USER,SOFTWARE\CHToolsAll\INSTALLPATHC10=c:\c10\
REG_LOCAL_MACHINE,SOFTWARE\CHToolsAll\INSTALLPATHC10=c:\c10\

This is why some of you resorted to creating VIRTUAL machines, because each VM has its own, separate windows registry since VMs use an entirely different Windows 10 running environment from the host hardware.

At this point, this is where HNDCLARIONDRIVE.EXE will absolutely save the developer some grief.

*** SECOND

HNDCLARIONDRIVE --set10 h:\c10\

Typing the above command from an "ADMIN" DOS prompt points all of the necessary registry entries to the new Clarion 10 installation located on drive h:\. This is what you will see. All Clarion 10 + CHT relevant registry entries pointing to h:\c10\

REG_CURRENT_USER,SOFTWARE\CHToolsAll\C10PATH=h:\c10\
REG_LOCAL_MACHINE,SOFTWARE\CHToolsAll\C10PATH=h:\c10\
REG_CURRENT_USER,SOFTWARE\CHToolsAll\HNDAPPSLOCATIONC10=h:\c10\hndapps\
REG_LOCAL_MACHINE,SOFTWARE\CHToolsAll\HNDAPPSLOCATIONC10=h:\c10\hndapps\
REG_CURRENT_USER,SOFTWARE\CHToolsAll\INSTALLPATHC10=h:\c10\
REG_LOCAL_MACHINE,SOFTWARE\CHToolsAll\INSTALLPATHC10=h:\c10\
REG_CURRENT_USER,SOFTWARE\SoftVelocity\Clarion10\root=h:\c10\
REG_LOCAL_MACHINE,SOFTWARE\SoftVelocity\Clarion10\root=h:\c10\

*** THIRD

Now run CHTSETUPC10.EXE and it installs to, or updates to, the new Clarion 10 version located at h:\c10\. After it completes, you will have a fully runnable Clarion 10 along with a completely viable CHT installation, located on h:\c10\. The best part is that these are independent, environments with separate templates, classes, and optionally even separate IDE settings.

The --set10 command (as in **SECOND, above) additionally creates a desktop icon named, "@C10" that points to the Clarion.EXE located, in this example, at h:\c10\bin\.

You can begin using this entirely separate, isolated Clarion 10 as if it were a brand new Clarion 10 + CHT installation on a new VM or on another computer.

*** FOURTH

HNDCLARIONDRIVE --set10 c:\c10\

This sets your hardware back to your original c:\c10 installation.

REG_CURRENT_USER,SOFTWARE\CHToolsAll\C10PATH=c:\c10\
REG_LOCAL_MACHINE,SOFTWARE\CHToolsAll\C10PATH=c:\c10\
REG_CURRENT_USER,SOFTWARE\CHToolsAll\HNDAPPSLOCATIONC10=c:\c10\hndapps\
REG_LOCAL_MACHINE,SOFTWARE\CHToolsAll\HNDAPPSLOCATIONC10=c:\c10\hndapps\
REG_CURRENT_USER,SOFTWARE\CHToolsAll\INSTALLPATHC10=c:\c10\
REG_LOCAL_MACHINE,SOFTWARE\CHToolsAll\INSTALLPATHC10=c:\c10\
REG_CURRENT_USER,SOFTWARE\SoftVelocity\Clarion10\root=c:\c10\
REG_LOCAL_MACHINE,SOFTWARE\SoftVelocity\Clarion10\root=c:\c10\

Now, if you examine the properties of the @C10 icon, you'll see that it points back to the original c:\c10\bin\clarion.exe. Click that icon and everything is as it was. Nothing on c:\ has changed. If you run CHTSETUPC10.EXE now, it even installs to c:\c10\ as before, not to h:\c10\.

*** FINALLY

So that's the drill. You can create as many separate, isolated Clarion 10 or Clarion 11 installations this way using separate drive letters.

THE FULL HNDCLARIONDRIVE.EXE
COMMAND SET

The full HNDCLARIONDRIVE.EXE command set is available on demand as follows:

HNDCLARIONDRIVE --help

** HNDCLARIONDRIVE.EXE ** - Version: CLARION DRIVE CONFIG [25A.01.00] **
©1996-2021 - 25 Years Supporting Clarion Developers

This "CHT Batch Bot", HNDCLARIONDRIVE.EXE runs from the DOS prompt. It may be used by CHT Clarion developers to properly configure their computer system to establish the currently-in-use Clarion 10 or Clarion 11 installation.

While your system may have multiple Clarions installed at different paths and/or on different drives, only ONE of these Clarions may be the currently-in-use clarion installation.

Run this batch bot prior to starting your Clarion 10 or Clarion 11 IDE by passing in your Clarion 10 or Clarion 11 root directory:

HNDCLARIONDRIVE --SET10 c:\c10\
HNDCLARIONDRIVE --SET10 c:\clarion10\
HNDCLARIONDRIVE --SET11 c:\c11\
HNDCLARIONDRIVE --SET11 c:\clarion11\

HNDCLARIONDRIVE.EXE source code, because it is in Clarion .APP format, is included as a standard part of the CHT toolkit, provided both in .APP format as well as ready-to-run, in .EXE format.

HNDCLARIONDRIVE.EXE command-line parameters are as follows:

--help [ALONE]
Pops up a splash help screen.

--set10
Sets the operating location of a valid Clarion 10 version in the presence of 1 or more valid Clarion 10 versions on the system.

--set11
Sets the operating location of a valid Clarion 11 version in the presence of 1 or more valid Clarion 11 versions on the system.

--copy10
Copies Clarion 10 property files to the options area under the current Clarion root\data\options\ area.

--copy11
Copies Clarion 11 property files to the options area under the current Clarion root\data\options\ area.

--clean10
Cleans temp .XML files from the preferences area under current Clarion root\data\options\

--clean11
Cleans temp .XML files from the preferences area under current Clarion root\data\options\

--info10
Displays a file of registry settings pertinent to your currently established --set10 configurations.

--info11
Displays a file of registry settings pertinent to your currently-established --set11 configurations.

** HNDCLARIONDRIVE.EXE ** - Version: CLARION DRIVE CONFIG [25A.01.00] **
© 1996-2021 - 25 Years Supporting Clarion Developers

Contact Us

Click the link below to contact us by email.
It will start your email client with our email address inserted:

Click To Contact Us