Introduction

Many of the solutions proposed in the Draycir Knowledge Base and by Draycir support require making changes to the Windows registry. As the Windows registry is the central database of settings for the Operating System, changes to it should be approached with caution, but not with fear.

Understanding the Registry Structure

The Windows registry consists of a number of so-called 'hives' which are loaded at boot or log-on. The hives of interest to us are HKEY_LOCAL_MACHINE and HKEY_CURRENT_USER (abbreviated HKLM and HKCU respectively). Settings in HLKM are loaded at machine login and apply to all users of the PC, workstation or server, whereas settings in HKCU are loaded at user login and apply to the user in question only. 

The values held in the registry can be in a number of formats

Constant Description
REG_BINARY Binary data in any form.
REG_DWORD 32-bit number.
REG_QWORD 64-bit number.
REG_DWORD_LITTLE_ENDIAN 32-bit number in little-endian format. This is equivalent to REG_DWORD.
In little-endian format, a multibyte value is stored in memory from the lowest byte (the "little end") to the highest byte. For example, the value 0x12345678 is stored as (0x78 0x56 0x34 0x12) in little-endian format.
REG_QWORD_LITTLE_ENDIAN A 64-bit number in little-endian format. This is equivalent to REG_QWORD.
REG_DWORD_BIG_ENDIAN 32-bit number in big-endian format.
In big-endian format, a multibyte value is stored in memory from the highest byte (the "big end") to the lowest byte. For example, the value 0x12345678 is stored as (0x12 0x34 0x56 0x78) in big-endian format.
REG_EXPAND_SZ Null-terminated string that contains unexpanded references to environment variables (for example, "%PATH%"). It will be a Unicode or ANSI string, depending on whether you use the Unicode or ANSI functions.
REG_LINK Unicode symbolic link.
REG_MULTI_SZ Array of null-terminated strings that are terminated by two null characters.
REG_NONE No defined value type.
REG_RESOURCE_LIST Device-driver resource list.
REG_SZ Null-terminated string. It will be a Unicode or ANSI string, depending on whether you use the Unicode or ANSI functions.

Registry Editor

The Registry Editor utility, invoked by entering regedit into a command line, displays the registry as a tree of keys and subkeys (represented as a series folders and subfolders) with name/data pairs as entries within each key (or subkey):

The key tree structure is described in much the same way as Windows file and folder paths, so the above key would be referred to as follows: 

HKEY_LOCAL_MACHINE\SOFTWARE\Draycir\Spindle Professional\Printers\Spindle Pro Auto\Converter

In order to modify any part of the HKLM hive, the user must run the registry editor as Administrator. Non-administrator users can (unless explicitly prohibited elsewhere) modify the HKCU hive without administrator rights.

Importing .reg files

The registry editor allows the user to add, remove or modify keys, value names and value data, which is fine if the number of changes is small, but in the event that several keys must be updated in one go, or in cases where a single change is required across a number of PCs, then changes can be imported from a .reg file. This is simply a plain text file saved with a .reg extension. For example, to modify the data of the Cleanup Output value above we can simply copy the following to a notepad file and save it as change.reg to the desktop:


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Draycir\Spindle Professional\Printers\Spindle Pro Auto\Converter]
"Cleanup Output"=dword:00000001



Double-clicking this file will make the change in the registry. In order to set the value back to its original value we simply change "Cleanup Output"=dword:00000001 back to "Cleanup Output"=dword:00000000 and re-import.

Windows Registry on 64-bit Operating Systems

Almost all changes to the registry for Draycir products are located inside either HKLM\Software\Draycir, or HKCU\Software\Draycir. The Software subkey holds settings for all native applications, so on a 64-bit OS, these will be the settings for 64-bit applilcations. To provide backwards compatibility for 32-bit applications on Windows 64-bit, an additional pair of subkeys was created inside Software, labelled WOW6432Node (it stands for Windows on Windows 64-bit 32-bit Node) which holds the settings for 32-bit applications and processes. This is summarised in the tables below:

32-bit Windows Machine Specific User Specific
32-bit Software
HKEY_LOCAL_MACHINE\Software\
HKEY_CURRENT_USER\Software\
64-bit Software N/A N/A


64-bit Windows Machine Specific User Specific
32-bit Software
HKEY_LOCAL_MACHINE\Software\Wow6432Node
HKEY_CURRENT_USER\Software\Wow6432Node
64-bit Software HKEY_LOCAL_MACHINE\Software\
HKEY_CURRENT_USER\Software\


If the path to the Registry key to modify includes Wow6432Node and you are running on a 32-bit OS, then ignore the WOW64632Node part of the path.

Draycir Software and the Registry

Most of the times you will need to make any changes in the Registry, you will be modifying data in one of the Software/Draycir subkeys. You should only make changes here with direct supervision from Draycir support or based on written documentation such as this Knowledge Base.