image:RMHI_logo
rmhiherbal.org
[RMHI Home]
[HerbalThinkTCM software] [Tutorials]
[RMHInet] [Courses/Certification] [FAQ]
[Articles] [About]
[Follow] [Contact]

— updated 2020-12-13

image:herbal_art_1

Herbalists' BootCamp
Tutorial #2-supplement:  
Common user errors, known OS problems

by Roger W. Wicke, Ph.D.
These BootCamp tutorials will help you get started using the HerbalThink-TCM software, ensure it is installed correctly, demonstrate how to use important features and modules, and teach you basic principles of Chinese herbology that you can begin applying practically. Successful completion of this series is required for admission to the RMHInet brainstorming network and to our professional courses.

Copyright ©2016-2020 by RMH-Publications Trust; all rights reserved.

Jump to another BootCamp tutorial:
#1: Introduction, Download #2: Setup and Documentation #3: Self-Study Reference #4: Herbal Tutor #5: Pulse Simulator #6: CaseQuery #7: AutoSage-TCM #8: Completing member/admission requirements

Subtopics on this page…

 

Tutorial #2-supplement:   Common user errors, known OS problems

The vast majority of known user errors and problems occur on the Windows operating system.

 

Windows

 

User not decompressing ZIP file as per instructions

On Windows, it is possible to navigate the contents of a ZIP file without decompressing it. Unfortunately, this can lead to a lot of confusion and user error. The original ZIP file/folder can look very similar to the decompressed folder, and if you attempt to run the software from the original, compressed ZIP folder, it may often fail to run correctly, resulting in error messages within the Console usually stating that a particular file could not be found.

The vast majority of our user support problems with Windows is due to this single issue, and the solution is to be sure you are following the installation instructions exactly:

image:Windows_ZIP_file_decompress_error

 

"Could not open/create prefs root node..."

20171108: Recently, I've become aware of a relatively rare error that apparently happens only on Windows systems that have never had a version of Java installed previously. In such cases, when you attempt to run HerbalThinkTCM or CaseQuery, you will receive the following type of error message and the software will not run:

java.util.prefs.WindowsPreferences <init>
WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs
at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.

The fix to this error is to manually create the missing file object by performing the following steps:

  1. Log in to an administrative user account to do the following:
  2. Go into your Start Menu and type  regedit  into the search field.
  3. Navigate to path  Computer\HKEY_LOCAL_MACHINE\Software\JavaSoft 
    (Windows 10 seems to now have this here:  Computer\HKEY_LOCAL_MACHINE\Software\WOW6432Node\JavaSoft 
    )
  4. Right-click on the  JavaSoft  folder and click on  New -> Key 
  5. Name the new key  Prefs . You should now be able to launch the HerbalThink-TCM software without errors.

Oracle, the makers of Java, have supposedly been aware of this error for several years, but had given it low priority because it only happens on a small number of systems which do not have Java pre-installed. (For this reason, our installation instructions for Windows now include a recommendation that you first install a version of Oracle Java on your system before installing HerbalThink-TCM.)

If you encounter this error, please contact your assigned BootCamp tutor if you need assistance.

 

Tiny, unreadable windows

A few Windows 10 users have complained of program windows appearing very small such that they are unreadable. Here is what I found by doing an Internet search and reviewing what Oracle and other websites have said about this problem.

The problem happens when the user's computer is running Windows 10 with a high-DPI (dots-per-inch) monitor. Normally, the operating system, Oracle's Java JRE, and the Java application must all coordinate/communicate with each other so that application windows are sized and rendered correctly based on screen size, resolution, and other system properties. Unfortunately, this does not always happen. Oracle's Java 8 has a bug in it that declares it to be "high-DPI-aware" when, in some cases, it is not. This apparently is the case with the HerbalThink-TCM software. Supposedly, according to Oracle, this problem has been fixed in Java 9, and we are looking into incorporating Java 9 into a future release of HerbalThink-TCM.

Until we upgrade to Java 9, according to several websites I read, there is a simple fix, outlined below. I have not fully tested this, as I do not use any high-DPI monitors, but I did at least verify the procedure below is correct for my Windows 7 system:

  1. First quit any HerbalThink-TCM applications.
  2. Navigate to the following file within your HerbalThink-TCM package:
          herbalthinktcm\jre-windows\bin\java.exe
    (If file extensions are set to 'hidden', the preceding file will appear as  java .)
  3. Right-click and select  Properties .
  4. Select the  Compatibility  tab.
  5. Check  Override high DPI scaling behavior .
  6. If the  Scaling performed by:  option-field is available, choose  System .

