Introduction

Spindle Document Distribution has two mode of operation, Interactive Mode is the default mode and is used when Spindle Document Distribution is called by a user initiating a print using an application's File>Print (or equivalent) process. The Processor window is displayed giving feedback to the user and allowing interaction with it should it be required. In order for the Spindle Document Distribution processes to function, the user must be logged in to the Windows session (whether on a PC or logged in to a terminal server)

Unattended Mode on the other hand is used when there is no logged on user on a machine, the software runs as a service and is unable to present any dialog windows to the user. Typically this is required where a user interacts with an ERP over a browser client and documents are printed on a separate server, with a service on the print server that performs the print.

Versions Applicable

  • Spindle Document Management v7.0 - v7.3
  • Spindle Document Management v7.4 and later
  • Spindle Document Management v8.x
  • Spindle Document Management v9.x 
    • NOTE: For unattended mode operation in conjunction with any ERP except Sage 200, please use Spindle Document Distribution Standalone v8 / v9 (as appropriate). 
    • Sage 200 customers should only require unattended mode when using Spindle Report Scheduler

Requirements

  • A fully installed and configured printing environment (e.g. Sage ERP X3, Realitex etc.)
  • Spindle Document Management with a licence that allows Unattended Mode.
  • Windows Server 2008R2 and above

Failure to meet these requirements can result in delays in the implementation and may necessitate calls to the Draycir Service Desk.

Pre-amble

The most important principle for correctly configuring Spindle Document Management in unattended mode is that the processes must run in the same user context, that is, running as the same Windows user and in the same session as the ERP print agent. 

Typically the print agent will run as a service on the print server, and so will be running in session 0. To ensure this is the case, you will need to add the Session ID column to the Task Manager:


Establish the Print Agent Process and Print Agent user account

A key concept in making Unattended mode is that all processing is handled by a named user account.


Application
Print Agent Process
RealitexFGLRUN.exe
Sage X3 ERPadxSrvlmp.exe
NAV Dynamics AXax32Serv.exe
Spindle Report SchedulerDraycir.SpindleReportScheduler.Service.exe
Sage 200*
Sage200Desktop.exe

We will refer to this as the Print Agent process the Print Agent user account will be visible in Task Manager:


In the example above, for Sage X3, the Print Agent is AdxSrvImp.exe, and the Print Agent user account is adonix.


Spindle Document Distribution Installation

1) Start with ERP (Sage X3, 200, Realitext etc.) installed and configured. 

2) Establish the ERP's print agent user account. This is the account that the Print Agent process is running under on the print server. In the image below it is "adonix" with a password of "adonix". The Spindle Document Distribution monitor process must run with this account in the same session otherwise processing will fail.




3) Install Spindle Document Management so that Spindle Document Management Client is on the print server, ideally installing the client as the print agent user account ([Shift]-Right-click>Run as different User in Windows Vista/2008 and later). Please ensure that this user has admin rights to install the software. Once installed, the User Setup Wizard will be shown. Complete the wizard, accepting all defaults, or selecting the options you require. This will set up the required information in the process user's HKCU hive of the registry.


4) After the installation is complete, the server must be rebooted before Spindle Document Distribution can be used.


5) Run a test print via control panel to ensure that Spindle Document Distribution is running correctly in interactive mode. This will happen in the current interactive user context rather than the service user, so you will get a second user setup wizard. You can cancel this.


6) Next remove the interactive logon features of Spindle Document Distribution from the Sage ERP X3 print server by ending the following processes: 

  • dsplpagent.exe
  • SpindleDocDistributionMonitor.exe

7) Open the Windows Services management console and change the Spindle Pro service Logon details to those of the print agent process noted above.

You must ensure that the service runs with the same credentials as the application's print agent process, (ie the Print Agent user account).

9) Run Spindle Document Distribution Tools as the service user and configure the output devices. 

10) Under User Settings>Unattended Mode, Set the options as required, typically we want to run the Processor minimised, and to close the processor on warnings and errors. 

