S T R U C T O R I Z E R - User Guide
Installation > Windows

Use without installation

Download the latest version of Structorizer (Windows & Linux) from http://structorizer.fisch.lu and unzip it somewhere on your hard drive. Then simply run the contained file "Structorizer.exe".

The application will try to register the file types ".nsd", ".arr", and ".arrz" and to associate them with Structorizer in order to allow you opening Structorizer by a double-click on a file of these types later on (with the respective file already loaded into Structorizer).

If the launcher fails to establish these associations then the easiest mending is to double-click such a file and to bind "Structorizer.exe" via the dialog that will normally open: First choose to select the application from the list of installed programs and then — since Structorizer is not known to the registry — use the "Search..." button in order to locate file "Structorizer.exe" in your installation folder.

You may easily place a shortcut link on your Desktop if you right-click the file "Structorizer.exe" in the unzipped folder and then derive a link via the "Create Link" context menu item. Move the created link to the desktop, the start menu, or wherever you like, and rename it appropriately.

Trouble-shooting on start and in batch mode

If Structorizer fails to start (usually you should at least get an error message if something goes wrong) then it is most likely due to a missing or obsolete Java™ installation — remember that Structorizer is Java-based and the .exe file is just a wrapping launcher. Since Structorizer release 3.32 at least Java 11 is required! In order to find out what exactly is the problem you may open the console (e.g. by starting the "cmd.exe" program) and run the "Structorizer.bat" script file contained in the "Structorizer" directory. This way you should obtain the error description text, giving you enough hints to fix the problem. You might redirect the console output and error streams to log files directly by one of the following command lines (the first one for different log files, the second one for a common log file with both streams mixed):
Structorizer.bat 1> out.log 2> err.log
Structorizer.bat > allout.log 2>&1

(You may also have a look to section Logging but the Structorizer logging mechanism first requires Structorizer to have started at all.)

If Structorizer starts via "Structorizer.bat" without problems whereas a starting attempt via the launcher always reports the expected Java version to be missing then upto version 3.32-02 a possible explanation used to be that the launcher looked for a registry key the OpenJDK installation did not establish (see below).

The "Structorizer.bat" script is also helpful to generate source code from nsd (or arr/arrz) files or, the other way round, to derive nsd files from source files as batch task via the console or in a script (see Export source code and Import for details). Command "Structorizer.bat -h" prints a short synopsis of the possible batch command options.

Attended Installation (setup)

Download the "Windows installer with latest version" from http://structorizer.fisch.lu,  which is a setup executable with name "structorizer.exe", then execute it locally. You may get a security warning, so make sure that the shown signatured publisher (should be: "Centre de gestion informatique de l'éducation") is valid. Some Windows versions may fail to display the publisher, though. If you trust the Structorizer makers nevertheless then go ahead, or use the manual installation (see above) otherwise. The setup will next offer you to install Structorizer either just for your account (which does not require administrative privileges) or for all users:

Windows installer - mode choice

If you choose "Install for all users" then the Windows User Access Control (UAC) will request you to authenticate against an account with administrative privileges.

The installer will now present the license agreement, which you will have to accept in order to go on:

Windows installer - license agreement

Afterwards you will be asked for the installation folder. The proposal you get depends on the chosen mode (the screenshot below shows an example of an account-specific installation with the fictitious user "whoever"):

Windows installer - destination folder choice

In case of an installation for all users you will obtain a different proposal, e.g:

Windows installer - central destination folder

Now you will have the choice among three different update modes or policies (each represented by a slightly different ini file to be installed, the policy can be altered at any time after the installation via the system control, see further below):

Windows installer - update policies

Whereas the first two policies ("Always ..." and "Look ...") will consult the product homepage on each start, the third one ("Never ...") won't do so. The update request with the second policy will look like this when a differing version is detected:

Upla update dialog

Note that Structorizer itself also offers a mode to check for newer versions (see preferences), which to activate doesn't make sense with this installation type because it would be redundant with the first two policies and would circumvent the third policy no matter whether you chose it in order to accelerate start or to preserve privacy. (The Structorizer-internal check is intended for use without installation.)

In the next step you will be asked whether you want a desktop shortcut (and maybe a quick-launch shortcut, too) created. When proceeding, the setup assistant will present you an overview of the made decisions and ask you whether to go on:

Windows installer - commitment

After having finished the installation you will be asked whether to launch Structorizer immediately or simply to exit the setup.

Remember: In order to launch Structorizer now, Java (at least version 11) must have been installed. If the launcher finds no or only an obsolete Java version, then a message box like the following one might occur:

JNI error message box on obsolete Java version