When you launch HerbalThink-TCM or CaseQuery applications, windows should now scale correctly. If not, you may need to reboot your system for changes to take effect.

For this to work, you also need to ensure that the HerbalThink-TCM  Preferences...  are set correctly, as in the image below:

image:HTprefs_herbaltutor
 

Linux:   We have not yet had any users complain of this problem on Linux, but in case it does arise, the following may work for Linux systems running a high-DPI monitor:
If you can add parameters to the java shell script that launches the application, you can use the option -D to pass a value for the  sun.java2d.uiScale  property to specify a scaling factor for Java2D. This will scale your application. The scaling factor value is a double. Make sure that you pass this option to the java binary itself, not the launched Java application.
Example:   to launch xxx.jar with a UI scaling factor of 2.5:
    java -Dsun.java2d.uiScale=2.5 -jar xxx.jar
If you experience this problem on Linux, ask your assigned tutor for help with the preceding.

 

Mac OSX

 

Problem installing legacy Java

Before I get into the mechanics of this problem, let me give you some background. I have used Mac OSX as my primary development platform for many years. Ten years ago it was easy to use, efficient, secure, and stable. In my opinion, each major OS upgrade from Apple has added greater complexity at the expense of reliability and ease-of-use. When Apple abandoned its own Java development and lost out to its competitor Oracle, Apple seems to have grudgingly accommodated Java developers, making end-users jump through a series of semi-hidden steps in order to install Java desktop apps.

Colleges and universities rely on Java for developing educational software for their students, because it offers a means to avoid the never-ending upgrade treadmill that otherwise plagues both developers and end-users on Windows (-.exe files) and Mac OSX (-.app files). College professors cannot afford to constantly develop updates for their course software every time there is a major OS upgrade. OS upgrades are a major reason why many of your commercial applications "break" and must be upgraded. It is a nice racket for Microsoft, Apple, and the major software companies, but a huge waste of time and resources for everyone else. Java offers smaller software developers and users a way to almost entirely circumvent this racket: even after you upgrade your OS, Oracle Corporation's JREs are virtual environments that allow old Java apps to continue running on the latest versions of Mac OSX, Windows, and Linux.

The educational market for Apple computers is huge, so Apple knows it cannot afford to thumb its nose at all of us. So, instead, they simply make its educational users jump through a few extra steps to get Java apps to install correctly.

Here is the latest procedure that Mac OSX users must follow when installing Java apps that require legacy (older) versions of Java.
If, on attempting to launch HerbalThink-TCM the first time, you get the message, "You must install legacy Java" — stop. You should not need to install anything, because the version of Java that you need is already present, installed, and ready-to-run within your HerbalThink-TCM folder (in the subfolder "jre-[os]").
Instead, refer to the following instructions, beginning at step 3:

  • Using Java SE on macOS Catalina
    "3. Open 'System Preferences', click 'Security & Privacy', then click the 'General' tab. In the section 'Allow apps downloaded from:', the following text appears: "JRE[...]" was blocked from use because it is not from an identified developer. Click the 'Open Anyway' button " — and proceed with any subsequent steps that are indicated.
  • Safely open apps on your Mac
    "How to open an app that hasn’t been notarized or is from an unidentified developer:
    In macOS Catalina and macOS Mojave, when an app fails to install because it hasn’t been notarized or is from an unidentified developer, it will appear in System Preferences > Security & Privacy, under the General tab. Click 'Open Anyway' to confirm your intent to open or install the app.
 

This app is from an unidentified developer

Apple makes its certified developers go through a series of complicated steps using what is, in my opinion, bloated and bug-ridden software — Xcode. Like RMHI, many Java developers of educational software refuse to participate in this scheme.

To install apps from unidentified developers:

  • Safely open apps on your Mac
    "How to open an app that hasn’t been notarized or is from an unidentified developer:
    In macOS Catalina and macOS Mojave, when an app fails to install because it hasn’t been notarized or is from an unidentified developer, it will appear in System Preferences > Security & Privacy, under the General tab. Click 'Open Anyway' to confirm your intent to open or install the app.




Go back to   Tutorial #2:   CaseQuery














image:END