NOTE: Do NOT tick "Allow server UI interaction". This option exists only for legacy compatibility and can cause Spindle Document Management to not function on Windows Server 2008 and later.

11) Ensure that the processor window will close after a successful run by opening Regedit as the service user and setting: 

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Draycir\Spindle Document Distribution\Generic\Distribution]
"Auto Close Processor"=dword:00000001

12) Enable two additional parameters for the printer agents, depending on the version of SDM installed. If you are upgrading from 7.3 or earlier to 7.48.x or 9.x, please note that the path for the later version has an additional subkey):

Version 7.4 and later, version 8.x and 9.x

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Draycir\Spindle Professional\Printers\Spindle Pro Auto\Agent]
"Allow Domain Session"=dword:00000001
"Allow Self Session"=dword:00000001

Version 7.0 to 7.3

In earlier versions these registry keys were located in

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Draycir\Spindle Professional\Printers\Spindle Pro Auto]
"Allow domain session"=dword:00000001
"Allow self session"=dword:00000001

Important note: The paths above are always HKLM/Software/Draycir..., and never HKLM/Software/WOW6432Node/Draycir...

13) Add the service user into the SDM Server Administration utility, ensure that the Service User is configured with rights to distribute documents (ie a distribute or a full user).

Troubleshooting

If all of the above steps have been followed, a print from the ERP should cause the file SpindleDocumentDistributionProcessor_[service_user].log file in the folder C:\Users\[service_user]\My Draycir Logs to be created.

This file can be analysed in the same way that any processor log file can. If in doubt about any of the contents of this file, please contact support.

If you do not see this log file, check Windows Task Manager's details tab for the presence of process dsplpagent.exe. This is the process launched by the Spindle Document DIstribution service:

Add the Session ID column to this view and ensure that it is running in Session 0

Next Check that the process SpindleDocumentDistributionMonitor.exe is running as the same service user also in session 0. 

If you see that it is running in Session 1 or above, end task on it, restart the service and re-print. The Monitor process will be relaunched.

With the Monitor process running you should be able to find the SpindleDocumentDistributionMonitor.log file in the My Draycir Logs folder. Check this for any issues, typically you may see that the User setup wizard has been invoked, but this cannot be displayed to the user from session 0. to resolve this, you will need to run C:\Program Files (x86)\Draycir\Spindle Document Management\Spindle Document Distribution Client\SpindleDocDistributionMonitor.exe as the service user to invoke the user setup wizard in an interactive session, compete the wizard, then end task on the monitor process in Task Manager and restart the service. Retry the print.

Advanced Troubleshooting

If the process is still not producing the Processor log file, you will need to check for two additional log files. 

The first is located in C:\Program Files (x86)\Common Files\Draycir\EPrinter\Log\EPrinter.log and this shows a line for each print command that is sent, with the path to the user's temp folder:

If you do not see the correct name here, please check the logon details for the service, and ensure that all processes are running with the correct user credentials.

If this file is not updating, you will need to check the printer driver log file which does not exist by default, to view this log file you must create the folder C:\TMP\ on the drive. At each print now you will see a text file called simply log in this folder. 

If this file is not being created or updated at each print, then the issue resides in the communication from the application server to the print server - the print job does not even reach the print server.

IMPORTANT : This file contains very low level information and can easily be misunderstood, a number of lines will return an error code even though everything is working as it should, so we are only using its presence as a test. If you see this file updating but not the EPrinter.log file, please ensure that the registry entries for Allow Self Session and Allow Domain Session are correct as above (in HKLM/Software/Draycir... not HKLM/Software/WOW6432Node/...). If the issue persists, please contact Draycir Support, supplying all log files available. 

If you had to create the folder C:\TMP, please delete it when the troubleshooting is complete.

Knowledge Base Article Details

Related ProductSpindle Document Management
Ref NumberKBA-05-01-004
Document Date29/03/2017
Original AuthorVince Hodgson
Document Versionv1.6
Last updated17/03/2022
Update AuthorVince Hodgson