Otherwise, with the launch checkbox enabled, a splash screen (see screenshot below) will appear, the bottom text line of which will inform you about the next steps, which include:

  • Testing local cache ... (is a Structorizer.jar file in place?)
  • Testing network ... (can the Structorizer homepage be accessed?)
  • Downloading ... (if the Structorizer homepage provides a newer Structorizer.jar file)
  • Starting application ...

Windows installer - download splash

After a successful installation you will find Structorizer listed in the "Programs and Features" tool of the Windows Control Panel (the screenshot below shows it on a Windows 10 installation with German locale):

About window - modify button

Alternatively, you may use the "Apps & Features" tool in the "System" category of the "Settings" menu in Windows 10 (again shown with German locale):

Structorizer entry in Apps & Features

Either way, via the "Modify" button (labelled "Ändern" in the screenshots above) you may alter the update policy mentioned above (with an installation for all users this requires an administrative role):

About window - update settings

If you want to uninstall Structorizer, you ought to do it via the "Uninstall" button from "Programs and Features" (or "Apps & Features"), no matter whether Structorizer had been installed for all users or just for your account. The only difference is whether it requires administrative privileges. The uninstaller will first ask for your confirmation:

Windows installer - uninstaller

If you don't find the Structorizer entry in the "Programs and Features" tool, however, then you may go to the installation directory and execute file "unins000.exe" (marked with a green box in the screenshot below) directly. In case the installation directory is a system folder, you will have to execute "unins000.exe" as administrator.

Windows installer - uninstaller

If you happen to be oblivious about where you had installed Structorizer, you may always consult a running Structorizer instance launched via the installed shortcut. Just open the About dialog and select the "Paths" tab — the "Installation path" is what you are looking for, e.g.:

About window - installation path

Possible trouble with OpenJDK environments

Since Oracle Inc. changed the license policy for Java, many users prefer (or were forced to use) an OpenJDK environment now. In many cases the mere unpacking of the binary package and a respective entry in the PATH environment variable as described e.g. in Tutorials24x7 may be sufficient to run Java applications. But launchers like Structorizer.exe (until version 3.32-01) may check for specific registry keys. If these are missing then the application will not start. Instead you would get an error message affirming the required Java version to be missing or inconsistent. To avoid this you should prefer an MSI installer package for the chosen free Java version (e.g. from RedHat, which requires a registration, though).

When you decided for e.g. AdoptOpenJDK (since July 2021: Adoptium OpenJDK), download the provided MSI installer for your OS version and make sure that the "JavaSoft" registry keys and the environment variable "JAVA_HOME" get involved in the installation (by default they are not!):

AdoptOpenJDK JRE Installer with registry keys

If a mere JRE (= Java Runtime Environment) happens to be available for installation then you may prefer this over a full JDK (= Java Development Kit) since it is leaner and quite sufficient to run Structorizer. A complete JDK is only needed if you want to develop Java applications yourself. As a JDK always contains a JRE, it should also do, though. Nevertheless, the Java version detection mechanism of the launcher contained in the Structorizer zip package until version 3.32-02 used only to check registry key
JRE/CurrentVersion
or
Java Runtime Environment/CurrentVersion
in HKLM/SOFTWARE/JavaSoft. Even if a full JDK installation of some OpenJDK was in place, the Structorizer.exe launcher (from the zip package) still used to complain because e.g. the AdoptOpenJDK installation only inserts "JDK" registry keys in HKLM/SOFTWARE/JavaSoft but no "JRE" keys. In such case you had either to install the (OpenJDK) JRE additionally (if it is separately available) or you had to tweak the registry via regedit by creating a key "Java Runtime Environment" or "JRE" (either of them would do) in HKLM/SOFTWARE/JavaSoft and copying the registry key
HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/JDK/CurrentVersion
(which is a string value!) to
HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Runtime Environment:

Registry key copy illustration

(Be aware that you need administrative privileges to do these registry modifications.)

For Windows 7 this should have been sufficient to convince the launcher that there is a suited Java version. With Windows 10 (at least some versions), however, you had also to copy the version-specific subkeys of the "JDK" branch (e.g. "11" and "11.0.5.10" in the screenshot above) and their entries, "JavaHome" in particular, to the "JRE" / "Java Runtime Environment" branch.

Since version 3.32-02, this problem should no longer exist — a new launcher configuration was applied that also accepts the JDK registry keys, and alternatively falls back to the JAVA_HOME environment variable. Only if not even this leads to a sufficient runtime environment then the launcher will now link to the Adoptium web page where an up-to-date free OpenJDK can be obtained for installation (for the setup configuration see above).