<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://techwiki.neosys.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ruku</id>
	<title>NEOSYS Technical Support Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://techwiki.neosys.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ruku"/>
	<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php/Special:Contributions/Ruku"/>
	<updated>2026-05-29T18:16:51Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=NEOSYS_DDNS_Service&amp;diff=2742</id>
		<title>NEOSYS DDNS Service</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=NEOSYS_DDNS_Service&amp;diff=2742"/>
		<updated>2016-06-23T11:21:28Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Configuring neosysddns on monitor.neosys.com */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Using NEOSYS DDNS service ==&lt;br /&gt;
&lt;br /&gt;
The NEOSYS monitoring server at monitor.neosys.com will update NEOSYS &lt;br /&gt;
DNS server currently zonedit.com if it is requested to do so by NEOSYS &lt;br /&gt;
installations. NEOSYS installations do that automatically when updating &lt;br /&gt;
Nagios and can also have a Windows service configured to do it at all times.&lt;br /&gt;
&lt;br /&gt;
Normally this would only be used at NEOSYS installations that have a &lt;br /&gt;
dynamic ip number ie do not have a static ip number.&lt;br /&gt;
&lt;br /&gt;
This is not required generally at client installations with static ip &lt;br /&gt;
numbers or NEOSYS win3/win4 installations but it MAY be used in that &lt;br /&gt;
situation too to provide for automatic change of static DNS for example &lt;br /&gt;
to cater for:&lt;br /&gt;
&lt;br /&gt;
*migration from old server to new server&lt;br /&gt;
*moving to backup servers&lt;br /&gt;
*moving back to live servers&lt;br /&gt;
*moving between client&#039;s own server and NEOSYS hosts on win3/win4.&lt;br /&gt;
&lt;br /&gt;
Care will be needed to ensure that the DDNS service is not running &lt;br /&gt;
simultaneously on the both old and new servers.&lt;br /&gt;
&lt;br /&gt;
=== Using Windows service neosysddns ===&lt;br /&gt;
&lt;br /&gt;
This will work even when NEOSYS processes are not running. This is &lt;br /&gt;
useful when NEOSYS processes are stopped overnight and when the server &lt;br /&gt;
is rebooted, for example for Windows Updates, and NEOSYS processes are &lt;br /&gt;
not configured to run automatically after rebooting&lt;br /&gt;
&lt;br /&gt;
==== Starting Windows service on the client server ====&lt;br /&gt;
&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
&lt;br /&gt;
 STARTDDNS&lt;br /&gt;
&lt;br /&gt;
Use the commands in [[NEOSYS_DDNS_Service#Troubleshooting_NEOSYS_DDNS_Service|Troubleshooting NEOSYS DDNS Service]] to check if the Client IP is getting updated for the hostname.&lt;br /&gt;
&lt;br /&gt;
==== Stopping the Windows service on the client server ====&lt;br /&gt;
&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
&lt;br /&gt;
 STOPDDNS&lt;br /&gt;
&lt;br /&gt;
or you can stop and/or disable the windows service manually&lt;br /&gt;
&lt;br /&gt;
This will NOT stop Nagios based DDNS which has to be done separately. &lt;br /&gt;
&lt;br /&gt;
When you run the above command in Maintenance you will get a reminder to stop nagios based ddns. See section below.&lt;br /&gt;
&lt;br /&gt;
=== Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
NAGIOS can update NEOSYS ddns entries (currently on zoneedit) automatically as by product of the processing of NAGIOS server updates from NEOSYS processes running on the client server. This is done independently and in parallel to the NEOSYSDDNS service which runs on NEOSYS servers.&lt;br /&gt;
&lt;br /&gt;
=== Automatic Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
This will occur if a special file exists on the NAGIOS server. This file is automatically created when STARTDDNS has been run on the NEOSYS server, or can be created manually.&lt;br /&gt;
&lt;br /&gt;
Therefore, if you are running NEOSYSDDNS service on the NEOSYS server, DDNS will be ALSO be done in parallel by Nagios. This is useful as a backup for example in the case where the NEOSYSDDNS service has to be stopped on the NEOSYS server eg while Cygwin updates are being processed.&lt;br /&gt;
&lt;br /&gt;
To see what hosts are subject to automatic Nagios based DDNS.&lt;br /&gt;
&lt;br /&gt;
 ll /var/lib/neosysddns&lt;br /&gt;
&lt;br /&gt;
=== Manually starting Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
If you need to switch on DDNS service for some reason but cannot get to the NEOSYS server to do so, then you can request Nagios to perform DDNS by creating a special file in the NAGIOS server as follows:&lt;br /&gt;
&lt;br /&gt;
 touch /var/lib/neosysddns/xxxxxxxx.client&lt;br /&gt;
 chmod a+rw /var/lib/neosysddns/xxxxxxxx.client&lt;br /&gt;
&lt;br /&gt;
=== Stopping Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
If you need to stop DDNS being done by NAGIOS after either automatically or manually starting it as above, you must remove a special file in the NAGIOS server as follows. Note that running STOPDDNS in the NEOSYS server does NOT remove the special file on NAGIOS server, so just running STOPDDNS in the NEOSYS server will NOT stop the parallel NAGIOS server updating DDNS. Therefore if you wish complete cessation of DDNS service for a hostname you will have to do this step AS WELL.&lt;br /&gt;
&lt;br /&gt;
 rm /var/lib/neosysddns/xxxxxxxx.client&lt;br /&gt;
&lt;br /&gt;
=== Configuring neosysddns on monitor.neosys.com ===&lt;br /&gt;
&lt;br /&gt;
The configuration of NEOSYS DDNS service on nagios i.e monitor.neosys.com can be controlled as follows:&lt;br /&gt;
&lt;br /&gt;
Remember that this is the neosysddns service on monitor.neosys.com and NOT the windows service on the server with dynamic ip no.&lt;br /&gt;
&lt;br /&gt;
neosysddns logging level may be configured NOT to show every DDNS update check if the IP no hasn&#039;t changed to save log file space since the neosysddns windows servers triggers every minute.&lt;br /&gt;
&lt;br /&gt;
Configuration File: /etc/nagios3/conf.d/ddnsconf.py&lt;br /&gt;
&lt;br /&gt;
 nano /etc/nagios3/conf.d/ddnsconf.py&lt;br /&gt;
 sudo service neosysddns restart&lt;br /&gt;
&lt;br /&gt;
To see all the configuration options see comments in file.&lt;br /&gt;
&lt;br /&gt;
To change the logging level you can edit the option &amp;quot;lognotchanged&amp;quot; and set it to &amp;quot;lognotchanged = False&amp;quot; so that every DDNS update check is not logged to save log file space. By default it is set to true. &lt;br /&gt;
&lt;br /&gt;
You can alter another option &amp;quot;lognthresquest&amp;quot; which logs every nth incoming request i.e if its set to 1000 it will log every 1000th request. You can set it to 5 or 10 to check if the ddns is working when lognotchanged is set to False. By default this option is set to &amp;quot;0&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Other NEOSYS DDNS service commands are:&lt;br /&gt;
&lt;br /&gt;
 sudo service neosysddns stop&lt;br /&gt;
 sudo service neosysddns start&lt;br /&gt;
 sudo service neosysddns status&lt;br /&gt;
&lt;br /&gt;
All service commands with the exception of status show nothing if successful or error message if not.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting NEOSYS DDNS Service ==&lt;br /&gt;
&lt;br /&gt;
On nagios/monitor server to see recent ddns updates for a hostname &amp;quot;XXXX&amp;quot; whatever is entered as System ID in System configuration file.&lt;br /&gt;
&lt;br /&gt;
 journalctl|grep -i ddns|grep XXXX&lt;br /&gt;
&lt;br /&gt;
or to watch new ddns updates as they come in&lt;br /&gt;
&lt;br /&gt;
 journalctl -f | grep -i ddns&lt;br /&gt;
&lt;br /&gt;
or to watch new ddns updates as they come in for xxxxxxxx&lt;br /&gt;
&lt;br /&gt;
 journalctl -f | grep -i ddns | grep xxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Lines containing ddns.py are the result of NEOSYS Windows service.&lt;br /&gt;
&lt;br /&gt;
Lines containing apache2 are the result of nagios updates. e.g as shown below:&lt;br /&gt;
&lt;br /&gt;
 Jan 28 00:03:04 monitor apache2: DDNS IP_NO ums &amp;lt;SUCCESS CODE=&amp;quot;200&amp;quot; TEXT=&amp;quot;XXXX.hosts.neosys.com updated to 82.178.63.35&amp;quot; ZONE=&amp;quot;XXXX.hosts.neosys.com&amp;quot;&amp;gt;&lt;br /&gt;
 Jan 28 01:54:26 monitor ddns.py: DDNS IP_NO 4481 &amp;quot;ddns XXXX&amp;quot; No. 11327 was 82.178.63.35 &amp;lt;SUCCESS CODE=&amp;quot;200&amp;quot; TEXT=&amp;quot;XXXX.hosts.neosys.com updated to 85.154.7.138&amp;quot; ZONE=&amp;quot;XXXX.hosts.neosys.com&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Working/Status Files&lt;br /&gt;
&lt;br /&gt;
 ll /var/lib/neosysddns/&lt;br /&gt;
 ll /var/lib/neosysddns/ignored&lt;br /&gt;
&lt;br /&gt;
Hosts that have been seen by Nagios but were ignored because the xxxxxxxx.client file was not present in /var/lib/neosysddns&lt;br /&gt;
&lt;br /&gt;
 ll /var/lib/neosysddns/ignored&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=NEOSYS_DDNS_Service&amp;diff=2741</id>
		<title>NEOSYS DDNS Service</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=NEOSYS_DDNS_Service&amp;diff=2741"/>
		<updated>2016-06-23T08:57:15Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Configuring neosysddns on monitor.neosys.com */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Using NEOSYS DDNS service ==&lt;br /&gt;
&lt;br /&gt;
The NEOSYS monitoring server at monitor.neosys.com will update NEOSYS &lt;br /&gt;
DNS server currently zonedit.com if it is requested to do so by NEOSYS &lt;br /&gt;
installations. NEOSYS installations do that automatically when updating &lt;br /&gt;
Nagios and can also have a Windows service configured to do it at all times.&lt;br /&gt;
&lt;br /&gt;
Normally this would only be used at NEOSYS installations that have a &lt;br /&gt;
dynamic ip number ie do not have a static ip number.&lt;br /&gt;
&lt;br /&gt;
This is not required generally at client installations with static ip &lt;br /&gt;
numbers or NEOSYS win3/win4 installations but it MAY be used in that &lt;br /&gt;
situation too to provide for automatic change of static DNS for example &lt;br /&gt;
to cater for:&lt;br /&gt;
&lt;br /&gt;
*migration from old server to new server&lt;br /&gt;
*moving to backup servers&lt;br /&gt;
*moving back to live servers&lt;br /&gt;
*moving between client&#039;s own server and NEOSYS hosts on win3/win4.&lt;br /&gt;
&lt;br /&gt;
Care will be needed to ensure that the DDNS service is not running &lt;br /&gt;
simultaneously on the both old and new servers.&lt;br /&gt;
&lt;br /&gt;
=== Using Windows service neosysddns ===&lt;br /&gt;
&lt;br /&gt;
This will work even when NEOSYS processes are not running. This is &lt;br /&gt;
useful when NEOSYS processes are stopped overnight and when the server &lt;br /&gt;
is rebooted, for example for Windows Updates, and NEOSYS processes are &lt;br /&gt;
not configured to run automatically after rebooting&lt;br /&gt;
&lt;br /&gt;
==== Starting Windows service on the client server ====&lt;br /&gt;
&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
&lt;br /&gt;
 STARTDDNS&lt;br /&gt;
&lt;br /&gt;
Use the commands in [[NEOSYS_DDNS_Service#Troubleshooting_NEOSYS_DDNS_Service|Troubleshooting NEOSYS DDNS Service]] to check if the Client IP is getting updated for the hostname.&lt;br /&gt;
&lt;br /&gt;
==== Stopping the Windows service on the client server ====&lt;br /&gt;
&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
&lt;br /&gt;
 STOPDDNS&lt;br /&gt;
&lt;br /&gt;
or you can stop and/or disable the windows service manually&lt;br /&gt;
&lt;br /&gt;
This will NOT stop Nagios based DDNS which has to be done separately. &lt;br /&gt;
&lt;br /&gt;
When you run the above command in Maintenance you will get a reminder to stop nagios based ddns. See section below.&lt;br /&gt;
&lt;br /&gt;
=== Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
NAGIOS can update NEOSYS ddns entries (currently on zoneedit) automatically as by product of the processing of NAGIOS server updates from NEOSYS processes running on the client server. This is done independently and in parallel to the NEOSYSDDNS service which runs on NEOSYS servers.&lt;br /&gt;
&lt;br /&gt;
=== Automatic Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
This will occur if a special file exists on the NAGIOS server. This file is automatically created when STARTDDNS has been run on the NEOSYS server, or can be created manually.&lt;br /&gt;
&lt;br /&gt;
Therefore, if you are running NEOSYSDDNS service on the NEOSYS server, DDNS will be ALSO be done in parallel by Nagios. This is useful as a backup for example in the case where the NEOSYSDDNS service has to be stopped on the NEOSYS server eg while Cygwin updates are being processed.&lt;br /&gt;
&lt;br /&gt;
To see what hosts are subject to automatic Nagios based DDNS.&lt;br /&gt;
&lt;br /&gt;
 ll /var/lib/neosysddns&lt;br /&gt;
&lt;br /&gt;
=== Manually starting Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
If you need to switch on DDNS service for some reason but cannot get to the NEOSYS server to do so, then you can request Nagios to perform DDNS by creating a special file in the NAGIOS server as follows:&lt;br /&gt;
&lt;br /&gt;
 touch /var/lib/neosysddns/xxxxxxxx.client&lt;br /&gt;
 chmod a+rw /var/lib/neosysddns/xxxxxxxx.client&lt;br /&gt;
&lt;br /&gt;
=== Stopping Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
If you need to stop DDNS being done by NAGIOS after either automatically or manually starting it as above, you must remove a special file in the NAGIOS server as follows. Note that running STOPDDNS in the NEOSYS server does NOT remove the special file on NAGIOS server, so just running STOPDDNS in the NEOSYS server will NOT stop the parallel NAGIOS server updating DDNS. Therefore if you wish complete cessation of DDNS service for a hostname you will have to do this step AS WELL.&lt;br /&gt;
&lt;br /&gt;
 rm /var/lib/neosysddns/xxxxxxxx.client&lt;br /&gt;
&lt;br /&gt;
=== Configuring neosysddns on monitor.neosys.com ===&lt;br /&gt;
&lt;br /&gt;
The configuration of NEOSYS DDNS service on nagios i.e monitor.neosys.com can be controlled as follows:&lt;br /&gt;
&lt;br /&gt;
Remember that this is the neosysddns service on monitor.neosys.com and NOT the windows service on the server with dynamic ip no.&lt;br /&gt;
&lt;br /&gt;
neosysddns logging level may be configured NOT to show every DDNS update check if the IP no hasn&#039;t changed to save log file space since the neosysddns windows servers triggers every minute.&lt;br /&gt;
&lt;br /&gt;
Configuration File: /etc/nagios3/conf.d/ddnsconf.py&lt;br /&gt;
&lt;br /&gt;
Configuration options - see comments in file&lt;br /&gt;
 nano /etc/nagios3/conf.d/ddnsconf.py&lt;br /&gt;
 sudo service neosysddns restart&lt;br /&gt;
&lt;br /&gt;
Other NEOSYS DDNS service commands are:&lt;br /&gt;
&lt;br /&gt;
 sudo service neosysddns stop&lt;br /&gt;
 sudo service neosysddns start&lt;br /&gt;
 sudo service neosysddns status&lt;br /&gt;
&lt;br /&gt;
All service commands with the exception of status show nothing if successful or error message if not.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting NEOSYS DDNS Service ==&lt;br /&gt;
&lt;br /&gt;
On nagios/monitor server to see recent ddns updates for a hostname &amp;quot;XXXX&amp;quot; whatever is entered as System ID in System configuration file.&lt;br /&gt;
&lt;br /&gt;
 journalctl|grep -i ddns|grep XXXX&lt;br /&gt;
&lt;br /&gt;
or to watch new ddns updates as they come in&lt;br /&gt;
&lt;br /&gt;
 journalctl -f | grep -i ddns&lt;br /&gt;
&lt;br /&gt;
or to watch new ddns updates as they come in for xxxxxxxx&lt;br /&gt;
&lt;br /&gt;
 journalctl -f | grep -i ddns | grep xxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Lines containing ddns.py are the result of NEOSYS Windows service.&lt;br /&gt;
&lt;br /&gt;
Lines containing apache2 are the result of nagios updates. e.g as shown below:&lt;br /&gt;
&lt;br /&gt;
 Jan 28 00:03:04 monitor apache2: DDNS IP_NO ums &amp;lt;SUCCESS CODE=&amp;quot;200&amp;quot; TEXT=&amp;quot;XXXX.hosts.neosys.com updated to 82.178.63.35&amp;quot; ZONE=&amp;quot;XXXX.hosts.neosys.com&amp;quot;&amp;gt;&lt;br /&gt;
 Jan 28 01:54:26 monitor ddns.py: DDNS IP_NO 4481 &amp;quot;ddns XXXX&amp;quot; No. 11327 was 82.178.63.35 &amp;lt;SUCCESS CODE=&amp;quot;200&amp;quot; TEXT=&amp;quot;XXXX.hosts.neosys.com updated to 85.154.7.138&amp;quot; ZONE=&amp;quot;XXXX.hosts.neosys.com&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Working/Status Files&lt;br /&gt;
&lt;br /&gt;
 ll /var/lib/neosysddns/&lt;br /&gt;
 ll /var/lib/neosysddns/ignored&lt;br /&gt;
&lt;br /&gt;
Hosts that have been seen by Nagios but were ignored because the xxxxxxxx.client file was not present in /var/lib/neosysddns&lt;br /&gt;
&lt;br /&gt;
 ll /var/lib/neosysddns/ignored&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=NEOSYS_DDNS_Service&amp;diff=2740</id>
		<title>NEOSYS DDNS Service</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=NEOSYS_DDNS_Service&amp;diff=2740"/>
		<updated>2016-06-23T08:57:09Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Troubleshooting NEOSYS DDNS Service */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Using NEOSYS DDNS service ==&lt;br /&gt;
&lt;br /&gt;
The NEOSYS monitoring server at monitor.neosys.com will update NEOSYS &lt;br /&gt;
DNS server currently zonedit.com if it is requested to do so by NEOSYS &lt;br /&gt;
installations. NEOSYS installations do that automatically when updating &lt;br /&gt;
Nagios and can also have a Windows service configured to do it at all times.&lt;br /&gt;
&lt;br /&gt;
Normally this would only be used at NEOSYS installations that have a &lt;br /&gt;
dynamic ip number ie do not have a static ip number.&lt;br /&gt;
&lt;br /&gt;
This is not required generally at client installations with static ip &lt;br /&gt;
numbers or NEOSYS win3/win4 installations but it MAY be used in that &lt;br /&gt;
situation too to provide for automatic change of static DNS for example &lt;br /&gt;
to cater for:&lt;br /&gt;
&lt;br /&gt;
*migration from old server to new server&lt;br /&gt;
*moving to backup servers&lt;br /&gt;
*moving back to live servers&lt;br /&gt;
*moving between client&#039;s own server and NEOSYS hosts on win3/win4.&lt;br /&gt;
&lt;br /&gt;
Care will be needed to ensure that the DDNS service is not running &lt;br /&gt;
simultaneously on the both old and new servers.&lt;br /&gt;
&lt;br /&gt;
=== Using Windows service neosysddns ===&lt;br /&gt;
&lt;br /&gt;
This will work even when NEOSYS processes are not running. This is &lt;br /&gt;
useful when NEOSYS processes are stopped overnight and when the server &lt;br /&gt;
is rebooted, for example for Windows Updates, and NEOSYS processes are &lt;br /&gt;
not configured to run automatically after rebooting&lt;br /&gt;
&lt;br /&gt;
==== Starting Windows service on the client server ====&lt;br /&gt;
&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
&lt;br /&gt;
 STARTDDNS&lt;br /&gt;
&lt;br /&gt;
Use the commands in [[NEOSYS_DDNS_Service#Troubleshooting_NEOSYS_DDNS_Service|Troubleshooting NEOSYS DDNS Service]] to check if the Client IP is getting updated for the hostname.&lt;br /&gt;
&lt;br /&gt;
==== Stopping the Windows service on the client server ====&lt;br /&gt;
&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
&lt;br /&gt;
 STOPDDNS&lt;br /&gt;
&lt;br /&gt;
or you can stop and/or disable the windows service manually&lt;br /&gt;
&lt;br /&gt;
This will NOT stop Nagios based DDNS which has to be done separately. &lt;br /&gt;
&lt;br /&gt;
When you run the above command in Maintenance you will get a reminder to stop nagios based ddns. See section below.&lt;br /&gt;
&lt;br /&gt;
=== Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
NAGIOS can update NEOSYS ddns entries (currently on zoneedit) automatically as by product of the processing of NAGIOS server updates from NEOSYS processes running on the client server. This is done independently and in parallel to the NEOSYSDDNS service which runs on NEOSYS servers.&lt;br /&gt;
&lt;br /&gt;
=== Automatic Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
This will occur if a special file exists on the NAGIOS server. This file is automatically created when STARTDDNS has been run on the NEOSYS server, or can be created manually.&lt;br /&gt;
&lt;br /&gt;
Therefore, if you are running NEOSYSDDNS service on the NEOSYS server, DDNS will be ALSO be done in parallel by Nagios. This is useful as a backup for example in the case where the NEOSYSDDNS service has to be stopped on the NEOSYS server eg while Cygwin updates are being processed.&lt;br /&gt;
&lt;br /&gt;
To see what hosts are subject to automatic Nagios based DDNS.&lt;br /&gt;
&lt;br /&gt;
 ll /var/lib/neosysddns&lt;br /&gt;
&lt;br /&gt;
=== Manually starting Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
If you need to switch on DDNS service for some reason but cannot get to the NEOSYS server to do so, then you can request Nagios to perform DDNS by creating a special file in the NAGIOS server as follows:&lt;br /&gt;
&lt;br /&gt;
 touch /var/lib/neosysddns/xxxxxxxx.client&lt;br /&gt;
 chmod a+rw /var/lib/neosysddns/xxxxxxxx.client&lt;br /&gt;
&lt;br /&gt;
=== Stopping Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
If you need to stop DDNS being done by NAGIOS after either automatically or manually starting it as above, you must remove a special file in the NAGIOS server as follows. Note that running STOPDDNS in the NEOSYS server does NOT remove the special file on NAGIOS server, so just running STOPDDNS in the NEOSYS server will NOT stop the parallel NAGIOS server updating DDNS. Therefore if you wish complete cessation of DDNS service for a hostname you will have to do this step AS WELL.&lt;br /&gt;
&lt;br /&gt;
 rm /var/lib/neosysddns/xxxxxxxx.client&lt;br /&gt;
&lt;br /&gt;
=== Configuring neosysddns on monitor.neosys.com ===&lt;br /&gt;
&lt;br /&gt;
The configuration of NEOSYS DDNS service on nagios i.e monitor.neosys.com can be controlled as follows:&lt;br /&gt;
&lt;br /&gt;
Remember that this is the neosysddns service on monitor.neosys.com and NOT the windows service on the server with dynamic ip no.&lt;br /&gt;
&lt;br /&gt;
neosysddns logging level may be configured NOT to show every DDNS update check if the IP no hasn&#039;t changed to save log file space since the neosysddns windows servers triggers every minute.&lt;br /&gt;
&lt;br /&gt;
 nano /etc/nagios3/conf.d/ddnsconf.py&lt;br /&gt;
 sudo service neosysddns restart&lt;br /&gt;
&lt;br /&gt;
Other NEOSYS DDNS service commands are:&lt;br /&gt;
&lt;br /&gt;
 sudo service neosysddns stop&lt;br /&gt;
 sudo service neosysddns start&lt;br /&gt;
 sudo service neosysddns status&lt;br /&gt;
&lt;br /&gt;
All service commands with the exception of status show nothing if successful or error message if not.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting NEOSYS DDNS Service ==&lt;br /&gt;
&lt;br /&gt;
On nagios/monitor server to see recent ddns updates for a hostname &amp;quot;XXXX&amp;quot; whatever is entered as System ID in System configuration file.&lt;br /&gt;
&lt;br /&gt;
 journalctl|grep -i ddns|grep XXXX&lt;br /&gt;
&lt;br /&gt;
or to watch new ddns updates as they come in&lt;br /&gt;
&lt;br /&gt;
 journalctl -f | grep -i ddns&lt;br /&gt;
&lt;br /&gt;
or to watch new ddns updates as they come in for xxxxxxxx&lt;br /&gt;
&lt;br /&gt;
 journalctl -f | grep -i ddns | grep xxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Lines containing ddns.py are the result of NEOSYS Windows service.&lt;br /&gt;
&lt;br /&gt;
Lines containing apache2 are the result of nagios updates. e.g as shown below:&lt;br /&gt;
&lt;br /&gt;
 Jan 28 00:03:04 monitor apache2: DDNS IP_NO ums &amp;lt;SUCCESS CODE=&amp;quot;200&amp;quot; TEXT=&amp;quot;XXXX.hosts.neosys.com updated to 82.178.63.35&amp;quot; ZONE=&amp;quot;XXXX.hosts.neosys.com&amp;quot;&amp;gt;&lt;br /&gt;
 Jan 28 01:54:26 monitor ddns.py: DDNS IP_NO 4481 &amp;quot;ddns XXXX&amp;quot; No. 11327 was 82.178.63.35 &amp;lt;SUCCESS CODE=&amp;quot;200&amp;quot; TEXT=&amp;quot;XXXX.hosts.neosys.com updated to 85.154.7.138&amp;quot; ZONE=&amp;quot;XXXX.hosts.neosys.com&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Working/Status Files&lt;br /&gt;
&lt;br /&gt;
 ll /var/lib/neosysddns/&lt;br /&gt;
 ll /var/lib/neosysddns/ignored&lt;br /&gt;
&lt;br /&gt;
Hosts that have been seen by Nagios but were ignored because the xxxxxxxx.client file was not present in /var/lib/neosysddns&lt;br /&gt;
&lt;br /&gt;
 ll /var/lib/neosysddns/ignored&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Main_Page&amp;diff=2739</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Main_Page&amp;diff=2739"/>
		<updated>2016-06-19T08:11:08Z</updated>

		<summary type="html">&lt;p&gt;Ruku: Undo revision 2734 by Priyanka (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;This is the Technical Support NEOSYS Wiki.&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Technical ==&lt;br /&gt;
[[Installing NEOSYS]]&lt;br /&gt;
&lt;br /&gt;
[[Upgrading NEOSYS]]&lt;br /&gt;
&lt;br /&gt;
[[Testing NEOSYS]]&lt;br /&gt;
&lt;br /&gt;
[[Configuring NEOSYS Generally]]&lt;br /&gt;
&lt;br /&gt;
[[Configuring NEOSYS Finance System]]&lt;br /&gt;
&lt;br /&gt;
[[Administering NEOSYS Server]]&lt;br /&gt;
&lt;br /&gt;
[[Troubleshooting NEOSYS Generally]]&lt;br /&gt;
&lt;br /&gt;
[[Troubleshooting NEOSYS Media System]]&lt;br /&gt;
&lt;br /&gt;
[[Troubleshooting NEOSYS Finance System]]&lt;br /&gt;
&lt;br /&gt;
[[Troubleshooting NEOSYS Jobs System]]&lt;br /&gt;
&lt;br /&gt;
[[Moving and Uninstalling NEOSYS]]&lt;br /&gt;
&lt;br /&gt;
[[Handling Nagios Client Monitoring System]]&lt;br /&gt;
&lt;br /&gt;
[[Backup and Restore]]&lt;br /&gt;
&lt;br /&gt;
[[Procedures]]&lt;br /&gt;
&lt;br /&gt;
[[Checklists]]&lt;br /&gt;
&lt;br /&gt;
[[Solution Unknown]]&lt;br /&gt;
&lt;br /&gt;
[[NEOSYS DDNS Service]]&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Implementing_NEOSYS&amp;diff=2738</id>
		<title>Implementing NEOSYS</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Implementing_NEOSYS&amp;diff=2738"/>
		<updated>2016-06-19T07:54:49Z</updated>

		<summary type="html">&lt;p&gt;Ruku: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Set up the System Configuration File==&lt;br /&gt;
See [http://userwiki.neosys.com/index.php/System_Configuration_File System Configuration File] for detailed description. The following points are essential configuration and must not be ignored.&lt;br /&gt;
&lt;br /&gt;
*All configurations must be carefully done after evaluating which [http://userwiki.neosys.com/index.php/System_Configuration_File#Scope Scope] they fall under.&lt;br /&gt;
*Configure [http://userwiki.neosys.com/index.php/System_Configuration_File#System_ID System ID] and User Timezone&lt;br /&gt;
*Set up [http://userwiki.neosys.com/index.php/System_Configuration_File#Email_Domains Email Domains] and [http://userwiki.neosys.com/index.php/System_Configuration_File#IP_numbers IP Numbers]&lt;br /&gt;
*Configure [http://userwiki.neosys.com/index.php/System_Configuration_File#Web_Address_and_Description URL/Web Address] to access NEOSYS. This is very important for a Timesheet module installation as the approver links are picked up from the configuration.&lt;br /&gt;
&lt;br /&gt;
==Start neosysddns service for Client&#039;s with dynamic ip==&lt;br /&gt;
&lt;br /&gt;
See [[NEOSYS_DDNS_Service#Starting_Windows_service_on_the_client_server|Starting NEOSYS DDNS Service]] to start the neosysddns service so that NEOSYS monitoring server at monitor.neosys.com updates zonedit.com with the latest ip of the client server. &lt;br /&gt;
&lt;br /&gt;
You MUST check if the ip is actually getting updated otherwise if the ip changes and neosysddns is not working we will lose access to the server. See [[NEOSYS_DDNS_Service#Troubleshooting_NEOSYS_DDNS_Service|Troubleshooting NEOSYS DDNS Service]] for commands to do so.&lt;br /&gt;
&lt;br /&gt;
==Update Support.htm==&lt;br /&gt;
Add the new client to the list of clients page.&lt;br /&gt;
&lt;br /&gt;
See [http://itwiki.neosys.com/index.php/Updating_Support.htm Updating Support.htm]&lt;br /&gt;
&lt;br /&gt;
==Setting up a new company in the new database==&lt;br /&gt;
Refer to the [http://userwiki.neosys.com/index.php/Setting_up_multi_company_installations_/_Setting_up_a_new_company#Draft_email_requesting_info_required_to_add_new_company_to_existing_database sample email for New Company creation in existing Database/New Database] &lt;br /&gt;
&lt;br /&gt;
Once the new company is added to the database:&lt;br /&gt;
#Set up exchange rate for each currency by going to the Currency and Exchange Rate File&lt;br /&gt;
#Delete “Client X” from the Client and Brand File&lt;br /&gt;
&lt;br /&gt;
Change the system mark for each of the new databases that were created. See [http://userwiki.neosys.com/index.php/Setting_up_and_Configuring_NEOSYS_Generally#Configuring_Client_Security_mark Configuring System Mark]&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Setting_up_Host_Name&amp;diff=2737</id>
		<title>Setting up Host Name</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Setting_up_Host_Name&amp;diff=2737"/>
		<updated>2016-06-19T07:45:24Z</updated>

		<summary type="html">&lt;p&gt;Ruku: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==www.zoneedit.com==&lt;br /&gt;
A static/dynamic DNS service like zoneedit must be used for all clients who have static or dynamic ips.&lt;br /&gt;
&lt;br /&gt;
#Hosts are to be created as &amp;lt;clientname&amp;gt;.hosts.neosys.com, where &amp;lt;clientname&amp;gt; is entered as explained below:&lt;br /&gt;
#*Generic words like &amp;quot;Al&amp;quot;, &amp;quot;Ltd.&amp;quot;, &amp;quot;FZ&amp;quot;, &amp;quot;LLC&amp;quot;, &amp;quot;International&amp;quot;, &amp;quot;EST.&amp;quot;, etc. are to be omitted, e.g. for client &amp;quot;Tonic International&amp;quot;, &amp;lt;clientname&amp;gt; is &amp;quot;tonic&amp;quot;, so URL is &amp;quot;tonic.hosts.neosys.com&amp;quot;.&lt;br /&gt;
#*For clients with more than one word in the name, combine the main parts of the company name into a single word, e.g. for client &amp;quot;Brand Code Comm. Est.&amp;quot;, &amp;lt;clientname&amp;gt; is &amp;quot;brandcode&amp;quot;, so the URL is &amp;quot;brandcode.hosts.neosys.com&amp;quot;.&lt;br /&gt;
#*If the client is commonly known by an abbreviation of the full name, then use the abbreviation as the &amp;lt;clientname&amp;gt;, e.g. client &amp;quot;Media Global Group&amp;quot; is commonly known by its abbreviation &amp;quot;MGG&amp;quot;, so &amp;lt;clientname&amp;gt; is &amp;quot;mgg&amp;quot; and URL is &amp;quot;mgg.hosts.neosys.com&amp;quot;.&lt;br /&gt;
#*Due to database name length limit of 8 letters, the database name (and folder name on the server) for some clients are shortened, e.g. &amp;quot;brandcod&amp;quot;. Client names shortened like this MUST NOT be used in the URL (e.g. &amp;quot;brandcod.hosts.neosys.com&amp;quot;), as this URL will be given to the clients.&lt;br /&gt;
#For clients with dynamic ip, we need to setup the URL with type = “dynamic DNS” in the zoneedit entry. See [[NEOSYS_DDNS_Service|NEOSYS DDNS Service]] to understand how zonedit.com updates the ip&#039;s of client&#039;s with dynamic ip. &lt;br /&gt;
&lt;br /&gt;
After you add/edit/remove any host on Zoneedit, you need to make sure that the changes are published under &amp;quot;Current Zones&amp;quot; list.&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Installing_NEOSYS&amp;diff=2736</id>
		<title>Installing NEOSYS</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Installing_NEOSYS&amp;diff=2736"/>
		<updated>2016-06-19T07:43:33Z</updated>

		<summary type="html">&lt;p&gt;Ruku: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Technical / Hardware requirements]]&lt;br /&gt;
&lt;br /&gt;
[[Preliminary Check-list and other Misc items]]&lt;br /&gt;
&lt;br /&gt;
[[Setting up TCP/IP filtering|Setting up TCP/IP filtering (for Windows Server 2003)]]&lt;br /&gt;
&lt;br /&gt;
[[Setting up Windows Firewall|Setting up Windows Firewall (for Windows Server 2008)]]&lt;br /&gt;
&lt;br /&gt;
[[Setting up and using remote support]]&lt;br /&gt;
&lt;br /&gt;
[[Installing NEOSYS Service]]&lt;br /&gt;
&lt;br /&gt;
[[Configuring Antivirus for NEOSYS]]&lt;br /&gt;
&lt;br /&gt;
[[Configuring IIS]]&lt;br /&gt;
&lt;br /&gt;
[[Setting up Host Name]]&lt;br /&gt;
&lt;br /&gt;
[[Setting up HTTPS]]&lt;br /&gt;
&lt;br /&gt;
[[Benchmarking NEOSYS]]&lt;br /&gt;
&lt;br /&gt;
[[Installing IE7 &amp;amp; IE8 Download Blocker]] ** not required for Windows 2008&lt;br /&gt;
&lt;br /&gt;
[[Backup and Restore#Configuring NEOSYS automated backup|Configuring NEOSYS automated backup]]&lt;br /&gt;
&lt;br /&gt;
[[Installing EMS Magic]]&lt;br /&gt;
&lt;br /&gt;
[[Establishing Emergency Support Procedures]]&lt;br /&gt;
&lt;br /&gt;
[[Setting up for non-latin characters]]&lt;br /&gt;
&lt;br /&gt;
[[Configuring and Administering Multi-site Installations]]&lt;br /&gt;
&lt;br /&gt;
[[Installing on Windows 7]]&lt;br /&gt;
&lt;br /&gt;
[[Restricting usage of NEOSYS to licence period]]&lt;br /&gt;
&lt;br /&gt;
[[Configuring NEOSYS for various language character sets]]&lt;br /&gt;
&lt;br /&gt;
[[Configuring NEOSYS to display local time]]&lt;br /&gt;
&lt;br /&gt;
[[Implementing NEOSYS]]&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=File:Shifting_servers_Checklist_2.odt&amp;diff=2733</id>
		<title>File:Shifting servers Checklist 2.odt</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=File:Shifting_servers_Checklist_2.odt&amp;diff=2733"/>
		<updated>2016-06-16T08:50:28Z</updated>

		<summary type="html">&lt;p&gt;Ruku: Ruku uploaded a new version of File:Shifting servers Checklist 2.odt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Shifting Servers Checklist in ODF format&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=File:Win_2008_New_Installation_Checklist_2.odt&amp;diff=2732</id>
		<title>File:Win 2008 New Installation Checklist 2.odt</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=File:Win_2008_New_Installation_Checklist_2.odt&amp;diff=2732"/>
		<updated>2016-06-16T08:50:08Z</updated>

		<summary type="html">&lt;p&gt;Ruku: Ruku uploaded a new version of File:Win 2008 New Installation Checklist 2.odt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Win 2008 New Installation Checklist in ODF Text Document format&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=NEOSYS_DDNS_Service&amp;diff=2731</id>
		<title>NEOSYS DDNS Service</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=NEOSYS_DDNS_Service&amp;diff=2731"/>
		<updated>2016-06-16T08:34:44Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Starting Windows service on the client server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Using NEOSYS DDNS service ==&lt;br /&gt;
&lt;br /&gt;
The NEOSYS monitoring server at monitor.neosys.com will update NEOSYS &lt;br /&gt;
DNS server currently zonedit.com if it is requested to do so by NEOSYS &lt;br /&gt;
installations. NEOSYS installations do that automatically when updating &lt;br /&gt;
Nagios and can also have a Windows service configured to do it at all times.&lt;br /&gt;
&lt;br /&gt;
Normally this would only be used at NEOSYS installations that have a &lt;br /&gt;
dynamic ip number ie do not have a static ip number.&lt;br /&gt;
&lt;br /&gt;
This is not required generally at client installations with static ip &lt;br /&gt;
numbers or NEOSYS win3/win4 installations but it MAY be used in that &lt;br /&gt;
situation too to provide for automatic change of static DNS for example &lt;br /&gt;
to cater for:&lt;br /&gt;
&lt;br /&gt;
*migration from old server to new server&lt;br /&gt;
*moving to backup servers&lt;br /&gt;
*moving back to live servers&lt;br /&gt;
*moving between client&#039;s own server and NEOSYS hosts on win3/win4.&lt;br /&gt;
&lt;br /&gt;
Care will be needed to ensure that the DDNS service is not running &lt;br /&gt;
simultaneously on the both old and new servers.&lt;br /&gt;
&lt;br /&gt;
=== Using Windows service neosysddns ===&lt;br /&gt;
&lt;br /&gt;
This will work even when NEOSYS processes are not running. This is &lt;br /&gt;
useful when NEOSYS processes are stopped overnight and when the server &lt;br /&gt;
is rebooted, for example for Windows Updates, and NEOSYS processes are &lt;br /&gt;
not configured to run automatically after rebooting&lt;br /&gt;
&lt;br /&gt;
==== Starting Windows service on the client server ====&lt;br /&gt;
&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
&lt;br /&gt;
 STARTDDNS&lt;br /&gt;
&lt;br /&gt;
Use the commands in [[NEOSYS_DDNS_Service#Troubleshooting_NEOSYS_DDNS_Service|Troubleshooting NEOSYS DDNS Service]] to check if the Client IP is getting updated for the hostname.&lt;br /&gt;
&lt;br /&gt;
==== Stopping the Windows service on the client server ====&lt;br /&gt;
&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
&lt;br /&gt;
 STOPDDNS&lt;br /&gt;
&lt;br /&gt;
or you can stop and/or disable the windows service manually&lt;br /&gt;
&lt;br /&gt;
This will NOT stop Nagios based DDNS which has to be done separately. &lt;br /&gt;
&lt;br /&gt;
When you run the above command in Maintenance you will get a reminder to stop nagios based ddns. See section below.&lt;br /&gt;
&lt;br /&gt;
=== Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
NAGIOS can update NEOSYS ddns entries (currently on zoneedit) automatically as by product of the processing of NAGIOS server updates from NEOSYS processes running on the client server. This is done independently and in parallel to the NEOSYSDDNS service which runs on NEOSYS servers.&lt;br /&gt;
&lt;br /&gt;
=== Automatic Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
This will occur if a special file exists on the NAGIOS server. This file is automatically created when STARTDDNS has been run on the NEOSYS server, or can be created manually.&lt;br /&gt;
&lt;br /&gt;
Therefore, if you are running NEOSYSDDNS service on the NEOSYS server, DDNS will be ALSO be done in parallel by Nagios. This is useful as a backup for example in the case where the NEOSYSDDNS service has to be stopped on the NEOSYS server eg while Cygwin updates are being processed.&lt;br /&gt;
&lt;br /&gt;
To see what hosts are subject to automatic Nagios based DDNS.&lt;br /&gt;
&lt;br /&gt;
 ll /var/lib/neosysddns&lt;br /&gt;
&lt;br /&gt;
=== Manually starting Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
If you need to switch on DDNS service for some reason but cannot get to the NEOSYS server to do so, then you can request Nagios to perform DDNS by creating a special file in the NAGIOS server as follows:&lt;br /&gt;
&lt;br /&gt;
 touch /var/lib/neosysddns/xxxxxxxx.client&lt;br /&gt;
 chmod a+rw /var/lib/neosysddns/xxxxxxxx.client&lt;br /&gt;
&lt;br /&gt;
=== Stopping Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
If you need to stop DDNS being done by NAGIOS after either automatically or manually starting it as above, you must remove a special file in the NAGIOS server as follows. Note that running STOPDDNS in the NEOSYS server does NOT remove the special file on NAGIOS server, so just running STOPDDNS in the NEOSYS server will NOT stop the parallel NAGIOS server updating DDNS. Therefore if you wish complete cessation of DDNS service for a hostname you will have to do this step AS WELL.&lt;br /&gt;
&lt;br /&gt;
 rm /var/lib/neosysddns/xxxxxxxx.client&lt;br /&gt;
&lt;br /&gt;
=== Configuring neosysddns on monitor.neosys.com ===&lt;br /&gt;
&lt;br /&gt;
The configuration of NEOSYS DDNS service on nagios i.e monitor.neosys.com can be controlled as follows:&lt;br /&gt;
&lt;br /&gt;
Remember that this is the neosysddns service on monitor.neosys.com and NOT the windows service on the server with dynamic ip no.&lt;br /&gt;
&lt;br /&gt;
neosysddns logging level may be configured NOT to show every DDNS update check if the IP no hasn&#039;t changed to save log file space since the neosysddns windows servers triggers every minute.&lt;br /&gt;
&lt;br /&gt;
 nano /etc/nagios3/conf.d/ddnsconf.py&lt;br /&gt;
 sudo service neosysddns restart&lt;br /&gt;
&lt;br /&gt;
Other NEOSYS DDNS service commands are:&lt;br /&gt;
&lt;br /&gt;
 sudo service neosysddns stop&lt;br /&gt;
 sudo service neosysddns start&lt;br /&gt;
 sudo service neosysddns status&lt;br /&gt;
&lt;br /&gt;
All service commands with the exception of status show nothing if successful or error message if not.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting NEOSYS DDNS Service ==&lt;br /&gt;
&lt;br /&gt;
On nagios/monitor server to see recent ddns updates for a hostname &amp;quot;XXXX&amp;quot; whatever is entered as System ID in System configuration file.&lt;br /&gt;
&lt;br /&gt;
 journalctl|grep -i ddns|grep XXXX&lt;br /&gt;
&lt;br /&gt;
or to watch new ddns updates as they come in&lt;br /&gt;
&lt;br /&gt;
 journalctl -f | grep -i ddns&lt;br /&gt;
&lt;br /&gt;
or to watch new ddns updates as they come in for xxxxxxxx&lt;br /&gt;
&lt;br /&gt;
 journalctl -f | grep -i ddns | grep xxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Lines containing ddns.py are the result of NEOSYS Windows service.&lt;br /&gt;
&lt;br /&gt;
Lines containing apache2 are the result of nagios updates. e.g as shown below:&lt;br /&gt;
&lt;br /&gt;
 Jan 28 00:03:04 monitor apache2: DDNS IP_NO ums &amp;lt;SUCCESS CODE=&amp;quot;200&amp;quot; TEXT=&amp;quot;XXXX.hosts.neosys.com updated to 82.178.63.35&amp;quot; ZONE=&amp;quot;XXXX.hosts.neosys.com&amp;quot;&amp;gt;&lt;br /&gt;
 Jan 28 01:54:26 monitor ddns.py: DDNS IP_NO 4481 &amp;quot;ddns XXXX&amp;quot; No. 11327 was 82.178.63.35 &amp;lt;SUCCESS CODE=&amp;quot;200&amp;quot; TEXT=&amp;quot;XXXX.hosts.neosys.com updated to 85.154.7.138&amp;quot; ZONE=&amp;quot;XXXX.hosts.neosys.com&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Working/Status Files&lt;br /&gt;
&lt;br /&gt;
 ll /var/lib/neosysddns/&lt;br /&gt;
 ll /var/lib/neosysddns/ignored&lt;br /&gt;
&lt;br /&gt;
Configuration File&lt;br /&gt;
&lt;br /&gt;
 nano /etc/nagios3/conf.d/ddnsconf.py&lt;br /&gt;
&lt;br /&gt;
Configuration options - see comments in file&lt;br /&gt;
&lt;br /&gt;
Hosts that have been seen by Nagios but were ignored because the xxxxxxxx.client file was not present in /var/lib/neosysddns&lt;br /&gt;
&lt;br /&gt;
 ll /var/lib/neosysddns/ignored&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Troubleshooting_NEOSYS_Generally&amp;diff=2729</id>
		<title>Troubleshooting NEOSYS Generally</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Troubleshooting_NEOSYS_Generally&amp;diff=2729"/>
		<updated>2016-06-08T11:11:11Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Installing patch in test database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Solving failure to start a NEOSYS server due to disk failure message ==&lt;br /&gt;
=== Problem ===&lt;br /&gt;
During a reboot process (which maybe due to a Windows update or even done by a support personnel) the NEOSYS server gets hung on the startup and shows a message &amp;quot;Boot Failure - Abort, Retry&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
=== Temporary solution ===&lt;br /&gt;
This typically happens due to the USB being plugged into the server and the boot sequence being wrong - i.e. the server trying to boot from the USB first and fails. The immediate solution would be to unplug the USB and ask the client to reboot the server again and upon successfully rebooting the system, plug the USB back again.&lt;br /&gt;
&lt;br /&gt;
=== Permanent solution ===&lt;br /&gt;
The above problem will occur every time the computer is rebooted, so you need to immediately talk to the IT Administrator of the client and ask them to rectify the boot sequence to make it boot first from the CD ROM, then the HDD and last the USB.&lt;br /&gt;
&amp;lt;BR&amp;gt;Allowing &amp;quot;Boot from USB&amp;quot; causes a severe risk of infection by boot sector viruses since the first infected USB device inserted WILL infect the server immediately as anti-virus programs are not active during boot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting the &amp;quot;Database not available&amp;quot; error message == &lt;br /&gt;
=== Problem explained ===&lt;br /&gt;
This error appears when you try to login to NEOSYS after you enter your username and password and click the Login button.&lt;br /&gt;
&lt;br /&gt;
[[image:database_unavailable.jpg]]&lt;br /&gt;
&lt;br /&gt;
Error message : &lt;br /&gt;
&lt;br /&gt;
 Cannot login because : &lt;br /&gt;
 Error :  The (database code) database is not available right now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the error message appears post login i.e. when users are working on the system then check if processes are free to run user request.&lt;br /&gt;
&lt;br /&gt;
[[image:not_available.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Solution explained ===&lt;br /&gt;
# Determine if the processes are running. If they are running and you still get the same message that means that either the processes have [[Troubleshooting_NEOSYS_Generally#Troubleshooting_Hung_processes|hung]] and need to be [[Troubleshooting_NEOSYS_Generally#How_to_kill_hung_NEOSYS_processes|killed]]. Or the processes are busy to run user requests and a new process needs to be started. &lt;br /&gt;
# If the processes are not visible on the destop, it is possible that they are running in the background and have hung for some reason. Check the windows task manager to see if any ‘ntvdm’ process is running and [[Troubleshooting_NEOSYS_Generally#If_NEOSYS_processes_are_not_visible_on_the_server_desktop|fix hung processes]].&lt;br /&gt;
# If there is no trace of any process running, that means the process probably did not start at the scheduled time. Refer to the &#039;Hung Process Reports&#039; to verify this claim. &lt;br /&gt;
# If the process had not hung, then the server might have restarted due to a power failure or a windows update and the administrator user had not logged in post the scheduled startup time of 6AM. To determine this cause, investigate in the Windows Event Viewer Log file.&lt;br /&gt;
# You can now start up the process by clicking on the respective desktop icons.&lt;br /&gt;
# Also check if the backup took place successfully or not. If not take a manual backup.&lt;br /&gt;
# Look into the logs at the date/time stated for the last transaction processed to investigate why process got hung.See [[Troubleshooting_NEOSYS_Generally#Inspecting_Database_LOGS_Folder| Inspecting logs]] for more information on logs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;quot;user not authorised to login from a location&amp;quot; error message ==&lt;br /&gt;
[[image:IPerror.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error message:&#039;&#039;&#039;&lt;br /&gt;
 xxx is not authorised to login form the location (IP Number. xx.xx.xx.xx)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution Explained:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Check the URL used and follow the steps below to check if it is correct and email the user accordingly.&lt;br /&gt;
#If the Client installation is hosted on NEOSYS server then users can use only https link to access NEOSYS.&lt;br /&gt;
#*Check with the client&#039;s management if this particular IP is their public IP.&lt;br /&gt;
#*Add IP on management confirmation (Refer to [[Procedures#Handling_User_Requests_to_add_an_IP_or_range_of_IPs_to_access_NEOSYS|Handling User Requests to add IP/IPs ]] ) &lt;br /&gt;
#In case of Client hosted server, users should access NEOSYS via LAN using the http link.&lt;br /&gt;
#*There can be exceptional cases where user needs to access NEOSYS outside the office Network e.g a client installation with two companies at different locations and NEOSYS installed at one. In this case Support will have to add the IP number of the second company so that users can access NEOSYS.&amp;lt;br&amp;gt;But before you even suggest to add the IP, get the request from their management saying that the IP number is another office location and needs to be added. (Refer to [[Procedures#Handling_User_Requests_to_add_an_IP_or_range_of_IPs_to_access_NEOSYS|Handling User Requests to add IP/IPs ]] )&lt;br /&gt;
&lt;br /&gt;
== Handling damaged files ==&lt;br /&gt;
&lt;br /&gt;
[[Handling damaged files]]&lt;br /&gt;
&lt;br /&gt;
=== Checking for corrupt database files ===&lt;br /&gt;
Login to NEOSYS Maintenance. This can be done when users are online.&lt;br /&gt;
&lt;br /&gt;
Press F5&lt;br /&gt;
&lt;br /&gt;
 CHK.FILES&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
 CHK.FILES filename&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Sizelock while performing chk.files &#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Fixing sizelock errors should not be done while other users are online to the same database.&lt;br /&gt;
&lt;br /&gt;
Sizelock errors are not critical and will be fixed automatically during the nightly backup.&lt;br /&gt;
&lt;br /&gt;
Sizelock errors occur if a program or process that is selecting records from a file is aborted in some abnormal way.&lt;br /&gt;
&lt;br /&gt;
Error message:&lt;br /&gt;
&lt;br /&gt;
 These Files/Tables have a Sizelock Value of 2 or greater. &lt;br /&gt;
 Tag/Select the Files/Tables to be Fixed.&lt;br /&gt;
 Press F9 to fix selected files&lt;br /&gt;
&lt;br /&gt;
Press F9 to proceed with fixing the selected files or press ESC to continue with chk.files without fixing sizelock as it gets automatically fixed during the nightly backup. &lt;br /&gt;
&lt;br /&gt;
Refer to the [http://techwiki.neosys.com/index.php/Backup_and_Restore#Error_Message:_Size_Lock Sizelock errors in backup emails] for more information.&lt;br /&gt;
&lt;br /&gt;
[[file:sizelock.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Determining Database File Name from Operating System File Name ===&lt;br /&gt;
&lt;br /&gt;
To assess the potential damage and possible remedial measures you need to know the database file name. If the message only refers to the operating system file name you need to follow this procedure to determine the database file name.&lt;br /&gt;
&lt;br /&gt;
Once you have the database file name you can use CHK.FILES XXXXXXX to check if corrupt or not and various other procedures to fix the corruption.&lt;br /&gt;
&lt;br /&gt;
Remember that fixing the corrupt data does not solve the overall problem. The *cause* of the corruption must be identified and eliminated otherwise the problem may reoccur and in a more serious form perhaps with unrecoverable loss of data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╒═══════════════════════════════════TCL - 2══════════════════════════════════╕&lt;br /&gt;
│                                                                            │&lt;br /&gt;
│ :list FILES WITH ALL CONTAINING &#039;REV76481&#039;                                 │&lt;br /&gt;
│                                                                            │&lt;br /&gt;
╘════════════════════════════════════════════════════════════════════════════╛&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:DBfilenamefromOSfilename.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Finding out when and by whom a record was deleted ==&lt;br /&gt;
&lt;br /&gt;
In most cases, NEOSYS does not allow users to delete records and instead keeps a record of everything. In some cases however, things are deleted and the only way to get full details about the deletion is to search the logs. This is cumbersome, but there is a quick way to find out when, and by whom, a record was deleted. Prior to NEOSYS software versions dated Mar 2014, and deletions done before the same date, this procedure will only tell you when the record was deleted - but not who deleted it. Knowing exactly when it was deleted will nevertheless help you to search the logs for full details.&lt;br /&gt;
&lt;br /&gt;
In maintenance mode F5&lt;br /&gt;
&lt;br /&gt;
 ED SHADOW DELETED*filename*key&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 ED SHADOW DELETED*BATCHES*L*JOU*2*U&lt;br /&gt;
&lt;br /&gt;
Journals are stored in the BATCHES file. The key of an unposted batch is x*y*999*U where x is the company code, y is the journal type code, 999 is UNPOSTED batch number and U is just U to indicate unposted batches. Note that unposted batches are normally deleted at the time they are posted - ie converted to posted batches.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔══════════════════════════┤DELETED*BATCHES*L*JOU*2*U├═════════════════════════╗&lt;br /&gt;
║16831.60706                                                                   ║&lt;br /&gt;
║BRUCEL                                                                        ║&lt;br /&gt;
║╒═══════════════════════════════════TCL - 6══════════════════════════════════╕║&lt;br /&gt;
║│                                                                            │║&lt;br /&gt;
║│ :EVAL PRINT 16831.60706 &#039;[DATETIME]&#039;                                       │║&lt;br /&gt;
║│                                                                            │║&lt;br /&gt;
║╘════════════════════════════════════════════════════════════════════════════╛║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you see the number (in this case 16831.60706) you can convert it to a time and date by typing something like&lt;br /&gt;
&lt;br /&gt;
 PRINT 16831.60706 &#039;[DATETIME]&#039;&lt;br /&gt;
&lt;br /&gt;
Using this date and time you can search the logs more effectively to find out who did the deletion and in what circumstances.&lt;br /&gt;
&lt;br /&gt;
== Assessing Database Size per File ==&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
 &lt;br /&gt;
 LIST FILES BY BY-DSND SIZE VOLUME.NAME SIZE&lt;br /&gt;
 &lt;br /&gt;
This will include all files not just those in the actual dataset in DATA\* folders.&lt;br /&gt;
&lt;br /&gt;
== Fixing slow speed ==&lt;br /&gt;
=== [[Benchmarking NEOSYS]] ===&lt;br /&gt;
=== Investigating CPU 100% using Windows Task Manager ===&lt;br /&gt;
Email, to support, a screen-shot of task manager APPLICATIONS, PROCESSES and PERFORMANCE screens MAXIMIZED TO SHOW AS MUCH AS POSSIBLE. &lt;br /&gt;
&lt;br /&gt;
(Sort the processes to show ntvdm, waiting.exe and high cpu% processes clearly)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steps:&#039;&#039;&#039;&lt;br /&gt;
#Right Click on Windows Taskbar and click on Start Task Manager &amp;lt;br&amp;gt; [[image:starttaskmanager.jpg]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
#Click on Processes and then click on CPU &amp;lt;br&amp;gt;&#039;&#039;&#039;Note - The HIGH cpu% processes which should usually be the &amp;quot;process&amp;quot; called &amp;quot;System Idle Process&amp;quot; &#039;&#039;&#039;&amp;lt;br&amp;gt;[[image:cpu100percent1.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Click on the Performance Tab &amp;lt;br&amp;gt; &#039;&#039;&#039;Note - PF Usage should typically be much less than Physical Memory otherwise there is insufficient real memory in the server to handle the load&#039;&#039;&#039; &amp;lt;br&amp;gt; [[image:cpu100percent3.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Click on Application Tab then Right Click on a NEOSYS Process and Click on Bring to Front &amp;lt;br&amp;gt;&#039;&#039;&#039;See what the NEOSYS Process is doing &amp;lt;br&amp;gt; [[image:cpu100percent2.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Right Click on a NEOSYS Process and Click on Go to Processes &amp;lt;br&amp;gt;&#039;&#039;&#039;Note the cpu% ntvdm process &amp;lt;br&amp;gt;[[image:cpu100percent2_2.jpg]]&amp;lt;br&amp;gt;  &lt;br /&gt;
#Normally NEOSYS application screens say &amp;quot;LISTENING&amp;quot; in the bottom line and those applications should have very low cpu%&amp;lt;br&amp;gt;[[image:normalneosysprocess.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Look at the difference between the screen of running NEOSYS processes (applications actually) which are idle (listening for requests) and active (processing a request from a user)&lt;br /&gt;
#Note the number of cpus or cpu threads in the server from the performance screen graphics&amp;lt;br&amp;gt;[[image:performance-taskmgr-cputhread.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Take screen-shots of any and ALL hung or long running processes (NEOSYS application screens) and email them to support. Even small details on the screens and user names, the user names may give clues to what problem caused the hanging.A Typical Hung NEOSYS process will look like this: &amp;lt;br&amp;gt; [[image:hungneosysprocess.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
#Once all hung/long processes are closed then CPU should be low and not near 100%. If it is still 100% then check all high cpu% processes and send a screen-shot of processes sorted to show the high cpu% process names to support.&lt;br /&gt;
&lt;br /&gt;
=== Solving server CPU% is 100 and all users are extremely slow/stopped ===&lt;br /&gt;
&lt;br /&gt;
Get the screenshots of Task Manager and ALL processes on the server, the objective is to assess the true issue. No need to get the screens not in use obviously but you can send a parallel screen shot for them if you want to be pedantic or even a comment will do.&lt;br /&gt;
&lt;br /&gt;
==== Too few CPUs/threads for the number of users ====&lt;br /&gt;
In Windows task manager normally, you should see one ntvdm.exe and one waiting.exe process per NEOSYS process (application). A standard installation has three NEOSYS processes per main database and plus one per test database. This is configured in Support Menu, Configuration File.&lt;br /&gt;
&lt;br /&gt;
If there are MORE ntvdm processes than you expect from the configuration file, then perhaps NEOSYS is auto starting new NEOSYS processes to try and cater for a high number of concurrent users.&lt;br /&gt;
&lt;br /&gt;
If the number of concurrent NEOSYS processes significantly exceeds the number of cpus/hyperthreads available in the server then processing for everybody can become so slow for everybody and almost no work gets done.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Stop NEOSYS creating new NEOSYS processes automatically. Create a text file with the first and only line as AUTOSTART=NO in the neosys\neosys folder something like this.&lt;br /&gt;
&lt;br /&gt;
notepad d:\neosys\neosys\NET.CFG&lt;br /&gt;
&lt;br /&gt;
AUTOSTART=NO&lt;br /&gt;
&lt;br /&gt;
== How do I troubleshoot email not received? ==&lt;br /&gt;
&lt;br /&gt;
[[Troubleshooting email not received]]&lt;br /&gt;
&lt;br /&gt;
== Fixing permissions errors while logging in ==&lt;br /&gt;
 &lt;br /&gt;
=== Problem ===&lt;br /&gt;
 &lt;br /&gt;
While logging in, you get the following error message:&lt;br /&gt;
[[Image:login_error_message.jpg]]&lt;br /&gt;
 &lt;br /&gt;
=== Solution ===&lt;br /&gt;
 &lt;br /&gt;
Add the internet guest account to the security list of the data folder with the default permission of list/read/write&lt;br /&gt;
 &lt;br /&gt;
Make sure the read&amp;amp;execute permission is removed&lt;br /&gt;
[[Image:permissions_on_data.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fixing the &#039;HTTP Error 500.0 - Internal Server Error&#039; while logging in on IE on a Windows Vista system ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
After configuring IIS on Windows Vista you will get this error message while trying to login into NEOSYS from Internet Explorer:&lt;br /&gt;
&lt;br /&gt;
 HTTP Error 500.0 - Internal Server Error&lt;br /&gt;
 Description: This application is running in an application pool that uses the Integrated .NET  &lt;br /&gt;
 mode. This is the preferred mode for running ASP.NET applications on the current and future &lt;br /&gt;
 version of IIS.&lt;br /&gt;
 &lt;br /&gt;
 In this mode, the application using client impersonation configured with &amp;lt;identity &lt;br /&gt;
 impersonate=&amp;quot;true&amp;quot; /&amp;gt; may not behave correctly. Client impersonation is not available in early &lt;br /&gt;
 ASP.NET request processing stages and may lead modules in those stages to execute with process &lt;br /&gt;
 identity instead.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
You can move the application to an application pool that uses the Classic .NET mode by using the following from a command line window (the window must be running as Administrator) &lt;br /&gt;
&lt;br /&gt;
 %systemroot%\system32\inetsrv\APPCMD.EXE set app &amp;quot;Default Web Site/neosys&amp;quot; /applicationPool:&amp;quot;Classic .NET AppPool&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can use any other application pool on your system that is running in the Classic .NET mode. You can also use the IIS Administration tool to move this application to another application pool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fixing the &#039;Class Not Registered&#039; error message while logging in ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
While logging into NEOSYS, you will get a popup window giving an error message saying &#039;Class Not Registered - Server Error&#039;. Typically, you will encounter this error with XP Pro IIS 5.1. As usual, there&#039;s way to solve it, however the root cause of this is still unknown.&lt;br /&gt;
&lt;br /&gt;
Anyway, you will get the proper message in the event log:&lt;br /&gt;
&lt;br /&gt;
 Event Type: Warning&lt;br /&gt;
 Event Source: W3SVC&lt;br /&gt;
 Event Category: None&lt;br /&gt;
 Event ID: 36&lt;br /&gt;
 Description: The server failed to load application &#039;/LM/W3SVC/1/ROOT/NEOSYS.&lt;br /&gt;
 The error was &#039;Class not registered&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
So, what do you do ? This problem is related to Component Services, and when you open Component Services MMC, you will most probably  get  Error Code 8004E00F COM + was unable to talk to Microsoft Distributed Transaction Coordinator. So, fix the COM+ services first by using the following KB from Microsoft (PRB: Cannot Expand &amp;quot;My Computer&amp;quot; in Component Services MMC Snap-In http://support.microsoft.com/?id=301919):&lt;br /&gt;
&lt;br /&gt;
To resolve this problem, reinstall Component Services as follows: WARNING: &lt;br /&gt;
# Open registry editor, locate HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3, and then delete this key.  &lt;br /&gt;
# From the Start menu, point to Settings, click Control Panel, and then click Add/Remove Programs.  &lt;br /&gt;
# Click Add/Remove Windows Components. &lt;br /&gt;
# Proceed through the wizard, and accept all of the defaults (including IIS)&lt;br /&gt;
# Restart the computer.&lt;br /&gt;
&lt;br /&gt;
If the above didn&#039;t solve it, and you still receive the &#039;Class not registered&#039; error message, then you need to recreate the IIS packages in COM+, try&lt;br /&gt;
&lt;br /&gt;
# Delete IIS related package in Component Services MMC&lt;br /&gt;
# IIS In-Process Applications &lt;br /&gt;
# IIS Out-of-Process Pooled Applications &lt;br /&gt;
# IIS Utilities&lt;br /&gt;
&lt;br /&gt;
Next, if you still get the message, try following before re-install IIS if you can&#039;t find Distributed Transaction Coordinator in your Services console.&lt;br /&gt;
&lt;br /&gt;
Launch command prompt and run the following command.&lt;br /&gt;
# msdtc -install&lt;br /&gt;
# net start msdtc&lt;br /&gt;
&lt;br /&gt;
Then try re-install IIS.&lt;br /&gt;
&lt;br /&gt;
This should solve the problem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enabling File Security option on Win XP Professional ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
&lt;br /&gt;
In the Properties of any folders, the Security option does not show, hence you cannot modify the Read, Write options.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
The solution would be to untick the &#039;Simple File Sharing&#039; option from  Tools &amp;gt; Folder Options &amp;gt; View:&lt;br /&gt;
[[Image:simplefilesharingoff.jpg]]&lt;br /&gt;
&lt;br /&gt;
== %00%00%00%00 Errors ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SYSTEM ERROR in line 162. Amount &amp;quot;-2698.00AED&amp;quot; or base &amp;quot;%00%00%00%00&amp;quot; has been wrongly generated   &lt;br /&gt;
GET NEOSYS SUPPORT. DO NOT ATTEMPT TO CORRECT MANUALLY    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Solution ===&lt;br /&gt;
%00%00%00%00 indicates an internal error that NEOSYS programmer has to fix. It is usually random and can be hard to replicate unlike almost all other NEOSYS errors which usually replicate reliably once you find the cause.&lt;br /&gt;
&lt;br /&gt;
== B703 Errors ==&lt;br /&gt;
&lt;br /&gt;
The B703 error is usually always related to something too big for NEOSYS to handle. &lt;br /&gt;
&lt;br /&gt;
These are the only B errors that NEOSYS cant always permanently prevent by fixing the software.&lt;br /&gt;
&lt;br /&gt;
== Internet Explorer Menu, View, Text Size doesnt change font size as expected ==&lt;br /&gt;
&lt;br /&gt;
Cause: This is because the font size is now user definable in NEOSYS and View, Text Size does not override predefined font sizes.&lt;br /&gt;
&lt;br /&gt;
Solution: If you are using Internet Explorer 7 you can scale the screen (including the font size  using ctrl + and ctrl - keyboard shortcuts or the font size button on the bottom right hand side of the window. &lt;br /&gt;
&lt;br /&gt;
You can adjust the font size on the User Details form when you login although this permanently applies to all forms not just the one that you are on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uploaded jpg files fail to display in internet explorer ==&lt;br /&gt;
&lt;br /&gt;
Some large jpg files &amp;gt; 2Mb cannot be viewed in internet explorer despite being viewable in image preview, ms paint and other viewers/editors. It is not an issue caused by uploading or downloading the files.&lt;br /&gt;
&lt;br /&gt;
These file appear to have been created on Photoshop CS Macintosh and may be a special type of uncompressed jpg used for production quality files.&lt;br /&gt;
&lt;br /&gt;
=== Partial solution ===&lt;br /&gt;
Before uploading the files, open them in some editor like MS Paint (right click, edit) and save them. However this results in a loss of quality. Perhaps there is some program that can convert these files to a format understandable by Internet explorer without any loss of quality.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;This document is currently read only&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
The user attempting to modify this document does not have the authorization key to do so.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
Inform the user that he is not authorised to modify the document and give him the list of users within his company who are authorised to do so.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;You have attempted to write to a read-only file&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
=== Message ===&lt;br /&gt;
&lt;br /&gt;
Error while writing data.&lt;br /&gt;
You have attempted to write to a read-only file.&lt;br /&gt;
- or -&lt;br /&gt;
access to the file has been denied by the operating system.&lt;br /&gt;
(operating system file name: &amp;quot;..\DATA\ADLINEC\ADAGENCY\REV76467.OV00012618&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
It is almost certainly due to some third party backup or other maintenance software opening the NEOSYS database files when it shouldn&#039;t e.g. badly configured third party backup scheduled to backup NEOSYS while NEOSYS is still running. Note that the exact filename varies each time.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
This can be a serious error that causes damaged files in NEOSYS especially if the filename ends in .OV. Use the usual methods of checking for damaged files e.g. do a backup which also looks for damaged files BUT DO NOT OVERWRITE THE LATEST BACKUP SINCE IT MAY BE REQUIRED for restoration. Then fix the damaged files using the usual methods e.g. by rebuilding/using&lt;br /&gt;
FIXFILE or restoring databases. For more info check [[Handling damaged files|Handling damaged files]]&lt;br /&gt;
&lt;br /&gt;
=== Prevention ===&lt;br /&gt;
&lt;br /&gt;
Remove the third party backup or other maintenance software or reschedule it to run at a time that NEOSYS is shutdown. Removal of software may require hunting through the windows process list for unexpected programs running.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting Hung processes==&lt;br /&gt;
&lt;br /&gt;
=== Investigating hung NEOSYS processes ===&lt;br /&gt;
&lt;br /&gt;
To find out some information about what the hung processes are suffering from, do the following:&lt;br /&gt;
&lt;br /&gt;
When no important clients working (eg first thing in the morning) then request a shutdown of all NEOSYS processes. This should will leave only the hung processes open.&lt;br /&gt;
&lt;br /&gt;
Then find what NEOSYS files are open as follows:&lt;br /&gt;
&lt;br /&gt;
run Sysinternal&#039;s &amp;quot;Process Explorer&amp;quot; (from Start, Programs or procexp.exe from desktop)&lt;br /&gt;
&lt;br /&gt;
find, handle&lt;br /&gt;
&lt;br /&gt;
 d:\&lt;br /&gt;
&lt;br /&gt;
submit the complete list (maybe more than one page) to support for records&lt;br /&gt;
&lt;br /&gt;
[[Image:invhungprocess.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Troubleshooting_NEOSYS_Generally#Investigating_CPU_100.25_using_Windows_Task_Manager|Investigating CPU 100% using Windows Task Manager]]  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Troubleshooting_NEOSYS_Generally#Solving_server_CPU.25_is_100_and_all_users_are_extremely_slow.2Fstopped|Solving server CPU% is 100 and all users are extremely slow/stopped]] ===&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Fatal Error in Rev Restart&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
[[image:fatal.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Error message: “Abort, Retry, Fail” ===&lt;br /&gt;
==== Problem ====&lt;br /&gt;
The following messages may come on older versions of NEOSYS if there is a problem with the USB media inserted for backup.&lt;br /&gt;
&lt;br /&gt;
[[image:usberror.jpg]]&lt;br /&gt;
&lt;br /&gt;
This results in “NEOSYS has not checked in” message on Nagios since it hangs during the monitoring update and locks all other processes from monitoring too.&lt;br /&gt;
&lt;br /&gt;
General failure writing drive F&lt;br /&gt;
Abort, Retry, Fail?&lt;br /&gt;
&lt;br /&gt;
Not read reading drive F&lt;br /&gt;
Abort, Retry, Fail?&lt;br /&gt;
&lt;br /&gt;
Pressing A or F results in the problem happening again in about a minute, perhaps on a different process.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Temporary solution is to do “Safely remove hardware” from the windows notification area. Using “Eject” from My Computer will not work.&lt;br /&gt;
&lt;br /&gt;
Permanent solution is to replace the defective USB memory stick. Sometime reformatting is sufficient.&lt;br /&gt;
&lt;br /&gt;
Upgrading NEOSYS will probably stop the defective media from causing NEOSYS to hang but the USB will still be useless for backup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Read error in the operating system file&amp;quot; ===&lt;br /&gt;
==== Problem ====&lt;br /&gt;
Nagios reports a hung process and on the server a process has the following message popup.&lt;br /&gt;
&lt;br /&gt;
 Read error in the operating system file &amp;quot;..\DATA\PT0833\ACCOUNTS\REV20049&lt;br /&gt;
 The file does not exist or the filename is&lt;br /&gt;
 not valid for the operating system.&lt;br /&gt;
&lt;br /&gt;
[[Image:readerrorintheoperatingsystemfile.png]]&lt;br /&gt;
&lt;br /&gt;
==== Cause ====&lt;br /&gt;
Some non-NEOSYS program is directly accessing the NEOSYS database files while NEOSYS processes are running and using the files as well.&lt;br /&gt;
&lt;br /&gt;
*Client IT staff using a backup program to perform backup without ensuring that NEOSYS processes are shutdown.&lt;br /&gt;
*A NEOSYS rsync process taking longer than expected due to new USB.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Kill the NEOSYS process eg with the X button. It is advisable NOT to let it run further while it cannot properly access one of its files.&lt;br /&gt;
&lt;br /&gt;
==== Prevention ====&lt;br /&gt;
Remove the third party program or arrange for it to operate only while NEOSYS processes are shutdown eg from 3am-6am.&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Not enough string space - Out of Memory&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
==== Message ====&lt;br /&gt;
&lt;br /&gt;
‘RTP27’ Line 1. [B29] Not enough string space – Out of Memory.&lt;br /&gt;
&lt;br /&gt;
Not enough memory to execute Debugger; current program aborted.&lt;br /&gt;
Press any key to continue&lt;br /&gt;
&lt;br /&gt;
[[Image:out_of_memory.jpg]]&lt;br /&gt;
&lt;br /&gt;
==== Cause ====&lt;br /&gt;
Unknown perhaps related to some large document or report&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Ask users for any hanging transactions.&lt;br /&gt;
None other than closing and starting another process.&lt;br /&gt;
&lt;br /&gt;
Also refer [[Troubleshooting NEOSYS Generally#Enabling EMS memory on Window 2003|Enabling EMS memory on Window 2003]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: B521 ===&lt;br /&gt;
&lt;br /&gt;
[[Image:B521.jpg]] &lt;br /&gt;
&lt;br /&gt;
 Another user is currently updating indexes. &lt;br /&gt;
 Waiting to make your updates...&lt;br /&gt;
 If you interrupt this process,&lt;br /&gt;
 you may have to rebuild all the indexes&lt;br /&gt;
&lt;br /&gt;
B521 message is usually temporary and goes away by itself. If it does not then, as the text of the B521 message makes clear, some OTHER process is holding up the system, preventing the process with B521 message from continuing.&lt;br /&gt;
&lt;br /&gt;
B521 message is a symptom of other problem so it does not itself have some one simple solution. You must find which other process or issue is causing the hold up and solve whatever problem is causing the hold up, which could be anything.&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot; NTVDM encountered a hard error &amp;quot;  ===&lt;br /&gt;
&lt;br /&gt;
The following error message appears:&lt;br /&gt;
&lt;br /&gt;
[[Image:ntvdm.jpg]]&lt;br /&gt;
&lt;br /&gt;
 NTVDM encountered a hard error&lt;br /&gt;
&lt;br /&gt;
==== Solution  ====&lt;br /&gt;
 &lt;br /&gt;
This error is caused by missing or corrupt Windows system files (i.e. command.com, autoexec.nt and config.nt). The solution is to run a program called XP FIX which will reinstall these missing files. You can download it form http://www.visualtour.com/downloads/xp_fix.exe&lt;br /&gt;
&lt;br /&gt;
Sometimes even after running the XP FIX program the error still appears. Then you need to copy all the files under C:/windows/repair to C:/windows/system32 and in the autoexec.nt and config.nt put REM before any lines there which don&#039;t have it.&lt;br /&gt;
&lt;br /&gt;
====Possible fix for some NTVDM errors ====&lt;br /&gt;
&lt;br /&gt;
===== Error message ===== &lt;br /&gt;
&lt;br /&gt;
[[Image:Ntvdm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
 NTVDM has encountered a System error.&lt;br /&gt;
 The system cannot find the file specified.&lt;br /&gt;
 Choose close to terminate the application.&lt;br /&gt;
&lt;br /&gt;
=====Possible solution===== &lt;br /&gt;
&lt;br /&gt;
#Change the TEMP and TMP environment variables to C:\WINDOWS\TEMP. This should be for the user that runs NEOSYS processes - normally administrator.&lt;br /&gt;
#Close all NEOSYS processes &lt;br /&gt;
#Logout/Login again&lt;br /&gt;
#Restart NEOSYS processes&lt;br /&gt;
&lt;br /&gt;
[[image:Ntvdmsoln.png]]&lt;br /&gt;
&lt;br /&gt;
===== Check solution done properly ===== &lt;br /&gt;
&lt;br /&gt;
You can check that by typing ECHO %TEMP% and ECHO %TMP% at a console prompt after logging out and in again. &lt;br /&gt;
&lt;br /&gt;
Note that windows will actually set the windows environment variables to something like C:\WINDOWS\TEMP\2 for some unknown reason. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
d:\hosts&amp;gt;ECHO %temp% &lt;br /&gt;
C:\WINDOWS\TEMP\2 &lt;br /&gt;
&lt;br /&gt;
d:\hosts&amp;gt;ECHO %tmp% &lt;br /&gt;
C:\WINDOWS\TEMP\2 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Error message: [[Troubleshooting_NEOSYS_Generally#Troubleshooting_the_.22Database_not_available.22_error_message|&amp;quot;Database not available&amp;quot; post login]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: [[Backup_and_Restore#Error_Message:_.22Cannot_backup.2Frestore_because_PROCESS1_PROCESS2_.28etc.29_is.2Fare_online.22_message|&amp;quot;Cannot backup/restore because PROCESS1 PROCESS2 (etc) is/are online&amp;quot;]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How to kill hung NEOSYS processes ===&lt;br /&gt;
 &lt;br /&gt;
NOTE WELL: If you kill actively working NEOSYS processes (those which are &amp;quot;listening&amp;quot; and not hung/crashed) there is a reasonable chance that the database will be damaged and might need a restore losing possibly large amounts of work.&lt;br /&gt;
 &lt;br /&gt;
==== If NEOSYS processes are visible on the server desktop ====&lt;br /&gt;
 &lt;br /&gt;
Look for processes which don&#039;t have &amp;quot;Listening ...&amp;quot; on the last but one line. The times on the left hand side are frozen as at the time of the hang.&lt;br /&gt;
 &lt;br /&gt;
You can then click the X to kill the process and confirm that this is OK.&lt;br /&gt;
 &lt;br /&gt;
Example of a NEOSYS process that has hung due to a software error resulting in a failure to handle a complex query with a lot of brand codes.&lt;br /&gt;
&lt;br /&gt;
[[Image:hungprocess.jpg]]&lt;br /&gt;
 &lt;br /&gt;
==== If NEOSYS processes are not visible on the server desktop ====&lt;br /&gt;
&lt;br /&gt;
NEOSYS processes are most of the time visible on the desktop (i.e. the black dos windows) in Windows 2003 OS, except in the case that the process has been scheduled to start on computer restart and no one has logged into the server. In this case it would be running in the background. TODO&lt;br /&gt;
&lt;br /&gt;
You can check if there are any hung processes from the NEOSYS Support Menu, List of Database Processes. &lt;br /&gt;
[[Image:databaseprocesseslist.jpg]]&lt;br /&gt;
&lt;br /&gt;
In this case you should follow the below instructions - however all of them need to be done within 30 seconds of starting the first instruction to avoid inconvenience to the users. It is recommend that you keep relevant windows open before proceeding with the same:&lt;br /&gt;
&lt;br /&gt;
#Shutdown NEOSYS by TEMPORARILY putting a file called GLOBAL.END in the parent directory of NEOSYS (if there is already a GLOBAL.END.TEMP file then rename it to GLOBAL.END). Leaving the file there would prevent NEOSYS from starting up again. Shutting down NEOSYS from the Support menu will not work because of the hung processes.&lt;br /&gt;
#Use Windows Task Manager to kill all the NTVDM processes - assuming that you have closed all the visible NEOSYS processes, then the NTVDM processes in the task manager would be the hung one.&lt;br /&gt;
#Delete GLOBAL.END or rename it to GLOBAL.END.TEMP&lt;br /&gt;
#Restart the processes back again. If there are many datasets then you need to restart them all well within the 30 seconds period.&lt;br /&gt;
#*Restarting a process is not noticed by users.&lt;br /&gt;
&lt;br /&gt;
In case of Patsalides, where we have a thousand datasets which start &amp;quot;on demand&amp;quot; i.e. usually on login; all you need to do is start one dataset which will restart all the other datasets &amp;quot;on demand&amp;quot;. If there is no response within 30 seconds then one of the running datasets will start it up so there appears to be a 30 second delay when you login to one of the thousand datasets the first time on any one day.&lt;br /&gt;
&lt;br /&gt;
=== Temporary workarounds for hung NEOSYS processes ===&lt;br /&gt;
Until the error in the software is fixed users can often get their results by simplifying their requirements. For example select individual clients instead of selecting all the brands for a particular client. If the user has repeated his request (in forlorn hope that it would work finally) then the number of working NEOSYS processes will drop causing severe slowdown for other users and complete stop if all the NEOSYS processes hang.&lt;br /&gt;
&lt;br /&gt;
== Fixing &amp;quot; You do not have sufficient privilege to access this file &amp;quot;  ==&lt;br /&gt;
&lt;br /&gt;
This error message may come up while NEOSYS process startup.&lt;br /&gt;
&lt;br /&gt;
Solution: Close the window and look for NEOSYS processes. In case there is no process, start the NEOSYS process.&lt;br /&gt;
&lt;br /&gt;
[[image:Errormsg.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing &#039;NEOSYS process which opens up in a notepad instead of Microsoft Windows Based Script Host (i.e. DOS window)&#039;==&lt;br /&gt;
&lt;br /&gt;
The NEOSYS process (cmd file) might open up in a notepad, instead of the usual black colour DOS window. This may happen if a JavaScript file is opened using a notepad. Please be very CAREFUL when accessing a .JS and .JSE file and double check that the default program remains wscript.exe. The issue can be fixed by the following:&lt;br /&gt;
&lt;br /&gt;
# Check if Windows Script 5.6/5.7 is installed, IF NOT download and install it from the Microsoft Website.&lt;br /&gt;
# Go to any folder, click on Tools &amp;gt; Folder Options &amp;gt; File Types and find the .JS and .JSE and change the default program to wscript.exe (from windows&amp;gt;system32)&lt;br /&gt;
&lt;br /&gt;
== Fixing a &#039;Could not start&#039; error on Scheduled Tasks in Windows Server 2000 SP4 ==&lt;br /&gt;
&lt;br /&gt;
This error occurs because of a change that is made to the data that is stored in the credentials database when you install Windows 2000 SP4. Hence installing SP4 causes the the data that is stored in the credentials database to get converted to an SP4-compatible format. A registry key is configured to indicate that the data has been converted to the SP4 format.&lt;br /&gt;
&lt;br /&gt;
Hence the Scheduled Tasks do not work sometimes. However the Scheduled Tasks works fine sometimes, but when you uninstall SP4, it does not work.&lt;br /&gt;
&lt;br /&gt;
The best solution is to:&lt;br /&gt;
&lt;br /&gt;
# Incase Scheduled Tasks do not work after installing SP4, then uninstall SP4 and it should be fine.&lt;br /&gt;
# Incase Scheduled Tasks works after installing SP4, and later after uninstalling SP4, it does not work, then install SP4 and it should be fine.&lt;br /&gt;
&lt;br /&gt;
== Checking for server or NEOSYS crashes ==&lt;br /&gt;
 &lt;br /&gt;
#NEOSYS Maintenance Mode&lt;br /&gt;
#General Menu, Setup, Processes&lt;br /&gt;
#Select the dates and the option Detailed&lt;br /&gt;
 &lt;br /&gt;
This report shows a list of dates and times that NEOSYS logged in but did not log out properly.&lt;br /&gt;
 &lt;br /&gt;
Ignore the very latest entries since they represent the current NEOSYS processes. For example, if you have four NEOSYS processes running at the time that you get the report (including any in maintenance mode) then you can ignore the last four entries.&lt;br /&gt;
 &lt;br /&gt;
The date and time shows for each process that has failed to shutdown correctly when the process logged in. Versions of NEOSYS from January 2008 will also show the date and time that each crashed NEOSYS process was last active (heartbeat) so that the time of failure can be known.&lt;br /&gt;
 &lt;br /&gt;
If you see a bunch of NEOSYS processes all started up at around the same time but all failed to shutdown correctly then the cause will be a server failure - usually power failure.&lt;br /&gt;
 &lt;br /&gt;
Isolated one-off failures will be related to individual NEOSYS process crashes - most commonly caused by one of the following:&lt;br /&gt;
 &lt;br /&gt;
#NEOSYS hanging to due to software failure&lt;br /&gt;
#Manually exiting a NEOSYS process on the server either by pressing Ctrl+Alt+Del or clicking the &amp;quot;X&amp;quot; close icon/box and ignoring the warning&lt;br /&gt;
#Random server failures eg memory, disk etc&lt;br /&gt;
 &lt;br /&gt;
Example:&lt;br /&gt;
 &lt;br /&gt;
 LOGIN 22/12/2007 06:02 NEOSYS SERVER ADAGENCY         Current workstation &lt;br /&gt;
 LOGIN 23/12/2007 06:00 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 06:01 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 06:02 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:52 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:52 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:53 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:00 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:01 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:02 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 13:51 NEOSYS SERVER NEOSYS         Current user session  &lt;br /&gt;
&lt;br /&gt;
Interpretation:&lt;br /&gt;
 &lt;br /&gt;
The first four entries indicate that all four NEOSYS processes started at 06am were suddenly killed probably by power failure&lt;br /&gt;
 &lt;br /&gt;
The next four entries indicate that NEOSYS was restarted at around 08:52 and all these processes were AGAIN killed probably by power failure&lt;br /&gt;
 &lt;br /&gt;
The last four entries can be ignored because there were four NEOSYS processes running at the time that the report was generated&lt;br /&gt;
&lt;br /&gt;
== Searching for word/number in the database files using maintenance mode ==&lt;br /&gt;
&lt;br /&gt;
You can search for any word/number in the database files of NEOSYS, using the following command line:&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 FIND FILENAME WORDWITHOUTANYSPACES&lt;br /&gt;
 &lt;br /&gt;
 For eg:&lt;br /&gt;
 FIND CURRENCIES 1.1&lt;br /&gt;
 (here you are searching for the number 1.1 in the currencies file) You CANNOT search for a phrase ie include spaces like this.&lt;br /&gt;
 &lt;br /&gt;
 Or you can also type:&lt;br /&gt;
 FIND FILENAME &amp;lt;enter&amp;gt;&lt;br /&gt;
 and it will ask you what you want do to search. You can enter an exact phrase with spaces.&lt;br /&gt;
&lt;br /&gt;
Incase you do not know the filenames, you can enter the following command to see all the filenames in the system:&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 LF&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting a Service Unavailable message on Internet Explorer when opening up NEOSYS ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&lt;br /&gt;
The following error message appears in Internet Explorer when you try to open up NEOSYS:&lt;br /&gt;
&lt;br /&gt;
 Service Unavailable&lt;br /&gt;
&lt;br /&gt;
=== Solution  ===&lt;br /&gt;
 &lt;br /&gt;
Open the IIS Manager, right click Web Sites and select properties:&lt;br /&gt;
[[Image:serviceunavailable1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Switch to the Service Tab and tick the &amp;quot;Run WWW Service in IIS 5.0 Isolation Mode&amp;quot;.&lt;br /&gt;
[[Image:serviceunavailable2.jpg]]&lt;br /&gt;
&lt;br /&gt;
You will be asked for Restart of IIS. Click yes to restart IIS. If you are not asked just restart IIS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Inspecting IIS log files ==&lt;br /&gt;
&lt;br /&gt;
At a windows command prompt:&lt;br /&gt;
&lt;br /&gt;
 c:&lt;br /&gt;
 cd \Windows\system32\LogFiles\W3SVC1&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 %SystemDrive%&lt;br /&gt;
 cd %SystemRoot%&lt;br /&gt;
 cd system32\LogFiles\W3SVC1&lt;br /&gt;
&lt;br /&gt;
then (substituting the ip number you are interested in)&lt;br /&gt;
&lt;br /&gt;
 find &amp;quot;192.168.1.55&amp;quot; *|sort&amp;gt;temp.log&lt;br /&gt;
&lt;br /&gt;
Open temp.log in Excel and use Tools, Data, Text to Columns to split into columns using options &amp;quot;Delimited&amp;quot; and check split on Space.&lt;br /&gt;
&lt;br /&gt;
Autowidth all columns by clicking on the top left box just outside the data to the left of column A and above column 1 then double click the column separator to the right of column &amp;quot;A&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note that times and dates are in UTC/GMT so you have to add/subtract your timezone offset to get local times.&lt;br /&gt;
&lt;br /&gt;
==Inspecting Database LOGS Folder==&lt;br /&gt;
LOGS folder in NEOSYS installation folder carries records of all changes done in the database which includes adding and removal of data.&lt;br /&gt;
&lt;br /&gt;
Log file is an XML document which should be viewed in Notepad. Each XML document represents commands executed by each NEOSYS process started each day.&lt;br /&gt;
&lt;br /&gt;
The NEOSYS log files e.g. 15123103.xml are created by the database processes. If the database is not available according to the website then no entry will appear in that log. The request will appear in the IIS website log but that log is nothing to do with database processes.&lt;br /&gt;
&lt;br /&gt;
=== Understanding Log Entries ===&lt;br /&gt;
Inspecting and searching through Logs file allows NEOSYS staff to answer clients queries like &amp;quot;Who deleted schedule XXXX&amp;quot; etc.&lt;br /&gt;
&lt;br /&gt;
While going through the log file you may come across a request &amp;quot;EXECUTE GENERAL GETTASKS NOT&amp;quot;, this request is concerned with getting a list of tasks that the user is *not* allowed to do.&lt;br /&gt;
&lt;br /&gt;
To read and understand the log file with more ease, copy the portion of the log file required to be analyzed into another text editor.&lt;br /&gt;
&lt;br /&gt;
The text that appears as %FE, %FE1, %FE2, etc. are basically separators.&lt;br /&gt;
*First replace FE0%, FE1%, FE2%, etc. with a separator like &amp;quot;--&amp;quot;. There can be occurrences of &amp;quot;%FE&amp;quot; along with some valuable information like &amp;quot;17290&amp;quot;, so replacing &amp;quot;%FE1&amp;quot; in &amp;quot;%FE17290&amp;quot; would lead to loss of information.&lt;br /&gt;
*Then replace %FE with a bigger separator like &amp;quot;===&amp;quot;.&lt;br /&gt;
*Replace other entries like %FCB and then %FC and so on with similar separators.&lt;br /&gt;
*In the end there may be few &amp;quot;FE&amp;quot; remaining, replace these with a separator like &amp;quot;-&amp;quot;.&lt;br /&gt;
*The remaining &amp;quot;%&amp;quot; characters MUST be intelligently replaced with a separator like &amp;quot; &amp;quot; (space), because it can either be an actual &amp;quot;%&amp;quot; or it can be a residue from &amp;quot;%FE&amp;quot;, &amp;quot;%FE1&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
Once replacing all these characters is done, the log file will be more easily readable and vital information will be clearer. &lt;br /&gt;
&lt;br /&gt;
In the log file, you may find numbers like 17290, 17195, etc. These numbers denote dates selected or entered by the NEOSYS user. These are basically the number of days from 31st December 1967 till the date chosen by the user. For example, to convert 17290 to actual date, 31/12/1967 + 17290 = 3/5/2015. So the actual date is 3rd May 2015.&lt;br /&gt;
&lt;br /&gt;
To convert these numbers to dates using maintenance mode, refer to the article [http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Finding_out_when_and_by_whom_a_record_was_deleted Finding out when and by whom a record was deleted]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:NEOSYS Logs.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing NEOSYS processes that do not auto start / Recovering from incorrect advanced date or time ==&lt;br /&gt;
This solution is applicable to live database processes only. Test database processes don’t auto-start any other processes.&lt;br /&gt;
&lt;br /&gt;
=== Problem explained ===&lt;br /&gt;
After starting up the 1st process, the rest of the processes don&#039;t start up.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
The possible cause for this could be that the system date/time might have been changed - either manually or by the auto synchronization. Do the following checks in the sequence of order:&lt;br /&gt;
&lt;br /&gt;
# Check for any *.$* files (* after dollar sign should show a number, the highest being the latest one). If it shows OK, then proceed ahead.&lt;br /&gt;
# Check for any .end files and delete it to rename to .end.temp&lt;br /&gt;
# Check the System Event Viewer log for any 520 or 577 error message (refer http://128.175.24.251/forensics/timechange.htm). Also check for any out of sequence / ahead of today date or time.&lt;br /&gt;
# In case of no 520 or 577 error message, go to Administrative Tools &amp;gt; Local Security Policy &amp;gt; Local Policies &amp;gt; Audit Policy &amp;gt; Audit Privilege use - make sure that Success and Failure are selected under this (this will ensure that future changes to the date/time are recorded in the System Log).&lt;br /&gt;
# In NEOSYS maintenance mode - F5 ED PROCESSES %UPDATE% - and see what it says, incase of any text (only text, not numbers) there, that means that for sure the system date has been changed. To fix this, exit the editor by pressing the ESCAPE key and then type DELETE PROCESSES &amp;quot;%UPDATE%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Fixing NEOSYS maintenance mode not starting up == &lt;br /&gt;
&lt;br /&gt;
Problem :- While trying to start maintenance mode, the maintenance window closes automatically within a split second.&lt;br /&gt;
&lt;br /&gt;
Solution :- Delete the read-only file REVBOOT file (under d:/neosys/neosys folder). REVBOOT file is recreated when you start maintenance mode.&lt;br /&gt;
&lt;br /&gt;
== Recognising and Solving Low Memory Problems ==&lt;br /&gt;
&lt;br /&gt;
Quick Note: Installing a server class operating system on a workstation class computer with the intention of NEOSYS serving a heavy load is likely to cause problems with low memory.&lt;br /&gt;
&lt;br /&gt;
Quick Fix: Disable *ALL* non-essential features in the power-on setup menu.&lt;br /&gt;
&lt;br /&gt;
=== Effects ===&lt;br /&gt;
&lt;br /&gt;
It is speculated but not proven that low memory may cause NEOSYS to fail by hanging, causing damaged files etc.&lt;br /&gt;
&lt;br /&gt;
=== Checking ===&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 MEMORY&lt;br /&gt;
&lt;br /&gt;
On server class machines it should say somewhere around 350Kb to 370Kb Free&lt;br /&gt;
&lt;br /&gt;
Some server class machines have around 330Kb and sometimes even less with no reported problems&lt;br /&gt;
&lt;br /&gt;
The actual effect of low memory is supposed to make NEOSYS slower and perhaps cause hanging and damaged files however this has not been proven in an specific case so far.&lt;br /&gt;
&lt;br /&gt;
On workstation class machines it may often say around 280Kb to 300Kb.&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
Although there is plenty of real memory in virtually all computers now, NEOSYS runs in the legacy 16 bit virtual memory space of a windows mode called NTVDM. This is limited to 1Mb plus 4Mb of EMS memory.&lt;br /&gt;
&lt;br /&gt;
The 1Mb memory space is shared with:&lt;br /&gt;
&lt;br /&gt;
#Various non-essential windows drivers which NEOSYS automatically disables them in autoexec.nt&lt;br /&gt;
#Various plug and play hardware device drivers for the various adapters in the computer like video, network adapters and various other items that NEOSYS is unable to disable.&lt;br /&gt;
&lt;br /&gt;
In a server class computer the hardware device drivers are usually minimally present in the 1Mb base memory and do not therefore DOESNT a low memory situation for NEOSYS.&lt;br /&gt;
&lt;br /&gt;
In workstation class computers there are often many hardware device drivers present in the 1Mb base memory and this DOES causes a low memory situation for NEOSYS.&lt;br /&gt;
&lt;br /&gt;
When NEOSYS is installed on workstation class computers with XP there is usually not a heavy load expectation and therefore the low memory does not cause a problem.&lt;br /&gt;
&lt;br /&gt;
If Windows Server OS is installed on a workstation class computer NEOSYS may well be expected to serve a heavy load with limited amounts of memory.&lt;br /&gt;
&lt;br /&gt;
Workstation class computers: hardware drivers present and EMS is installed in low memory (0000-9FFF) causing low memory for NEOSYS and possible inability to &lt;br /&gt;
&lt;br /&gt;
Server class computers: Usually few hardware drivers are present in high part (A000-FFFF) of the 1Mb base memory and EMS is able to occupy the high memory leaving the low part (0000-9FFFF) of the 1Mb memory free for NEOSYS. You can find out how much memory is available to NEOSYS and whether EMS is occuping high or low memory using the following sections.&lt;br /&gt;
&lt;br /&gt;
=== Fixing Low Memory ===&lt;br /&gt;
&lt;br /&gt;
Start, Run, notepad c:\windows\system32\autoexec.nt&lt;br /&gt;
&lt;br /&gt;
Every time NEOSYS starts it tries to make some changes as follow:&lt;br /&gt;
&lt;br /&gt;
#replaces all lines in C:/WINDOWS/SYSTEM32/AUTOEXEC.NT starting with &#039;lh &#039; to start with &#039;rem NEOSYS LH &#039; instead.&lt;br /&gt;
#changes the line in C:/WINDOWS/SYSTEM32/CONFIG.NT &amp;quot;files=...&amp;quot; to &amp;quot;FILES=200&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The replacement is case sensitive triggered on &#039;lh&#039; and &#039;files&#039; so if you manually edit the files and remove the rem or change the number of files and leave the LH and FILES in uppercase then NEOSYS will NOT make further changes. This allows you to do manual amendments to the files without NEOSYS overwriting them.&lt;br /&gt;
&lt;br /&gt;
Check that NEOSYS has successfully disabled all the drivers in the lines starting with LH.&lt;br /&gt;
&lt;br /&gt;
They should be commented out (prefixed) with REM or REM NEOSYS as follows.&lt;br /&gt;
&lt;br /&gt;
After making changes reopen NEOSYS in maintenance mode to use the MEMORY and WHO commands again.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REM Install CD ROM extensions&lt;br /&gt;
REM NEOSYS LH %SystemRoot%\system32\mscdexnt.exe&lt;br /&gt;
&lt;br /&gt;
REM Install network redirector (load before dosx.exe)&lt;br /&gt;
REM NEOSYS LH %SystemRoot%\system32\redir&lt;br /&gt;
&lt;br /&gt;
REM Install DPMI support&lt;br /&gt;
REM NEOSYS LH %SYSTEMROOT%\SYSTEM32\DOSX&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Low Memory Issues in Windows 2003 server can be fixed using instructions mentioned at [http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Enabling_EMS_memory_on_Window_2003 Fixing Low Memory in Windows 2003 Server]&lt;br /&gt;
&lt;br /&gt;
=== Allowing DOS programs that require DOSX to run on the same computer as NEOSYS ===&lt;br /&gt;
&lt;br /&gt;
The automatic commenting out DOSX by NEOSYS will prevent some other DOS-like programs from running. If NEOSYS is on dedicated server then there should be no other such programs to fail. However, if you must allow DOS-like programs to work as well as NEOSYS you can do the following configuration:&lt;br /&gt;
&lt;br /&gt;
#leave or restore the original AUTOEXEC.NT and CONFIG.NT files where they are&lt;br /&gt;
#copy them to another folder eg neosys folder&lt;br /&gt;
#make the necessary REM changes there by hand&lt;br /&gt;
#right click the NEOSYS\NEOSYS\AREV.PIF and select properties&lt;br /&gt;
#change the location of the AUTOEXEC.NT and CONFIG.NT files in the following location&lt;br /&gt;
&lt;br /&gt;
[[image:pifsettings.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Checking EMS Memory Configuration ===&lt;br /&gt;
&lt;br /&gt;
==== Inspection ====&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 WHO&lt;br /&gt;
&lt;br /&gt;
 press the up arrow to get to the last part/page&lt;br /&gt;
&lt;br /&gt;
===== Example of Typical Server EMS Memory =====&lt;br /&gt;
[[image:serveremm.jpg]]&lt;br /&gt;
&lt;br /&gt;
===== Example of Typical Workstation EMS Memory =====&lt;br /&gt;
[[image:workstationemm.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Correction====&lt;br /&gt;
&lt;br /&gt;
No easy way&lt;br /&gt;
&lt;br /&gt;
Removal of hardware adapters designed for workstations instead of servers eg graphics cards and network cards.&lt;br /&gt;
&lt;br /&gt;
Many of the devices may be located on the motherboard and not relocatable except possibly by BIOS configuration or special manufacturer information.&lt;br /&gt;
&lt;br /&gt;
Use windows device manager, View: Resources by Connection, Open the Memory item and look for items between 000A0000 up to 000FFFFF that might give you a clue as to what hardware could be removed or reconfigured. Actually only 000C0000 to 000FFFFF is candidate for EMS memory since 000A000-000BFFFF is mandatory video memory in all systems.&lt;br /&gt;
&lt;br /&gt;
[[image:devicemanager.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing issue where NEOSYS processes do not start-up at all or start-up and close immediately ==&lt;br /&gt;
&lt;br /&gt;
# Find if a file with the name global.end exists in the root directory of the NEOSYS installation. Eg D:\global.end . If you find such a file, rename it to global.end.temp - for more information on global.end and what it does refer to [[Administering_NEOSYS_Server#Closing_NEOSYS_Services|Closing NEOSYS Services]]&lt;br /&gt;
# If the above didn&#039;t fix the problem and NEOSYS still does not start, do a windows search for the entire NEOSYS folder for *.end (i.e. any file ending with .end extension). You may find a (databasecode).end file in D:\neosys\neosys folder which is created by the NEOSYS program during backup at 1 am and later on removed automatically. In this case NEOSYS program might have crashed during the backup and left this file behind. (databasecode).end files prevent other other NEOSYS processes starting up on the database while exclusive processes (like backup) are being done.&lt;br /&gt;
&lt;br /&gt;
In case the above didn&#039;t fix the problem then escalate to the programmer immediately.&lt;br /&gt;
&lt;br /&gt;
=== Solving &amp;quot;Control Record&amp;quot; error in maintenance mode ===&lt;br /&gt;
&lt;br /&gt;
If processes dont start after you log into maintenance mode and you get an error message&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔════[FS152]═══════════════════════════════════════╗&lt;br /&gt;
║          The control record &amp;quot;RECORDS&amp;quot;            ║&lt;br /&gt;
║           is too long to be saved.               ║&lt;br /&gt;
║   The current record length is 65539 characters. ║&lt;br /&gt;
║                                                  ║&lt;br /&gt;
║               &amp;lt; Press any key &amp;gt;                  ║&lt;br /&gt;
╚══════════════════════════════════════════════════╝  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[File:Record1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1&#039;&#039;&#039;. Press space to get rid of the error message and you should then get this menu&lt;br /&gt;
&lt;br /&gt;
[[File:Record2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2&#039;&#039;&#039;. Press F5 and run this command (case sensitive)&lt;br /&gt;
&lt;br /&gt;
 DICT DEFINITIONS&lt;br /&gt;
&lt;br /&gt;
or Press Alt+S and run this command (case sensitive)&lt;br /&gt;
&lt;br /&gt;
 EXECUTE DICT DEFINITIONS&lt;br /&gt;
&lt;br /&gt;
[[File:Record3.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3&#039;&#039;&#039;. Press Shift+F3 to get the following message&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔══[B202]══════════════════════════════════╗&lt;br /&gt;
║            &amp;quot;DEFINITIONS&amp;quot; has             ║&lt;br /&gt;
║          &amp;quot;QUICKDEX&amp;quot; installed            ║&lt;br /&gt;
║                                          ║&lt;br /&gt;
║ Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N]  ║&lt;br /&gt;
║                                          ║&lt;br /&gt;
║ &amp;lt;Y                                      &amp;gt;║&lt;br /&gt;
╚══════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4&#039;&#039;&#039;. Press Enter to choose Yes.&lt;br /&gt;
&lt;br /&gt;
[[File:Record4.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5.&#039;&#039;&#039;Restart NEOSYS to see if the problem has been solved&lt;br /&gt;
&lt;br /&gt;
== Solving “page not found” when downloading some file types after uploading them successfully ==&lt;br /&gt;
=== One by One ===&lt;br /&gt;
&lt;br /&gt;
Windows web server will not download file types that it is unaware of. You can enable the download of new file types one by one as follows.&lt;br /&gt;
&lt;br /&gt;
This process is tedious and error-prone if you have to add many type.&lt;br /&gt;
&lt;br /&gt;
#Computer Management&lt;br /&gt;
#Services and Applications&lt;br /&gt;
#IIS properties&lt;br /&gt;
#Mime Types&lt;br /&gt;
#Add&lt;br /&gt;
&lt;br /&gt;
=== Many ===&lt;br /&gt;
&lt;br /&gt;
Window Server 2003 is unaware of all the Office 2007+ file types. To add all Office 2007+ file types at once do the following:&lt;br /&gt;
&lt;br /&gt;
Stop IIS&lt;br /&gt;
&lt;br /&gt;
 iisreset /stop&lt;br /&gt;
&lt;br /&gt;
Open the list of mime types&lt;br /&gt;
&lt;br /&gt;
*Start, Run, notepad C:\WINDOWS\system32\inetsrv\MetaBase.xml&lt;br /&gt;
&lt;br /&gt;
Search the file for “xlsx” and quit the editor if already inserted.&lt;br /&gt;
&lt;br /&gt;
Otherwise, find the following line,&lt;br /&gt;
&lt;br /&gt;
  .xml,text/xml&lt;br /&gt;
&lt;br /&gt;
and insert after that line the following lines. They do not need to be indented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.docm,application/vnd.ms-word.document.macroEnabled.12&lt;br /&gt;
.docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document&lt;br /&gt;
.dotm,application/vnd.ms-word.template.macroEnabled.12&lt;br /&gt;
.dotx,application/vnd.openxmlformats-officedocument.wordprocessingml.template&lt;br /&gt;
.potm,application/vnd.ms-powerpoint.template.macroEnabled.12&lt;br /&gt;
.potx,application/vnd.openxmlformats-officedocument.presentationml.template&lt;br /&gt;
.ppam,application/vnd.ms-powerpoint.addin.macroEnabled.12&lt;br /&gt;
.ppsm,application/vnd.ms-powerpoint.slideshow.macroEnabled.12&lt;br /&gt;
.ppsx,application/vnd.openxmlformats-officedocument.presentationml.slideshow&lt;br /&gt;
.pptm,application/vnd.ms-powerpoint.presentation.macroEnabled.12&lt;br /&gt;
.pptx,application/vnd.openxmlformats-officedocument.presentationml.presentation&lt;br /&gt;
.xlam,application/vnd.ms-excel.addin.macroEnabled.12&lt;br /&gt;
.xlsb,application/vnd.ms-excel.sheet.binary.macroEnabled.12&lt;br /&gt;
.xlsm,application/vnd.ms-excel.sheet.macroEnabled.12&lt;br /&gt;
.xlsx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet&lt;br /&gt;
.xltm,application/vnd.ms-excel.template.macroEnabled.12&lt;br /&gt;
.xltx,application/vnd.openxmlformats-officedocument.spreadsheetml.template&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save the file with File and Exit&lt;br /&gt;
&lt;br /&gt;
Restart IIS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Handling Neosys Automatic Upgrade Error Messages ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
We will receive an email from the NEOSYS client installation with the following message:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;UPGRADEN.EXE&amp;quot; does not have expected exe MZ signature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
This message is a note that the NEOSYS automatic update procedure failed to download an upgrade file correctly.&lt;br /&gt;
This happens sometimes due to network issues but can be ignored because the file will be probably be correctly downloaded on the next automatic update check.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This message is only informative to help with any problem with the automatic upgrade procedure and may be removed in a later version of neosys (currently Oct 2012)&lt;br /&gt;
&lt;br /&gt;
== Testing https connection ==&lt;br /&gt;
&lt;br /&gt;
The following procedure tests that the https server is operational and not blocked by firewall etc. It does not detect certificate errors.&lt;br /&gt;
&lt;br /&gt;
From a windows command prompt use the following telnet command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
telnet clientname.hosts.neosys.com 4430&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
#4430 is the usual NEOSYS http port but replace it by whatever port is actually used for NEOSYS https on the system being tested. If there are multiple https installations on a particular server then different ports are probably used&lt;br /&gt;
#Replace clientname.hosts.neosys.com with the normal https login domain name of the client for whom we want to check the https service&lt;br /&gt;
&lt;br /&gt;
Normal behavior is that it should open a black screen. Pressing Enter or any key returns the _ character. (Close the window using the [X] since there is no keyboard command to do so)&lt;br /&gt;
&lt;br /&gt;
Hanging means that there is some connectivity issue (firewall/ip/server not running/https not installed etc)&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;quot;page not found&amp;quot; error while using https ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#The https service stops working and gives &amp;quot;Page not found&amp;quot; error.&lt;br /&gt;
#The https connection tests fine using telnet (see article above)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#Reinstall https using the usual procedure (currently using selfssl)&lt;br /&gt;
#Email clients, requesting to reinstall the new security certificate by following the instructions for [http://userwiki.neosys.com/index.php/Setting_up_and_Configuring_NEOSYS_Generally#Fixing_HTTPS_certificate_error_when_logging_in_from_an_external_link_using_IE8.2C_IE9_and_IE10 Internet Explorer] or [http://userwiki.neosys.com/index.php/Configuring_Safari_for_MAC_OS#Fixing_HTTPS_certificate_error_when_logging_in_using_an_external_link_using_MAC_Operating_System Safari] browser.&lt;br /&gt;
&lt;br /&gt;
== Installing &amp;quot;QUICKDEX&amp;quot; on some files ==&lt;br /&gt;
&amp;quot;Quickdex&amp;quot; is a type of index that keeps an alphabetical order on small files. In some maintenance procedures you may be asked to &amp;quot;install Quickdex&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For example to add a quickdex to the UNITS file.&lt;br /&gt;
&lt;br /&gt;
Maintenance mode press F5&lt;br /&gt;
&lt;br /&gt;
 DICT UNITS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=================Dictionary=================┐&lt;br /&gt;
│                                            │&lt;br /&gt;
│  File name      UNITS                      │&lt;br /&gt;
│  Field name     .........................  │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Dict type                                 │&lt;br /&gt;
│  Single/Multi                              │&lt;br /&gt;
│  Data type                                 │&lt;br /&gt;
│  Output format                             │&lt;br /&gt;
│  Validation patterns                       │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Position              Key part            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Column heading                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Justification     Display length          │&lt;br /&gt;
│  Description                               │&lt;br /&gt;
│                                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
L============================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Shift+F3.&lt;br /&gt;
&lt;br /&gt;
If it says &amp;quot;Do you want to remove ...&amp;quot; then Quickdex has already been installed and you should not continue. Press Esc to cancel, then Esc to quit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[B202]==================================┐&lt;br /&gt;
│                                         │&lt;br /&gt;
│               &amp;quot;UNITS&amp;quot; has               │&lt;br /&gt;
│          &amp;quot;QUICKDEX&amp;quot; installed.          │&lt;br /&gt;
│                                         │&lt;br /&gt;
│ Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N] │&lt;br /&gt;
│                                         │&lt;br /&gt;
│&amp;lt;Y                                      &amp;gt;│&lt;br /&gt;
L=========================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise it should say &amp;quot;Do you want to install ...&amp;quot;. Press Enter to accept.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[W963]============================┐&lt;br /&gt;
│                                   │&lt;br /&gt;
│     Do you want to install a      │&lt;br /&gt;
│ Quickdex or Rightdex index? [Q/R] │&lt;br /&gt;
│                                   │&lt;br /&gt;
│&amp;lt;Q                                &amp;gt;│&lt;br /&gt;
L===================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It should then say &amp;quot;Do you want to update ...&amp;quot;. Press Enter to accept.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[W901]========================================┐&lt;br /&gt;
│                                               │&lt;br /&gt;
│           The &amp;quot;UNITS&amp;quot; file has had            │&lt;br /&gt;
│ the &amp;quot;QUICKDEX&amp;quot; modifying filing system added. │&lt;br /&gt;
│        There are 0 records in &amp;quot;UNITS&amp;quot;.        │&lt;br /&gt;
│                                               │&lt;br /&gt;
│    Do you want to update &amp;quot;QUICKDEX&amp;quot;? [Y/N]    │&lt;br /&gt;
│                                               │&lt;br /&gt;
│&amp;lt;Y                                            &amp;gt;│&lt;br /&gt;
L===============================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards it should return to the initial screen. Press Esc to quit.&lt;br /&gt;
&lt;br /&gt;
== Solving NEOSYS smtp server failure ==&lt;br /&gt;
In case the neosys smtp server fails then we can just use the client&#039;s smtp server.&lt;br /&gt;
&lt;br /&gt;
The following information is required from the client&#039;s smtp server configuration:&lt;br /&gt;
#hostname&lt;br /&gt;
#username&lt;br /&gt;
#password&lt;br /&gt;
#port no. (most likely = 25)&lt;br /&gt;
&lt;br /&gt;
These details should be entered in the &#039;&#039;&#039;System Configuration File&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
[[image:SYSCFGFILE-SMTP.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Strange characters in maintenance mode ==&lt;br /&gt;
While in Maintenance mode, pressing keys on keyboard gives strange characters. Even Enter and Esc don’t work. &lt;br /&gt;
&lt;br /&gt;
This problem has been seen using RDP on:&lt;br /&gt;
*Window Server 2003 Web Edition&lt;br /&gt;
*Windows Server 2003 R2 SP2&lt;br /&gt;
&lt;br /&gt;
[[image:strangecharmaint.jpg]] &lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
#Go to Windows -&amp;gt; control panel&lt;br /&gt;
#Go to Regional and Language Options &lt;br /&gt;
#Click on Languages tab then click on Details &amp;lt;br&amp;gt; [[image:lang1.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
#Click on Settings Tab and Change default input language to English (United States)&amp;lt;br&amp;gt;(or perhaps something else depending on rdp keyboard) &amp;lt;br&amp;gt; [[image:lang2.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== NEOSYS processes do not start after Windows Update  ==&lt;br /&gt;
&lt;br /&gt;
===Problem===&lt;br /&gt;
Scheduled Task to start the NEOSYS processes fail on Servers with Windows 2008 after Windows update. Support will have to log into the server to start the processes manually&lt;br /&gt;
Message on the Schedule Task displays &amp;quot; The operation being requested was not performed because the user has not logged on to the network. The specified service does not exit &amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[image:sti.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Solution===&lt;br /&gt;
&lt;br /&gt;
For clients who cannot tolerate manual intervention after server reboots for any reason (e.g.need to start work before NEOSYS support is available or on NEOSYS support weekends), tick &amp;quot;highest privileges&amp;quot; and &amp;quot;run whether the user is logged in or not&amp;quot;. This approach means that NEOSYS processes which are started by the windows scheduled task are not visible on the desktop and run hidden in the background and only listed in task manager, so avoid this approach on small clients (only few users). Avoiding this approach will also serve to act as an indicator of server restarts.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting NEOSYS remote support port forwarding ==&lt;br /&gt;
This assumes that you have already “port forwarded” tcp port 19580 from your public internet router to the NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
=== Tst 0 - Check if SSH is working on the NEOSYS Server ===&lt;br /&gt;
Type in the following command in command prompt:&lt;br /&gt;
 telnet 127.0.0.1 19580&lt;br /&gt;
&lt;br /&gt;
IF ALL OK you will see the following:&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-03.jpg]] &lt;br /&gt;
&lt;br /&gt;
=== Test 1 - Check if SSH is basically working on NEOSYS server over the LAN ===&lt;br /&gt;
You must know and use the NEOSYS SERVER LAN IP to do this.&lt;br /&gt;
&lt;br /&gt;
 telnet ???.???.???.??? 19580&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-01.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
If you have the WRONG SERVER LAN IP or NEOSYS server SSH is NOT working then it will hang for about 15 seconds and then say “Could not open connection to host …”&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-02.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
OR IF ALL OK you will see the following:&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-03.jpg]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Press Enter to Exit&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-04.jpg]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Test 2 - Check if can connect to the NEOSYS ssh from OUTSIDE the office  ===&lt;br /&gt;
From any internet connected computer OUTSIDE the office test if you can connect to NEOSYS ssh service. You cannot do this test from inside the office.&lt;br /&gt;
&lt;br /&gt;
You need to know the public ip or domain name of the router. If the router IP is dynamic then NEOSYS sets up dynamic name server so instead of a static ip number you will have a domain name something like clientxyz.redirectme.net.&lt;br /&gt;
&lt;br /&gt;
Enter the command .. using YOUR public internet IP number (NOT the LAN ip number) or the dynamic domain name.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-05.jpg]]  &lt;br /&gt;
&lt;br /&gt;
If everything is working OK you will get a black screen as follows. You will NOT get the “SSH-2.0-OpenSSH-4.7” banner” because NEOSYS ssh remote support is restricted to connect ONLY from LAN ip nos and NEOSYS office ip nos.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-06.jpg]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you press Enter a few times then the cursor will just go down. You have click the [X] to close the window.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-07.jpg]]  &lt;br /&gt;
&lt;br /&gt;
=== Test 3 - Check that the ssh connection from step 2 was rejected  ===&lt;br /&gt;
On the NEOSYS server, check the Windows Application log to verify that an SSH connection was rejected.&lt;br /&gt;
&lt;br /&gt;
The rejected ip number will be of the system outside the office that you performed the test from.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-08.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Sample Email: Solving port 19580 port forwarding issues ===&lt;br /&gt;
&lt;br /&gt;
Some IT people know how to troubleshoot port forwarding issues but others are mostly just power users who can configure a home router. If the IT person is in the second category then it is quicker for NEOSYS support to offer to configure their router from the NEOSYS server using Teamviewer. Ideally NEOSYS should not be doing client IT work but if client IT allows NEOSYS access to their router then NEOSYS support can make a brief attempt to do the configuration. If the issue is still unresolved then request the client to get a professional IT network expert to do the job and inform them that NEOSYS will not be able to provide them any support till connectivity is fixed. Below is a letter advising a more skilled person to check connections using telnet which is a low level test.&lt;br /&gt;
&lt;br /&gt;
You can usually determine the NEOSYS server LAN IP number from Nagios. If so then adjust the email text appropriately.&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Dear XYZ,&lt;br /&gt;
&lt;br /&gt;
It is highly critical to fix the connectivity with the NEOSYS server because NEOSYS will not be able to provide any support until&lt;br /&gt;
connectivity is fixed. User support issues will be delayed and remain unresolved if you do not fix this issue URGENTLY.&lt;br /&gt;
&lt;br /&gt;
At the moment there is no connection from the internet via your router to the NEOSYS server and when we do the following, &lt;br /&gt;
we get no connection. &lt;br /&gt;
&lt;br /&gt;
   telnet CLIENTNAME.support.neosys.com 19580&lt;br /&gt;
&lt;br /&gt;
Normally it should connect and presents a black screen (saying SSH something after pressing Enter) which we close.&lt;br /&gt;
&lt;br /&gt;
Please check that you can connect to the NEOSYS server internally by using the NEOSYS server IP address in the following command on any&lt;br /&gt;
computer in your LAN.&lt;br /&gt;
&lt;br /&gt;
    telnet 192.168.?.? 19580&lt;br /&gt;
&lt;br /&gt;
If you can connect to the NEOSYS server internally then please check port forwarding.&lt;br /&gt;
&lt;br /&gt;
Additionally check the following:&lt;br /&gt;
1. Has your router IP changed?&lt;br /&gt;
2. Has your server’s LAN IP changed and are you forwarding to the correct LAN IP?&lt;br /&gt;
3. Is the configuration really correct?&lt;br /&gt;
4. Check router logs for clues&lt;br /&gt;
5. Check NAT settings in the router&lt;br /&gt;
&lt;br /&gt;
For troubleshooting steps refer Troubleshooting NEOSYS remote support&lt;br /&gt;
http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Troubleshooting_NEOSYS_remote_support_port_forwarding&lt;br /&gt;
&lt;br /&gt;
If the problem still persists, please get a professional IT network expert to fix the issue.&lt;br /&gt;
&lt;br /&gt;
Best Regards,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Port mapping restricted by Source IP ===&lt;br /&gt;
&lt;br /&gt;
On NEOSYS router, port forwarding has been setup only for specific source IP addresses. This means you will not be able to establish a TCP connection to NEOSYS server unless your server&#039;s outbound IP is mapped to the NEOSYS router. In other words unless the outbound i.e source IP/port of your server has been granted access on the NEOSYS router for all incoming connections you will not be able to make connections to NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
Outbound IP is used whenever a server tries to make a connection to another server outside its network. On the other hand a server receives all incoming connections using it&#039;s Inbound IP.&lt;br /&gt;
&lt;br /&gt;
Therefore to setup ssh connection from a new Client server to NEOSYS server we need to grant access to its outbound IP on the NEOSYS router. See [[Troubleshooting_NEOSYS_Generally#If_Telnet_does_not_work | link]] to find the outbound server IP/ports of the server.&lt;br /&gt;
&lt;br /&gt;
== Solving “Cant login … INVALID DATA PATH … permission denied” ==&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&lt;br /&gt;
[[image:error-invalid-data-path-1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error Text:&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 Cannot login because:&lt;br /&gt;
 ERROR: INVALID DATA PATH&lt;br /&gt;
 “D:\HOSTS\HOSTNAME\DATA\HOSTNAME\~8746345.1$” Permission Denied&lt;br /&gt;
&lt;br /&gt;
=== Problem Explained ===&lt;br /&gt;
When installing NEOSYS on an existing “non-clean” Windows installation, the standard NEOSYS installation procedure can result in failure to login if the standard windows folder permissions have been modified.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
The solution is to grant IIS permission to write in the \neosys\DATA folder and subfolders as follows:&lt;br /&gt;
#First add the IUSR_XXXXXXX user to the list of users. (XXXXXXXX is the server name and therefore varies per server) as follows:&lt;br /&gt;
#*Right Click on DATA Folder and click on Properties&lt;br /&gt;
#*Click on Security Tab -&amp;gt; Add -&amp;gt; Advanced&lt;br /&gt;
#*Click on Find Now, Select the IUSR_XXXXXXX user and Click on OK&amp;lt;br&amp;gt;[[image:error-invalid-data-path-2.jpg]]&amp;lt;br&amp;gt;[[image:error-invalid-data-path-3.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Second, for the newly added IUSR (IIS user) change the permissions as follows:&lt;br /&gt;
#*&#039;&#039;&#039;REMOVE&#039;&#039;&#039; the read and execute permission (for security, IIS should be unable to execute things that it might have uploaded)&lt;br /&gt;
#*&#039;&#039;&#039;ADD&#039;&#039;&#039; the write permission &amp;lt;br&amp;gt;[[image:error-invalid-data-path-4.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Login should now be possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== NEOSYS process window displays message &amp;quot;Upgrade Downloading&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
[[image:upgradedownloading.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Problem Explained ===&lt;br /&gt;
NEOSYS thinks it sees an new neosys2.exe upgrade file on the location http://www.neosys.com/support/neosys2.exe which is accessed by http so attempts to download it.&lt;br /&gt;
&lt;br /&gt;
Http proxies and various internet issues can cause incorrect info to be sent and there is actually no upgrade available. In this case, eventually it realizes that it cant find an appropriate and it stops. &lt;br /&gt;
&lt;br /&gt;
You don’t have to worry about this case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Enabling EMS memory on Window 2003 ==&lt;br /&gt;
&lt;br /&gt;
Normally EMS memory is provided by Windows 2003 but this can vary depending on the server hardware/bios configuration&lt;br /&gt;
&lt;br /&gt;
If you get the following messages on Windows 2003&lt;br /&gt;
&lt;br /&gt;
#Backup File Size is 0&lt;br /&gt;
#RTP27. [B28] Not enough String Space – Out of Memory&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
On servers that had no problem previously, the problem is caused by a windows update in Oct 2012 that disables standard Windows EMS memory.&lt;br /&gt;
&lt;br /&gt;
The patch is issued by Microsoft on 9 Oct 2012 but the installation date in the server depends on when the update was actually installed.&lt;br /&gt;
&lt;br /&gt;
http://support.microsoft.com/kb/2724197&lt;br /&gt;
&lt;br /&gt;
=== Solution 1 - maximum performance ===&lt;br /&gt;
&lt;br /&gt;
To re-enable standard windows EMS on older slower servers or servers where NEOSYS performance must be maximized.&lt;br /&gt;
&lt;br /&gt;
The following link contains instructions how to remove the offending windows update&lt;br /&gt;
&lt;br /&gt;
It also shows how to prevent it being reinstalled automatically by Windows.&lt;br /&gt;
&lt;br /&gt;
http://www.columbia.edu/~em36/wpdos/emsxp.html&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to prevent it being reinstalled again automatically&lt;br /&gt;
&lt;br /&gt;
=== Solution 2 – ease of installation ===&lt;br /&gt;
&lt;br /&gt;
This option can also be used if Window 2003 is unable to provide EMS memory for example when the server hardware/bios configuration prevents it.&lt;br /&gt;
&lt;br /&gt;
Install EMSMAGIC in the same way as for Windows server 2008&lt;br /&gt;
&lt;br /&gt;
EMSMAGIC has higher memory consumption and makes NEOSYS processes slower so it is better to use Solution 1 above if NEOSYS performance is an issue.&lt;br /&gt;
&lt;br /&gt;
== Fixing no output file in XXX YYY Issue ==&lt;br /&gt;
&lt;br /&gt;
===Error Message===&lt;br /&gt;
&lt;br /&gt;
[[File:Nooutputfile.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Problem Explained===&lt;br /&gt;
&lt;br /&gt;
The message “No output file in XXX YYY” can appear at several instances in NEOSYS, most often when generating reports or documents. &lt;br /&gt;
&lt;br /&gt;
This problem is usually caused by software error and it indicates that the NEOSYS server responded without any output and without any message. &lt;br /&gt;
&lt;br /&gt;
===Solution===&lt;br /&gt;
1) Find proof to check if the data required for the report actually exists. This way we can eliminate lack of data as a cause for this error.&lt;br /&gt;
&lt;br /&gt;
2) Check to see if a similar issue has been fixed in latest version of NEOSYS.&lt;br /&gt;
&lt;br /&gt;
3) Document HOW and WHERE the problem can be duplicated by NEOSYS programmers to identify and correct the software.&lt;br /&gt;
&lt;br /&gt;
An example of this error can be found at [[Troubleshooting_NEOSYS_Media_System#Error:_No_output_file_in_MEDIAPROXY_SCHEDULEPRINT|No Output File in MEDIAPROXY SCHEDULEPRINT]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting Internet Connections ==&lt;br /&gt;
&lt;br /&gt;
===Cannot Connect===&lt;br /&gt;
&lt;br /&gt;
While investigating as to why users are not able to access NEOSYS or http://www.neosys.com/ ,you can check which ISP the connection issue is on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;whois ipno&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inspect very carefully to get clues as to which ISP and which AREA of the ISP the problematic ip numbers are and which do NOT have problems&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting TCP/IP Connections ===&lt;br /&gt;
&lt;br /&gt;
====Telnet check====&lt;br /&gt;
&amp;lt;pre&amp;gt; telnet &amp;lt;hostname&amp;gt; 19580  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====If Telnet does not work====&lt;br /&gt;
In case telnet does not work, login to the remote host server to investigate the issue. Run the following command simultaneously while doing Telnet from client server to the remote host to check if the TCP packets are reaching the Remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tcpdump -v &#039;src host client-domain-name/ip&#039; &lt;br /&gt;
tcpdump -v portno &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To check if packets are sent from the client server to the remote host, you can run the following command simultaneously while trying to ssh to the remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;netstat -an &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also check if the outbound ports are open from which you are trying to establish the TCP connection to the remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;telnet portquiz.net portno &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The outbound IP addresses at times can be different from the public IP of the Client server so be sure that the public IP of the client server is the same as its source IP (which represents an incoming connection from Client to Remote server). One way to find the source IP of the Client server is sending an email from Client server to &amp;quot;support@neosys.com&amp;quot;. On receiving the email in Thunderbird, select the email and press Ctrl+u. A new window Opens giving full details of the email received. The third &amp;quot;Received :from&amp;quot; gives the IP of the source.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting DNS failure ===&lt;br /&gt;
&lt;br /&gt;
NEOSYS clients routers are usually configured to use their ISP DNS service and the ISP DNS service is supposed to contact one of NEOSYS&#039;s DNS servers to convert server names like hosts.neosys.com into IP numbers. Misconfiguration of clients routers or problems in the ISP DNS server may cause CANNOT CONNECT problems. Often the connect fails quickly and immediately since if a name cannot be converted to an ip number then the connection cannot even be attempted and therefore there is little or no timeout to wait through.&lt;br /&gt;
&lt;br /&gt;
NEOSYS.COM name servers are listed publically and obtained by whois command.&lt;br /&gt;
&lt;br /&gt;
 whois neosys.com&lt;br /&gt;
&lt;br /&gt;
 Name Server: DNS1.EASYDNS.COM&lt;br /&gt;
 Name Server: DNS2.EASYDNS.NET&lt;br /&gt;
 Name Server: DNS3.EASYDNS.ORG&lt;br /&gt;
 Name Server: NS12.ZONEEDIT.COM&lt;br /&gt;
 Name Server: NS18.ZONEEDIT.COM&lt;br /&gt;
&lt;br /&gt;
In order to contact NEOSYS DNS servers the ISP&#039;s have to use a global DNS to obtain the ip addresses of NEOSYS DNS servers given the host names of NEOSYS DNS servers given in the whois info&lt;br /&gt;
&lt;br /&gt;
Here is an example of DU testing NEOSYS DNS servers. The NEOSYS DNS server ip addresses are listed in the Destination column.&lt;br /&gt;
&lt;br /&gt;
[[File:internet.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If one DNS server is down or unreachable REGARDLESS OF REASON, the ISP is supposed to use the other DNS servers. It is impossible for all NEOSYS DNS servers to be unreachable except in gross disconnection from the internet of the ISP since it is effectively impossible that all NEOSYS DNS servers which are carefully spread around the internet, to be unreachable.&lt;br /&gt;
&lt;br /&gt;
In the above test one of the NEOSYS DNS servers is unreachable but all the others are reachable therefore DU should have no problem providing DNS service to its clients.&lt;br /&gt;
&lt;br /&gt;
ISP are often worse at providing DNS server than the famous GOOGLE DNS servers, so re configuring client router to use GOOGLE DNS servers is a way to prove that the problem lies with the ISP&#039;s DNS service&lt;br /&gt;
&lt;br /&gt;
=== Additional test for troubleshooting problems with uploading ===&lt;br /&gt;
&lt;br /&gt;
====Verifying that upload.dll can run====&lt;br /&gt;
&lt;br /&gt;
This isnt a complete test of everything. It just checks if the upload program can be run by the web server. It doesnt check if uploads work or the image directory is correctly configured with the right permissions and uploads can actually be done.&lt;br /&gt;
&lt;br /&gt;
===== Error Message =====&lt;br /&gt;
&lt;br /&gt;
... to be added when discovered ...&lt;br /&gt;
&lt;br /&gt;
===== Test =====&lt;br /&gt;
&lt;br /&gt;
Test HTTP if accessible by LAN; Test HTTPS is accessible by Internet; Test both if both are available.&lt;br /&gt;
&lt;br /&gt;
On the server type the following into a browser&lt;br /&gt;
&lt;br /&gt;
LAN/HTTP:&lt;br /&gt;
&lt;br /&gt;
 http://localhost/neosys/neosys/dll/upload.dll&lt;br /&gt;
&lt;br /&gt;
WAN/HTTPS:&lt;br /&gt;
&lt;br /&gt;
 https://localhost:9999/neosys/dll/upload.dll&lt;br /&gt;
&lt;br /&gt;
===== Expected Result =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Upload Error. !&lt;br /&gt;
Please call me from a form !!!&lt;br /&gt;
The first param must be Filename= name of the uploaded file, TYPE=TEXT&lt;br /&gt;
The second param must be Filedata= uploaded file, TYPE=FILE&lt;br /&gt;
The third param is optional PathData= path to uploaded file, default c:\temp\, TYPE=HIDDEN&lt;br /&gt;
The forth param is optional RedirectPage= name of asp who receive the results, TYPE=HIDDEN&lt;br /&gt;
Add others params at the end with INPUT tag.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Uerror.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Patching a NEOSYS program ==&lt;br /&gt;
&lt;br /&gt;
The patch provided will tell you the program name and contain either a whole replacement program text or just some changed lines which you will have to find and edit.&lt;br /&gt;
&lt;br /&gt;
You will need to know the file name which may be provided along with the patch or you can find it using the following code in maintenance mode:&lt;br /&gt;
&lt;br /&gt;
 ED VOC programname&lt;br /&gt;
&lt;br /&gt;
ED VOC XYZ tells you what program name is executed and from what file, when you type the command XYZ. Normally the program name is the same as the command.&lt;br /&gt;
&lt;br /&gt;
The file name will normally be BP for agency programs, GBP for general programs or ABP for finance programs.&lt;br /&gt;
&lt;br /&gt;
NEOSYS programs are stored in files just like records of ordinary database files. You can edit either with &amp;quot;ED filename programname&amp;quot; or &amp;quot;TED filename programname&amp;quot;. TED is better for editing source code.&lt;br /&gt;
&lt;br /&gt;
===Installing patch in live database===&lt;br /&gt;
&lt;br /&gt;
In the rare case that the programmer asks Support to install the patch directly on LIVE dataset, start by typing the following command in maintenance mode before commencing:&lt;br /&gt;
&lt;br /&gt;
 UTIL&lt;br /&gt;
&lt;br /&gt;
Follow the instructions mentioned in the [[Troubleshooting_NEOSYS_Generally#Installing_patch_in_test_database| next section]], but skip the instruction to TEST the patched program in test dataset.&lt;br /&gt;
&lt;br /&gt;
The instruction to INSTALL the patched program MUST be followed BEFORE testing the patch in live dataset. Otherwise the changes will not get reflected.&lt;br /&gt;
&lt;br /&gt;
===Installing patch in test database===&lt;br /&gt;
&lt;br /&gt;
1. EDIT the program source code.&lt;br /&gt;
&lt;br /&gt;
 TED programname&lt;br /&gt;
&lt;br /&gt;
If you have to edit or patch a program that starts with the word DICT. and the remainder of the program name is the same as a real file name e.g DICT.INVOICES, then you cannot omit and must type the actual source file name - in this case its BP. &lt;br /&gt;
&lt;br /&gt;
Otherwise, if you just type &amp;quot;ED DICT.INVOICES&amp;quot; hoping to edit the DICT.INVOICES program in the BP file, then you will end up editing the dictionary of INVOICES, which is not what you are trying to do. Use the command below to edit such type of programs:&lt;br /&gt;
&lt;br /&gt;
 ED BP DICT.INVOICES&lt;br /&gt;
&lt;br /&gt;
Next either cut and paste to modify the whole program or edit the program text according to the patch/instructions provided.&lt;br /&gt;
&lt;br /&gt;
Save and close the program source code.&lt;br /&gt;
&lt;br /&gt;
2. COMPILE it. If you get errors then check your edits are correct and recompile otherwise return the patch to programming.&lt;br /&gt;
&lt;br /&gt;
  COMPILE filename programname&lt;br /&gt;
&lt;br /&gt;
3. TEST it. Ensure the patched program now works in TEST database.&lt;br /&gt;
&lt;br /&gt;
4. INSTALL the patched program in the LIVE database by typing one of the following command depending on the filename that you patched.&lt;br /&gt;
&lt;br /&gt;
 COPYGBP programname&lt;br /&gt;
 COPYABP programname&lt;br /&gt;
 COPYBP programname&lt;br /&gt;
&lt;br /&gt;
== Patching NEOSYS dictionaries ==&lt;br /&gt;
&lt;br /&gt;
A patch to a dictionary applies immediately when you save it and to all datasets regardless of which dataset you work in.&lt;br /&gt;
&lt;br /&gt;
You need:&lt;br /&gt;
&lt;br /&gt;
#the file name eg INVOICES&lt;br /&gt;
#the item name (column name) eg  DATETIME_AMENDED&lt;br /&gt;
#10 lines of data similar to the example below.&lt;br /&gt;
#if the item is an S type dictionary, then either the whole, or only the amended part, of the source code of the dictionary.&lt;br /&gt;
&lt;br /&gt;
 ED DICT INVOICES DATETIME_AMENDED&lt;br /&gt;
&lt;br /&gt;
TYPE everything below exactly on the corresponding line numbers except lines 3 and very commonly line 8, as these lines may contain multiple values separated by a superscript 2 (²). Line numbers in the below screen are only for illustrative purpose. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  ╔═══════════════════════════┤DATETIME_AMENDED├═════════════════════════╗&lt;br /&gt;
 1║S                                                                     ║&lt;br /&gt;
 2║                                                                      ║&lt;br /&gt;
 3║DateTime²Amended                                                      ║&lt;br /&gt;
 4║S                                                                     ║&lt;br /&gt;
 5║                                                                      ║&lt;br /&gt;
 6║                                                                      ║&lt;br /&gt;
 7║[DATETIME]                                                            ║&lt;br /&gt;
 8║updated=@record&amp;lt;28&amp;gt;²created=@record&amp;lt;31,1&amp;gt;²@ans=&#039;&#039;²if created and num(c║..actually this line continues off the screen to the right&lt;br /&gt;
 9║R                                                                     ║&lt;br /&gt;
10║10                                                                    ║&lt;br /&gt;
11║                                                                      ║&lt;br /&gt;
  :                                                                      :&lt;br /&gt;
  :                                                                      :&lt;br /&gt;
  ╚══════════════════════════════════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Ctrl+E on lines 3 or 8 in order to enter sub-lines. &lt;br /&gt;
&lt;br /&gt;
The multiple values (on line 3 and 8) separated by a superscript 2 (²) automatically appear when sub-lines are entered.&lt;br /&gt;
&lt;br /&gt;
For line 8, you will need to cut and paste the lines of below program to the Ctrl+E screen: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔═════════════════════════┤Field 8 of DATETIME_AMENDED├════════════════════════╗&lt;br /&gt;
║updated=@record&amp;lt;28&amp;gt;                                                           ║&lt;br /&gt;
║created=@record&amp;lt;31,1&amp;gt;                                                         ║&lt;br /&gt;
║@ans=&#039;&#039;                                                                       ║&lt;br /&gt;
║if created and num(created) and num(updated) then                             ║&lt;br /&gt;
║ createdsecs=field(created,&#039;.&#039;,1)*86400+field(created,&#039;.&#039;,2)                  ║&lt;br /&gt;
║ updatedsecs=field(updated,&#039;.&#039;,1)*86400+field(updated,&#039;.&#039;,2)                  ║&lt;br /&gt;
║ if abs(updatedsecs-createdsecs)&amp;gt;120 then                                     ║&lt;br /&gt;
║  @ans=updated                                                                ║&lt;br /&gt;
║  end                                                                         ║&lt;br /&gt;
║ end                                                                          ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
╚══════════════════════════════════════════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you save and exit the Ctrl+E screen, you will see the sublines separated by superscript 2 appear in one line in the ED screen. &lt;br /&gt;
&lt;br /&gt;
Similarly, for line 3, you need to enter its sub-lines in Ctrl+E screen.&lt;br /&gt;
&lt;br /&gt;
To ensure indenting remains nice (although indenting is not important and can be messed up without causing any problem) then copy the double bars at the front of the lines (if available, otherwise insert some char in position 1 of each line perhaps) and then remove them after you paste ... or just edit until the indenting is correct if you really want to.&lt;br /&gt;
&lt;br /&gt;
Press F9 and/or Esc to save and/or exit from Ctrl+E screen&lt;br /&gt;
&lt;br /&gt;
Press F9 and/or Esc to save and/or exit from ED&lt;br /&gt;
&lt;br /&gt;
== Searching for strings in files using grep ==&lt;br /&gt;
&lt;br /&gt;
Use the grep command in Cygwin terminal to search files especially when you are investigating the NEOSYS Logs. &lt;br /&gt;
&lt;br /&gt;
Use the following command to search for a string in any file or directory&lt;br /&gt;
&lt;br /&gt;
 grep string path/file&lt;br /&gt;
&lt;br /&gt;
 grep -i -a string path/file  (use -i to ignore upper/lower case characters in the string and -a to treat the file type=text and display the matching text)&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;string&amp;quot; is the text to be searched, &amp;quot;file&amp;quot; is the type of file you are looking for and &amp;quot;path&amp;quot; is the path of the directory you are looking into. Use &amp;quot;&amp;quot; when having spaces in your string.&lt;br /&gt;
&lt;br /&gt;
e.g when searching in NEOSYS logs the year/month/date is specified in the file name, so if you are looking for a file in year 2016 in the month of Feb, use&lt;br /&gt;
&lt;br /&gt;
 grep XXXX path/1602*&lt;br /&gt;
&lt;br /&gt;
In the above command *(asterisk) is a wildcard used to search all files whose file names with &amp;quot;1602&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sample below of grep command and its output where it is searching for &amp;quot;Dior&amp;quot; in 2016 march logs.&lt;br /&gt;
 $ grep -i Dior /cygdrive/d/hosts/test/logs/test/2016/1603*&lt;br /&gt;
 Binary file path/16030301.XML matches&lt;br /&gt;
&lt;br /&gt;
Using *(asterisk), a string can also be searched globally across all installations on the server.&lt;br /&gt;
&lt;br /&gt;
Below example will search all files whose file names begin with &amp;quot;NEOS00&amp;quot;, in all client installation folders inside the &amp;quot;hosts&amp;quot; folder, for log entries containing text &amp;quot;5th June 2016&amp;quot;.&lt;br /&gt;
 $ grep -a &amp;quot;2016 JUN 05&amp;quot; /cygdrive/d/hosts/*/logs/NEOS00*|less&lt;br /&gt;
&lt;br /&gt;
Use the commands below to display the search string and required number of lines that come either after or before the search string, depending on what you enter in your command. It helps to get more information from files especially when you only know few words and the other information around the searched string also gets displayed. &lt;br /&gt;
&lt;br /&gt;
 grep -A NUM string file (NUM lines after the searched text get displayed)&lt;br /&gt;
&lt;br /&gt;
 grep -B NUM string file (NUM lines before the searched text get displayed)&lt;br /&gt;
&lt;br /&gt;
See the examples and their respective outputs below, (Note: there is no space between -A and NUM):&lt;br /&gt;
&lt;br /&gt;
 $ grep -A2 -i &amp;quot;Dior&amp;quot; 1603*&lt;br /&gt;
 Binary file 16022101.XML matches&lt;br /&gt;
 Binary file 16022901.XML matches&lt;br /&gt;
&lt;br /&gt;
 $ grep -A2 -a &amp;quot;Dior&amp;quot; 1603*&lt;br /&gt;
 16030301.XML:&amp;lt;DataOut&amp;gt;DIOR%FEPOI%FE&#039;&#039;&#039;Dior&#039;&#039;&#039; Poison%FE%FE%FE%FE%FEDubai,    UAE%FE%FE%FE%FEN%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEN%FE%FE%FE17584.43592%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FENEOSYS%FE17584.43592%FE94_200_49_146%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEpaulson&amp;lt;/DataOut&amp;gt;&amp;lt;/Message&amp;gt;&lt;br /&gt;
 --&lt;br /&gt;
 16030301.XML:&amp;lt;DataOut&amp;gt;DIOR%FEPOI%FE&#039;&#039;&#039;Dior&#039;&#039;&#039; Poison%FE%FE%FE%FE%FEDubai,   UAE%FE%FE%FE%FEN%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEN%FE%FE%FE17584.43592%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FENEOSYS%FE17584.43592%FE94_200_49_146%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEpaulson&amp;lt;/DataOut&amp;gt;&amp;lt;/Message&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some more examples of grep below:&lt;br /&gt;
&lt;br /&gt;
Use the command below when searching for more than one string&amp;lt;br&amp;gt;&lt;br /&gt;
 grep -a string1 *|grep string2&lt;br /&gt;
&lt;br /&gt;
Use the below command to omit the lines containing specific strings in your search:&lt;br /&gt;
 grep -B2 -a Processing 160329*|grep -v DataIn|grep -v Message|less&amp;lt;br&amp;gt;&lt;br /&gt;
 where user wants the output to show lines containing string &amp;quot;Processing&amp;quot; and exclude lines containing string &amp;quot;DataIn&amp;quot; and &amp;quot;Message&amp;quot;, |less displays the output in a new screen.&lt;br /&gt;
&lt;br /&gt;
Use &amp;quot;zgrep&amp;quot; command to search in zip files:&lt;br /&gt;
 zgrep string1 /path |zgrep string2 |less&lt;br /&gt;
&lt;br /&gt;
== Managing the queue of reports being delivered by email ==&lt;br /&gt;
&lt;br /&gt;
In maintenance mode.&lt;br /&gt;
&lt;br /&gt;
=== Listing ===&lt;br /&gt;
&lt;br /&gt;
 LIST DOCUMENTS WITH SCHEDULED_ONCE&lt;br /&gt;
&lt;br /&gt;
=== Clearing ===&lt;br /&gt;
&lt;br /&gt;
 SELECT DOCUMENTS WITH SCHEDULED_ONCE&lt;br /&gt;
 DELETE DOCUMENTS&lt;br /&gt;
&lt;br /&gt;
== Removing non essential files on win3 ==&lt;br /&gt;
Non essential files getting accumulated over time can take up a lot of space on the hard disk resulting in low free space on the server. NEOSYS Client Monitoring system alerts about low free space for win3 server as it monitors the Disk Space of both C &amp;amp; D drive. To fix it Support team will have to create free space on the server.&lt;br /&gt;
&lt;br /&gt;
Making space on the server is time taking and requires patience as you need to go through all the files/folders looking for non-essential files. Do not make any assumptions for not looking into a folder.&lt;br /&gt;
&lt;br /&gt;
Non-essential files are the ones without which we can work properly and will continue to work in future.&lt;br /&gt;
&lt;br /&gt;
Support team should keep in mind the below points while creating space on the server:&lt;br /&gt;
&lt;br /&gt;
#Look into the drive for which nagios is alerting and dig into all the folders.&lt;br /&gt;
#Right click Folder &amp;gt; Properties &amp;gt; Size on Disk, to find out the size of a folder.&lt;br /&gt;
#On d drive majority of the space is taken by d:\hosts and d:\data.bak folder and on c drive it&#039;s taken up by the important windows/cygwin folders.&lt;br /&gt;
#The space distribution will give you an idea about which folders to target that can free up a good amount of space on clean up.&lt;br /&gt;
#Following are the non essential files/folders which can create a lot of space on removal. Use your intelligence and presence of mind while deleting files/folders because once deleted the information is lost forever.&lt;br /&gt;
#*Folder: d\data.bak. Check for stopped clients&#039; backups and delete if present.&lt;br /&gt;
#*Folder: d\hosts\clientname\logs (where clientname stands for all the client folders in hosts) Look into logs prior to the current year and the year before and delete them. In the recent versions of NEOSYS, log folders are compressed and take up a lot less space on disk than presented as their size. You can see the difference in their properties.&lt;br /&gt;
#*Folder: d\hosts\clientname\downloads. This folder might contain lot of old versions of neosys.exe files. Keep the two latest versions and delete the rest. Do this for all client folders except test installation because Support maintains all the old versions of neosys.exe in it.&lt;br /&gt;
#*Folder: d\hosts\old. In this folder, delete all client folders that are older than 1 year.&lt;br /&gt;
#*Apart from above folders look for random backup.zip files present in c/d drive. This happens when Support restores data from a zip file and forgets to delete it after the restore.&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=NEOSYS_DDNS_Service&amp;diff=2728</id>
		<title>NEOSYS DDNS Service</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=NEOSYS_DDNS_Service&amp;diff=2728"/>
		<updated>2016-06-06T08:40:26Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Stopping the Windows service on the client server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Using NEOSYS DDNS service ==&lt;br /&gt;
&lt;br /&gt;
The NEOSYS monitoring server at monitor.neosys.com will update NEOSYS &lt;br /&gt;
DNS server currently zonedit.com if it is requested to do so by NEOSYS &lt;br /&gt;
installations. NEOSYS installations do that automatically when updating &lt;br /&gt;
Nagios and can also have a Windows service configured to do it at all times.&lt;br /&gt;
&lt;br /&gt;
Normally this would only be used at NEOSYS installations that have a &lt;br /&gt;
dynamic ip number ie do not have a static ip number.&lt;br /&gt;
&lt;br /&gt;
This is not required generally at client installations with static ip &lt;br /&gt;
numbers or NEOSYS win3/win4 installations but it MAY be used in that &lt;br /&gt;
situation too to provide for automatic change of static DNS for example &lt;br /&gt;
to cater for:&lt;br /&gt;
&lt;br /&gt;
*migration from old server to new server&lt;br /&gt;
*moving to backup servers&lt;br /&gt;
*moving back to live servers&lt;br /&gt;
*moving between client&#039;s own server and NEOSYS hosts on win3/win4.&lt;br /&gt;
&lt;br /&gt;
Care will be needed to ensure that the DDNS service is not running &lt;br /&gt;
simultaneously on the both old and new servers.&lt;br /&gt;
&lt;br /&gt;
=== Using Windows service neosysddns ===&lt;br /&gt;
&lt;br /&gt;
This will work even when NEOSYS processes are not running. This is &lt;br /&gt;
useful when NEOSYS processes are stopped overnight and when the server &lt;br /&gt;
is rebooted, for example for Windows Updates, and NEOSYS processes are &lt;br /&gt;
not configured to run automatically after rebooting&lt;br /&gt;
&lt;br /&gt;
==== Starting Windows service on the client server ====&lt;br /&gt;
&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
&lt;br /&gt;
 STARTDDNS&lt;br /&gt;
&lt;br /&gt;
==== Stopping the Windows service on the client server ====&lt;br /&gt;
&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
&lt;br /&gt;
 STOPDDNS&lt;br /&gt;
&lt;br /&gt;
or you can stop and/or disable the windows service manually&lt;br /&gt;
&lt;br /&gt;
This will NOT stop Nagios based DDNS which has to be done separately. &lt;br /&gt;
&lt;br /&gt;
When you run the above command in Maintenance you will get a reminder to stop nagios based ddns. See section below.&lt;br /&gt;
&lt;br /&gt;
=== Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
NAGIOS can update NEOSYS ddns entries (currently on zoneedit) automatically as by product of the processing of NAGIOS server updates from NEOSYS processes running on the client server. This is done independently and in parallel to the NEOSYSDDNS service which runs on NEOSYS servers.&lt;br /&gt;
&lt;br /&gt;
=== Automatic Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
This will occur if a special file exists on the NAGIOS server. This file is automatically created when STARTDDNS has been run on the NEOSYS server, or can be created manually.&lt;br /&gt;
&lt;br /&gt;
Therefore, if you are running NEOSYSDDNS service on the NEOSYS server, DDNS will be ALSO be done in parallel by Nagios. This is useful as a backup for example in the case where the NEOSYSDDNS service has to be stopped on the NEOSYS server eg while Cygwin updates are being processed.&lt;br /&gt;
&lt;br /&gt;
To see what hosts are subject to automatic Nagios based DDNS.&lt;br /&gt;
&lt;br /&gt;
 ll /var/lib/neosysddns&lt;br /&gt;
&lt;br /&gt;
=== Manually starting Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
If you need to switch on DDNS service for some reason but cannot get to the NEOSYS server to do so, then you can request Nagios to perform DDNS by creating a special file in the NAGIOS server as follows:&lt;br /&gt;
&lt;br /&gt;
 touch /var/lib/neosysddns/xxxxxxxx.client&lt;br /&gt;
 chmod a+rw /var/lib/neosysddns/xxxxxxxx.client&lt;br /&gt;
&lt;br /&gt;
=== Stopping Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
If you need to stop DDNS being done by NAGIOS after either automatically or manually starting it as above, you must remove a special file in the NAGIOS server as follows. Note that running STOPDDNS in the NEOSYS server does NOT remove the special file on NAGIOS server, so just running STOPDDNS in the NEOSYS server will NOT stop the parallel NAGIOS server updating DDNS. Therefore if you wish complete cessation of DDNS service for a hostname you will have to do this step AS WELL.&lt;br /&gt;
&lt;br /&gt;
 rm /var/lib/neosysddns/xxxxxxxx.client&lt;br /&gt;
&lt;br /&gt;
=== Configuring neosysddns on monitor.neosys.com ===&lt;br /&gt;
&lt;br /&gt;
The configuration of NEOSYS DDNS service on nagios i.e monitor.neosys.com can be controlled as follows:&lt;br /&gt;
&lt;br /&gt;
Remember that this is the neosysddns service on monitor.neosys.com and NOT the windows service on the server with dynamic ip no.&lt;br /&gt;
&lt;br /&gt;
neosysddns logging level may be configured NOT to show every DDNS update check if the IP no hasn&#039;t changed to save log file space since the neosysddns windows servers triggers every minute.&lt;br /&gt;
&lt;br /&gt;
 nano /etc/nagios3/conf.d/ddnsconf.py&lt;br /&gt;
 sudo service neosysddns restart&lt;br /&gt;
&lt;br /&gt;
Other NEOSYS DDNS service commands are:&lt;br /&gt;
&lt;br /&gt;
 sudo service neosysddns stop&lt;br /&gt;
 sudo service neosysddns start&lt;br /&gt;
 sudo service neosysddns status&lt;br /&gt;
&lt;br /&gt;
All service commands with the exception of status show nothing if successful or error message if not.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting NEOSYS DDNS Service ==&lt;br /&gt;
&lt;br /&gt;
On nagios/monitor server to see recent ddns updates for a hostname &amp;quot;XXXX&amp;quot; whatever is entered as System ID in System configuration file.&lt;br /&gt;
&lt;br /&gt;
 journalctl|grep -i ddns|grep XXXX&lt;br /&gt;
&lt;br /&gt;
or to watch new ddns updates as they come in&lt;br /&gt;
&lt;br /&gt;
 journalctl -f | grep -i ddns&lt;br /&gt;
&lt;br /&gt;
or to watch new ddns updates as they come in for xxxxxxxx&lt;br /&gt;
&lt;br /&gt;
 journalctl -f | grep -i ddns | grep xxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Lines containing ddns.py are the result of NEOSYS Windows service.&lt;br /&gt;
&lt;br /&gt;
Lines containing apache2 are the result of nagios updates. e.g as shown below:&lt;br /&gt;
&lt;br /&gt;
 Jan 28 00:03:04 monitor apache2: DDNS IP_NO ums &amp;lt;SUCCESS CODE=&amp;quot;200&amp;quot; TEXT=&amp;quot;XXXX.hosts.neosys.com updated to 82.178.63.35&amp;quot; ZONE=&amp;quot;XXXX.hosts.neosys.com&amp;quot;&amp;gt;&lt;br /&gt;
 Jan 28 01:54:26 monitor ddns.py: DDNS IP_NO 4481 &amp;quot;ddns XXXX&amp;quot; No. 11327 was 82.178.63.35 &amp;lt;SUCCESS CODE=&amp;quot;200&amp;quot; TEXT=&amp;quot;XXXX.hosts.neosys.com updated to 85.154.7.138&amp;quot; ZONE=&amp;quot;XXXX.hosts.neosys.com&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Working/Status Files&lt;br /&gt;
&lt;br /&gt;
 ll /var/lib/neosysddns/&lt;br /&gt;
 ll /var/lib/neosysddns/ignored&lt;br /&gt;
&lt;br /&gt;
Configuration File&lt;br /&gt;
&lt;br /&gt;
 nano /etc/nagios3/conf.d/ddnsconf.py&lt;br /&gt;
&lt;br /&gt;
Configuration options - see comments in file&lt;br /&gt;
&lt;br /&gt;
Hosts that have been seen by Nagios but were ignored because the xxxxxxxx.client file was not present in /var/lib/neosysddns&lt;br /&gt;
&lt;br /&gt;
 ll /var/lib/neosysddns/ignored&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=NEOSYS_DDNS_Service&amp;diff=2727</id>
		<title>NEOSYS DDNS Service</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=NEOSYS_DDNS_Service&amp;diff=2727"/>
		<updated>2016-06-06T08:37:37Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Stopping the Windows service on the client server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Using NEOSYS DDNS service ==&lt;br /&gt;
&lt;br /&gt;
The NEOSYS monitoring server at monitor.neosys.com will update NEOSYS &lt;br /&gt;
DNS server currently zonedit.com if it is requested to do so by NEOSYS &lt;br /&gt;
installations. NEOSYS installations do that automatically when updating &lt;br /&gt;
Nagios and can also have a Windows service configured to do it at all times.&lt;br /&gt;
&lt;br /&gt;
Normally this would only be used at NEOSYS installations that have a &lt;br /&gt;
dynamic ip number ie do not have a static ip number.&lt;br /&gt;
&lt;br /&gt;
This is not required generally at client installations with static ip &lt;br /&gt;
numbers or NEOSYS win3/win4 installations but it MAY be used in that &lt;br /&gt;
situation too to provide for automatic change of static DNS for example &lt;br /&gt;
to cater for:&lt;br /&gt;
&lt;br /&gt;
*migration from old server to new server&lt;br /&gt;
*moving to backup servers&lt;br /&gt;
*moving back to live servers&lt;br /&gt;
*moving between client&#039;s own server and NEOSYS hosts on win3/win4.&lt;br /&gt;
&lt;br /&gt;
Care will be needed to ensure that the DDNS service is not running &lt;br /&gt;
simultaneously on the both old and new servers.&lt;br /&gt;
&lt;br /&gt;
=== Using Windows service neosysddns ===&lt;br /&gt;
&lt;br /&gt;
This will work even when NEOSYS processes are not running. This is &lt;br /&gt;
useful when NEOSYS processes are stopped overnight and when the server &lt;br /&gt;
is rebooted, for example for Windows Updates, and NEOSYS processes are &lt;br /&gt;
not configured to run automatically after rebooting&lt;br /&gt;
&lt;br /&gt;
==== Starting Windows service on the client server ====&lt;br /&gt;
&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
&lt;br /&gt;
 STARTDDNS&lt;br /&gt;
&lt;br /&gt;
==== Stopping the Windows service on the client server ====&lt;br /&gt;
&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
&lt;br /&gt;
 STOPDDNS&lt;br /&gt;
&lt;br /&gt;
or you can stop and/or disable the windows service manually&lt;br /&gt;
&lt;br /&gt;
This will NOT stop Nagios based DDNS which has to be done separately. When you run the above command in Maintenance you will get a reminder to stop nagios based ddns. See section below.&lt;br /&gt;
&lt;br /&gt;
=== Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
NAGIOS can update NEOSYS ddns entries (currently on zoneedit) automatically as by product of the processing of NAGIOS server updates from NEOSYS processes running on the client server. This is done independently and in parallel to the NEOSYSDDNS service which runs on NEOSYS servers.&lt;br /&gt;
&lt;br /&gt;
=== Automatic Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
This will occur if a special file exists on the NAGIOS server. This file is automatically created when STARTDDNS has been run on the NEOSYS server, or can be created manually.&lt;br /&gt;
&lt;br /&gt;
Therefore, if you are running NEOSYSDDNS service on the NEOSYS server, DDNS will be ALSO be done in parallel by Nagios. This is useful as a backup for example in the case where the NEOSYSDDNS service has to be stopped on the NEOSYS server eg while Cygwin updates are being processed.&lt;br /&gt;
&lt;br /&gt;
To see what hosts are subject to automatic Nagios based DDNS.&lt;br /&gt;
&lt;br /&gt;
 ll /var/lib/neosysddns&lt;br /&gt;
&lt;br /&gt;
=== Manually starting Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
If you need to switch on DDNS service for some reason but cannot get to the NEOSYS server to do so, then you can request Nagios to perform DDNS by creating a special file in the NAGIOS server as follows:&lt;br /&gt;
&lt;br /&gt;
 touch /var/lib/neosysddns/xxxxxxxx.client&lt;br /&gt;
 chmod a+rw /var/lib/neosysddns/xxxxxxxx.client&lt;br /&gt;
&lt;br /&gt;
=== Stopping Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
If you need to stop DDNS being done by NAGIOS after either automatically or manually starting it as above, you must remove a special file in the NAGIOS server as follows. Note that running STOPDDNS in the NEOSYS server does NOT remove the special file on NAGIOS server, so just running STOPDDNS in the NEOSYS server will NOT stop the parallel NAGIOS server updating DDNS. Therefore if you wish complete cessation of DDNS service for a hostname you will have to do this step AS WELL.&lt;br /&gt;
&lt;br /&gt;
 rm /var/lib/neosysddns/xxxxxxxx.client&lt;br /&gt;
&lt;br /&gt;
=== Configuring neosysddns on monitor.neosys.com ===&lt;br /&gt;
&lt;br /&gt;
The configuration of NEOSYS DDNS service on nagios i.e monitor.neosys.com can be controlled as follows:&lt;br /&gt;
&lt;br /&gt;
Remember that this is the neosysddns service on monitor.neosys.com and NOT the windows service on the server with dynamic ip no.&lt;br /&gt;
&lt;br /&gt;
neosysddns logging level may be configured NOT to show every DDNS update check if the IP no hasn&#039;t changed to save log file space since the neosysddns windows servers triggers every minute.&lt;br /&gt;
&lt;br /&gt;
 nano /etc/nagios3/conf.d/ddnsconf.py&lt;br /&gt;
 sudo service neosysddns restart&lt;br /&gt;
&lt;br /&gt;
Other NEOSYS DDNS service commands are:&lt;br /&gt;
&lt;br /&gt;
 sudo service neosysddns stop&lt;br /&gt;
 sudo service neosysddns start&lt;br /&gt;
 sudo service neosysddns status&lt;br /&gt;
&lt;br /&gt;
All service commands with the exception of status show nothing if successful or error message if not.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting NEOSYS DDNS Service ==&lt;br /&gt;
&lt;br /&gt;
On nagios/monitor server to see recent ddns updates for a hostname &amp;quot;XXXX&amp;quot; whatever is entered as System ID in System configuration file.&lt;br /&gt;
&lt;br /&gt;
 journalctl|grep -i ddns|grep XXXX&lt;br /&gt;
&lt;br /&gt;
or to watch new ddns updates as they come in&lt;br /&gt;
&lt;br /&gt;
 journalctl -f | grep -i ddns&lt;br /&gt;
&lt;br /&gt;
or to watch new ddns updates as they come in for xxxxxxxx&lt;br /&gt;
&lt;br /&gt;
 journalctl -f | grep -i ddns | grep xxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Lines containing ddns.py are the result of NEOSYS Windows service.&lt;br /&gt;
&lt;br /&gt;
Lines containing apache2 are the result of nagios updates. e.g as shown below:&lt;br /&gt;
&lt;br /&gt;
 Jan 28 00:03:04 monitor apache2: DDNS IP_NO ums &amp;lt;SUCCESS CODE=&amp;quot;200&amp;quot; TEXT=&amp;quot;XXXX.hosts.neosys.com updated to 82.178.63.35&amp;quot; ZONE=&amp;quot;XXXX.hosts.neosys.com&amp;quot;&amp;gt;&lt;br /&gt;
 Jan 28 01:54:26 monitor ddns.py: DDNS IP_NO 4481 &amp;quot;ddns XXXX&amp;quot; No. 11327 was 82.178.63.35 &amp;lt;SUCCESS CODE=&amp;quot;200&amp;quot; TEXT=&amp;quot;XXXX.hosts.neosys.com updated to 85.154.7.138&amp;quot; ZONE=&amp;quot;XXXX.hosts.neosys.com&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Working/Status Files&lt;br /&gt;
&lt;br /&gt;
 ll /var/lib/neosysddns/&lt;br /&gt;
 ll /var/lib/neosysddns/ignored&lt;br /&gt;
&lt;br /&gt;
Configuration File&lt;br /&gt;
&lt;br /&gt;
 nano /etc/nagios3/conf.d/ddnsconf.py&lt;br /&gt;
&lt;br /&gt;
Configuration options - see comments in file&lt;br /&gt;
&lt;br /&gt;
Hosts that have been seen by Nagios but were ignored because the xxxxxxxx.client file was not present in /var/lib/neosysddns&lt;br /&gt;
&lt;br /&gt;
 ll /var/lib/neosysddns/ignored&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Troubleshooting_NEOSYS_Generally&amp;diff=2726</id>
		<title>Troubleshooting NEOSYS Generally</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Troubleshooting_NEOSYS_Generally&amp;diff=2726"/>
		<updated>2016-06-06T08:33:08Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Searching for strings in files using grep */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Solving failure to start a NEOSYS server due to disk failure message ==&lt;br /&gt;
=== Problem ===&lt;br /&gt;
During a reboot process (which maybe due to a Windows update or even done by a support personnel) the NEOSYS server gets hung on the startup and shows a message &amp;quot;Boot Failure - Abort, Retry&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
=== Temporary solution ===&lt;br /&gt;
This typically happens due to the USB being plugged into the server and the boot sequence being wrong - i.e. the server trying to boot from the USB first and fails. The immediate solution would be to unplug the USB and ask the client to reboot the server again and upon successfully rebooting the system, plug the USB back again.&lt;br /&gt;
&lt;br /&gt;
=== Permanent solution ===&lt;br /&gt;
The above problem will occur every time the computer is rebooted, so you need to immediately talk to the IT Administrator of the client and ask them to rectify the boot sequence to make it boot first from the CD ROM, then the HDD and last the USB.&lt;br /&gt;
&amp;lt;BR&amp;gt;Allowing &amp;quot;Boot from USB&amp;quot; causes a severe risk of infection by boot sector viruses since the first infected USB device inserted WILL infect the server immediately as anti-virus programs are not active during boot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting the &amp;quot;Database not available&amp;quot; error message == &lt;br /&gt;
=== Problem explained ===&lt;br /&gt;
This error appears when you try to login to NEOSYS after you enter your username and password and click the Login button.&lt;br /&gt;
&lt;br /&gt;
[[image:database_unavailable.jpg]]&lt;br /&gt;
&lt;br /&gt;
Error message : &lt;br /&gt;
&lt;br /&gt;
 Cannot login because : &lt;br /&gt;
 Error :  The (database code) database is not available right now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the error message appears post login i.e. when users are working on the system then check if processes are free to run user request.&lt;br /&gt;
&lt;br /&gt;
[[image:not_available.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Solution explained ===&lt;br /&gt;
# Determine if the processes are running. If they are running and you still get the same message that means that either the processes have [[Troubleshooting_NEOSYS_Generally#Troubleshooting_Hung_processes|hung]] and need to be [[Troubleshooting_NEOSYS_Generally#How_to_kill_hung_NEOSYS_processes|killed]]. Or the processes are busy to run user requests and a new process needs to be started. &lt;br /&gt;
# If the processes are not visible on the destop, it is possible that they are running in the background and have hung for some reason. Check the windows task manager to see if any ‘ntvdm’ process is running and [[Troubleshooting_NEOSYS_Generally#If_NEOSYS_processes_are_not_visible_on_the_server_desktop|fix hung processes]].&lt;br /&gt;
# If there is no trace of any process running, that means the process probably did not start at the scheduled time. Refer to the &#039;Hung Process Reports&#039; to verify this claim. &lt;br /&gt;
# If the process had not hung, then the server might have restarted due to a power failure or a windows update and the administrator user had not logged in post the scheduled startup time of 6AM. To determine this cause, investigate in the Windows Event Viewer Log file.&lt;br /&gt;
# You can now start up the process by clicking on the respective desktop icons.&lt;br /&gt;
# Also check if the backup took place successfully or not. If not take a manual backup.&lt;br /&gt;
# Look into the logs at the date/time stated for the last transaction processed to investigate why process got hung.See [[Troubleshooting_NEOSYS_Generally#Inspecting_Database_LOGS_Folder| Inspecting logs]] for more information on logs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;quot;user not authorised to login from a location&amp;quot; error message ==&lt;br /&gt;
[[image:IPerror.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error message:&#039;&#039;&#039;&lt;br /&gt;
 xxx is not authorised to login form the location (IP Number. xx.xx.xx.xx)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution Explained:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Check the URL used and follow the steps below to check if it is correct and email the user accordingly.&lt;br /&gt;
#If the Client installation is hosted on NEOSYS server then users can use only https link to access NEOSYS.&lt;br /&gt;
#*Check with the client&#039;s management if this particular IP is their public IP.&lt;br /&gt;
#*Add IP on management confirmation (Refer to [[Procedures#Handling_User_Requests_to_add_an_IP_or_range_of_IPs_to_access_NEOSYS|Handling User Requests to add IP/IPs ]] ) &lt;br /&gt;
#In case of Client hosted server, users should access NEOSYS via LAN using the http link.&lt;br /&gt;
#*There can be exceptional cases where user needs to access NEOSYS outside the office Network e.g a client installation with two companies at different locations and NEOSYS installed at one. In this case Support will have to add the IP number of the second company so that users can access NEOSYS.&amp;lt;br&amp;gt;But before you even suggest to add the IP, get the request from their management saying that the IP number is another office location and needs to be added. (Refer to [[Procedures#Handling_User_Requests_to_add_an_IP_or_range_of_IPs_to_access_NEOSYS|Handling User Requests to add IP/IPs ]] )&lt;br /&gt;
&lt;br /&gt;
== Handling damaged files ==&lt;br /&gt;
&lt;br /&gt;
[[Handling damaged files]]&lt;br /&gt;
&lt;br /&gt;
=== Checking for corrupt database files ===&lt;br /&gt;
Login to NEOSYS Maintenance. This can be done when users are online.&lt;br /&gt;
&lt;br /&gt;
Press F5&lt;br /&gt;
&lt;br /&gt;
 CHK.FILES&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
 CHK.FILES filename&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Sizelock while performing chk.files &#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Fixing sizelock errors should not be done while other users are online to the same database.&lt;br /&gt;
&lt;br /&gt;
Sizelock errors are not critical and will be fixed automatically during the nightly backup.&lt;br /&gt;
&lt;br /&gt;
Sizelock errors occur if a program or process that is selecting records from a file is aborted in some abnormal way.&lt;br /&gt;
&lt;br /&gt;
Error message:&lt;br /&gt;
&lt;br /&gt;
 These Files/Tables have a Sizelock Value of 2 or greater. &lt;br /&gt;
 Tag/Select the Files/Tables to be Fixed.&lt;br /&gt;
 Press F9 to fix selected files&lt;br /&gt;
&lt;br /&gt;
Press F9 to proceed with fixing the selected files or press ESC to continue with chk.files without fixing sizelock as it gets automatically fixed during the nightly backup. &lt;br /&gt;
&lt;br /&gt;
Refer to the [http://techwiki.neosys.com/index.php/Backup_and_Restore#Error_Message:_Size_Lock Sizelock errors in backup emails] for more information.&lt;br /&gt;
&lt;br /&gt;
[[file:sizelock.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Determining Database File Name from Operating System File Name ===&lt;br /&gt;
&lt;br /&gt;
To assess the potential damage and possible remedial measures you need to know the database file name. If the message only refers to the operating system file name you need to follow this procedure to determine the database file name.&lt;br /&gt;
&lt;br /&gt;
Once you have the database file name you can use CHK.FILES XXXXXXX to check if corrupt or not and various other procedures to fix the corruption.&lt;br /&gt;
&lt;br /&gt;
Remember that fixing the corrupt data does not solve the overall problem. The *cause* of the corruption must be identified and eliminated otherwise the problem may reoccur and in a more serious form perhaps with unrecoverable loss of data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╒═══════════════════════════════════TCL - 2══════════════════════════════════╕&lt;br /&gt;
│                                                                            │&lt;br /&gt;
│ :list FILES WITH ALL CONTAINING &#039;REV76481&#039;                                 │&lt;br /&gt;
│                                                                            │&lt;br /&gt;
╘════════════════════════════════════════════════════════════════════════════╛&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:DBfilenamefromOSfilename.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Finding out when and by whom a record was deleted ==&lt;br /&gt;
&lt;br /&gt;
In most cases, NEOSYS does not allow users to delete records and instead keeps a record of everything. In some cases however, things are deleted and the only way to get full details about the deletion is to search the logs. This is cumbersome, but there is a quick way to find out when, and by whom, a record was deleted. Prior to NEOSYS software versions dated Mar 2014, and deletions done before the same date, this procedure will only tell you when the record was deleted - but not who deleted it. Knowing exactly when it was deleted will nevertheless help you to search the logs for full details.&lt;br /&gt;
&lt;br /&gt;
In maintenance mode F5&lt;br /&gt;
&lt;br /&gt;
 ED SHADOW DELETED*filename*key&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 ED SHADOW DELETED*BATCHES*L*JOU*2*U&lt;br /&gt;
&lt;br /&gt;
Journals are stored in the BATCHES file. The key of an unposted batch is x*y*999*U where x is the company code, y is the journal type code, 999 is UNPOSTED batch number and U is just U to indicate unposted batches. Note that unposted batches are normally deleted at the time they are posted - ie converted to posted batches.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔══════════════════════════┤DELETED*BATCHES*L*JOU*2*U├═════════════════════════╗&lt;br /&gt;
║16831.60706                                                                   ║&lt;br /&gt;
║BRUCEL                                                                        ║&lt;br /&gt;
║╒═══════════════════════════════════TCL - 6══════════════════════════════════╕║&lt;br /&gt;
║│                                                                            │║&lt;br /&gt;
║│ :EVAL PRINT 16831.60706 &#039;[DATETIME]&#039;                                       │║&lt;br /&gt;
║│                                                                            │║&lt;br /&gt;
║╘════════════════════════════════════════════════════════════════════════════╛║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you see the number (in this case 16831.60706) you can convert it to a time and date by typing something like&lt;br /&gt;
&lt;br /&gt;
 PRINT 16831.60706 &#039;[DATETIME]&#039;&lt;br /&gt;
&lt;br /&gt;
Using this date and time you can search the logs more effectively to find out who did the deletion and in what circumstances.&lt;br /&gt;
&lt;br /&gt;
== Assessing Database Size per File ==&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
 &lt;br /&gt;
 LIST FILES BY BY-DSND SIZE VOLUME.NAME SIZE&lt;br /&gt;
 &lt;br /&gt;
This will include all files not just those in the actual dataset in DATA\* folders.&lt;br /&gt;
&lt;br /&gt;
== Fixing slow speed ==&lt;br /&gt;
=== [[Benchmarking NEOSYS]] ===&lt;br /&gt;
=== Investigating CPU 100% using Windows Task Manager ===&lt;br /&gt;
Email, to support, a screen-shot of task manager APPLICATIONS, PROCESSES and PERFORMANCE screens MAXIMIZED TO SHOW AS MUCH AS POSSIBLE. &lt;br /&gt;
&lt;br /&gt;
(Sort the processes to show ntvdm, waiting.exe and high cpu% processes clearly)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steps:&#039;&#039;&#039;&lt;br /&gt;
#Right Click on Windows Taskbar and click on Start Task Manager &amp;lt;br&amp;gt; [[image:starttaskmanager.jpg]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
#Click on Processes and then click on CPU &amp;lt;br&amp;gt;&#039;&#039;&#039;Note - The HIGH cpu% processes which should usually be the &amp;quot;process&amp;quot; called &amp;quot;System Idle Process&amp;quot; &#039;&#039;&#039;&amp;lt;br&amp;gt;[[image:cpu100percent1.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Click on the Performance Tab &amp;lt;br&amp;gt; &#039;&#039;&#039;Note - PF Usage should typically be much less than Physical Memory otherwise there is insufficient real memory in the server to handle the load&#039;&#039;&#039; &amp;lt;br&amp;gt; [[image:cpu100percent3.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Click on Application Tab then Right Click on a NEOSYS Process and Click on Bring to Front &amp;lt;br&amp;gt;&#039;&#039;&#039;See what the NEOSYS Process is doing &amp;lt;br&amp;gt; [[image:cpu100percent2.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Right Click on a NEOSYS Process and Click on Go to Processes &amp;lt;br&amp;gt;&#039;&#039;&#039;Note the cpu% ntvdm process &amp;lt;br&amp;gt;[[image:cpu100percent2_2.jpg]]&amp;lt;br&amp;gt;  &lt;br /&gt;
#Normally NEOSYS application screens say &amp;quot;LISTENING&amp;quot; in the bottom line and those applications should have very low cpu%&amp;lt;br&amp;gt;[[image:normalneosysprocess.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Look at the difference between the screen of running NEOSYS processes (applications actually) which are idle (listening for requests) and active (processing a request from a user)&lt;br /&gt;
#Note the number of cpus or cpu threads in the server from the performance screen graphics&amp;lt;br&amp;gt;[[image:performance-taskmgr-cputhread.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Take screen-shots of any and ALL hung or long running processes (NEOSYS application screens) and email them to support. Even small details on the screens and user names, the user names may give clues to what problem caused the hanging.A Typical Hung NEOSYS process will look like this: &amp;lt;br&amp;gt; [[image:hungneosysprocess.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
#Once all hung/long processes are closed then CPU should be low and not near 100%. If it is still 100% then check all high cpu% processes and send a screen-shot of processes sorted to show the high cpu% process names to support.&lt;br /&gt;
&lt;br /&gt;
=== Solving server CPU% is 100 and all users are extremely slow/stopped ===&lt;br /&gt;
&lt;br /&gt;
Get the screenshots of Task Manager and ALL processes on the server, the objective is to assess the true issue. No need to get the screens not in use obviously but you can send a parallel screen shot for them if you want to be pedantic or even a comment will do.&lt;br /&gt;
&lt;br /&gt;
==== Too few CPUs/threads for the number of users ====&lt;br /&gt;
In Windows task manager normally, you should see one ntvdm.exe and one waiting.exe process per NEOSYS process (application). A standard installation has three NEOSYS processes per main database and plus one per test database. This is configured in Support Menu, Configuration File.&lt;br /&gt;
&lt;br /&gt;
If there are MORE ntvdm processes than you expect from the configuration file, then perhaps NEOSYS is auto starting new NEOSYS processes to try and cater for a high number of concurrent users.&lt;br /&gt;
&lt;br /&gt;
If the number of concurrent NEOSYS processes significantly exceeds the number of cpus/hyperthreads available in the server then processing for everybody can become so slow for everybody and almost no work gets done.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Stop NEOSYS creating new NEOSYS processes automatically. Create a text file with the first and only line as AUTOSTART=NO in the neosys\neosys folder something like this.&lt;br /&gt;
&lt;br /&gt;
notepad d:\neosys\neosys\NET.CFG&lt;br /&gt;
&lt;br /&gt;
AUTOSTART=NO&lt;br /&gt;
&lt;br /&gt;
== How do I troubleshoot email not received? ==&lt;br /&gt;
&lt;br /&gt;
[[Troubleshooting email not received]]&lt;br /&gt;
&lt;br /&gt;
== Fixing permissions errors while logging in ==&lt;br /&gt;
 &lt;br /&gt;
=== Problem ===&lt;br /&gt;
 &lt;br /&gt;
While logging in, you get the following error message:&lt;br /&gt;
[[Image:login_error_message.jpg]]&lt;br /&gt;
 &lt;br /&gt;
=== Solution ===&lt;br /&gt;
 &lt;br /&gt;
Add the internet guest account to the security list of the data folder with the default permission of list/read/write&lt;br /&gt;
 &lt;br /&gt;
Make sure the read&amp;amp;execute permission is removed&lt;br /&gt;
[[Image:permissions_on_data.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fixing the &#039;HTTP Error 500.0 - Internal Server Error&#039; while logging in on IE on a Windows Vista system ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
After configuring IIS on Windows Vista you will get this error message while trying to login into NEOSYS from Internet Explorer:&lt;br /&gt;
&lt;br /&gt;
 HTTP Error 500.0 - Internal Server Error&lt;br /&gt;
 Description: This application is running in an application pool that uses the Integrated .NET  &lt;br /&gt;
 mode. This is the preferred mode for running ASP.NET applications on the current and future &lt;br /&gt;
 version of IIS.&lt;br /&gt;
 &lt;br /&gt;
 In this mode, the application using client impersonation configured with &amp;lt;identity &lt;br /&gt;
 impersonate=&amp;quot;true&amp;quot; /&amp;gt; may not behave correctly. Client impersonation is not available in early &lt;br /&gt;
 ASP.NET request processing stages and may lead modules in those stages to execute with process &lt;br /&gt;
 identity instead.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
You can move the application to an application pool that uses the Classic .NET mode by using the following from a command line window (the window must be running as Administrator) &lt;br /&gt;
&lt;br /&gt;
 %systemroot%\system32\inetsrv\APPCMD.EXE set app &amp;quot;Default Web Site/neosys&amp;quot; /applicationPool:&amp;quot;Classic .NET AppPool&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can use any other application pool on your system that is running in the Classic .NET mode. You can also use the IIS Administration tool to move this application to another application pool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fixing the &#039;Class Not Registered&#039; error message while logging in ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
While logging into NEOSYS, you will get a popup window giving an error message saying &#039;Class Not Registered - Server Error&#039;. Typically, you will encounter this error with XP Pro IIS 5.1. As usual, there&#039;s way to solve it, however the root cause of this is still unknown.&lt;br /&gt;
&lt;br /&gt;
Anyway, you will get the proper message in the event log:&lt;br /&gt;
&lt;br /&gt;
 Event Type: Warning&lt;br /&gt;
 Event Source: W3SVC&lt;br /&gt;
 Event Category: None&lt;br /&gt;
 Event ID: 36&lt;br /&gt;
 Description: The server failed to load application &#039;/LM/W3SVC/1/ROOT/NEOSYS.&lt;br /&gt;
 The error was &#039;Class not registered&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
So, what do you do ? This problem is related to Component Services, and when you open Component Services MMC, you will most probably  get  Error Code 8004E00F COM + was unable to talk to Microsoft Distributed Transaction Coordinator. So, fix the COM+ services first by using the following KB from Microsoft (PRB: Cannot Expand &amp;quot;My Computer&amp;quot; in Component Services MMC Snap-In http://support.microsoft.com/?id=301919):&lt;br /&gt;
&lt;br /&gt;
To resolve this problem, reinstall Component Services as follows: WARNING: &lt;br /&gt;
# Open registry editor, locate HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3, and then delete this key.  &lt;br /&gt;
# From the Start menu, point to Settings, click Control Panel, and then click Add/Remove Programs.  &lt;br /&gt;
# Click Add/Remove Windows Components. &lt;br /&gt;
# Proceed through the wizard, and accept all of the defaults (including IIS)&lt;br /&gt;
# Restart the computer.&lt;br /&gt;
&lt;br /&gt;
If the above didn&#039;t solve it, and you still receive the &#039;Class not registered&#039; error message, then you need to recreate the IIS packages in COM+, try&lt;br /&gt;
&lt;br /&gt;
# Delete IIS related package in Component Services MMC&lt;br /&gt;
# IIS In-Process Applications &lt;br /&gt;
# IIS Out-of-Process Pooled Applications &lt;br /&gt;
# IIS Utilities&lt;br /&gt;
&lt;br /&gt;
Next, if you still get the message, try following before re-install IIS if you can&#039;t find Distributed Transaction Coordinator in your Services console.&lt;br /&gt;
&lt;br /&gt;
Launch command prompt and run the following command.&lt;br /&gt;
# msdtc -install&lt;br /&gt;
# net start msdtc&lt;br /&gt;
&lt;br /&gt;
Then try re-install IIS.&lt;br /&gt;
&lt;br /&gt;
This should solve the problem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enabling File Security option on Win XP Professional ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
&lt;br /&gt;
In the Properties of any folders, the Security option does not show, hence you cannot modify the Read, Write options.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
The solution would be to untick the &#039;Simple File Sharing&#039; option from  Tools &amp;gt; Folder Options &amp;gt; View:&lt;br /&gt;
[[Image:simplefilesharingoff.jpg]]&lt;br /&gt;
&lt;br /&gt;
== %00%00%00%00 Errors ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SYSTEM ERROR in line 162. Amount &amp;quot;-2698.00AED&amp;quot; or base &amp;quot;%00%00%00%00&amp;quot; has been wrongly generated   &lt;br /&gt;
GET NEOSYS SUPPORT. DO NOT ATTEMPT TO CORRECT MANUALLY    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Solution ===&lt;br /&gt;
%00%00%00%00 indicates an internal error that NEOSYS programmer has to fix. It is usually random and can be hard to replicate unlike almost all other NEOSYS errors which usually replicate reliably once you find the cause.&lt;br /&gt;
&lt;br /&gt;
== B703 Errors ==&lt;br /&gt;
&lt;br /&gt;
The B703 error is usually always related to something too big for NEOSYS to handle. &lt;br /&gt;
&lt;br /&gt;
These are the only B errors that NEOSYS cant always permanently prevent by fixing the software.&lt;br /&gt;
&lt;br /&gt;
== Internet Explorer Menu, View, Text Size doesnt change font size as expected ==&lt;br /&gt;
&lt;br /&gt;
Cause: This is because the font size is now user definable in NEOSYS and View, Text Size does not override predefined font sizes.&lt;br /&gt;
&lt;br /&gt;
Solution: If you are using Internet Explorer 7 you can scale the screen (including the font size  using ctrl + and ctrl - keyboard shortcuts or the font size button on the bottom right hand side of the window. &lt;br /&gt;
&lt;br /&gt;
You can adjust the font size on the User Details form when you login although this permanently applies to all forms not just the one that you are on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uploaded jpg files fail to display in internet explorer ==&lt;br /&gt;
&lt;br /&gt;
Some large jpg files &amp;gt; 2Mb cannot be viewed in internet explorer despite being viewable in image preview, ms paint and other viewers/editors. It is not an issue caused by uploading or downloading the files.&lt;br /&gt;
&lt;br /&gt;
These file appear to have been created on Photoshop CS Macintosh and may be a special type of uncompressed jpg used for production quality files.&lt;br /&gt;
&lt;br /&gt;
=== Partial solution ===&lt;br /&gt;
Before uploading the files, open them in some editor like MS Paint (right click, edit) and save them. However this results in a loss of quality. Perhaps there is some program that can convert these files to a format understandable by Internet explorer without any loss of quality.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;This document is currently read only&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
The user attempting to modify this document does not have the authorization key to do so.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
Inform the user that he is not authorised to modify the document and give him the list of users within his company who are authorised to do so.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;You have attempted to write to a read-only file&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
=== Message ===&lt;br /&gt;
&lt;br /&gt;
Error while writing data.&lt;br /&gt;
You have attempted to write to a read-only file.&lt;br /&gt;
- or -&lt;br /&gt;
access to the file has been denied by the operating system.&lt;br /&gt;
(operating system file name: &amp;quot;..\DATA\ADLINEC\ADAGENCY\REV76467.OV00012618&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
It is almost certainly due to some third party backup or other maintenance software opening the NEOSYS database files when it shouldn&#039;t e.g. badly configured third party backup scheduled to backup NEOSYS while NEOSYS is still running. Note that the exact filename varies each time.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
This can be a serious error that causes damaged files in NEOSYS especially if the filename ends in .OV. Use the usual methods of checking for damaged files e.g. do a backup which also looks for damaged files BUT DO NOT OVERWRITE THE LATEST BACKUP SINCE IT MAY BE REQUIRED for restoration. Then fix the damaged files using the usual methods e.g. by rebuilding/using&lt;br /&gt;
FIXFILE or restoring databases. For more info check [[Handling damaged files|Handling damaged files]]&lt;br /&gt;
&lt;br /&gt;
=== Prevention ===&lt;br /&gt;
&lt;br /&gt;
Remove the third party backup or other maintenance software or reschedule it to run at a time that NEOSYS is shutdown. Removal of software may require hunting through the windows process list for unexpected programs running.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting Hung processes==&lt;br /&gt;
&lt;br /&gt;
=== Investigating hung NEOSYS processes ===&lt;br /&gt;
&lt;br /&gt;
To find out some information about what the hung processes are suffering from, do the following:&lt;br /&gt;
&lt;br /&gt;
When no important clients working (eg first thing in the morning) then request a shutdown of all NEOSYS processes. This should will leave only the hung processes open.&lt;br /&gt;
&lt;br /&gt;
Then find what NEOSYS files are open as follows:&lt;br /&gt;
&lt;br /&gt;
run Sysinternal&#039;s &amp;quot;Process Explorer&amp;quot; (from Start, Programs or procexp.exe from desktop)&lt;br /&gt;
&lt;br /&gt;
find, handle&lt;br /&gt;
&lt;br /&gt;
 d:\&lt;br /&gt;
&lt;br /&gt;
submit the complete list (maybe more than one page) to support for records&lt;br /&gt;
&lt;br /&gt;
[[Image:invhungprocess.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Troubleshooting_NEOSYS_Generally#Investigating_CPU_100.25_using_Windows_Task_Manager|Investigating CPU 100% using Windows Task Manager]]  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Troubleshooting_NEOSYS_Generally#Solving_server_CPU.25_is_100_and_all_users_are_extremely_slow.2Fstopped|Solving server CPU% is 100 and all users are extremely slow/stopped]] ===&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Fatal Error in Rev Restart&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
[[image:fatal.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Error message: “Abort, Retry, Fail” ===&lt;br /&gt;
==== Problem ====&lt;br /&gt;
The following messages may come on older versions of NEOSYS if there is a problem with the USB media inserted for backup.&lt;br /&gt;
&lt;br /&gt;
[[image:usberror.jpg]]&lt;br /&gt;
&lt;br /&gt;
This results in “NEOSYS has not checked in” message on Nagios since it hangs during the monitoring update and locks all other processes from monitoring too.&lt;br /&gt;
&lt;br /&gt;
General failure writing drive F&lt;br /&gt;
Abort, Retry, Fail?&lt;br /&gt;
&lt;br /&gt;
Not read reading drive F&lt;br /&gt;
Abort, Retry, Fail?&lt;br /&gt;
&lt;br /&gt;
Pressing A or F results in the problem happening again in about a minute, perhaps on a different process.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Temporary solution is to do “Safely remove hardware” from the windows notification area. Using “Eject” from My Computer will not work.&lt;br /&gt;
&lt;br /&gt;
Permanent solution is to replace the defective USB memory stick. Sometime reformatting is sufficient.&lt;br /&gt;
&lt;br /&gt;
Upgrading NEOSYS will probably stop the defective media from causing NEOSYS to hang but the USB will still be useless for backup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Read error in the operating system file&amp;quot; ===&lt;br /&gt;
==== Problem ====&lt;br /&gt;
Nagios reports a hung process and on the server a process has the following message popup.&lt;br /&gt;
&lt;br /&gt;
 Read error in the operating system file &amp;quot;..\DATA\PT0833\ACCOUNTS\REV20049&lt;br /&gt;
 The file does not exist or the filename is&lt;br /&gt;
 not valid for the operating system.&lt;br /&gt;
&lt;br /&gt;
[[Image:readerrorintheoperatingsystemfile.png]]&lt;br /&gt;
&lt;br /&gt;
==== Cause ====&lt;br /&gt;
Some non-NEOSYS program is directly accessing the NEOSYS database files while NEOSYS processes are running and using the files as well.&lt;br /&gt;
&lt;br /&gt;
*Client IT staff using a backup program to perform backup without ensuring that NEOSYS processes are shutdown.&lt;br /&gt;
*A NEOSYS rsync process taking longer than expected due to new USB.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Kill the NEOSYS process eg with the X button. It is advisable NOT to let it run further while it cannot properly access one of its files.&lt;br /&gt;
&lt;br /&gt;
==== Prevention ====&lt;br /&gt;
Remove the third party program or arrange for it to operate only while NEOSYS processes are shutdown eg from 3am-6am.&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Not enough string space - Out of Memory&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
==== Message ====&lt;br /&gt;
&lt;br /&gt;
‘RTP27’ Line 1. [B29] Not enough string space – Out of Memory.&lt;br /&gt;
&lt;br /&gt;
Not enough memory to execute Debugger; current program aborted.&lt;br /&gt;
Press any key to continue&lt;br /&gt;
&lt;br /&gt;
[[Image:out_of_memory.jpg]]&lt;br /&gt;
&lt;br /&gt;
==== Cause ====&lt;br /&gt;
Unknown perhaps related to some large document or report&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Ask users for any hanging transactions.&lt;br /&gt;
None other than closing and starting another process.&lt;br /&gt;
&lt;br /&gt;
Also refer [[Troubleshooting NEOSYS Generally#Enabling EMS memory on Window 2003|Enabling EMS memory on Window 2003]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: B521 ===&lt;br /&gt;
&lt;br /&gt;
[[Image:B521.jpg]] &lt;br /&gt;
&lt;br /&gt;
 Another user is currently updating indexes. &lt;br /&gt;
 Waiting to make your updates...&lt;br /&gt;
 If you interrupt this process,&lt;br /&gt;
 you may have to rebuild all the indexes&lt;br /&gt;
&lt;br /&gt;
B521 message is usually temporary and goes away by itself. If it does not then, as the text of the B521 message makes clear, some OTHER process is holding up the system, preventing the process with B521 message from continuing.&lt;br /&gt;
&lt;br /&gt;
B521 message is a symptom of other problem so it does not itself have some one simple solution. You must find which other process or issue is causing the hold up and solve whatever problem is causing the hold up, which could be anything.&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot; NTVDM encountered a hard error &amp;quot;  ===&lt;br /&gt;
&lt;br /&gt;
The following error message appears:&lt;br /&gt;
&lt;br /&gt;
[[Image:ntvdm.jpg]]&lt;br /&gt;
&lt;br /&gt;
 NTVDM encountered a hard error&lt;br /&gt;
&lt;br /&gt;
==== Solution  ====&lt;br /&gt;
 &lt;br /&gt;
This error is caused by missing or corrupt Windows system files (i.e. command.com, autoexec.nt and config.nt). The solution is to run a program called XP FIX which will reinstall these missing files. You can download it form http://www.visualtour.com/downloads/xp_fix.exe&lt;br /&gt;
&lt;br /&gt;
Sometimes even after running the XP FIX program the error still appears. Then you need to copy all the files under C:/windows/repair to C:/windows/system32 and in the autoexec.nt and config.nt put REM before any lines there which don&#039;t have it.&lt;br /&gt;
&lt;br /&gt;
====Possible fix for some NTVDM errors ====&lt;br /&gt;
&lt;br /&gt;
===== Error message ===== &lt;br /&gt;
&lt;br /&gt;
[[Image:Ntvdm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
 NTVDM has encountered a System error.&lt;br /&gt;
 The system cannot find the file specified.&lt;br /&gt;
 Choose close to terminate the application.&lt;br /&gt;
&lt;br /&gt;
=====Possible solution===== &lt;br /&gt;
&lt;br /&gt;
#Change the TEMP and TMP environment variables to C:\WINDOWS\TEMP. This should be for the user that runs NEOSYS processes - normally administrator.&lt;br /&gt;
#Close all NEOSYS processes &lt;br /&gt;
#Logout/Login again&lt;br /&gt;
#Restart NEOSYS processes&lt;br /&gt;
&lt;br /&gt;
[[image:Ntvdmsoln.png]]&lt;br /&gt;
&lt;br /&gt;
===== Check solution done properly ===== &lt;br /&gt;
&lt;br /&gt;
You can check that by typing ECHO %TEMP% and ECHO %TMP% at a console prompt after logging out and in again. &lt;br /&gt;
&lt;br /&gt;
Note that windows will actually set the windows environment variables to something like C:\WINDOWS\TEMP\2 for some unknown reason. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
d:\hosts&amp;gt;ECHO %temp% &lt;br /&gt;
C:\WINDOWS\TEMP\2 &lt;br /&gt;
&lt;br /&gt;
d:\hosts&amp;gt;ECHO %tmp% &lt;br /&gt;
C:\WINDOWS\TEMP\2 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Error message: [[Troubleshooting_NEOSYS_Generally#Troubleshooting_the_.22Database_not_available.22_error_message|&amp;quot;Database not available&amp;quot; post login]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: [[Backup_and_Restore#Error_Message:_.22Cannot_backup.2Frestore_because_PROCESS1_PROCESS2_.28etc.29_is.2Fare_online.22_message|&amp;quot;Cannot backup/restore because PROCESS1 PROCESS2 (etc) is/are online&amp;quot;]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How to kill hung NEOSYS processes ===&lt;br /&gt;
 &lt;br /&gt;
NOTE WELL: If you kill actively working NEOSYS processes (those which are &amp;quot;listening&amp;quot; and not hung/crashed) there is a reasonable chance that the database will be damaged and might need a restore losing possibly large amounts of work.&lt;br /&gt;
 &lt;br /&gt;
==== If NEOSYS processes are visible on the server desktop ====&lt;br /&gt;
 &lt;br /&gt;
Look for processes which don&#039;t have &amp;quot;Listening ...&amp;quot; on the last but one line. The times on the left hand side are frozen as at the time of the hang.&lt;br /&gt;
 &lt;br /&gt;
You can then click the X to kill the process and confirm that this is OK.&lt;br /&gt;
 &lt;br /&gt;
Example of a NEOSYS process that has hung due to a software error resulting in a failure to handle a complex query with a lot of brand codes.&lt;br /&gt;
&lt;br /&gt;
[[Image:hungprocess.jpg]]&lt;br /&gt;
 &lt;br /&gt;
==== If NEOSYS processes are not visible on the server desktop ====&lt;br /&gt;
&lt;br /&gt;
NEOSYS processes are most of the time visible on the desktop (i.e. the black dos windows) in Windows 2003 OS, except in the case that the process has been scheduled to start on computer restart and no one has logged into the server. In this case it would be running in the background. TODO&lt;br /&gt;
&lt;br /&gt;
You can check if there are any hung processes from the NEOSYS Support Menu, List of Database Processes. &lt;br /&gt;
[[Image:databaseprocesseslist.jpg]]&lt;br /&gt;
&lt;br /&gt;
In this case you should follow the below instructions - however all of them need to be done within 30 seconds of starting the first instruction to avoid inconvenience to the users. It is recommend that you keep relevant windows open before proceeding with the same:&lt;br /&gt;
&lt;br /&gt;
#Shutdown NEOSYS by TEMPORARILY putting a file called GLOBAL.END in the parent directory of NEOSYS (if there is already a GLOBAL.END.TEMP file then rename it to GLOBAL.END). Leaving the file there would prevent NEOSYS from starting up again. Shutting down NEOSYS from the Support menu will not work because of the hung processes.&lt;br /&gt;
#Use Windows Task Manager to kill all the NTVDM processes - assuming that you have closed all the visible NEOSYS processes, then the NTVDM processes in the task manager would be the hung one.&lt;br /&gt;
#Delete GLOBAL.END or rename it to GLOBAL.END.TEMP&lt;br /&gt;
#Restart the processes back again. If there are many datasets then you need to restart them all well within the 30 seconds period.&lt;br /&gt;
#*Restarting a process is not noticed by users.&lt;br /&gt;
&lt;br /&gt;
In case of Patsalides, where we have a thousand datasets which start &amp;quot;on demand&amp;quot; i.e. usually on login; all you need to do is start one dataset which will restart all the other datasets &amp;quot;on demand&amp;quot;. If there is no response within 30 seconds then one of the running datasets will start it up so there appears to be a 30 second delay when you login to one of the thousand datasets the first time on any one day.&lt;br /&gt;
&lt;br /&gt;
=== Temporary workarounds for hung NEOSYS processes ===&lt;br /&gt;
Until the error in the software is fixed users can often get their results by simplifying their requirements. For example select individual clients instead of selecting all the brands for a particular client. If the user has repeated his request (in forlorn hope that it would work finally) then the number of working NEOSYS processes will drop causing severe slowdown for other users and complete stop if all the NEOSYS processes hang.&lt;br /&gt;
&lt;br /&gt;
== Fixing &amp;quot; You do not have sufficient privilege to access this file &amp;quot;  ==&lt;br /&gt;
&lt;br /&gt;
This error message may come up while NEOSYS process startup.&lt;br /&gt;
&lt;br /&gt;
Solution: Close the window and look for NEOSYS processes. In case there is no process, start the NEOSYS process.&lt;br /&gt;
&lt;br /&gt;
[[image:Errormsg.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing &#039;NEOSYS process which opens up in a notepad instead of Microsoft Windows Based Script Host (i.e. DOS window)&#039;==&lt;br /&gt;
&lt;br /&gt;
The NEOSYS process (cmd file) might open up in a notepad, instead of the usual black colour DOS window. This may happen if a JavaScript file is opened using a notepad. Please be very CAREFUL when accessing a .JS and .JSE file and double check that the default program remains wscript.exe. The issue can be fixed by the following:&lt;br /&gt;
&lt;br /&gt;
# Check if Windows Script 5.6/5.7 is installed, IF NOT download and install it from the Microsoft Website.&lt;br /&gt;
# Go to any folder, click on Tools &amp;gt; Folder Options &amp;gt; File Types and find the .JS and .JSE and change the default program to wscript.exe (from windows&amp;gt;system32)&lt;br /&gt;
&lt;br /&gt;
== Fixing a &#039;Could not start&#039; error on Scheduled Tasks in Windows Server 2000 SP4 ==&lt;br /&gt;
&lt;br /&gt;
This error occurs because of a change that is made to the data that is stored in the credentials database when you install Windows 2000 SP4. Hence installing SP4 causes the the data that is stored in the credentials database to get converted to an SP4-compatible format. A registry key is configured to indicate that the data has been converted to the SP4 format.&lt;br /&gt;
&lt;br /&gt;
Hence the Scheduled Tasks do not work sometimes. However the Scheduled Tasks works fine sometimes, but when you uninstall SP4, it does not work.&lt;br /&gt;
&lt;br /&gt;
The best solution is to:&lt;br /&gt;
&lt;br /&gt;
# Incase Scheduled Tasks do not work after installing SP4, then uninstall SP4 and it should be fine.&lt;br /&gt;
# Incase Scheduled Tasks works after installing SP4, and later after uninstalling SP4, it does not work, then install SP4 and it should be fine.&lt;br /&gt;
&lt;br /&gt;
== Checking for server or NEOSYS crashes ==&lt;br /&gt;
 &lt;br /&gt;
#NEOSYS Maintenance Mode&lt;br /&gt;
#General Menu, Setup, Processes&lt;br /&gt;
#Select the dates and the option Detailed&lt;br /&gt;
 &lt;br /&gt;
This report shows a list of dates and times that NEOSYS logged in but did not log out properly.&lt;br /&gt;
 &lt;br /&gt;
Ignore the very latest entries since they represent the current NEOSYS processes. For example, if you have four NEOSYS processes running at the time that you get the report (including any in maintenance mode) then you can ignore the last four entries.&lt;br /&gt;
 &lt;br /&gt;
The date and time shows for each process that has failed to shutdown correctly when the process logged in. Versions of NEOSYS from January 2008 will also show the date and time that each crashed NEOSYS process was last active (heartbeat) so that the time of failure can be known.&lt;br /&gt;
 &lt;br /&gt;
If you see a bunch of NEOSYS processes all started up at around the same time but all failed to shutdown correctly then the cause will be a server failure - usually power failure.&lt;br /&gt;
 &lt;br /&gt;
Isolated one-off failures will be related to individual NEOSYS process crashes - most commonly caused by one of the following:&lt;br /&gt;
 &lt;br /&gt;
#NEOSYS hanging to due to software failure&lt;br /&gt;
#Manually exiting a NEOSYS process on the server either by pressing Ctrl+Alt+Del or clicking the &amp;quot;X&amp;quot; close icon/box and ignoring the warning&lt;br /&gt;
#Random server failures eg memory, disk etc&lt;br /&gt;
 &lt;br /&gt;
Example:&lt;br /&gt;
 &lt;br /&gt;
 LOGIN 22/12/2007 06:02 NEOSYS SERVER ADAGENCY         Current workstation &lt;br /&gt;
 LOGIN 23/12/2007 06:00 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 06:01 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 06:02 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:52 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:52 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:53 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:00 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:01 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:02 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 13:51 NEOSYS SERVER NEOSYS         Current user session  &lt;br /&gt;
&lt;br /&gt;
Interpretation:&lt;br /&gt;
 &lt;br /&gt;
The first four entries indicate that all four NEOSYS processes started at 06am were suddenly killed probably by power failure&lt;br /&gt;
 &lt;br /&gt;
The next four entries indicate that NEOSYS was restarted at around 08:52 and all these processes were AGAIN killed probably by power failure&lt;br /&gt;
 &lt;br /&gt;
The last four entries can be ignored because there were four NEOSYS processes running at the time that the report was generated&lt;br /&gt;
&lt;br /&gt;
== Searching for word/number in the database files using maintenance mode ==&lt;br /&gt;
&lt;br /&gt;
You can search for any word/number in the database files of NEOSYS, using the following command line:&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 FIND FILENAME WORDWITHOUTANYSPACES&lt;br /&gt;
 &lt;br /&gt;
 For eg:&lt;br /&gt;
 FIND CURRENCIES 1.1&lt;br /&gt;
 (here you are searching for the number 1.1 in the currencies file) You CANNOT search for a phrase ie include spaces like this.&lt;br /&gt;
 &lt;br /&gt;
 Or you can also type:&lt;br /&gt;
 FIND FILENAME &amp;lt;enter&amp;gt;&lt;br /&gt;
 and it will ask you what you want do to search. You can enter an exact phrase with spaces.&lt;br /&gt;
&lt;br /&gt;
Incase you do not know the filenames, you can enter the following command to see all the filenames in the system:&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 LF&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting a Service Unavailable message on Internet Explorer when opening up NEOSYS ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&lt;br /&gt;
The following error message appears in Internet Explorer when you try to open up NEOSYS:&lt;br /&gt;
&lt;br /&gt;
 Service Unavailable&lt;br /&gt;
&lt;br /&gt;
=== Solution  ===&lt;br /&gt;
 &lt;br /&gt;
Open the IIS Manager, right click Web Sites and select properties:&lt;br /&gt;
[[Image:serviceunavailable1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Switch to the Service Tab and tick the &amp;quot;Run WWW Service in IIS 5.0 Isolation Mode&amp;quot;.&lt;br /&gt;
[[Image:serviceunavailable2.jpg]]&lt;br /&gt;
&lt;br /&gt;
You will be asked for Restart of IIS. Click yes to restart IIS. If you are not asked just restart IIS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Inspecting IIS log files ==&lt;br /&gt;
&lt;br /&gt;
At a windows command prompt:&lt;br /&gt;
&lt;br /&gt;
 c:&lt;br /&gt;
 cd \Windows\system32\LogFiles\W3SVC1&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 %SystemDrive%&lt;br /&gt;
 cd %SystemRoot%&lt;br /&gt;
 cd system32\LogFiles\W3SVC1&lt;br /&gt;
&lt;br /&gt;
then (substituting the ip number you are interested in)&lt;br /&gt;
&lt;br /&gt;
 find &amp;quot;192.168.1.55&amp;quot; *|sort&amp;gt;temp.log&lt;br /&gt;
&lt;br /&gt;
Open temp.log in Excel and use Tools, Data, Text to Columns to split into columns using options &amp;quot;Delimited&amp;quot; and check split on Space.&lt;br /&gt;
&lt;br /&gt;
Autowidth all columns by clicking on the top left box just outside the data to the left of column A and above column 1 then double click the column separator to the right of column &amp;quot;A&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note that times and dates are in UTC/GMT so you have to add/subtract your timezone offset to get local times.&lt;br /&gt;
&lt;br /&gt;
==Inspecting Database LOGS Folder==&lt;br /&gt;
LOGS folder in NEOSYS installation folder carries records of all changes done in the database which includes adding and removal of data.&lt;br /&gt;
&lt;br /&gt;
Log file is an XML document which should be viewed in Notepad. Each XML document represents commands executed by each NEOSYS process started each day.&lt;br /&gt;
&lt;br /&gt;
The NEOSYS log files e.g. 15123103.xml are created by the database processes. If the database is not available according to the website then no entry will appear in that log. The request will appear in the IIS website log but that log is nothing to do with database processes.&lt;br /&gt;
&lt;br /&gt;
=== Understanding Log Entries ===&lt;br /&gt;
Inspecting and searching through Logs file allows NEOSYS staff to answer clients queries like &amp;quot;Who deleted schedule XXXX&amp;quot; etc.&lt;br /&gt;
&lt;br /&gt;
While going through the log file you may come across a request &amp;quot;EXECUTE GENERAL GETTASKS NOT&amp;quot;, this request is concerned with getting a list of tasks that the user is *not* allowed to do.&lt;br /&gt;
&lt;br /&gt;
To read and understand the log file with more ease, copy the portion of the log file required to be analyzed into another text editor.&lt;br /&gt;
&lt;br /&gt;
The text that appears as %FE, %FE1, %FE2, etc. are basically separators.&lt;br /&gt;
*First replace FE0%, FE1%, FE2%, etc. with a separator like &amp;quot;--&amp;quot;. There can be occurrences of &amp;quot;%FE&amp;quot; along with some valuable information like &amp;quot;17290&amp;quot;, so replacing &amp;quot;%FE1&amp;quot; in &amp;quot;%FE17290&amp;quot; would lead to loss of information.&lt;br /&gt;
*Then replace %FE with a bigger separator like &amp;quot;===&amp;quot;.&lt;br /&gt;
*Replace other entries like %FCB and then %FC and so on with similar separators.&lt;br /&gt;
*In the end there may be few &amp;quot;FE&amp;quot; remaining, replace these with a separator like &amp;quot;-&amp;quot;.&lt;br /&gt;
*The remaining &amp;quot;%&amp;quot; characters MUST be intelligently replaced with a separator like &amp;quot; &amp;quot; (space), because it can either be an actual &amp;quot;%&amp;quot; or it can be a residue from &amp;quot;%FE&amp;quot;, &amp;quot;%FE1&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
Once replacing all these characters is done, the log file will be more easily readable and vital information will be clearer. &lt;br /&gt;
&lt;br /&gt;
In the log file, you may find numbers like 17290, 17195, etc. These numbers denote dates selected or entered by the NEOSYS user. These are basically the number of days from 31st December 1967 till the date chosen by the user. For example, to convert 17290 to actual date, 31/12/1967 + 17290 = 3/5/2015. So the actual date is 3rd May 2015.&lt;br /&gt;
&lt;br /&gt;
To convert these numbers to dates using maintenance mode, refer to the article [http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Finding_out_when_and_by_whom_a_record_was_deleted Finding out when and by whom a record was deleted]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:NEOSYS Logs.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing NEOSYS processes that do not auto start / Recovering from incorrect advanced date or time ==&lt;br /&gt;
This solution is applicable to live database processes only. Test database processes don’t auto-start any other processes.&lt;br /&gt;
&lt;br /&gt;
=== Problem explained ===&lt;br /&gt;
After starting up the 1st process, the rest of the processes don&#039;t start up.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
The possible cause for this could be that the system date/time might have been changed - either manually or by the auto synchronization. Do the following checks in the sequence of order:&lt;br /&gt;
&lt;br /&gt;
# Check for any *.$* files (* after dollar sign should show a number, the highest being the latest one). If it shows OK, then proceed ahead.&lt;br /&gt;
# Check for any .end files and delete it to rename to .end.temp&lt;br /&gt;
# Check the System Event Viewer log for any 520 or 577 error message (refer http://128.175.24.251/forensics/timechange.htm). Also check for any out of sequence / ahead of today date or time.&lt;br /&gt;
# In case of no 520 or 577 error message, go to Administrative Tools &amp;gt; Local Security Policy &amp;gt; Local Policies &amp;gt; Audit Policy &amp;gt; Audit Privilege use - make sure that Success and Failure are selected under this (this will ensure that future changes to the date/time are recorded in the System Log).&lt;br /&gt;
# In NEOSYS maintenance mode - F5 ED PROCESSES %UPDATE% - and see what it says, incase of any text (only text, not numbers) there, that means that for sure the system date has been changed. To fix this, exit the editor by pressing the ESCAPE key and then type DELETE PROCESSES &amp;quot;%UPDATE%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Fixing NEOSYS maintenance mode not starting up == &lt;br /&gt;
&lt;br /&gt;
Problem :- While trying to start maintenance mode, the maintenance window closes automatically within a split second.&lt;br /&gt;
&lt;br /&gt;
Solution :- Delete the read-only file REVBOOT file (under d:/neosys/neosys folder). REVBOOT file is recreated when you start maintenance mode.&lt;br /&gt;
&lt;br /&gt;
== Recognising and Solving Low Memory Problems ==&lt;br /&gt;
&lt;br /&gt;
Quick Note: Installing a server class operating system on a workstation class computer with the intention of NEOSYS serving a heavy load is likely to cause problems with low memory.&lt;br /&gt;
&lt;br /&gt;
Quick Fix: Disable *ALL* non-essential features in the power-on setup menu.&lt;br /&gt;
&lt;br /&gt;
=== Effects ===&lt;br /&gt;
&lt;br /&gt;
It is speculated but not proven that low memory may cause NEOSYS to fail by hanging, causing damaged files etc.&lt;br /&gt;
&lt;br /&gt;
=== Checking ===&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 MEMORY&lt;br /&gt;
&lt;br /&gt;
On server class machines it should say somewhere around 350Kb to 370Kb Free&lt;br /&gt;
&lt;br /&gt;
Some server class machines have around 330Kb and sometimes even less with no reported problems&lt;br /&gt;
&lt;br /&gt;
The actual effect of low memory is supposed to make NEOSYS slower and perhaps cause hanging and damaged files however this has not been proven in an specific case so far.&lt;br /&gt;
&lt;br /&gt;
On workstation class machines it may often say around 280Kb to 300Kb.&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
Although there is plenty of real memory in virtually all computers now, NEOSYS runs in the legacy 16 bit virtual memory space of a windows mode called NTVDM. This is limited to 1Mb plus 4Mb of EMS memory.&lt;br /&gt;
&lt;br /&gt;
The 1Mb memory space is shared with:&lt;br /&gt;
&lt;br /&gt;
#Various non-essential windows drivers which NEOSYS automatically disables them in autoexec.nt&lt;br /&gt;
#Various plug and play hardware device drivers for the various adapters in the computer like video, network adapters and various other items that NEOSYS is unable to disable.&lt;br /&gt;
&lt;br /&gt;
In a server class computer the hardware device drivers are usually minimally present in the 1Mb base memory and do not therefore DOESNT a low memory situation for NEOSYS.&lt;br /&gt;
&lt;br /&gt;
In workstation class computers there are often many hardware device drivers present in the 1Mb base memory and this DOES causes a low memory situation for NEOSYS.&lt;br /&gt;
&lt;br /&gt;
When NEOSYS is installed on workstation class computers with XP there is usually not a heavy load expectation and therefore the low memory does not cause a problem.&lt;br /&gt;
&lt;br /&gt;
If Windows Server OS is installed on a workstation class computer NEOSYS may well be expected to serve a heavy load with limited amounts of memory.&lt;br /&gt;
&lt;br /&gt;
Workstation class computers: hardware drivers present and EMS is installed in low memory (0000-9FFF) causing low memory for NEOSYS and possible inability to &lt;br /&gt;
&lt;br /&gt;
Server class computers: Usually few hardware drivers are present in high part (A000-FFFF) of the 1Mb base memory and EMS is able to occupy the high memory leaving the low part (0000-9FFFF) of the 1Mb memory free for NEOSYS. You can find out how much memory is available to NEOSYS and whether EMS is occuping high or low memory using the following sections.&lt;br /&gt;
&lt;br /&gt;
=== Fixing Low Memory ===&lt;br /&gt;
&lt;br /&gt;
Start, Run, notepad c:\windows\system32\autoexec.nt&lt;br /&gt;
&lt;br /&gt;
Every time NEOSYS starts it tries to make some changes as follow:&lt;br /&gt;
&lt;br /&gt;
#replaces all lines in C:/WINDOWS/SYSTEM32/AUTOEXEC.NT starting with &#039;lh &#039; to start with &#039;rem NEOSYS LH &#039; instead.&lt;br /&gt;
#changes the line in C:/WINDOWS/SYSTEM32/CONFIG.NT &amp;quot;files=...&amp;quot; to &amp;quot;FILES=200&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The replacement is case sensitive triggered on &#039;lh&#039; and &#039;files&#039; so if you manually edit the files and remove the rem or change the number of files and leave the LH and FILES in uppercase then NEOSYS will NOT make further changes. This allows you to do manual amendments to the files without NEOSYS overwriting them.&lt;br /&gt;
&lt;br /&gt;
Check that NEOSYS has successfully disabled all the drivers in the lines starting with LH.&lt;br /&gt;
&lt;br /&gt;
They should be commented out (prefixed) with REM or REM NEOSYS as follows.&lt;br /&gt;
&lt;br /&gt;
After making changes reopen NEOSYS in maintenance mode to use the MEMORY and WHO commands again.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REM Install CD ROM extensions&lt;br /&gt;
REM NEOSYS LH %SystemRoot%\system32\mscdexnt.exe&lt;br /&gt;
&lt;br /&gt;
REM Install network redirector (load before dosx.exe)&lt;br /&gt;
REM NEOSYS LH %SystemRoot%\system32\redir&lt;br /&gt;
&lt;br /&gt;
REM Install DPMI support&lt;br /&gt;
REM NEOSYS LH %SYSTEMROOT%\SYSTEM32\DOSX&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Low Memory Issues in Windows 2003 server can be fixed using instructions mentioned at [http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Enabling_EMS_memory_on_Window_2003 Fixing Low Memory in Windows 2003 Server]&lt;br /&gt;
&lt;br /&gt;
=== Allowing DOS programs that require DOSX to run on the same computer as NEOSYS ===&lt;br /&gt;
&lt;br /&gt;
The automatic commenting out DOSX by NEOSYS will prevent some other DOS-like programs from running. If NEOSYS is on dedicated server then there should be no other such programs to fail. However, if you must allow DOS-like programs to work as well as NEOSYS you can do the following configuration:&lt;br /&gt;
&lt;br /&gt;
#leave or restore the original AUTOEXEC.NT and CONFIG.NT files where they are&lt;br /&gt;
#copy them to another folder eg neosys folder&lt;br /&gt;
#make the necessary REM changes there by hand&lt;br /&gt;
#right click the NEOSYS\NEOSYS\AREV.PIF and select properties&lt;br /&gt;
#change the location of the AUTOEXEC.NT and CONFIG.NT files in the following location&lt;br /&gt;
&lt;br /&gt;
[[image:pifsettings.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Checking EMS Memory Configuration ===&lt;br /&gt;
&lt;br /&gt;
==== Inspection ====&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 WHO&lt;br /&gt;
&lt;br /&gt;
 press the up arrow to get to the last part/page&lt;br /&gt;
&lt;br /&gt;
===== Example of Typical Server EMS Memory =====&lt;br /&gt;
[[image:serveremm.jpg]]&lt;br /&gt;
&lt;br /&gt;
===== Example of Typical Workstation EMS Memory =====&lt;br /&gt;
[[image:workstationemm.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Correction====&lt;br /&gt;
&lt;br /&gt;
No easy way&lt;br /&gt;
&lt;br /&gt;
Removal of hardware adapters designed for workstations instead of servers eg graphics cards and network cards.&lt;br /&gt;
&lt;br /&gt;
Many of the devices may be located on the motherboard and not relocatable except possibly by BIOS configuration or special manufacturer information.&lt;br /&gt;
&lt;br /&gt;
Use windows device manager, View: Resources by Connection, Open the Memory item and look for items between 000A0000 up to 000FFFFF that might give you a clue as to what hardware could be removed or reconfigured. Actually only 000C0000 to 000FFFFF is candidate for EMS memory since 000A000-000BFFFF is mandatory video memory in all systems.&lt;br /&gt;
&lt;br /&gt;
[[image:devicemanager.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing issue where NEOSYS processes do not start-up at all or start-up and close immediately ==&lt;br /&gt;
&lt;br /&gt;
# Find if a file with the name global.end exists in the root directory of the NEOSYS installation. Eg D:\global.end . If you find such a file, rename it to global.end.temp - for more information on global.end and what it does refer to [[Administering_NEOSYS_Server#Closing_NEOSYS_Services|Closing NEOSYS Services]]&lt;br /&gt;
# If the above didn&#039;t fix the problem and NEOSYS still does not start, do a windows search for the entire NEOSYS folder for *.end (i.e. any file ending with .end extension). You may find a (databasecode).end file in D:\neosys\neosys folder which is created by the NEOSYS program during backup at 1 am and later on removed automatically. In this case NEOSYS program might have crashed during the backup and left this file behind. (databasecode).end files prevent other other NEOSYS processes starting up on the database while exclusive processes (like backup) are being done.&lt;br /&gt;
&lt;br /&gt;
In case the above didn&#039;t fix the problem then escalate to the programmer immediately.&lt;br /&gt;
&lt;br /&gt;
=== Solving &amp;quot;Control Record&amp;quot; error in maintenance mode ===&lt;br /&gt;
&lt;br /&gt;
If processes dont start after you log into maintenance mode and you get an error message&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔════[FS152]═══════════════════════════════════════╗&lt;br /&gt;
║          The control record &amp;quot;RECORDS&amp;quot;            ║&lt;br /&gt;
║           is too long to be saved.               ║&lt;br /&gt;
║   The current record length is 65539 characters. ║&lt;br /&gt;
║                                                  ║&lt;br /&gt;
║               &amp;lt; Press any key &amp;gt;                  ║&lt;br /&gt;
╚══════════════════════════════════════════════════╝  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[File:Record1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1&#039;&#039;&#039;. Press space to get rid of the error message and you should then get this menu&lt;br /&gt;
&lt;br /&gt;
[[File:Record2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2&#039;&#039;&#039;. Press F5 and run this command (case sensitive)&lt;br /&gt;
&lt;br /&gt;
 DICT DEFINITIONS&lt;br /&gt;
&lt;br /&gt;
or Press Alt+S and run this command (case sensitive)&lt;br /&gt;
&lt;br /&gt;
 EXECUTE DICT DEFINITIONS&lt;br /&gt;
&lt;br /&gt;
[[File:Record3.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3&#039;&#039;&#039;. Press Shift+F3 to get the following message&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔══[B202]══════════════════════════════════╗&lt;br /&gt;
║            &amp;quot;DEFINITIONS&amp;quot; has             ║&lt;br /&gt;
║          &amp;quot;QUICKDEX&amp;quot; installed            ║&lt;br /&gt;
║                                          ║&lt;br /&gt;
║ Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N]  ║&lt;br /&gt;
║                                          ║&lt;br /&gt;
║ &amp;lt;Y                                      &amp;gt;║&lt;br /&gt;
╚══════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4&#039;&#039;&#039;. Press Enter to choose Yes.&lt;br /&gt;
&lt;br /&gt;
[[File:Record4.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5.&#039;&#039;&#039;Restart NEOSYS to see if the problem has been solved&lt;br /&gt;
&lt;br /&gt;
== Solving “page not found” when downloading some file types after uploading them successfully ==&lt;br /&gt;
=== One by One ===&lt;br /&gt;
&lt;br /&gt;
Windows web server will not download file types that it is unaware of. You can enable the download of new file types one by one as follows.&lt;br /&gt;
&lt;br /&gt;
This process is tedious and error-prone if you have to add many type.&lt;br /&gt;
&lt;br /&gt;
#Computer Management&lt;br /&gt;
#Services and Applications&lt;br /&gt;
#IIS properties&lt;br /&gt;
#Mime Types&lt;br /&gt;
#Add&lt;br /&gt;
&lt;br /&gt;
=== Many ===&lt;br /&gt;
&lt;br /&gt;
Window Server 2003 is unaware of all the Office 2007+ file types. To add all Office 2007+ file types at once do the following:&lt;br /&gt;
&lt;br /&gt;
Stop IIS&lt;br /&gt;
&lt;br /&gt;
 iisreset /stop&lt;br /&gt;
&lt;br /&gt;
Open the list of mime types&lt;br /&gt;
&lt;br /&gt;
*Start, Run, notepad C:\WINDOWS\system32\inetsrv\MetaBase.xml&lt;br /&gt;
&lt;br /&gt;
Search the file for “xlsx” and quit the editor if already inserted.&lt;br /&gt;
&lt;br /&gt;
Otherwise, find the following line,&lt;br /&gt;
&lt;br /&gt;
  .xml,text/xml&lt;br /&gt;
&lt;br /&gt;
and insert after that line the following lines. They do not need to be indented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.docm,application/vnd.ms-word.document.macroEnabled.12&lt;br /&gt;
.docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document&lt;br /&gt;
.dotm,application/vnd.ms-word.template.macroEnabled.12&lt;br /&gt;
.dotx,application/vnd.openxmlformats-officedocument.wordprocessingml.template&lt;br /&gt;
.potm,application/vnd.ms-powerpoint.template.macroEnabled.12&lt;br /&gt;
.potx,application/vnd.openxmlformats-officedocument.presentationml.template&lt;br /&gt;
.ppam,application/vnd.ms-powerpoint.addin.macroEnabled.12&lt;br /&gt;
.ppsm,application/vnd.ms-powerpoint.slideshow.macroEnabled.12&lt;br /&gt;
.ppsx,application/vnd.openxmlformats-officedocument.presentationml.slideshow&lt;br /&gt;
.pptm,application/vnd.ms-powerpoint.presentation.macroEnabled.12&lt;br /&gt;
.pptx,application/vnd.openxmlformats-officedocument.presentationml.presentation&lt;br /&gt;
.xlam,application/vnd.ms-excel.addin.macroEnabled.12&lt;br /&gt;
.xlsb,application/vnd.ms-excel.sheet.binary.macroEnabled.12&lt;br /&gt;
.xlsm,application/vnd.ms-excel.sheet.macroEnabled.12&lt;br /&gt;
.xlsx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet&lt;br /&gt;
.xltm,application/vnd.ms-excel.template.macroEnabled.12&lt;br /&gt;
.xltx,application/vnd.openxmlformats-officedocument.spreadsheetml.template&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save the file with File and Exit&lt;br /&gt;
&lt;br /&gt;
Restart IIS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Handling Neosys Automatic Upgrade Error Messages ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
We will receive an email from the NEOSYS client installation with the following message:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;UPGRADEN.EXE&amp;quot; does not have expected exe MZ signature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
This message is a note that the NEOSYS automatic update procedure failed to download an upgrade file correctly.&lt;br /&gt;
This happens sometimes due to network issues but can be ignored because the file will be probably be correctly downloaded on the next automatic update check.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This message is only informative to help with any problem with the automatic upgrade procedure and may be removed in a later version of neosys (currently Oct 2012)&lt;br /&gt;
&lt;br /&gt;
== Testing https connection ==&lt;br /&gt;
&lt;br /&gt;
The following procedure tests that the https server is operational and not blocked by firewall etc. It does not detect certificate errors.&lt;br /&gt;
&lt;br /&gt;
From a windows command prompt use the following telnet command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
telnet clientname.hosts.neosys.com 4430&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
#4430 is the usual NEOSYS http port but replace it by whatever port is actually used for NEOSYS https on the system being tested. If there are multiple https installations on a particular server then different ports are probably used&lt;br /&gt;
#Replace clientname.hosts.neosys.com with the normal https login domain name of the client for whom we want to check the https service&lt;br /&gt;
&lt;br /&gt;
Normal behavior is that it should open a black screen. Pressing Enter or any key returns the _ character. (Close the window using the [X] since there is no keyboard command to do so)&lt;br /&gt;
&lt;br /&gt;
Hanging means that there is some connectivity issue (firewall/ip/server not running/https not installed etc)&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;quot;page not found&amp;quot; error while using https ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#The https service stops working and gives &amp;quot;Page not found&amp;quot; error.&lt;br /&gt;
#The https connection tests fine using telnet (see article above)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#Reinstall https using the usual procedure (currently using selfssl)&lt;br /&gt;
#Email clients, requesting to reinstall the new security certificate by following the instructions for [http://userwiki.neosys.com/index.php/Setting_up_and_Configuring_NEOSYS_Generally#Fixing_HTTPS_certificate_error_when_logging_in_from_an_external_link_using_IE8.2C_IE9_and_IE10 Internet Explorer] or [http://userwiki.neosys.com/index.php/Configuring_Safari_for_MAC_OS#Fixing_HTTPS_certificate_error_when_logging_in_using_an_external_link_using_MAC_Operating_System Safari] browser.&lt;br /&gt;
&lt;br /&gt;
== Installing &amp;quot;QUICKDEX&amp;quot; on some files ==&lt;br /&gt;
&amp;quot;Quickdex&amp;quot; is a type of index that keeps an alphabetical order on small files. In some maintenance procedures you may be asked to &amp;quot;install Quickdex&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For example to add a quickdex to the UNITS file.&lt;br /&gt;
&lt;br /&gt;
Maintenance mode press F5&lt;br /&gt;
&lt;br /&gt;
 DICT UNITS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=================Dictionary=================┐&lt;br /&gt;
│                                            │&lt;br /&gt;
│  File name      UNITS                      │&lt;br /&gt;
│  Field name     .........................  │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Dict type                                 │&lt;br /&gt;
│  Single/Multi                              │&lt;br /&gt;
│  Data type                                 │&lt;br /&gt;
│  Output format                             │&lt;br /&gt;
│  Validation patterns                       │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Position              Key part            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Column heading                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Justification     Display length          │&lt;br /&gt;
│  Description                               │&lt;br /&gt;
│                                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
L============================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Shift+F3.&lt;br /&gt;
&lt;br /&gt;
If it says &amp;quot;Do you want to remove ...&amp;quot; then Quickdex has already been installed and you should not continue. Press Esc to cancel, then Esc to quit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[B202]==================================┐&lt;br /&gt;
│                                         │&lt;br /&gt;
│               &amp;quot;UNITS&amp;quot; has               │&lt;br /&gt;
│          &amp;quot;QUICKDEX&amp;quot; installed.          │&lt;br /&gt;
│                                         │&lt;br /&gt;
│ Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N] │&lt;br /&gt;
│                                         │&lt;br /&gt;
│&amp;lt;Y                                      &amp;gt;│&lt;br /&gt;
L=========================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise it should say &amp;quot;Do you want to install ...&amp;quot;. Press Enter to accept.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[W963]============================┐&lt;br /&gt;
│                                   │&lt;br /&gt;
│     Do you want to install a      │&lt;br /&gt;
│ Quickdex or Rightdex index? [Q/R] │&lt;br /&gt;
│                                   │&lt;br /&gt;
│&amp;lt;Q                                &amp;gt;│&lt;br /&gt;
L===================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It should then say &amp;quot;Do you want to update ...&amp;quot;. Press Enter to accept.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[W901]========================================┐&lt;br /&gt;
│                                               │&lt;br /&gt;
│           The &amp;quot;UNITS&amp;quot; file has had            │&lt;br /&gt;
│ the &amp;quot;QUICKDEX&amp;quot; modifying filing system added. │&lt;br /&gt;
│        There are 0 records in &amp;quot;UNITS&amp;quot;.        │&lt;br /&gt;
│                                               │&lt;br /&gt;
│    Do you want to update &amp;quot;QUICKDEX&amp;quot;? [Y/N]    │&lt;br /&gt;
│                                               │&lt;br /&gt;
│&amp;lt;Y                                            &amp;gt;│&lt;br /&gt;
L===============================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards it should return to the initial screen. Press Esc to quit.&lt;br /&gt;
&lt;br /&gt;
== Solving NEOSYS smtp server failure ==&lt;br /&gt;
In case the neosys smtp server fails then we can just use the client&#039;s smtp server.&lt;br /&gt;
&lt;br /&gt;
The following information is required from the client&#039;s smtp server configuration:&lt;br /&gt;
#hostname&lt;br /&gt;
#username&lt;br /&gt;
#password&lt;br /&gt;
#port no. (most likely = 25)&lt;br /&gt;
&lt;br /&gt;
These details should be entered in the &#039;&#039;&#039;System Configuration File&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
[[image:SYSCFGFILE-SMTP.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Strange characters in maintenance mode ==&lt;br /&gt;
While in Maintenance mode, pressing keys on keyboard gives strange characters. Even Enter and Esc don’t work. &lt;br /&gt;
&lt;br /&gt;
This problem has been seen using RDP on:&lt;br /&gt;
*Window Server 2003 Web Edition&lt;br /&gt;
*Windows Server 2003 R2 SP2&lt;br /&gt;
&lt;br /&gt;
[[image:strangecharmaint.jpg]] &lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
#Go to Windows -&amp;gt; control panel&lt;br /&gt;
#Go to Regional and Language Options &lt;br /&gt;
#Click on Languages tab then click on Details &amp;lt;br&amp;gt; [[image:lang1.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
#Click on Settings Tab and Change default input language to English (United States)&amp;lt;br&amp;gt;(or perhaps something else depending on rdp keyboard) &amp;lt;br&amp;gt; [[image:lang2.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== NEOSYS processes do not start after Windows Update  ==&lt;br /&gt;
&lt;br /&gt;
===Problem===&lt;br /&gt;
Scheduled Task to start the NEOSYS processes fail on Servers with Windows 2008 after Windows update. Support will have to log into the server to start the processes manually&lt;br /&gt;
Message on the Schedule Task displays &amp;quot; The operation being requested was not performed because the user has not logged on to the network. The specified service does not exit &amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[image:sti.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Solution===&lt;br /&gt;
&lt;br /&gt;
For clients who cannot tolerate manual intervention after server reboots for any reason (e.g.need to start work before NEOSYS support is available or on NEOSYS support weekends), tick &amp;quot;highest privileges&amp;quot; and &amp;quot;run whether the user is logged in or not&amp;quot;. This approach means that NEOSYS processes which are started by the windows scheduled task are not visible on the desktop and run hidden in the background and only listed in task manager, so avoid this approach on small clients (only few users). Avoiding this approach will also serve to act as an indicator of server restarts.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting NEOSYS remote support port forwarding ==&lt;br /&gt;
This assumes that you have already “port forwarded” tcp port 19580 from your public internet router to the NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
=== Tst 0 - Check if SSH is working on the NEOSYS Server ===&lt;br /&gt;
Type in the following command in command prompt:&lt;br /&gt;
 telnet 127.0.0.1 19580&lt;br /&gt;
&lt;br /&gt;
IF ALL OK you will see the following:&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-03.jpg]] &lt;br /&gt;
&lt;br /&gt;
=== Test 1 - Check if SSH is basically working on NEOSYS server over the LAN ===&lt;br /&gt;
You must know and use the NEOSYS SERVER LAN IP to do this.&lt;br /&gt;
&lt;br /&gt;
 telnet ???.???.???.??? 19580&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-01.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
If you have the WRONG SERVER LAN IP or NEOSYS server SSH is NOT working then it will hang for about 15 seconds and then say “Could not open connection to host …”&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-02.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
OR IF ALL OK you will see the following:&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-03.jpg]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Press Enter to Exit&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-04.jpg]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Test 2 - Check if can connect to the NEOSYS ssh from OUTSIDE the office  ===&lt;br /&gt;
From any internet connected computer OUTSIDE the office test if you can connect to NEOSYS ssh service. You cannot do this test from inside the office.&lt;br /&gt;
&lt;br /&gt;
You need to know the public ip or domain name of the router. If the router IP is dynamic then NEOSYS sets up dynamic name server so instead of a static ip number you will have a domain name something like clientxyz.redirectme.net.&lt;br /&gt;
&lt;br /&gt;
Enter the command .. using YOUR public internet IP number (NOT the LAN ip number) or the dynamic domain name.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-05.jpg]]  &lt;br /&gt;
&lt;br /&gt;
If everything is working OK you will get a black screen as follows. You will NOT get the “SSH-2.0-OpenSSH-4.7” banner” because NEOSYS ssh remote support is restricted to connect ONLY from LAN ip nos and NEOSYS office ip nos.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-06.jpg]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you press Enter a few times then the cursor will just go down. You have click the [X] to close the window.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-07.jpg]]  &lt;br /&gt;
&lt;br /&gt;
=== Test 3 - Check that the ssh connection from step 2 was rejected  ===&lt;br /&gt;
On the NEOSYS server, check the Windows Application log to verify that an SSH connection was rejected.&lt;br /&gt;
&lt;br /&gt;
The rejected ip number will be of the system outside the office that you performed the test from.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-08.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Sample Email: Solving port 19580 port forwarding issues ===&lt;br /&gt;
&lt;br /&gt;
Some IT people know how to troubleshoot port forwarding issues but others are mostly just power users who can configure a home router. If the IT person is in the second category then it is quicker for NEOSYS support to offer to configure their router from the NEOSYS server using Teamviewer. Ideally NEOSYS should not be doing client IT work but if client IT allows NEOSYS access to their router then NEOSYS support can make a brief attempt to do the configuration. If the issue is still unresolved then request the client to get a professional IT network expert to do the job and inform them that NEOSYS will not be able to provide them any support till connectivity is fixed. Below is a letter advising a more skilled person to check connections using telnet which is a low level test.&lt;br /&gt;
&lt;br /&gt;
You can usually determine the NEOSYS server LAN IP number from Nagios. If so then adjust the email text appropriately.&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Dear XYZ,&lt;br /&gt;
&lt;br /&gt;
It is highly critical to fix the connectivity with the NEOSYS server because NEOSYS will not be able to provide any support until&lt;br /&gt;
connectivity is fixed. User support issues will be delayed and remain unresolved if you do not fix this issue URGENTLY.&lt;br /&gt;
&lt;br /&gt;
At the moment there is no connection from the internet via your router to the NEOSYS server and when we do the following, &lt;br /&gt;
we get no connection. &lt;br /&gt;
&lt;br /&gt;
   telnet CLIENTNAME.support.neosys.com 19580&lt;br /&gt;
&lt;br /&gt;
Normally it should connect and presents a black screen (saying SSH something after pressing Enter) which we close.&lt;br /&gt;
&lt;br /&gt;
Please check that you can connect to the NEOSYS server internally by using the NEOSYS server IP address in the following command on any&lt;br /&gt;
computer in your LAN.&lt;br /&gt;
&lt;br /&gt;
    telnet 192.168.?.? 19580&lt;br /&gt;
&lt;br /&gt;
If you can connect to the NEOSYS server internally then please check port forwarding.&lt;br /&gt;
&lt;br /&gt;
Additionally check the following:&lt;br /&gt;
1. Has your router IP changed?&lt;br /&gt;
2. Has your server’s LAN IP changed and are you forwarding to the correct LAN IP?&lt;br /&gt;
3. Is the configuration really correct?&lt;br /&gt;
4. Check router logs for clues&lt;br /&gt;
5. Check NAT settings in the router&lt;br /&gt;
&lt;br /&gt;
For troubleshooting steps refer Troubleshooting NEOSYS remote support&lt;br /&gt;
http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Troubleshooting_NEOSYS_remote_support_port_forwarding&lt;br /&gt;
&lt;br /&gt;
If the problem still persists, please get a professional IT network expert to fix the issue.&lt;br /&gt;
&lt;br /&gt;
Best Regards,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Port mapping restricted by Source IP ===&lt;br /&gt;
&lt;br /&gt;
On NEOSYS router, port forwarding has been setup only for specific source IP addresses. This means you will not be able to establish a TCP connection to NEOSYS server unless your server&#039;s outbound IP is mapped to the NEOSYS router. In other words unless the outbound i.e source IP/port of your server has been granted access on the NEOSYS router for all incoming connections you will not be able to make connections to NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
Outbound IP is used whenever a server tries to make a connection to another server outside its network. On the other hand a server receives all incoming connections using it&#039;s Inbound IP.&lt;br /&gt;
&lt;br /&gt;
Therefore to setup ssh connection from a new Client server to NEOSYS server we need to grant access to its outbound IP on the NEOSYS router. See [[Troubleshooting_NEOSYS_Generally#If_Telnet_does_not_work | link]] to find the outbound server IP/ports of the server.&lt;br /&gt;
&lt;br /&gt;
== Solving “Cant login … INVALID DATA PATH … permission denied” ==&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&lt;br /&gt;
[[image:error-invalid-data-path-1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error Text:&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 Cannot login because:&lt;br /&gt;
 ERROR: INVALID DATA PATH&lt;br /&gt;
 “D:\HOSTS\HOSTNAME\DATA\HOSTNAME\~8746345.1$” Permission Denied&lt;br /&gt;
&lt;br /&gt;
=== Problem Explained ===&lt;br /&gt;
When installing NEOSYS on an existing “non-clean” Windows installation, the standard NEOSYS installation procedure can result in failure to login if the standard windows folder permissions have been modified.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
The solution is to grant IIS permission to write in the \neosys\DATA folder and subfolders as follows:&lt;br /&gt;
#First add the IUSR_XXXXXXX user to the list of users. (XXXXXXXX is the server name and therefore varies per server) as follows:&lt;br /&gt;
#*Right Click on DATA Folder and click on Properties&lt;br /&gt;
#*Click on Security Tab -&amp;gt; Add -&amp;gt; Advanced&lt;br /&gt;
#*Click on Find Now, Select the IUSR_XXXXXXX user and Click on OK&amp;lt;br&amp;gt;[[image:error-invalid-data-path-2.jpg]]&amp;lt;br&amp;gt;[[image:error-invalid-data-path-3.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Second, for the newly added IUSR (IIS user) change the permissions as follows:&lt;br /&gt;
#*&#039;&#039;&#039;REMOVE&#039;&#039;&#039; the read and execute permission (for security, IIS should be unable to execute things that it might have uploaded)&lt;br /&gt;
#*&#039;&#039;&#039;ADD&#039;&#039;&#039; the write permission &amp;lt;br&amp;gt;[[image:error-invalid-data-path-4.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Login should now be possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== NEOSYS process window displays message &amp;quot;Upgrade Downloading&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
[[image:upgradedownloading.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Problem Explained ===&lt;br /&gt;
NEOSYS thinks it sees an new neosys2.exe upgrade file on the location http://www.neosys.com/support/neosys2.exe which is accessed by http so attempts to download it.&lt;br /&gt;
&lt;br /&gt;
Http proxies and various internet issues can cause incorrect info to be sent and there is actually no upgrade available. In this case, eventually it realizes that it cant find an appropriate and it stops. &lt;br /&gt;
&lt;br /&gt;
You don’t have to worry about this case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Enabling EMS memory on Window 2003 ==&lt;br /&gt;
&lt;br /&gt;
Normally EMS memory is provided by Windows 2003 but this can vary depending on the server hardware/bios configuration&lt;br /&gt;
&lt;br /&gt;
If you get the following messages on Windows 2003&lt;br /&gt;
&lt;br /&gt;
#Backup File Size is 0&lt;br /&gt;
#RTP27. [B28] Not enough String Space – Out of Memory&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
On servers that had no problem previously, the problem is caused by a windows update in Oct 2012 that disables standard Windows EMS memory.&lt;br /&gt;
&lt;br /&gt;
The patch is issued by Microsoft on 9 Oct 2012 but the installation date in the server depends on when the update was actually installed.&lt;br /&gt;
&lt;br /&gt;
http://support.microsoft.com/kb/2724197&lt;br /&gt;
&lt;br /&gt;
=== Solution 1 - maximum performance ===&lt;br /&gt;
&lt;br /&gt;
To re-enable standard windows EMS on older slower servers or servers where NEOSYS performance must be maximized.&lt;br /&gt;
&lt;br /&gt;
The following link contains instructions how to remove the offending windows update&lt;br /&gt;
&lt;br /&gt;
It also shows how to prevent it being reinstalled automatically by Windows.&lt;br /&gt;
&lt;br /&gt;
http://www.columbia.edu/~em36/wpdos/emsxp.html&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to prevent it being reinstalled again automatically&lt;br /&gt;
&lt;br /&gt;
=== Solution 2 – ease of installation ===&lt;br /&gt;
&lt;br /&gt;
This option can also be used if Window 2003 is unable to provide EMS memory for example when the server hardware/bios configuration prevents it.&lt;br /&gt;
&lt;br /&gt;
Install EMSMAGIC in the same way as for Windows server 2008&lt;br /&gt;
&lt;br /&gt;
EMSMAGIC has higher memory consumption and makes NEOSYS processes slower so it is better to use Solution 1 above if NEOSYS performance is an issue.&lt;br /&gt;
&lt;br /&gt;
== Fixing no output file in XXX YYY Issue ==&lt;br /&gt;
&lt;br /&gt;
===Error Message===&lt;br /&gt;
&lt;br /&gt;
[[File:Nooutputfile.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Problem Explained===&lt;br /&gt;
&lt;br /&gt;
The message “No output file in XXX YYY” can appear at several instances in NEOSYS, most often when generating reports or documents. &lt;br /&gt;
&lt;br /&gt;
This problem is usually caused by software error and it indicates that the NEOSYS server responded without any output and without any message. &lt;br /&gt;
&lt;br /&gt;
===Solution===&lt;br /&gt;
1) Find proof to check if the data required for the report actually exists. This way we can eliminate lack of data as a cause for this error.&lt;br /&gt;
&lt;br /&gt;
2) Check to see if a similar issue has been fixed in latest version of NEOSYS.&lt;br /&gt;
&lt;br /&gt;
3) Document HOW and WHERE the problem can be duplicated by NEOSYS programmers to identify and correct the software.&lt;br /&gt;
&lt;br /&gt;
An example of this error can be found at [[Troubleshooting_NEOSYS_Media_System#Error:_No_output_file_in_MEDIAPROXY_SCHEDULEPRINT|No Output File in MEDIAPROXY SCHEDULEPRINT]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting Internet Connections ==&lt;br /&gt;
&lt;br /&gt;
===Cannot Connect===&lt;br /&gt;
&lt;br /&gt;
While investigating as to why users are not able to access NEOSYS or http://www.neosys.com/ ,you can check which ISP the connection issue is on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;whois ipno&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inspect very carefully to get clues as to which ISP and which AREA of the ISP the problematic ip numbers are and which do NOT have problems&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting TCP/IP Connections ===&lt;br /&gt;
&lt;br /&gt;
====Telnet check====&lt;br /&gt;
&amp;lt;pre&amp;gt; telnet &amp;lt;hostname&amp;gt; 19580  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====If Telnet does not work====&lt;br /&gt;
In case telnet does not work, login to the remote host server to investigate the issue. Run the following command simultaneously while doing Telnet from client server to the remote host to check if the TCP packets are reaching the Remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tcpdump -v &#039;src host client-domain-name/ip&#039; &lt;br /&gt;
tcpdump -v portno &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To check if packets are sent from the client server to the remote host, you can run the following command simultaneously while trying to ssh to the remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;netstat -an &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also check if the outbound ports are open from which you are trying to establish the TCP connection to the remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;telnet portquiz.net portno &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The outbound IP addresses at times can be different from the public IP of the Client server so be sure that the public IP of the client server is the same as its source IP (which represents an incoming connection from Client to Remote server). One way to find the source IP of the Client server is sending an email from Client server to &amp;quot;support@neosys.com&amp;quot;. On receiving the email in Thunderbird, select the email and press Ctrl+u. A new window Opens giving full details of the email received. The third &amp;quot;Received :from&amp;quot; gives the IP of the source.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting DNS failure ===&lt;br /&gt;
&lt;br /&gt;
NEOSYS clients routers are usually configured to use their ISP DNS service and the ISP DNS service is supposed to contact one of NEOSYS&#039;s DNS servers to convert server names like hosts.neosys.com into IP numbers. Misconfiguration of clients routers or problems in the ISP DNS server may cause CANNOT CONNECT problems. Often the connect fails quickly and immediately since if a name cannot be converted to an ip number then the connection cannot even be attempted and therefore there is little or no timeout to wait through.&lt;br /&gt;
&lt;br /&gt;
NEOSYS.COM name servers are listed publically and obtained by whois command.&lt;br /&gt;
&lt;br /&gt;
 whois neosys.com&lt;br /&gt;
&lt;br /&gt;
 Name Server: DNS1.EASYDNS.COM&lt;br /&gt;
 Name Server: DNS2.EASYDNS.NET&lt;br /&gt;
 Name Server: DNS3.EASYDNS.ORG&lt;br /&gt;
 Name Server: NS12.ZONEEDIT.COM&lt;br /&gt;
 Name Server: NS18.ZONEEDIT.COM&lt;br /&gt;
&lt;br /&gt;
In order to contact NEOSYS DNS servers the ISP&#039;s have to use a global DNS to obtain the ip addresses of NEOSYS DNS servers given the host names of NEOSYS DNS servers given in the whois info&lt;br /&gt;
&lt;br /&gt;
Here is an example of DU testing NEOSYS DNS servers. The NEOSYS DNS server ip addresses are listed in the Destination column.&lt;br /&gt;
&lt;br /&gt;
[[File:internet.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If one DNS server is down or unreachable REGARDLESS OF REASON, the ISP is supposed to use the other DNS servers. It is impossible for all NEOSYS DNS servers to be unreachable except in gross disconnection from the internet of the ISP since it is effectively impossible that all NEOSYS DNS servers which are carefully spread around the internet, to be unreachable.&lt;br /&gt;
&lt;br /&gt;
In the above test one of the NEOSYS DNS servers is unreachable but all the others are reachable therefore DU should have no problem providing DNS service to its clients.&lt;br /&gt;
&lt;br /&gt;
ISP are often worse at providing DNS server than the famous GOOGLE DNS servers, so re configuring client router to use GOOGLE DNS servers is a way to prove that the problem lies with the ISP&#039;s DNS service&lt;br /&gt;
&lt;br /&gt;
=== Additional test for troubleshooting problems with uploading ===&lt;br /&gt;
&lt;br /&gt;
====Verifying that upload.dll can run====&lt;br /&gt;
&lt;br /&gt;
This isnt a complete test of everything. It just checks if the upload program can be run by the web server. It doesnt check if uploads work or the image directory is correctly configured with the right permissions and uploads can actually be done.&lt;br /&gt;
&lt;br /&gt;
===== Error Message =====&lt;br /&gt;
&lt;br /&gt;
... to be added when discovered ...&lt;br /&gt;
&lt;br /&gt;
===== Test =====&lt;br /&gt;
&lt;br /&gt;
Test HTTP if accessible by LAN; Test HTTPS is accessible by Internet; Test both if both are available.&lt;br /&gt;
&lt;br /&gt;
On the server type the following into a browser&lt;br /&gt;
&lt;br /&gt;
LAN/HTTP:&lt;br /&gt;
&lt;br /&gt;
 http://localhost/neosys/neosys/dll/upload.dll&lt;br /&gt;
&lt;br /&gt;
WAN/HTTPS:&lt;br /&gt;
&lt;br /&gt;
 https://localhost:9999/neosys/dll/upload.dll&lt;br /&gt;
&lt;br /&gt;
===== Expected Result =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Upload Error. !&lt;br /&gt;
Please call me from a form !!!&lt;br /&gt;
The first param must be Filename= name of the uploaded file, TYPE=TEXT&lt;br /&gt;
The second param must be Filedata= uploaded file, TYPE=FILE&lt;br /&gt;
The third param is optional PathData= path to uploaded file, default c:\temp\, TYPE=HIDDEN&lt;br /&gt;
The forth param is optional RedirectPage= name of asp who receive the results, TYPE=HIDDEN&lt;br /&gt;
Add others params at the end with INPUT tag.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Uerror.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Patching a NEOSYS program ==&lt;br /&gt;
&lt;br /&gt;
The patch provided will tell you the program name and contain either a whole replacement program text or just some changed lines which you will have to find and edit.&lt;br /&gt;
&lt;br /&gt;
You will need to know the file name which may be provided along with the patch or you can find it using the following code in maintenance mode:&lt;br /&gt;
&lt;br /&gt;
 ED VOC programname&lt;br /&gt;
&lt;br /&gt;
ED VOC XYZ tells you what program name is executed and from what file, when you type the command XYZ. Normally the program name is the same as the command.&lt;br /&gt;
&lt;br /&gt;
The file name will normally be BP for agency programs, GBP for general programs or ABP for finance programs.&lt;br /&gt;
&lt;br /&gt;
NEOSYS programs are stored in files just like records of ordinary database files. You can edit either with &amp;quot;ED filename programname&amp;quot; or &amp;quot;TED filename programname&amp;quot;. TED is better for editing source code.&lt;br /&gt;
&lt;br /&gt;
===Installing patch in live database===&lt;br /&gt;
&lt;br /&gt;
In the rare case that the programmer asks Support to install the patch directly on LIVE dataset, start by typing the following command in maintenance mode before commencing:&lt;br /&gt;
&lt;br /&gt;
 UTIL&lt;br /&gt;
&lt;br /&gt;
Follow the instructions mentioned in the [[Troubleshooting_NEOSYS_Generally#Installing_patch_in_test_database| next section]], but skip the instruction to TEST the patched program in test dataset.&lt;br /&gt;
&lt;br /&gt;
The instruction to INSTALL the patched program MUST be followed BEFORE testing the patch in live dataset. Otherwise the changes will not get reflected.&lt;br /&gt;
&lt;br /&gt;
===Installing patch in test database===&lt;br /&gt;
&lt;br /&gt;
1. EDIT the program source code.&lt;br /&gt;
&lt;br /&gt;
 TED programname&lt;br /&gt;
&lt;br /&gt;
Either cut and paste to modify the whole program or edit the program text according to the patch/instructions provided.&lt;br /&gt;
&lt;br /&gt;
Save and close the program source code.&lt;br /&gt;
&lt;br /&gt;
2. COMPILE it. If you get errors then check your edits are correct and recompile otherwise return the patch to programming.&lt;br /&gt;
&lt;br /&gt;
  COMPILE filename programname&lt;br /&gt;
&lt;br /&gt;
3. TEST it. Ensure the patched program now works in TEST database.&lt;br /&gt;
&lt;br /&gt;
4. INSTALL the patched program in the LIVE database by typing one of the following command depending on the filename that you patched.&lt;br /&gt;
&lt;br /&gt;
 COPYGBP programname&lt;br /&gt;
 COPYABP programname&lt;br /&gt;
 COPYBP programname&lt;br /&gt;
&lt;br /&gt;
== Patching NEOSYS dictionaries ==&lt;br /&gt;
&lt;br /&gt;
A patch to a dictionary applies immediately when you save it and to all datasets regardless of which dataset you work in.&lt;br /&gt;
&lt;br /&gt;
You need:&lt;br /&gt;
&lt;br /&gt;
#the file name eg INVOICES&lt;br /&gt;
#the item name (column name) eg  DATETIME_AMENDED&lt;br /&gt;
#10 lines of data similar to the example below.&lt;br /&gt;
#if the item is an S type dictionary, then either the whole, or only the amended part, of the source code of the dictionary.&lt;br /&gt;
&lt;br /&gt;
 ED DICT INVOICES DATETIME_AMENDED&lt;br /&gt;
&lt;br /&gt;
TYPE everything below exactly on the corresponding line numbers except lines 3 and very commonly line 8, as these lines may contain multiple values separated by a superscript 2 (²). Line numbers in the below screen are only for illustrative purpose. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  ╔═══════════════════════════┤DATETIME_AMENDED├═════════════════════════╗&lt;br /&gt;
 1║S                                                                     ║&lt;br /&gt;
 2║                                                                      ║&lt;br /&gt;
 3║DateTime²Amended                                                      ║&lt;br /&gt;
 4║S                                                                     ║&lt;br /&gt;
 5║                                                                      ║&lt;br /&gt;
 6║                                                                      ║&lt;br /&gt;
 7║[DATETIME]                                                            ║&lt;br /&gt;
 8║updated=@record&amp;lt;28&amp;gt;²created=@record&amp;lt;31,1&amp;gt;²@ans=&#039;&#039;²if created and num(c║..actually this line continues off the screen to the right&lt;br /&gt;
 9║R                                                                     ║&lt;br /&gt;
10║10                                                                    ║&lt;br /&gt;
11║                                                                      ║&lt;br /&gt;
  :                                                                      :&lt;br /&gt;
  :                                                                      :&lt;br /&gt;
  ╚══════════════════════════════════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Ctrl+E on lines 3 or 8 in order to enter sub-lines. &lt;br /&gt;
&lt;br /&gt;
The multiple values (on line 3 and 8) separated by a superscript 2 (²) automatically appear when sub-lines are entered.&lt;br /&gt;
&lt;br /&gt;
For line 8, you will need to cut and paste the lines of below program to the Ctrl+E screen: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔═════════════════════════┤Field 8 of DATETIME_AMENDED├════════════════════════╗&lt;br /&gt;
║updated=@record&amp;lt;28&amp;gt;                                                           ║&lt;br /&gt;
║created=@record&amp;lt;31,1&amp;gt;                                                         ║&lt;br /&gt;
║@ans=&#039;&#039;                                                                       ║&lt;br /&gt;
║if created and num(created) and num(updated) then                             ║&lt;br /&gt;
║ createdsecs=field(created,&#039;.&#039;,1)*86400+field(created,&#039;.&#039;,2)                  ║&lt;br /&gt;
║ updatedsecs=field(updated,&#039;.&#039;,1)*86400+field(updated,&#039;.&#039;,2)                  ║&lt;br /&gt;
║ if abs(updatedsecs-createdsecs)&amp;gt;120 then                                     ║&lt;br /&gt;
║  @ans=updated                                                                ║&lt;br /&gt;
║  end                                                                         ║&lt;br /&gt;
║ end                                                                          ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
╚══════════════════════════════════════════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you save and exit the Ctrl+E screen, you will see the sublines separated by superscript 2 appear in one line in the ED screen. &lt;br /&gt;
&lt;br /&gt;
Similarly, for line 3, you need to enter its sub-lines in Ctrl+E screen.&lt;br /&gt;
&lt;br /&gt;
To ensure indenting remains nice (although indenting is not important and can be messed up without causing any problem) then copy the double bars at the front of the lines (if available, otherwise insert some char in position 1 of each line perhaps) and then remove them after you paste ... or just edit until the indenting is correct if you really want to.&lt;br /&gt;
&lt;br /&gt;
Press F9 and/or Esc to save and/or exit from Ctrl+E screen&lt;br /&gt;
&lt;br /&gt;
Press F9 and/or Esc to save and/or exit from ED&lt;br /&gt;
&lt;br /&gt;
== Searching for strings in files using grep ==&lt;br /&gt;
&lt;br /&gt;
Use the grep command in Cygwin terminal to search files especially when you are investigating the NEOSYS Logs. &lt;br /&gt;
&lt;br /&gt;
Use the following command to search for a string in any file or directory&lt;br /&gt;
&lt;br /&gt;
 grep string path/file&lt;br /&gt;
&lt;br /&gt;
 grep -i -a string path/file  (use -i to ignore upper/lower case characters in the string and -a to treat the file type=text and display the matching text)&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;string&amp;quot; is the text to be searched, &amp;quot;file&amp;quot; is the type of file you are looking for and &amp;quot;path&amp;quot; is the path of the directory you are looking into. Use &amp;quot;&amp;quot; when having spaces in your string.&lt;br /&gt;
&lt;br /&gt;
e.g when searching in NEOSYS logs the year/month/date is specified in the file name, so if you are looking for a file in year 2016 in the month of Feb, use&lt;br /&gt;
&lt;br /&gt;
 grep XXXX path/1602*&lt;br /&gt;
&lt;br /&gt;
In the above command *(asterisk) is a wildcard used to search all files whose file names with &amp;quot;1602&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sample below of grep command and its output where it is searching for &amp;quot;Dior&amp;quot; in 2016 march logs.&lt;br /&gt;
 $ grep -i Dior /cygdrive/d/hosts/test/logs/test/2016/1603*&lt;br /&gt;
 Binary file path/16030301.XML matches&lt;br /&gt;
&lt;br /&gt;
Using *(asterisk), a string can also be searched globally across all installations on the server.&lt;br /&gt;
&lt;br /&gt;
Below example will search all files whose file names begin with &amp;quot;NEOS00&amp;quot;, in all client installation folders inside the &amp;quot;hosts&amp;quot; folder, for log entries containing text &amp;quot;5th June 2016&amp;quot;.&lt;br /&gt;
 $ grep -a &amp;quot;2016 JUN 05&amp;quot; /cygdrive/d/hosts/*/logs/NEOS00*|less&lt;br /&gt;
&lt;br /&gt;
Use the commands below to display the search string and required number of lines that come either after or before the search string, depending on what you enter in your command. It helps to get more information from files especially when you only know few words and the other information around the searched string also gets displayed. &lt;br /&gt;
&lt;br /&gt;
 grep -A NUM string file (NUM lines after the searched text get displayed)&lt;br /&gt;
&lt;br /&gt;
 grep -B NUM string file (NUM lines before the searched text get displayed)&lt;br /&gt;
&lt;br /&gt;
See the examples and their respective outputs below, (Note: there is no space between -A and NUM):&lt;br /&gt;
&lt;br /&gt;
 $ grep -A2 -i &amp;quot;Dior&amp;quot; 1603*&lt;br /&gt;
 Binary file 16022101.XML matches&lt;br /&gt;
 Binary file 16022901.XML matches&lt;br /&gt;
&lt;br /&gt;
 $ grep -A2 -a &amp;quot;Dior&amp;quot; 1603*&lt;br /&gt;
 16030301.XML:&amp;lt;DataOut&amp;gt;DIOR%FEPOI%FE&#039;&#039;&#039;Dior&#039;&#039;&#039; Poison%FE%FE%FE%FE%FEDubai,    UAE%FE%FE%FE%FEN%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEN%FE%FE%FE17584.43592%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FENEOSYS%FE17584.43592%FE94_200_49_146%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEpaulson&amp;lt;/DataOut&amp;gt;&amp;lt;/Message&amp;gt;&lt;br /&gt;
 --&lt;br /&gt;
 16030301.XML:&amp;lt;DataOut&amp;gt;DIOR%FEPOI%FE&#039;&#039;&#039;Dior&#039;&#039;&#039; Poison%FE%FE%FE%FE%FEDubai,   UAE%FE%FE%FE%FEN%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEN%FE%FE%FE17584.43592%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FENEOSYS%FE17584.43592%FE94_200_49_146%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEpaulson&amp;lt;/DataOut&amp;gt;&amp;lt;/Message&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some more examples of grep below:&lt;br /&gt;
&lt;br /&gt;
Use the command below when searching for more than one string&amp;lt;br&amp;gt;&lt;br /&gt;
 grep -a string1 *|grep string2&lt;br /&gt;
&lt;br /&gt;
Use the below command to omit the lines containing specific strings in your search:&lt;br /&gt;
 grep -B2 -a Processing 160329*|grep -v DataIn|grep -v Message|less&amp;lt;br&amp;gt;&lt;br /&gt;
 where user wants the output to show lines containing string &amp;quot;Processing&amp;quot; and exclude lines containing string &amp;quot;DataIn&amp;quot; and &amp;quot;Message&amp;quot;, |less displays the output in a new screen.&lt;br /&gt;
&lt;br /&gt;
Use &amp;quot;zgrep&amp;quot; command to search in zip files:&lt;br /&gt;
 zgrep string1 /path |zgrep string2 |less&lt;br /&gt;
&lt;br /&gt;
== Managing the queue of reports being delivered by email ==&lt;br /&gt;
&lt;br /&gt;
In maintenance mode.&lt;br /&gt;
&lt;br /&gt;
=== Listing ===&lt;br /&gt;
&lt;br /&gt;
 LIST DOCUMENTS WITH SCHEDULED_ONCE&lt;br /&gt;
&lt;br /&gt;
=== Clearing ===&lt;br /&gt;
&lt;br /&gt;
 SELECT DOCUMENTS WITH SCHEDULED_ONCE&lt;br /&gt;
 DELETE DOCUMENTS&lt;br /&gt;
&lt;br /&gt;
== Removing non essential files on win3 ==&lt;br /&gt;
Non essential files getting accumulated over time can take up a lot of space on the hard disk resulting in low free space on the server. NEOSYS Client Monitoring system alerts about low free space for win3 server as it monitors the Disk Space of both C &amp;amp; D drive. To fix it Support team will have to create free space on the server.&lt;br /&gt;
&lt;br /&gt;
Making space on the server is time taking and requires patience as you need to go through all the files/folders looking for non-essential files. Do not make any assumptions for not looking into a folder.&lt;br /&gt;
&lt;br /&gt;
Non-essential files are the ones without which we can work properly and will continue to work in future.&lt;br /&gt;
&lt;br /&gt;
Support team should keep in mind the below points while creating space on the server:&lt;br /&gt;
&lt;br /&gt;
#Look into the drive for which nagios is alerting and dig into all the folders.&lt;br /&gt;
#Right click Folder &amp;gt; Properties &amp;gt; Size on Disk, to find out the size of a folder.&lt;br /&gt;
#On d drive majority of the space is taken by d:\hosts and d:\data.bak folder and on c drive it&#039;s taken up by the important windows/cygwin folders.&lt;br /&gt;
#The space distribution will give you an idea about which folders to target that can free up a good amount of space on clean up.&lt;br /&gt;
#Following are the non essential files/folders which can create a lot of space on removal. Use your intelligence and presence of mind while deleting files/folders because once deleted the information is lost forever.&lt;br /&gt;
#*Folder: d\data.bak. Check for stopped clients&#039; backups and delete if present.&lt;br /&gt;
#*Folder: d\hosts\clientname\logs (where clientname stands for all the client folders in hosts) Look into logs prior to the current year and the year before and delete them. In the recent versions of NEOSYS, log folders are compressed and take up a lot less space on disk than presented as their size. You can see the difference in their properties.&lt;br /&gt;
#*Folder: d\hosts\clientname\downloads. This folder might contain lot of old versions of neosys.exe files. Keep the two latest versions and delete the rest. Do this for all client folders except test installation because Support maintains all the old versions of neosys.exe in it.&lt;br /&gt;
#*Folder: d\hosts\old. In this folder, delete all client folders that are older than 1 year.&lt;br /&gt;
#*Apart from above folders look for random backup.zip files present in c/d drive. This happens when Support restores data from a zip file and forgets to delete it after the restore.&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Procedures&amp;diff=2725</id>
		<title>Procedures</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Procedures&amp;diff=2725"/>
		<updated>2016-06-05T11:28:54Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Addressing Browser related issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are procedures to be followed by Support Staff in respect to various technical matters in day to day operations of client issues.&lt;br /&gt;
&lt;br /&gt;
== Handling Clients with Overdue Invoice ==&lt;br /&gt;
In order to maintain good payment speed by clients NEOSYS needs to restrict support to clients that dont pay their bills on time, however the degree of restriction needs to depend on an intimate knowledge of the client which cannot be expected from all NEOSYS support staff. Therefore we will use a simple escalation policy as follows:&lt;br /&gt;
&lt;br /&gt;
=== Overdue Support List ===&lt;br /&gt;
NEOSYS SUPPORT MANAGERS WILL maintain an overdue list on a whiteboard visible to all support staff. Generally clients will go on the list immediately when their invoice is overdue and come off only after satisfactory commitment to pay have been obtained.&lt;br /&gt;
&lt;br /&gt;
For the first week of each quarter of the year, normal support should be provided for server failures and backup failures (including hung processes as it could eventually lead to backup failures). NEOSYS Support Staff must respond to any other support requests from overdue clients, with the following letter (where XYZ is the overdue client):&lt;br /&gt;
&lt;br /&gt;
 Dear ABC,&lt;br /&gt;
 There is an issue with your company&#039;s account. We have requested our Accounts team for approval in order to provide support to you and other XYZ users. &lt;br /&gt;
&lt;br /&gt;
Support staff must then provide the required support to the overdue client only after 4 working hours. Support Staff need not actually contact the Accounts team for approval, although that is what is mentioned in the letter.  This delay in support is to encourage clients to settle their payments on time. &lt;br /&gt;
&lt;br /&gt;
After the first week of each quarter of the year, NEOSYS Support Staff must respond to any support requests from overdue clients with the above letter but MUST NOT PROVIDE SUPPORT even after 4 working hours. Instead NEOSYS Support Staff must refer the support request to NEOSYS Support Manager. &lt;br /&gt;
&lt;br /&gt;
Managers may well instruct support to provide support on a case by case basis even if clients are on the overdue list. Being on the overdue list does not necessarily indicate a major issue with accounts.&lt;br /&gt;
&lt;br /&gt;
== Handling Frozen NEOSYS Installations and Databases ==&lt;br /&gt;
&lt;br /&gt;
Some clients retain fully operational NEOSYS installations or just particular databases even after they stop using them for some reason, either because they move to some other software, or because they terminate an operational division, or other reasons, and this can either be on NEOSYS or their own servers.&lt;br /&gt;
&lt;br /&gt;
In this case, various NEOSYS upgrade and maintenance processes may be suspended, downgraded or completely skipped especially if instant access to the server is no longer available. This does not mean that it should never be done, and pros and cons need to be assessed and documented in support emails on a case by case basis.&lt;br /&gt;
&lt;br /&gt;
*Upgrading NEOSYS version&lt;br /&gt;
*Upgrading/standardising NEOSYS database configuration and other files for consistency, security or other issues&lt;br /&gt;
*Patching Windows/IIS configuration for consistency, security or other issues&lt;br /&gt;
&lt;br /&gt;
== Handling Links and Email Attachments ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DO NOT TRUST ANY LINK OR ATTACHMENT IN ANY EMAIL EVEN FROM HIGHLY TRUSTED PEOPLE OR ORGANISATIONS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These days you can no longer trust links or attachments in emails from anybody - even emails from highly trusted people like your bank.&lt;br /&gt;
&lt;br /&gt;
If a personal computer or intermediate email server is hacked then even genuine emails sent out from it can be infected and modified in a hidden way that can result in the recipient being infected if they click or open anything in the email.&lt;br /&gt;
&lt;br /&gt;
Therefore you should know and understand how to avoid, as far as possible, getting tricked and infected via emails.&lt;br /&gt;
&lt;br /&gt;
Malware authors generally rely on the fact that most people devote no time at all to security precautions so a moderate cautious approach, slowing down a little to spending some time on security, even where it is apparently not required, is enough to defeat most attacks.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
The links in an email, even from someone you know and trust, can LIE to you about what website they will open and you may be taken to infected web sites that will attempt to infect your computer.&lt;br /&gt;
&lt;br /&gt;
WHAT LINK/WEBSITE WILL BE OPENED MAY NOT BE WHAT IS SAYS IN THE BODY OF YOUR EMAIL!&lt;br /&gt;
&lt;br /&gt;
Therefore, to use a link in any and all emails, first hover your cursor over it and check the bottom of the screen where you can usually see exactly what website will be opened, or, to be more sure exactly what web site you are opening do not click links in emails at all. COPY/PASTE THE LINK TO YOUR BROWSER&lt;br /&gt;
&lt;br /&gt;
Make sure you know and trust the web site being opened.&lt;br /&gt;
&lt;br /&gt;
#Carefully inspect the spelling of the domain name to avoid tricky look-alike fraudulent links eg hcsb.com instead of hsbc.com&lt;br /&gt;
#If you do not personally know the website then get independent confirmation from the sender. Reply to the email so that the sender can check the link you received has not been tampered with.&lt;br /&gt;
&lt;br /&gt;
=== Attachments ===&lt;br /&gt;
&lt;br /&gt;
There is no way to determine if an attachment, even from someone you know, has not been infected and is therefore dangerous. The only protection is to rely on anti-virus/anti-malware software in your computer.&lt;br /&gt;
&lt;br /&gt;
You can check the names and file types/extensions of attached files to spot any obviously strange or unexpected attachments but this is not very effective.&lt;br /&gt;
&lt;br /&gt;
Be careful that if there are a lot of attached files not to assume that all are safe because the majority are unsafe.&lt;br /&gt;
&lt;br /&gt;
== Avoid burdening email servers with excessive graphics ==&lt;br /&gt;
&lt;br /&gt;
Support MUST install the &amp;quot;Auto Resize Image&amp;quot; addon in Thunderbird to reduce the size of images in emails resulting in a significant reduction in email size. See [[Configuring_Thunderbird#Configure_Auto_Resize_Image| setting up auto resize image]] for details.&lt;br /&gt;
&lt;br /&gt;
It reduces the burden on NEOSYS and NEOSYS client&#039;s email servers. This is especially important on long conversations about subjects that include many screenshots, since for just a simple one line reply, the email can consume many MB of space. It massively wastes the email server space and makes backups massive and generally a total waste of resources and time.&lt;br /&gt;
&lt;br /&gt;
To be able to refer back to graphics in previous emails, add the SIZE column to your email program so that you can locate large emails with graphics rapidly without searching back one by one.&lt;br /&gt;
&lt;br /&gt;
==Client Communication Policies==&lt;br /&gt;
===Client Meeting Report Policy===&lt;br /&gt;
&lt;br /&gt;
After every Client meeting online or otherwise Support MUST send a Follow Up email to the Client which is open and fully informative and not brief, stating the events during the meet and any action required by either or both parties. The email to the client must not shrink from discussing contentious issues due to a false sense of politeness or timidity to address issues face on. Obviously one should not be rude but it is not rude to address issues openly.(cc Client managers and NEOSYS Managers)&lt;br /&gt;
&lt;br /&gt;
The follow up email MUST be sent within 24 hours of completion of the meeting so that the points discussed during the meeting are fresh in all the meeting participants&#039; minds. This means that reports for meetings on the day before the weekend MUST be sent on the SAME day.&lt;br /&gt;
&lt;br /&gt;
In addition to above email if there is some information that needs to be shared internally and cannot be said in public to the client then send a Client Meeting report to Support.&lt;br /&gt;
&lt;br /&gt;
===Follow Up of Support Issues===&lt;br /&gt;
&lt;br /&gt;
If emails requesting support become contentious then voice, phone call or chat is REQUIRED to save time. However, client support via phone call should be done only on local or low cost calls. High cost international calls should not be used except in extreme circumstances.&lt;br /&gt;
&lt;br /&gt;
All voice/chat communication MUST also be followed up with an email confirming at least the gist of the communication to keep the whole support team updated on the issue.&lt;br /&gt;
&lt;br /&gt;
If not possible to contact for any reason, then an email MUST be sent stating so and suggesting or requesting a time to connect.&lt;br /&gt;
&lt;br /&gt;
cc Client managers (and/or BCC NEOSYS Managers) MAY be done if thought to be useful and/or appropriate.&lt;br /&gt;
&lt;br /&gt;
==NEOSYS Support Response Time Policy==&lt;br /&gt;
&lt;br /&gt;
NEOSYS contracts, in the few cases where we have a written contract with the client, specifies that maximum response time is one business day generally and one business hour for complete stoppages of the system. Obviously we have to do far better than this in practice.&lt;br /&gt;
&lt;br /&gt;
Support staff must inform clients of the progress of the issue if it is not resolved the same day but only if they contact at least 1 hour before office closing.&lt;br /&gt;
&lt;br /&gt;
Deciding to wait on issues is fine (also refer to:  [[Procedures#Handling_users_who_do_not_act_upon_standard_messages|Response to standard messages]]), but support MUST at least spend up to 5 minutes on issues to see if they can be handled quickly.&lt;br /&gt;
&lt;br /&gt;
For routine requests for service where there is a reasonable expectation of delay by the client then no need to send rapid reply.&lt;br /&gt;
&lt;br /&gt;
==Handling errors discovered by support staff ==&lt;br /&gt;
{{Handling errors}}&lt;br /&gt;
&lt;br /&gt;
==Handling Cheques from Clients==&lt;br /&gt;
&lt;br /&gt;
NEOSYS staff are not to accept deliveries from clients that might be cheques without prior instructions to accept the same. They can ask courier to wait a few minutes until NEOSYS accounts or management agrees but they may not be available and probably will not agree anyway. NEOSYS payment terms do not accept cheques although clients are free to deposit cheques by themselves.&lt;br /&gt;
&lt;br /&gt;
== Client Password Policy ==&lt;br /&gt;
All client user passwords, including their initial one, are to be obtained via the user&#039;s email address using the password reminder/reset button on the login screen. [http://userwiki.neosys.com/index.php/Using_NEOSYS_Generally#What_is_NEOSYS_password_policy.3F  (NEOSYS password policy)]&lt;br /&gt;
&lt;br /&gt;
NEOSYS staff should never know users passwords therefore NEOSYS will not obtain and grant user passwords. The reason for this is that in the event that users lose their passwords to other people who then login unauthorised then suspicion could fall on the NEOSYS staff who know their password. &lt;br /&gt;
&lt;br /&gt;
All parties concerned, including client management, client users and NEOSYS support staff, benefit greatly from trusting that if something in a NEOSYS database is registered as having been done by a particular user then it was not in fact somehow done by NEOSYS support staff. Nothing should be done that would break such fundamental trust. To achieve this, NEOSYS support staff must never log in as particular users, never ask for users passwords and generally enforce the idea that all work logged as being done by users IS done by users.&lt;br /&gt;
&lt;br /&gt;
Very limited amounts of work by NEOSYS support staff either in person or remotely using teamviewer is acceptable while a user is logged as long as the user login was performed by the user themselves, the user is present and the user specifically agrees with the work being done.&lt;br /&gt;
&lt;br /&gt;
=== Support requests from ordinary client users ===&lt;br /&gt;
Any support requests concerning inability to obtain passwords will be forwarded to known skilled users on the client staff since this is the most efficient (not fastest) way to handle such issues.&lt;br /&gt;
&lt;br /&gt;
=== Support requests from senior client management ===&lt;br /&gt;
Any support requests concerning inability to obtain passwords by senior client management users shall be handled directly by NEOSYS support staff in any way convenient to resolve the issue in the quickest possible time rather than the most efficient.&lt;br /&gt;
&lt;br /&gt;
Bearing in mind that NEOSYS staff should never know user&#039;s passwords this will probably involve NEOSYS staff using the Password Reminder/Reset button to send a new password to the user.&lt;br /&gt;
&lt;br /&gt;
=== User Defined Passwords ===&lt;br /&gt;
NEOSYS will provide user defined passwords in very special cases which must be pre-approved case by case by NEOSYS management. NEOSYS will not approve this due to the reasons mentioned [[Procedures#Client_Password_Policy|here]].&lt;br /&gt;
&lt;br /&gt;
If the user login gets blocked due to multiple login failures and the user requests support team to reset the password to the user defined password again, support MUST delay the response to this request by at least 1 hour in order to force the user to be more careful when typing the password.&lt;br /&gt;
&lt;br /&gt;
Currently permission for user defined password has only been granted to one NEOSYS client with several hundreds of databases.&lt;br /&gt;
&lt;br /&gt;
== Handling client issues and requests==&lt;br /&gt;
&lt;br /&gt;
All support issues must be dealt with through phone/email/chat. Support Staff can schedule client visits for User Training but should not schedule client visits solely for providing support for petty issues.&lt;br /&gt;
&lt;br /&gt;
ALL Support staff should check the all the previous day&#039;s inbound emails for reply flags once in the morning. All Support staff will therefore be held responsible for any unreplied inbound email.&lt;br /&gt;
&lt;br /&gt;
Support staff should NOT waste time and delay support by investigating issues WITHOUT having sufficient information.&lt;br /&gt;
&lt;br /&gt;
Support staff should look for similar issues when solving a particular problem to avoid similar issues in future. This saves the time and energy of Support as well as the Client.&lt;br /&gt;
&lt;br /&gt;
When sending screenshots to clients, support team should economise on space by minimising to the minimum that will show the problem clearly. This is because not every user will be viewing their emails on large wide screens like NEOSYS support team. Browser windows reformat their contents to suit the width available so this is particularly effective in most NEOSYS screens.&lt;br /&gt;
&lt;br /&gt;
Support team MUST be cautious while sending screenshots so that no private/unnecessary information is sent to Client. If you cant avoid taking the screenshot without unnecessary information then you should hide it in the screenshot.&lt;br /&gt;
&lt;br /&gt;
=== Handling new emails in Support inbox===&lt;br /&gt;
Support MUST spend up to 5 minutes on new emails and send a quick reply to the client, to acknowledge the request or give a quick solution in case its a petty issue or has a documented solution in wiki. This should probably be done on priority, interrupting existing work and not wait for one hour and be dealt with quickly.&lt;br /&gt;
&lt;br /&gt;
For routine service requests where there is a reasonable expectation of delay by the client, Support does not need to send a rapid reply.&lt;br /&gt;
&lt;br /&gt;
=== Handling login failure issues===&lt;br /&gt;
&lt;br /&gt;
Users often get login failure issues due to typing wrong password and they simply won&#039;t read and act according to the error message they get. In this case, Support must send the below email to the user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Dear XYZ,&lt;br /&gt;
&lt;br /&gt;
If you have trouble resetting password, please ask for assistance from your manager/IT Manager/Timesheet Administrator/NEOSYS-expert colleague.&lt;br /&gt;
&lt;br /&gt;
Regards,&lt;br /&gt;
NEOSYS Support&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Local support users (TA or IT manager etc) have the LS key using which they can see the User Details page of all users. They should check all the information (usercode, registered email id, last login attempts etc) in the User Details page to find out what is the issue.&lt;br /&gt;
&lt;br /&gt;
This procedure will reduce the endless mails sent back and forth to solve petty issues which could easily be solved by the client&#039;s local support.&lt;br /&gt;
&lt;br /&gt;
=== Handling requests or demands for &amp;quot;URGENT&amp;quot; or &amp;quot;PRIORITY&amp;quot; support ===&lt;br /&gt;
&lt;br /&gt;
Any request for prioritised action *without giving any reason for the prioritisation* should be disregarded and the request handled with normal priority. If a reason is given then you may at your discretion prioritise a response but there is no obligation to do so.&lt;br /&gt;
&lt;br /&gt;
=== Handling users who login with other people&#039;s NEOSYS usercodes ===&lt;br /&gt;
This can cause a lot of confusion in both the client and NEOSYS support. It may also indicate that the correct NEOSYS monthly licensing fee is not being paid. There is no valid reason for anonymous logins or sharing logins between multiple users.&lt;br /&gt;
&lt;br /&gt;
Therefore if NEOSYS support team get requests for support about using NEOSYS from users who are not registered properly in NEOSYS with an personally identifiable user code, name and email then the following email should be sent cc admin@neosys.com.&lt;br /&gt;
&lt;br /&gt;
No exception should be granted to clients without NEOSYS management approval.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Dear NEOSYSUSER,&lt;br /&gt;
&lt;br /&gt;
Please note that in order to receive support from NEOSYS you must personally have an identifiable user code, name and email address registered&lt;br /&gt;
in NEOSYS.&lt;br /&gt;
&lt;br /&gt;
We can create new user account for you with your management approval. This may or may not have an impact on the NEOSYS monthly licensing fee &lt;br /&gt;
depending on the agreement in force.&lt;br /&gt;
&lt;br /&gt;
Please let us know what you would like us to do.&lt;br /&gt;
&lt;br /&gt;
Best Regards,&lt;br /&gt;
NEOSYS Support&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Handling emails with unrelated subject line ===&lt;br /&gt;
At times, clients forward old emails, with new issues, resulting in completely unrelated subject line. In such situations, support should create a new email, copy the new issue from the old email and paste it into the new email. This way, unrelated emails will not appear in the same conversation group when viewing emails in conversation mode.&lt;br /&gt;
&lt;br /&gt;
In the new email, include a comment like &amp;quot;PS Please don&#039;t forward old emails for new issues, start a new email with a new subject so that emails can be traced easily.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Sometimes the client does not bother putting the correct subject line for new issues (eg. blank subject, or &amp;quot;Error&amp;quot;). Then support should add a meaningful subject line in order to make the email easy to search for.&lt;br /&gt;
&lt;br /&gt;
=== Handling emails with poor screenshots ===&lt;br /&gt;
Sometimes Thunderbird shows full sized screenshots in a compact format that is not easy to read. These can be resized to make them more legible. To do this, make the email editable by hitting the &amp;quot;Reply&amp;quot; button, then click and drag to resize the screenshot as desired.&lt;br /&gt;
&lt;br /&gt;
If the screenshot sent by the user is genuinely small and hard to read, reply to the mail and request for a full size, clear screenshot.&lt;br /&gt;
&lt;br /&gt;
=== Handling support-request emails sent to anywhere than support@neosys.com ===&lt;br /&gt;
Client emails anywhere than support@neosys.com MUST be ignored. This is because ALL support must be recorded in support inbox without exception so that the whole support team is aware of the issue and action taken. If client complains about the delay in support then they can be told this is because they used the wrong email address.&lt;br /&gt;
&lt;br /&gt;
=== Handling users who do not act upon standard messages ===&lt;br /&gt;
When users do not bother to read and act on standard NEOSYS-generated messages and instead ask for help, Support staff MUST delay response time and thereafter send them an email which is the same as the message so they get the point that in future they should read the messages and handle issues themselves.&lt;br /&gt;
&lt;br /&gt;
=== Handling Requests to do Client work ===&lt;br /&gt;
NEOSYS Support staff must not agree or offer to do work on behalf of the client. &lt;br /&gt;
&lt;br /&gt;
This is because doing client work while logged in as NEOSYS breaks security rules. Support uses the NEOSYS username which has unrestricted access, so when a user requests Support to do some work which they don’t have access to, and if Support agrees to do the work, the client has successfully defeated the security rules by accessing features that they are unauthorized to access.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requests for colour and font changes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Support should not be spending lots of time on colour and font changes. Clients can make as many changes as they want until they are happy with a selection. Clients MUST send screenshot of their required color/font settings (not sample screen/reports) for Support to copy and setup for all users. If Support sees them doing something bad or poor then give comments or better suggestions.&lt;br /&gt;
&lt;br /&gt;
=== Handling Requests that require Approval from Higher Authority ===&lt;br /&gt;
&lt;br /&gt;
The following is a list of user requests that must be handled by NEOSYS support staff only if they are approved by or come from a higher authority (manager/admin). The LIST is &#039;&#039;&#039;NOT&#039;&#039;&#039; a complete list so there may be other things which might require approval so use good judgement and/or ASK if in doubt.&lt;br /&gt;
&lt;br /&gt;
*Opening new financial year&lt;br /&gt;
*Adding new company/dataset&lt;br /&gt;
*Editing alert/backup email receiver addresses&lt;br /&gt;
*Customising Authorisation File&lt;br /&gt;
**Adding or removing accesses for existing users in Authorisation file&lt;br /&gt;
**Adding new user(s) to Authorisation file&lt;br /&gt;
**Expiring a user&lt;br /&gt;
**[[Procedures#For_HTTPS_access| Allowing HTTPS/outside office access from any IP number]]&lt;br /&gt;
&lt;br /&gt;
If an unauthorized user sends one of these requests to support staff, support staff must immediately instruct the user to get the request approved by the higher authority.&lt;br /&gt;
&lt;br /&gt;
===Handling User Requests to add an IP or range of IPs to access NEOSYS===&lt;br /&gt;
Support staff must identify if the IP or range of IPs is for http or https access.&lt;br /&gt;
&lt;br /&gt;
====For HTTP access====&lt;br /&gt;
Support staff can add local IP or range of local IPs when requested by the client. Top management approval is not needed to add local IP numbers. Listed below are the IP address ranges reserved for local network.&lt;br /&gt;
&lt;br /&gt;
10.0.0.0 – 10.255.255.255&lt;br /&gt;
&lt;br /&gt;
172.16.0.0 – 172.31.255.255&lt;br /&gt;
&lt;br /&gt;
192.168.0.0 – 192.168.255.255&lt;br /&gt;
&lt;br /&gt;
====For HTTPS access====&lt;br /&gt;
Any request for https access from any IP address or range of IP addresses (eg. 123.456.* or just *), or in other words any use of an asterisk in the IP restrictions, MUST have TOP management i.e. the company&#039;s decision makers approval. The Staff and their Managers are not the best decision makers in this affair because they usually ignore the risks and it is not really their decision. Security threats like access of data by unauthorized persons or ex-employees, malicious hacking attempts etc can be triggered if access from any IP is enabled. It is completely pointless to inform the staff who want the access about these risks because only their top managers could really decide that this is NOT going to be allowed. Hence the Top Management MUST be asked for approvals and at the same time WARN them about the security risks/threats behind the no IP restrictions.&lt;br /&gt;
&lt;br /&gt;
=====For clients with static IP=====&lt;br /&gt;
Any request to add a specific IP address to the list of allowed IP addresses MUST have management approval.&lt;br /&gt;
&lt;br /&gt;
=====For clients with dynamic IP=====&lt;br /&gt;
For clients with dynamic IP, support MUST NOT add their public IP to the allowed list as this will encourage the client to again request for access from new IP numbers every time their public IP changes. Instead, support MUST force the client to either install VPN or get the Top Management i.e. the company&#039;s decision maker&#039;s approval to enable access from any IP after explaining the security risks in doing so, as mentioned above.&lt;br /&gt;
&lt;br /&gt;
Support MUST also mention that installation of VPN by the Company is the industry standard way of providing access to mobile staff (i.e. those on dynamic IP numbers from home or travelling) to corporate software assets like NEOSYS IN A SECURE MANNER. Installation of VPN is to be done by their own IT support. Refer to [[Procedures#Using_VPN_to_enable_secure_access_from_outside_the_office|Using VPN to enable secure access from outside the office]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Sample Email:&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Dear XXX,&lt;br /&gt;
 &lt;br /&gt;
 I do not recommend allowing access from all IPs because security threats like access of data by unauthorized persons or ex-employees, malicious hacking attempts etc can be triggered if access from any IP is enabled.&lt;br /&gt;
&lt;br /&gt;
 I strongly recommend that you keep IP restrictions for XYZ dataset.&lt;br /&gt;
  &lt;br /&gt;
 If you want to provide access to mobile staff (i.e those on dynamic IP numbers from home or traveling) to corporate software assets like NEOSYS IN A SECURE MANNER, then installation of VPN is the industry standard of achieving this. Installation of VPN is to be done by your own IT support. &lt;br /&gt;
 &lt;br /&gt;
 If you still wish to allow access from all IPs, kindly confirm that you acknowledge the security threats of doing so. &lt;br /&gt;
  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Handling requests to create a new feature or modifying existing features ===&lt;br /&gt;
&lt;br /&gt;
Many issues are small and not important but can still be considered for development because they may be easy and neatly added to NEOSYS. The aim here is to avoid development on hard issues for little benefit, or little issues that make NEOSYS more complex for little benefit.&lt;br /&gt;
&lt;br /&gt;
Any request to create a new feature or modify an existing feature MUST be discussed with other clients before forwarding it to the programmer because the other clients might not be comfortable with the change as it may not be in accordance with their workflow. If other clients agree to the proposed change then support should go ahead and request the programmer to implement it.&lt;br /&gt;
&lt;br /&gt;
A workaround must be given to the user, which is either a permanent solution, for example if the issue is a rare case and not commonly faced by other clients (and the workaround is acceptable to the client), or a temporary solution until some better solution is discovered or can be developed.&lt;br /&gt;
&lt;br /&gt;
Therefore before escalating a request to the programmer to modify a feature in NEOSYS, the approval for the same from other clients must be taken into account.&lt;br /&gt;
&lt;br /&gt;
=== Updating Clients about unresolved issues ===&lt;br /&gt;
Support should proactively inform clients if an issue is not solved within the same day it was raised, after judging the urgency of the issue and the time it was raised. An email to the client who raised the issue, before the end of each day, is a best practice that keeps the client updated and other support staff too. This email should be sent regardless of the degree to which the issue has been resolved or if the issue is unresolved. If the issue is unresolved, the email should explain why and also explain the cause of delay.&lt;br /&gt;
&lt;br /&gt;
=== Handling new USER creation ===&lt;br /&gt;
Support staff should create new USERS for clients ONLY when requested by an authorised person.&lt;br /&gt;
&lt;br /&gt;
If the request comes from an unauthorised person, then support MUST reply to the same person informing them that this request must come from an authorised person. Support MUST NOT directly contact the authorised person asking for approval/confirmation because that is client work.&lt;br /&gt;
&lt;br /&gt;
Clients should not be discouraged to create new users. Clients are billed as per user usage which is reviewed periodically. Over time old USERS are replaced with new USERS.&lt;br /&gt;
&lt;br /&gt;
The USER code is the first name of a user.&lt;br /&gt;
&lt;br /&gt;
Support team MUST NOT discuss billings with clients unless authorised to do so. &lt;br /&gt;
&lt;br /&gt;
Support team MUST NOT proceed with creating new users until the following details have been clearly provided by the client, otherwise the user may end up with more than the required authorisation, which can lead to problems in future.&lt;br /&gt;
&lt;br /&gt;
New user requirements :-&lt;br /&gt;
*Full name&lt;br /&gt;
*Email address&lt;br /&gt;
*Group level / User with similar authorisation&lt;br /&gt;
&lt;br /&gt;
=== Handling letterhead change requests ===&lt;br /&gt;
&lt;br /&gt;
Support staff should reject any requests that requires the letterhead to be setup on the TESTING dataset before it is setup in the MAIN dataset.This is to reduce double work for support staff and to ensure that clients have a clear understanding of their requirements and also send the correct logo image.&lt;br /&gt;
The MAIN dataset can be copied to the TEST dataset for any kind of testing.&lt;br /&gt;
&lt;br /&gt;
See [http://userwiki.neosys.com/index.php/Configuring_Letterhead#Changing_the_letterhead_for_printed_documents How to change letterhead]&lt;br /&gt;
&lt;br /&gt;
=== Handling error messages ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; Before Attempting to resolve client issues, please ensure that we have secure access to the NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
#The very first step is understanding client problem. Ask questions to the client until you CLEARLY understand the problem.&lt;br /&gt;
#If the error is familiar and does not require a screenshot, resolve the problem immediately. &lt;br /&gt;
#If the error is unfamiliar and/or requires a screenshot and the user has not sent a screenshot, IMMEDIATELY ask the user to send a screenshot of the problem, along with the options used (basically you need to know HOW to replicate the error and the screenshot MUST show WHAT the error is).&lt;br /&gt;
#If the user says &amp;quot;nothing happens, so no screenshot of the error&amp;quot;, then IMMEDIATELY request for screenshots again with the exact steps to reproduce the problem using mouse and keyboard.&lt;br /&gt;
#Upon receipt of the error and steps to reproduce the error, follow the steps and reproduce the error. Also refer to [[Procedures#Addressing_Browser_related_issues|Addressing Browser related issues]]  &lt;br /&gt;
#If the issue is unknown or you don’t understand it clearly, with the users acknowledgement use remote support to gain access to the users desktop to view how to replicate the error. &lt;br /&gt;
{{Handling errors}}&lt;br /&gt;
&lt;br /&gt;
=== Addressing Browser related issues ===&lt;br /&gt;
&lt;br /&gt;
When resolving random browsing issues that seem to be on one user computer only, support MUST ask client to check if the same issue occurs on other user computers and if not then they should follow procedure in [http://userwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Troubleshooting_Web_Browsers Troubleshooting Web Browser issues]. &lt;br /&gt;
&lt;br /&gt;
Rapidy convincing the user that the problem is only on their computer gains their willingness to sort the problem out at their end, using IT people if necessary and available. Handling random issues that appear to be on one computer is very very common and it is important to deal with it effectively, not requiring stages of &amp;quot;denial&amp;quot; by the users until they accept something has to be done at their end, and not by NEOSYS. Speeding up this process gains the confidence and appreciation of the users.&lt;br /&gt;
&lt;br /&gt;
Also refer to [[Procedures#Handling_Browser_related_issues_in_NEOSYS| Handling Browser related issues]]&lt;br /&gt;
&lt;br /&gt;
=== Addressing Technical support emails ===&lt;br /&gt;
&lt;br /&gt;
In the case of technical support issues, address emails to the IT person and cc the complete group of recipients of backup emails and other NEOSYS alert emails. This allows both NEOSYS and client IT staff to take credit for resolving issues that NEOSYS raises instead of working in the background unacknowledged.&lt;br /&gt;
&lt;br /&gt;
Technical support issues include backup failure, server failure, missing alert email, server connectivity issues and port forwarding issues and many other issues.&lt;br /&gt;
&lt;br /&gt;
For technical issues like browser configuration, clear cache, etc. support must send the user a link to the appropriate wiki article to help the user fix the problem. In some cases the user may be helpless and unable to follow the steps to fix the problem. In such cases, support MUST NOT waste time trying to help the user fix the problem, instead support MUST ask the user to get help from the IT person.&lt;br /&gt;
&lt;br /&gt;
=== Acceptable report format when handling issues in NEOSYS reports ===&lt;br /&gt;
&lt;br /&gt;
NEOSYS Support must only resolve issues in NEOSYS output first. This is because only NEOSYS outputs can be trusted and user versions in Excel or PDF could be copied wrongly or edited by the user.&lt;br /&gt;
&lt;br /&gt;
In case users send reports in excel or other formats, get them to send the original NEOSYS HTML report as an attachment or copy-pasted in email.&lt;br /&gt;
&lt;br /&gt;
=== Handling requests to create new charts or control accounts===&lt;br /&gt;
&lt;br /&gt;
[http://userwiki.neosys.com/index.php/Setting_up_and_Configuring_NEOSYS_Finance_System#Creating_New_Charts_or_Control_Accounts Refer here]&lt;br /&gt;
&lt;br /&gt;
=== Handling issues with totals on reports ===&lt;br /&gt;
&lt;br /&gt;
If a client has a problem with any total output by NEOSYS software then NEOSYS support will advise them which other NEOSYS report or reports provide a complete breakdown of the total (if necessary, to individual transactions) and ask the client to locate any offending transactions themselves.&lt;br /&gt;
&lt;br /&gt;
NEOSYS support staff will handle any issues where the total on the breakdown report does not add up to the total on the summary report.&lt;br /&gt;
&lt;br /&gt;
Reconciling totals can be hard if there are many transactions involved. Regardless of how hard it may be, reconciliation is an operational task for users not for support staff since NEOSYS support staff will not get involved in understanding client transactions or data.&lt;br /&gt;
&lt;br /&gt;
==== Trial Balance and Financial Statements ====&lt;br /&gt;
&lt;br /&gt;
NEOSYS support staff do not have to prove or trace any figures in NEOSYS Trial Balance Reports or any financial reports. If a figure is stated to be wrong by the user, then NEOSYS support staff should ask for proof or say NEOSYS is confident that the figures are correct unless proved otherwise. &lt;br /&gt;
&lt;br /&gt;
NEOSYS support staff should point out reports in NEOSYS which will support the figures in question but not actually run the reports. Support staff can suggest the users to refer to detailed ledger accounts to prove balances.&lt;br /&gt;
&lt;br /&gt;
== Using VPN to enable secure access from outside the office ==&lt;br /&gt;
There are two ways in which a user can use VPN:&lt;br /&gt;
*User connects to the their office router and makes the PC act like it is on the office LAN.&lt;br /&gt;
*User connects to a VPN service that provides a static IP number and can therefore be authorised by NEOSYS to login.&lt;br /&gt;
&lt;br /&gt;
If the client intends to use VPN to connect to their office router and make the PC act like it is on the office LAN, then it depends on what VPN protocols the client&#039;s office router supports.&lt;br /&gt;
&lt;br /&gt;
The alternative is to use a paid VPN service that provides a static IP number. Getting a dynamic IP number on VPN is very cheap and there are many suppliers, but getting a static IP number on VPN services seems to be more expensive.&lt;br /&gt;
&lt;br /&gt;
Internally in NEOSYS we use PFSENSE routers which support OPENVPN which is extremely flexible.&lt;br /&gt;
&lt;br /&gt;
==Handling issues with Office PBX phones==&lt;br /&gt;
&lt;br /&gt;
Support should check their respective Office PBX phones every morning to find out if the phone is up and working. In case Support finds any issue with their phone, immediately fix it so that clients do not lose contact with the  Support team via phone. Next send an email to Support inbox mentioning the fault, cause and solution for records/future prevention.&lt;br /&gt;
&lt;br /&gt;
==Configuring Browsers to show Javascript errors in NEOSYS==&lt;br /&gt;
NEOSYS Support MUST ensure the following Settings for browsers because if NEOSYS generates any javascript error message, the same would appear in the bottom left corner of a window, which in turn helps the programmer to fix the error. This must be done after every Factory Reset.&lt;br /&gt;
&lt;br /&gt;
===Internet Explorer===&lt;br /&gt;
Tools &amp;gt; Internet Options &amp;gt; Advanced &amp;gt; Browsing - the items Disable script debugging (Internet Explorer) and Disable script debugging (Other) are &#039;&#039;&#039;UNTICKED&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
===Chrome=== &lt;br /&gt;
Chrome Menu &amp;gt; More Tools &amp;gt; Extensions &amp;gt; Get More Extensions, search for &#039;&#039;&#039;Javascript Errors Notifier&#039;&#039;&#039;. Add the extension to Chrome.&lt;br /&gt;
&lt;br /&gt;
[[image:Chrome.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Chrome1.png]]&lt;br /&gt;
===Firefox===&lt;br /&gt;
Firebug add-on is used to NOTIFY about script errors because we have no other method to get any warning on screen but you should use the main firefox developer tools to investigate any errors as firebug is essentially replaced by built in developer tools. &lt;br /&gt;
&lt;br /&gt;
For developer tools, go to Tools &amp;gt; Web Console&lt;br /&gt;
&lt;br /&gt;
To enable notifications for script errors, download the add-on Firebug from [https://addons.mozilla.org/en-US/firefox/addon/firebug/ here]. When a Javascript error is encountered, the firebug icon will report the number of errors.&lt;br /&gt;
&lt;br /&gt;
Set your firebug as per the second screen shot and select &amp;quot;Enable All Panels&amp;quot; as well, the tick will not appear like the other options but the option will get selected. If you miss out on any one of these steps, you will not be able to capture script errors.&lt;br /&gt;
&lt;br /&gt;
[[file:firebug1.jpg|1200px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Firebug.png]]&lt;br /&gt;
&lt;br /&gt;
==Handling Browser related issues in NEOSYS==&lt;br /&gt;
See [http://techwiki.neosys.com/index.php/Technical_/_Hardware_requirements#NEOSYS_Software_Browser_and_OS_Requirements NEOSYS browser requirements]&lt;br /&gt;
&lt;br /&gt;
Clients frequently ask [http://userwiki.neosys.com/index.php/General_FAQ#Why_doesnt_NEOSYS_support_my_XYZ_browser.3F Why NEOSYS doesn&#039;t support other browsers] &lt;br /&gt;
&lt;br /&gt;
To avoid browser errors, all new users must follow the steps given in [http://userwiki.neosys.com/index.php/Using_NEOSYS_Generally#Getting_started_with_NEOSYS Getting started with NEOSYS] before logging in to NEOSYS for the first time.&lt;br /&gt;
&lt;br /&gt;
To troubleshoot browser related errors see [http://userwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Troubleshooting_Web_Browsers Troubleshooting Web Browsers]&lt;br /&gt;
&lt;br /&gt;
Users must clear browser cache after every NEOSYS Upgrade to avoid errors. See [http://techwiki.neosys.com/index.php/Upgrading_NEOSYS#Sample_email_to_be_sent_to_clients_who_face_issues_due_to_failure_in_clearing_browser_cache Sample email to clients who face issues due to failure in clearing browser cache]&lt;br /&gt;
&lt;br /&gt;
Pop-up blockers and any 3rd party toolbars must be deactivated/switched off or else certain pages and alert messages while using NEOSYS do not appear as a result of blocking from either the pop-up blocker or toolbars with built-in pop-up blockers. &lt;br /&gt;
&lt;br /&gt;
NEOSYS support must ask users to Reset browser (See [http://userwiki.neosys.com/index.php/Reset_Browser Reset browser]) if they notice any user browsers which have pop-up blockers or 3rd party toolbars installed.&lt;br /&gt;
&lt;br /&gt;
Also refer to [[Procedures#Addressing_Browser_related_issues| Addressing Browser related issues]]&lt;br /&gt;
&lt;br /&gt;
== Handling NEOSYS Upgrade==&lt;br /&gt;
See [http://techwiki.neosys.com/index.php/Upgrading_NEOSYS Upgrading NEOSYS]&lt;br /&gt;
&lt;br /&gt;
== Using Support Tools ==&lt;br /&gt;
=== Website Live Support ===&lt;br /&gt;
www.neosys.com is equipped with a Live Support software and clients can visit the website, click on this link and chat with any of our support staff, without the need for any installation. The client has to fill in their name and enter their questions to connect to an available support personnel. During non-working hours, the Live Support icon on the website automatically displays &amp;quot;offline&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
NEOSYS Support personnel who are authorised to provide such support, need to login to Live helper chat in Firefox using the link given below:&lt;br /&gt;
&lt;br /&gt;
 http://neosys.com/lhc/lhc_web/index.php/site_admin&lt;br /&gt;
&lt;br /&gt;
Support personnel should enter the account details as provided by their Manager.&lt;br /&gt;
&lt;br /&gt;
Enable notifications for Live helper chat so that whenever there is a visitor trying to contact Support team, the Support personnel will get the notifications on his screen. Set the Live helper chat login page as your home page in firefox.&lt;br /&gt;
&lt;br /&gt;
Use the link below to enable notifications:&lt;br /&gt;
&lt;br /&gt;
 http://neosys.com/lhc/lhc_web/index.php/site_admin/chat/listchatconfig&lt;br /&gt;
&lt;br /&gt;
After setting up Live helper chat if you sign in to a new profile in firefox, you might have to re enable the notifications after your firefox is synced to the new profile.&lt;br /&gt;
&lt;br /&gt;
=== Teamviewer ===&lt;br /&gt;
Since Teamviewer allows no restriction on access once a fixed pass is installed, Support must not install fixed pass on teamviewer however convenient it might be.&lt;br /&gt;
&lt;br /&gt;
RULE: NO FIXED PASS TO BE INSTALLED ON TEAMVIEWER IN ANY NEOSYS OR NEOSYS CLIENT COMPUTER&lt;br /&gt;
&lt;br /&gt;
Running teamviewer live from a web link is fine because it does not allow installation of a permanent password&lt;br /&gt;
&lt;br /&gt;
For certain tasks that require temporary install of Teamviewer on the client servers (e.g. upgrading Cygwin remotely), use Teamviewer 7 on the server as well as Support staff computer. Contact NEOSYS IT for commercial license of Teamviewer 7. Teamviewer MUST be uninstalled after usage, otherwise it creates an additional unnecessary security risk.&lt;br /&gt;
&lt;br /&gt;
To support client users who use the latest version of Teamviewer, support staff must also install the latest Teamviewer version available alongside Teamviewer 7.&lt;br /&gt;
&lt;br /&gt;
== Documenting Processes in Wiki ==&lt;br /&gt;
NEOSYS Support staff must be in continual learning mode. This is mandatory for support staff and is not an option. Support must read, learn and understand everything in the support emails and ask questions if they don&#039;t understand. This understanding must be transferred into wiki in the form of new articles and improvements to existing articles.&lt;br /&gt;
&lt;br /&gt;
For all articles related to formatting and editing in Wiki, see [http://itwiki.neosys.com/index.php/Documenting_NEOSYS_systems Documenting NEOSYS systems]&lt;br /&gt;
&lt;br /&gt;
===Avoiding duplication of text in wiki===&lt;br /&gt;
&lt;br /&gt;
Duplication of text in wiki is to be avoided almost at any cost. Duplication has the problem that when one copy is changed or improved in future then it is highly likely the editor will fail to update the other copy or copies and wiki will over time become an inconsistent mess.&lt;br /&gt;
&lt;br /&gt;
There are several ways to avoid duplication:&lt;br /&gt;
&lt;br /&gt;
#Two or more procedures which have significant areas of duplication can be rewritten as a single procedure with alternatives in the middle of the procedure&lt;br /&gt;
#Wiki Templates- Templates reproduce the same text in all places and editing one place edits all places. See [[How to create templates in wiki]]&lt;br /&gt;
#Wiki links- Only put the text in one place and put links to that in all the other places that it is appropriate.&lt;br /&gt;
#Place a note in all copies something to the effect that &amp;quot;This is similar to x, y and z&amp;quot;. This alerts any future editor of all other places in wiki that might also have to be updated.&lt;br /&gt;
&lt;br /&gt;
Future modifications in one place may or may not be appropriate to other places. The editor must decide whether to change one or all places&lt;br /&gt;
&lt;br /&gt;
===Highlighting information in wiki===&lt;br /&gt;
&lt;br /&gt;
To highlight particular instructions or info in wiki do NOT invent new styles which are not the way the rest of wiki is done. Instead, follow the USUAL STYLE or open a DISCUSSION with any recommendations you have BEFORE USING THEM.&lt;br /&gt;
&lt;br /&gt;
Instead of using various kinds of highlighting styles like bolding and words like &amp;quot;Note:&amp;quot;, use the following words IN CAPITALS especially the word MUST.&lt;br /&gt;
&lt;br /&gt;
The use of the following words IN CAPITALS indicates that you are using them in a special way with formally defined meaning as explained below. Use of the words in lower case indicates that you are using the word in an ordinary commonsense meaning.&lt;br /&gt;
&lt;br /&gt;
*MAY - means optional&lt;br /&gt;
*SHOULD - means recommended and you need GOOD reason (not just any weak excuse) to not follow to follow this recommendation&lt;br /&gt;
*MUST - mandatory&lt;br /&gt;
&lt;br /&gt;
Only in the rare cases where the consequences of doing or not doing something are irreversible or take a lot of work to reverse then you can use your own additional highlighting methods, eg ALL CAPS, stars, color red etc.&lt;br /&gt;
&lt;br /&gt;
==== Explain WHY ====&lt;br /&gt;
&lt;br /&gt;
Any sentence which uses the word &amp;quot;MUST&amp;quot; in capitals, MUST be followed by a SPECIFIC REASON explaining exactly why is the instruction is mandatory; the reason MUST not be vague and non-specific meaning no more than &amp;quot;or bad things will happen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 WRONG way: You MUST also delete ads if deleting schedules.&lt;br /&gt;
&lt;br /&gt;
 WRONG way: You MUST also delete ads if deleting schedules otherwise it will cause problems in future.&lt;br /&gt;
&lt;br /&gt;
 CORRECT way: You MUST also delete ads if deleting schedules otherwise the deleted schedules&#039; ads will still show in all media-diary like reports and screens&lt;br /&gt;
&lt;br /&gt;
The Wrong way above gives a general reason &amp;quot;it will cause problems in future&amp;quot; which is vague and a reader may even go ahead and ignore &amp;quot;MUST&amp;quot; because there is no objective or proper side effect mentioned for not following the MUST statement. Basically he doesn&#039;t understand the point behind following a certain rule. &lt;br /&gt;
&lt;br /&gt;
Whereas the Correct way gives a SPECIFIC reason for &amp;quot;deleting ads while deleting schedules&amp;quot;, so reader will exactly know the trouble that will be caused if ads are not deleted. Therefore &amp;quot;SPECIFIC REASON&amp;quot; behind using the word MUST must be to the point and very informative.&lt;br /&gt;
&lt;br /&gt;
==== Why explain WHY ====&lt;br /&gt;
The information contained in the WHY phrase is often &#039;&#039;&#039;extremely informative&#039;&#039;&#039; to the reader about things that you may otherwise not have considered saying.&lt;br /&gt;
&lt;br /&gt;
The most valuable information is usually contained in the &amp;quot;WHY&amp;quot; of something. There is an apocryphal story of a company where managers could be fired if they gave instructions to their staff without providing explanation. In almost all cases it is better for the efficiency of a team of people that any instructions they follow contain the &amp;quot;WHY&amp;quot; of something. Only in few cases should staff be expected to follow instructions without being well or fully informed.&lt;br /&gt;
&lt;br /&gt;
== Use of personal email addresses by NEOSYS support staff ==&lt;br /&gt;
&lt;br /&gt;
NEOSYS support staff MUST NOT use any personal email addresses for NEOSYS business. &lt;br /&gt;
&lt;br /&gt;
The xxxx.neosys@gmail.com addresses that are created by support staff for themselves on joining are also considered personal email addresses and must not be used for NEOSYS business. These email addresses might be linked to NEOSYS wiki accounts but that doesn&#039;t matter because wiki is not confidential.&lt;br /&gt;
&lt;br /&gt;
== Accessing NEOSYS accounts on personal devices ==&lt;br /&gt;
&lt;br /&gt;
NEOSYS staff MUST NOT install NEOSYS accounts on skype/dropbox/gmail (or any other external tool) on their personal devices without written permission from NEOSYS management&lt;br /&gt;
&lt;br /&gt;
== Support Staff work-in-progress documents/files ==&lt;br /&gt;
&lt;br /&gt;
Support Staff must not save working files hidden on their computer. Work that is not visible is not work .&lt;br /&gt;
Support work should not be done privately and should be shared to all.&lt;br /&gt;
&lt;br /&gt;
ALL personal working files however trivial MUST be stored in Dropbox and MUST NOT be stored anywhere in personal computer (My Documents/Desktop etc.)&lt;br /&gt;
&lt;br /&gt;
The personal encrypted pass file MUST be stored somewhere in personal folder under SB NEOSYS staff in Dropbox. This is because if there is a loss of OS/Computer, it should not lead to loss of access as all the passwords saved in the file will be lost.&lt;br /&gt;
&lt;br /&gt;
== Handling CLIENT/NEOSYS Servers ==&lt;br /&gt;
&lt;br /&gt;
NEOSYS support staff must exercise extreme caution when working on CLIENT and NEOSYS servers. Do not risk making changes without due care and attention to the fact that the consequences of errors can be serious on working production servers.&lt;br /&gt;
&lt;br /&gt;
=== Handling Javascript Files in NEOSYS ===&lt;br /&gt;
&lt;br /&gt;
All the files in NEOSYS installation folder with .JS and .JSE extension are the executable javascript files which startup NEOSYS processes (in a usual DOS window). Their default program is &#039;Microsoft Windows Based Script Host&#039; (wscript.exe). If a JavaScript file is opened using a notepad, the default program may change to notepad resulting in all NEOSYS processes to open up in a notepad.&lt;br /&gt;
&lt;br /&gt;
Hence be very CAREFUL when accessing a .JS and .JSE file and double check that the default program remains wscript.exe. Refer to [[Troubleshooting_NEOSYS_Generally#Fixing &#039;NEOSYS process which opens up in a notepad instead of Microsoft Windows Based Script Host (i.e. DOS window)&#039;|Fixing NEOSYS process which opens up in a notepad instead of Microsoft Windows Based Script Host]] in case this issue comes up.&lt;br /&gt;
&lt;br /&gt;
== Handling Nagios Client Monitoring system ==&lt;br /&gt;
&lt;br /&gt;
NEOSYS support staff on duty has to follow the below outlined procedures in case of any Nagios items showing a critical or warning message for any service. Failure to schedule appropriate downtime will lead to REDUNDANT ALERTS from NAGIOS every hour.&lt;br /&gt;
 &lt;br /&gt;
# Nagios is required to be checked first thing in the morning and any critical or warning messages need to be dealt with to resolve the same at the earliest. &lt;br /&gt;
# Some of the messages could be related to backup failures and the usual procedure as stated in [[Backup_and_Restore#Handling_failure_and_warning_messages_on_nightly_backup_alerts|Handling failure and warning messages on nightly backup alerts]] needs to be followed. In case the backup issue isn&#039;t resolved by 9:30 am, the Nagios service needs to be scheduled with downtime for a minimum of 2 hours and maximum until 1 am next day if the issue cannot be solved. &lt;br /&gt;
# In case any HTTPS, SSH, PING service or Host is down, immediate action is required and the relevant IT people at the client side needs to be contacted to get this resolved. A downtime of 2 hours is required to be scheduled with further intervals of 2 hours incase this is not resolved. Support staff shouldn&#039;t schedule downtime till 1 am next day, just to get rid of the alerts for the day. Proactive follow up with the client is required to get this resolved before the business day - more so, if there is a weekend ahead.&lt;br /&gt;
# In case the HTTPS, SSH, PING service or Host goes down during the day, a grace period of 20 minutes is given before the issue is reported to the client IT. This helps incase there is any temporary internet connection issue at the client or along the internet route.&lt;br /&gt;
# In case of &amp;quot;Backup not changed&amp;quot; warning status which occurs if the client has not interchanged the USB before 12 noon on that day, no action is required from the support staff and a downtime until 1 am next day needs to be scheduled.&lt;br /&gt;
# In case the HTTPS, SSH PING service or Host is down for more than 1 day, client IT should acknowledge the problem and give NEOSYS support staff an approximate time frame before which the issue will be resolved. Set an appropriate downtime for such events.&lt;br /&gt;
# In case Host is down for more than 2 days and there is no progress with the fix from client IT, the client management should be notified about the seriousness of not having access to server and their acknowledgement is mandatory.&lt;br /&gt;
#Support should check Nagios quite frequently during the day to look for any new alerts so that issues are fixed as soon as possible.&lt;br /&gt;
&lt;br /&gt;
== Handling lack of remote access to NEOSYS server located in client’s premises ==&lt;br /&gt;
&lt;br /&gt;
If access to the NEOSYS server is lost then we must determine the root cause by: &lt;br /&gt;
# Checking if the server is UP and running&lt;br /&gt;
# If yes, please check internet connectivity on the server&lt;br /&gt;
# If there is connectivity, please check the router for connectivity issues&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sample Response:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Dear XYZ,&lt;br /&gt;
&lt;br /&gt;
Please note that we have currently lost access to the NEOSYS server. The server seems to be down at the moment and it seems that &lt;br /&gt;
NEOSYS processes are not running on the server.&lt;br /&gt;
Kindly check if the server is UP and running. If yes, please check internet connectivity on the server.&lt;br /&gt;
Do keep us posted on the server status so we can test connectivity from our side as well.&lt;br /&gt;
&lt;br /&gt;
Best Regards,&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== New Router (Port Forwarding) ==&lt;br /&gt;
&lt;br /&gt;
If you have changed your router then you may notice that external access to NEOSYS is unavailable. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Setup a permanent access for NEOSYS by reconfiguring the Router / Firewall for Port Forwarding from Router to the NEOSYS Server as follows: &lt;br /&gt;
# Port 19580 &amp;gt; 19580 for SSH &lt;br /&gt;
# Port 4430 &amp;gt; 4430 for HTTPS&lt;br /&gt;
&lt;br /&gt;
You can see [http://portforward.com/ Set Up Port Forwarding] to learn how to configure your Router.&lt;br /&gt;
&lt;br /&gt;
To see how to test/ troubleshoot port forwarding settings, go to [[Troubleshooting_NEOSYS_Generally#Troubleshooting_NEOSYS_remote_support_port_forwarding|Troubleshooting Port Forwarding]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sample Response:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Dear XYZ,&lt;br /&gt;
&lt;br /&gt;
You are requested to kindly setup a permanent access for NEOSYS by reconfiguring the Router / Firewall for Port Forwarding from Router to &lt;br /&gt;
the NEOSYS Server,i.e.  port 19580 for SSH and port 4430 for HTTPS.&lt;br /&gt;
&lt;br /&gt;
Once this is complete, kindly send me an email to confirm the same so that we could test connectivity from our end as well.&lt;br /&gt;
&lt;br /&gt;
Best Regards&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Creating and Handling passwords ==&lt;br /&gt;
Passwords made out of a pass phrase should be at least 10 characters since using initials results in a lot of i&#039;s and a&#039;s etc which reduces the effectiveness of the password and allows hacking via brute force guessing especially since windows doesnt slow down logins even if it sees thousands of password attempts.&lt;br /&gt;
&lt;br /&gt;
=== Creating a password ===&lt;br /&gt;
Passwords are generated from a pass phrase and it is important to create a very difficult to guess pass phrase.&lt;br /&gt;
&lt;br /&gt;
For example, a good pass phrase would be: &#039;&#039;&#039;Today is a good day and it is the best time to go for a holiday&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The password for this would be &#039;&#039;&#039;Tiagd&amp;amp;iitbt2g4ah&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The important instructions for the above are:&lt;br /&gt;
#You have to take the first letter of each word and that makes your password (i.e. by using initials)&lt;br /&gt;
#Wherever any word starts with a capital, then you have to take first letter as a capital (eg. For Today you will take T)&lt;br /&gt;
#Replace &#039;&#039;&#039;and&#039;&#039;&#039; with &#039;&#039;&#039;&amp;amp;&#039;&#039;&#039;&lt;br /&gt;
#Replace &#039;&#039;&#039;to&#039;&#039;&#039; with &#039;&#039;&#039;2&#039;&#039;&#039;&lt;br /&gt;
#Replace &#039;&#039;&#039;for&#039;&#039;&#039; with &#039;&#039;&#039;4&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Handling passwords ===&lt;br /&gt;
#Never send the actual password - always send the pass phrase&lt;br /&gt;
#Make sure that the password created out of the pass phrase is at least 10 characters long since using initials results in a lot of i&#039;s and a&#039;s etc which reduces the effectiveness of the password and allows hacking via brute force guessing especially since windows doesnt slow down logins even if it sees thousands of password attempts&lt;br /&gt;
#Pass phrases are never to be sent by email, whatever the case maybe.&lt;br /&gt;
#Pass phrases can be sent by chat - however they have to be broken down in two parts and sent separately over two different messengers or if you are using Gtalk then use the &#039;off the record&#039; mode.&lt;br /&gt;
#Using SMS to send pass phrases is the best known way as of now.&lt;br /&gt;
#If you save the passwords on your system in an file then:&lt;br /&gt;
#*Ensure that you only store pass phrases in the excel file&lt;br /&gt;
#*Ensure that the excel file is encrypted with a master password&lt;br /&gt;
&lt;br /&gt;
== NEOSYS Maintenance Window ==&lt;br /&gt;
&lt;br /&gt;
The NEOSYS server is functional from 6am – 1am. There is a 5hr window gap for the system to perform updates &amp;amp; backups.&lt;br /&gt;
&lt;br /&gt;
The 5hr maintenance window:-&lt;br /&gt;
&lt;br /&gt;
1. At 1am – The server performs a data backup on a USB (for the respective clients) &amp;amp; once the backup has been completed, the system automatically generates an email addressed to the neosys staff &amp;amp; the respective clients.&lt;br /&gt;
&lt;br /&gt;
2. At 2:45am – The main data over writes the test data on the server.&lt;br /&gt;
&lt;br /&gt;
3. At 3:00am – The server by itself performs an update for Windows.&lt;br /&gt;
&lt;br /&gt;
4. At 4:00am – The server performs a backup to the headquarters for clients, and then automatically generates an email addressed to the NEOSYS staff &amp;amp; the respective clients.&lt;br /&gt;
&lt;br /&gt;
5. At 6:00am – The server starts up NEOSYS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using NEOSYS Terminology while communicating with Clients ==&lt;br /&gt;
&lt;br /&gt;
NEOSYS support must communicate in correct language to clients on finance issues in order to ensure that our records exactly represent reality. Conversely NEOSYS must not use other terminology because it can cause considerable confusion and poor quality results. In case client is new and still in training, use client terminology optionally as long as&lt;br /&gt;
#It is only an addition to NEOSYS standard terminology&lt;br /&gt;
#Only if clear that it is client terminology by putting in brackets like this &amp;quot;Sales Invoices (called PI by you)&amp;quot;, where &amp;quot;you&amp;quot; means the client you are talking to or you can put the client company name instead perhaps.&lt;br /&gt;
&lt;br /&gt;
The objective is over time to avoid having the support team to have to know the terminology of the client. NEOSYS support team cannot possibly know and remember it for each client therefore the client MUST over time learn and use NEOSYS terminology. The initial period is one of relearning and translation for the client not for NEOSYS.&lt;br /&gt;
&lt;br /&gt;
Many users operating NEOSYS finance module do not know proper financial procedures and may not appreciate how doing something in a wrong or unusual way now may not be correctable in the future.&lt;br /&gt;
&lt;br /&gt;
NEOSYS staff must follow NEOSYS procedures only. If NEOSYS procedures need to be updated then this must be agreed in advance and not AFTER the fact.&lt;br /&gt;
&lt;br /&gt;
== Amending/Reposting Journal Entries ==&lt;br /&gt;
In certain exceptional cases, amending/reposting of journal entries is allowed for a brief period of time to enable clients to present reports in an alternative manner. This would be subject to NEOSYS would requiring a written LETTER OF APPROVAL duly signed and stamped by the highest management of the company.&lt;br /&gt;
&lt;br /&gt;
In case the client management decides to allow editing/reposting of journal entries, the following procedure is to be followed:&lt;br /&gt;
# Client must de-allocate vouchers which need to be amended&lt;br /&gt;
# NEOSYS support staff must wait for a day so that de-allocated vouchers are copied into Test database&lt;br /&gt;
# Authorise required users to amend and repost (without record) &#039;&#039;&#039;in Test database only&#039;&#039;&#039; &amp;lt;br&amp;gt;( While reposting, we have 2 options i.e. with record and without record. The &#039;with record&#039; option causes the system to maintain a history of edits made. Hence, we want to repost without record so that there is no trace of the edit in the system)&lt;br /&gt;
# Amend a substantial number of vouchers in Test and verify them.&amp;lt;br&amp;gt;To verify if the edits made are reflected:&lt;br /&gt;
# *Print all ledgers for the whole year&lt;br /&gt;
# *Cross-check all balances&lt;br /&gt;
# Once you verify the balances are correct in Test database, grant users permission to amend and repost in the Live database.&lt;br /&gt;
# Ask users to amend and repost vouchers in the Live database.&lt;br /&gt;
# Cross-check all balances for the current year.&lt;br /&gt;
# If you successfully verify the balances, revoke permissions immediately. Else, wait for 24 hours and revoke permissions irrespectively.&lt;br /&gt;
&lt;br /&gt;
== Removal of unauthorized third-party software on client servers ==&lt;br /&gt;
&lt;br /&gt;
Rule: Any third party software that is discovered by NEOSYS support staff on client servers that has been installed without the agreement of NEOSYS should be uninstalled immediately on discovery.&lt;br /&gt;
&lt;br /&gt;
However purposeful a software is, NEOSYS is contractually responsible for support and there are too many opportunities for poorly installed software to cause unpredictable damage to the NEOSYS database so NEOSYS has to have a clear and safe and simple policy to ensure the integrity of client data. Installing software without prior discussion with NEOSYS by itself indicates that insufficient care and consideration as been given to possible issues.&lt;br /&gt;
&lt;br /&gt;
Any software required by client IT for some purpose may only be installed after discussion and agreement from NEOSYS support staff concerning the configuration and operation of the software.&lt;br /&gt;
&lt;br /&gt;
The NEOSYS Software Licence and Support agreement requires that where NEOSYS software is installed on client servers that a dedicated server is provided and dedicated implies that no other software may be installed without the agreement of NEOSYS support.&lt;br /&gt;
&lt;br /&gt;
== Configuring tunnelier to autologin on opening tlp files ==&lt;br /&gt;
If you have many tunnelier tlp files in a directory and connect by opening the desired tlp file the, instead of opening the file and then clicking Login you can also right click the file and select Connect.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can configure tunnelier to login (connect) automatically by following the procedure mentioned below. (Even if you configure automatic login, you can still open and not login by right clicking and choosing Open)&lt;br /&gt;
&lt;br /&gt;
=== Windows 8 ===&lt;br /&gt;
&lt;br /&gt;
Cannot be done using standard Windows UI. Some download utilities can do it. TODO put a safe one in neosys.com/support&lt;br /&gt;
&lt;br /&gt;
=== Windows XP/Vista/7/2008 ===&lt;br /&gt;
&lt;br /&gt;
#Go to My Computer&lt;br /&gt;
#Click on Tools -&amp;gt; Folder Options &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[image:tunnauto-1.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
#Click on File Types&lt;br /&gt;
#*Select TLP (Bitvise Tunnelier Profile) [Type &amp;quot;TLP&amp;quot; to find it quickly]&lt;br /&gt;
#*Click on Advanced &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[image:tunnauto-2.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
#Click on Connect and Click on Set Default &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; [[image:tunnauto-3.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== International v/s Indian English ==&lt;br /&gt;
&lt;br /&gt;
There are some words which have completely different meanings in International and Indian English. NEOSYS Staff should follow International English only. Below are the examples of few of those words:&lt;br /&gt;
&lt;br /&gt;
Word: &#039;&#039;&#039;Doubt&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In the English language word &amp;quot;doubt&amp;quot; means to distrust an alleged fact on the basis of a reason, depending on the strength of the reason which may be anything from factual to feeling e.g &amp;quot;I have no reason to doubt him&amp;quot;.&lt;br /&gt;
This usage is followed worldwide.&lt;br /&gt;
&lt;br /&gt;
Some people especially from Indian origin use &amp;quot;doubt&amp;quot; when they are unaware about a fact. e.g &amp;quot;I want to clear my doubts about this procedure&amp;quot;. This is incorrect. The word must be used when you do not agree on something on the basis of a reason and not when you do not have knowledge about it.&lt;br /&gt;
&lt;br /&gt;
==[[ New Employee Training Checklist]]==&lt;br /&gt;
&lt;br /&gt;
==[[ New Client Training Notes]]==&lt;br /&gt;
&lt;br /&gt;
==[[ General Office Procedures]]==&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=NEOSYS_DDNS_Service&amp;diff=2715</id>
		<title>NEOSYS DDNS Service</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=NEOSYS_DDNS_Service&amp;diff=2715"/>
		<updated>2016-06-02T08:31:54Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Configuring neosysddns on monitor.neosys.com */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Using NEOSYS DDNS service ==&lt;br /&gt;
&lt;br /&gt;
The NEOSYS monitoring server at monitor.neosys.com will update NEOSYS &lt;br /&gt;
DNS server currently zonedit.com if it is requested to do so by NEOSYS &lt;br /&gt;
installations. NEOSYS installations do that automatically when updating &lt;br /&gt;
Nagios and can also have a Windows service configured to do it at all times.&lt;br /&gt;
&lt;br /&gt;
Normally this would only be used at NEOSYS installations that have a &lt;br /&gt;
dynamic ip number ie do not have a static ip number.&lt;br /&gt;
&lt;br /&gt;
This is not required generally at client installations with static ip &lt;br /&gt;
numbers or NEOSYS win3/win4 installations but it MAY be used in that &lt;br /&gt;
situation too to provide for automatic change of static DNS for example &lt;br /&gt;
to cater for:&lt;br /&gt;
&lt;br /&gt;
*migration from old server to new server&lt;br /&gt;
*moving to backup servers&lt;br /&gt;
*moving back to live servers&lt;br /&gt;
*moving between client&#039;s own server and NEOSYS hosts on win3/win4.&lt;br /&gt;
&lt;br /&gt;
Care will be needed to ensure that the DDNS service is not running &lt;br /&gt;
simultaneously on the both old and new servers.&lt;br /&gt;
&lt;br /&gt;
=== Using Windows service neosysddns ===&lt;br /&gt;
&lt;br /&gt;
This will work even when NEOSYS processes are not running. This is &lt;br /&gt;
useful when NEOSYS processes are stopped overnight and when the server &lt;br /&gt;
is rebooted, for example for Windows Updates, and NEOSYS processes are &lt;br /&gt;
not configured to run automatically after rebooting&lt;br /&gt;
&lt;br /&gt;
==== Starting Windows service on the client server ====&lt;br /&gt;
&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
&lt;br /&gt;
 STARTDDNS&lt;br /&gt;
&lt;br /&gt;
==== Stopping the Windows service on the client server ====&lt;br /&gt;
&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
&lt;br /&gt;
 STOPDDNS&lt;br /&gt;
&lt;br /&gt;
or you can stop and/or disable the windows service manually&lt;br /&gt;
&lt;br /&gt;
This will NOT stop Nagios based DDNS which has to be done separately. See section below.&lt;br /&gt;
&lt;br /&gt;
=== Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
NAGIOS can update NEOSYS ddns entries (currently on zoneedit) automatically as by product of the processing of NAGIOS server updates from NEOSYS processes running on the client server. This is done independently and in parallel to the NEOSYSDDNS service which runs on NEOSYS servers.&lt;br /&gt;
&lt;br /&gt;
=== Automatic Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
This will occur if a special file exists on the NAGIOS server. This file is automatically created when STARTDDNS has been run on the NEOSYS server, or can be created manually.&lt;br /&gt;
&lt;br /&gt;
Therefore, if you are running NEOSYSDDNS service on the NEOSYS server, DDNS will be ALSO be done in parallel by Nagios. This is useful as a backup for example in the case where the NEOSYSDDNS service has to be stopped on the NEOSYS server eg while Cygwin updates are being processed.&lt;br /&gt;
&lt;br /&gt;
To see what hosts are subject to automatic Nagios based DDNS.&lt;br /&gt;
&lt;br /&gt;
 ll /var/lib/neosysddns&lt;br /&gt;
&lt;br /&gt;
=== Manually starting Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
If you need to switch on DDNS service for some reason but cannot get to the NEOSYS server to do so, then you can request Nagios to perform DDNS by creating a special file in the NAGIOS server as follows:&lt;br /&gt;
&lt;br /&gt;
 touch /var/lib/neosysddns/xxxxxxxx.client&lt;br /&gt;
 chmod a+rw /var/lib/neosysddns/xxxxxxxx.client&lt;br /&gt;
&lt;br /&gt;
=== Stopping Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
If you need to stop DDNS being done by NAGIOS after either automatically or manually starting it as above, you must remove a special file in the NAGIOS server as follows. Note that running STOPDDNS in the NEOSYS server does NOT remove the special file on NAGIOS server, so just running STOPDDNS in the NEOSYS server will NOT stop the parallel NAGIOS server updating DDNS. Therefore if you wish complete cessation of DDNS service for a hostname you will have to do this step AS WELL.&lt;br /&gt;
&lt;br /&gt;
 rm /var/lib/neosysddns/xxxxxxxx.client&lt;br /&gt;
&lt;br /&gt;
=== Configuring neosysddns on monitor.neosys.com ===&lt;br /&gt;
&lt;br /&gt;
The configuration of NEOSYS DDNS service on nagios i.e monitor.neosys.com can be controlled as follows:&lt;br /&gt;
&lt;br /&gt;
Remember that this is the neosysddns service on monitor.neosys.com and NOT the windows service on the server with dynamic ip no.&lt;br /&gt;
&lt;br /&gt;
neosysddns logging level may be configured NOT to show every DDNS update check if the IP no hasn&#039;t changed to save log file space since the neosysddns windows servers triggers every minute.&lt;br /&gt;
&lt;br /&gt;
 nano /etc/nagios3/conf.d/ddnsconf.py&lt;br /&gt;
 sudo service neosysddns restart&lt;br /&gt;
&lt;br /&gt;
Other NEOSYS DDNS service commands are:&lt;br /&gt;
&lt;br /&gt;
 sudo service neosysddns stop&lt;br /&gt;
 sudo service neosysddns start&lt;br /&gt;
 sudo service neosysddns status&lt;br /&gt;
&lt;br /&gt;
All service commands with the exception of status show nothing if successful or error message if not.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting NEOSYS DDNS Service ==&lt;br /&gt;
&lt;br /&gt;
On nagios/monitor server to see recent ddns updates for a hostname &amp;quot;XXXX&amp;quot; whatever is entered as System ID in System configuration file.&lt;br /&gt;
&lt;br /&gt;
 journalctl|grep -i ddns|grep XXXX&lt;br /&gt;
&lt;br /&gt;
or to watch new ddns updates as they come in&lt;br /&gt;
&lt;br /&gt;
 journalctl -f | grep -i ddns&lt;br /&gt;
&lt;br /&gt;
or to watch new ddns updates as they come in for xxxxxxxx&lt;br /&gt;
&lt;br /&gt;
 journalctl -f | grep -i ddns | grep xxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Lines containing ddns.py are the result of NEOSYS Windows service.&lt;br /&gt;
&lt;br /&gt;
Lines containing apache2 are the result of nagios updates. e.g as shown below:&lt;br /&gt;
&lt;br /&gt;
 Jan 28 00:03:04 monitor apache2: DDNS IP_NO ums &amp;lt;SUCCESS CODE=&amp;quot;200&amp;quot; TEXT=&amp;quot;XXXX.hosts.neosys.com updated to 82.178.63.35&amp;quot; ZONE=&amp;quot;XXXX.hosts.neosys.com&amp;quot;&amp;gt;&lt;br /&gt;
 Jan 28 01:54:26 monitor ddns.py: DDNS IP_NO 4481 &amp;quot;ddns XXXX&amp;quot; No. 11327 was 82.178.63.35 &amp;lt;SUCCESS CODE=&amp;quot;200&amp;quot; TEXT=&amp;quot;XXXX.hosts.neosys.com updated to 85.154.7.138&amp;quot; ZONE=&amp;quot;XXXX.hosts.neosys.com&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Working/Status Files&lt;br /&gt;
&lt;br /&gt;
 ll /var/lib/neosysddns/&lt;br /&gt;
 ll /var/lib/neosysddns/ignored&lt;br /&gt;
&lt;br /&gt;
Configuration File&lt;br /&gt;
&lt;br /&gt;
 nano /etc/nagios3/conf.d/ddnsconf.py&lt;br /&gt;
&lt;br /&gt;
Configuration options&lt;br /&gt;
&lt;br /&gt;
 loginvalid=False          #requests with the wrong format. maybe random packets from the internet.&lt;br /&gt;
 loglanrejected=False      #requests for lan ipno 192.168 172.16-32 10 127&lt;br /&gt;
 logskipped=False          #hostnames that &lt;br /&gt;
 lognotchanged=False       #ipno same as before&lt;br /&gt;
 logzoneeditresponses=True #recommended True so you can see what zoneedit replies to requests to update ipno Success/Failure/Ignored&lt;br /&gt;
 lognthpacket=1000         #always log every nth request if not 0, regardless of other options. useful to check service is active when little is logged.&lt;br /&gt;
&lt;br /&gt;
Hosts that have been seen by Nagios but were ignored because the xxxxxxxx.client file was not present in /var/lib/neosysddns&lt;br /&gt;
&lt;br /&gt;
 ll /var/lib/neosysddns/ignored&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=NEOSYS_DDNS_Service&amp;diff=2712</id>
		<title>NEOSYS DDNS Service</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=NEOSYS_DDNS_Service&amp;diff=2712"/>
		<updated>2016-05-31T10:37:56Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Configuring neosysddns on Nagios */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Using NEOSYS DDNS service ==&lt;br /&gt;
&lt;br /&gt;
The NEOSYS monitoring server at monitor.neosys.com will update NEOSYS &lt;br /&gt;
DNS server currently zonedit.com if it is requested to do so by NEOSYS &lt;br /&gt;
installations. NEOSYS installations do that automatically when updating &lt;br /&gt;
Nagios and can also have a Windows service configured to do it at all times.&lt;br /&gt;
&lt;br /&gt;
Normally this would only be used at NEOSYS installations that have a &lt;br /&gt;
dynamic ip number ie do not have a static ip number.&lt;br /&gt;
&lt;br /&gt;
This is not required generally at client installations with static ip &lt;br /&gt;
numbers or NEOSYS win3/win4 installations but it MAY be used in that &lt;br /&gt;
situation too to provide for automatic change of static DNS for example &lt;br /&gt;
to cater for:&lt;br /&gt;
&lt;br /&gt;
*migration from old server to new server&lt;br /&gt;
*moving to backup servers&lt;br /&gt;
*moving back to live servers&lt;br /&gt;
*moving between client&#039;s own server and NEOSYS hosts on win3/win4.&lt;br /&gt;
&lt;br /&gt;
Care will be needed to ensure that the DDNS service is not running &lt;br /&gt;
simultaneously on the both old and new servers.&lt;br /&gt;
&lt;br /&gt;
=== Using Windows service neosysddns ===&lt;br /&gt;
&lt;br /&gt;
This will work even when NEOSYS processes are not running. This is &lt;br /&gt;
useful when NEOSYS processes are stopped overnight and when the server &lt;br /&gt;
is rebooted, for example for Windows Updates, and NEOSYS processes are &lt;br /&gt;
not configured to run automatically after rebooting&lt;br /&gt;
&lt;br /&gt;
==== Starting Windows service on the client server ====&lt;br /&gt;
&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
&lt;br /&gt;
 STARTDDNS&lt;br /&gt;
&lt;br /&gt;
==== Stopping the Windows service on the client server ====&lt;br /&gt;
&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
&lt;br /&gt;
 STOPDDNS&lt;br /&gt;
&lt;br /&gt;
or you can stop and/or disable the windows service manually&lt;br /&gt;
&lt;br /&gt;
This will NOT stop Nagios based DDNS which has to be done separately. See section below.&lt;br /&gt;
&lt;br /&gt;
=== Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
NAGIOS can update NEOSYS ddns entries (currently on zoneedit) automatically as by product of the processing of NAGIOS server updates from NEOSYS processes running on the client server. This is done independently and in parallel to the NEOSYSDDNS service which runs on NEOSYS servers.&lt;br /&gt;
&lt;br /&gt;
=== Automatic Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
This will occur if a special file exists on the NAGIOS server. This file is automatically created when STARTDDNS has been run on the NEOSYS server, or can be created manually.&lt;br /&gt;
&lt;br /&gt;
Therefore, if you are running NEOSYSDDNS service on the NEOSYS server, DDNS will be ALSO be done in parallel by Nagios. This is useful as a backup for example in the case where the NEOSYSDDNS service has to be stopped on the NEOSYS server eg while Cygwin updates are being processed.&lt;br /&gt;
&lt;br /&gt;
To see what hosts are subject to automatic Nagios based DDNS.&lt;br /&gt;
&lt;br /&gt;
 ll /var/lib/neosysddns&lt;br /&gt;
&lt;br /&gt;
=== Manually starting Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
If you need to switch on DDNS service for some reason but cannot get to the NEOSYS server to do so, then you can request Nagios to perform DDNS by creating a special file in the NAGIOS server as follows:&lt;br /&gt;
&lt;br /&gt;
 touch /var/lib/neosysddns/xxxxxxxx.client&lt;br /&gt;
 chmod a+rw /var/lib/neosysddns/xxxxxxxx.client&lt;br /&gt;
&lt;br /&gt;
=== Stopping Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
If you need to stop DDNS being done by NAGIOS after either automatically or manually starting it as above, you must remove a special file in the NAGIOS server as follows. Note that running STOPDDNS in the NEOSYS server does NOT remove the special file on NAGIOS server, so just running STOPDDNS in the NEOSYS server will NOT stop the parallel NAGIOS server updating DDNS. Therefore if you wish complete cessation of DDNS service for a hostname you will have to do this step AS WELL.&lt;br /&gt;
&lt;br /&gt;
 rm /var/lib/neosysddns/xxxxxxxx.client&lt;br /&gt;
&lt;br /&gt;
=== Configuring neosysddns on monitor.neosys.com ===&lt;br /&gt;
&lt;br /&gt;
The configuration of NEOSYS DDNS service on nagios i.e monitor.neosys.com can be controlled as follows:&lt;br /&gt;
&lt;br /&gt;
Remember that this is the neosysddns service on monitor.neosys.com and NOT the windows service on the server with dynamic ip no.&lt;br /&gt;
&lt;br /&gt;
neosysddns logging level may be configured NOT to show every DDNS update check if the IP no hasn&#039;t changed to save log file space since the neosysddns windows servers triggers every minute.&lt;br /&gt;
&lt;br /&gt;
 nano /etc/nagios3/conf.d/ddns.conf&lt;br /&gt;
 sudo service neosysddns restart&lt;br /&gt;
&lt;br /&gt;
Other NEOSYS DDNS service commands are:&lt;br /&gt;
&lt;br /&gt;
 sudo service neosysddns stop&lt;br /&gt;
 sudo service neosysddns start&lt;br /&gt;
 sudo service neosysddns status&lt;br /&gt;
&lt;br /&gt;
All service commands with the exception of status show nothing if successful or error message if not.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting NEOSYS DDNS Service ==&lt;br /&gt;
&lt;br /&gt;
On nagios/monitor server to see recent ddns updates for a hostname &amp;quot;XXXX&amp;quot; whatever is entered as System ID in System configuration file.&lt;br /&gt;
&lt;br /&gt;
 grep DDNS /var/log/syslog|grep XXXX&lt;br /&gt;
&lt;br /&gt;
or older updates&lt;br /&gt;
&lt;br /&gt;
 grep DDNS /var/log/syslog-*|grep XXXX&lt;br /&gt;
&lt;br /&gt;
or to watch new ddns updates as they come in&lt;br /&gt;
&lt;br /&gt;
 tail -f /var/log/syslog | grep DDNS&lt;br /&gt;
&lt;br /&gt;
or to watch new ddns updates as they come in for xxxxxxxx&lt;br /&gt;
&lt;br /&gt;
 tail -f /var/log/syslog | grep DDNS | grep xxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Lines containing ddns.py are the result of NEOSYS Windows service.&lt;br /&gt;
&lt;br /&gt;
Lines containing apache2 are the result of nagios updates. e.g as shown below:&lt;br /&gt;
&lt;br /&gt;
 Jan 28 00:03:04 monitor apache2: DDNS IP_NO ums &amp;lt;SUCCESS CODE=&amp;quot;200&amp;quot; TEXT=&amp;quot;XXXX.hosts.neosys.com updated to 82.178.63.35&amp;quot; ZONE=&amp;quot;XXXX.hosts.neosys.com&amp;quot;&amp;gt;&lt;br /&gt;
 Jan 28 01:54:26 monitor ddns.py: DDNS IP_NO 4481 &amp;quot;ddns XXXX&amp;quot; No. 11327 was 82.178.63.35 &amp;lt;SUCCESS CODE=&amp;quot;200&amp;quot; TEXT=&amp;quot;XXXX.hosts.neosys.com updated to 85.154.7.138&amp;quot; ZONE=&amp;quot;XXXX.hosts.neosys.com&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Working/Status Files&lt;br /&gt;
&lt;br /&gt;
 ll /var/lib/neosysddns/&lt;br /&gt;
&lt;br /&gt;
Hosts that have been seen by Nagios but were ignored because the xxxxxxxx.client file was not present in /var/lib/neosysddns&lt;br /&gt;
&lt;br /&gt;
 ll /var/lib/neosysddns/ignored&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=NEOSYS_DDNS_Service&amp;diff=2711</id>
		<title>NEOSYS DDNS Service</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=NEOSYS_DDNS_Service&amp;diff=2711"/>
		<updated>2016-05-31T10:33:06Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Configuring Nagios based DDNS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Using NEOSYS DDNS service ==&lt;br /&gt;
&lt;br /&gt;
The NEOSYS monitoring server at monitor.neosys.com will update NEOSYS &lt;br /&gt;
DNS server currently zonedit.com if it is requested to do so by NEOSYS &lt;br /&gt;
installations. NEOSYS installations do that automatically when updating &lt;br /&gt;
Nagios and can also have a Windows service configured to do it at all times.&lt;br /&gt;
&lt;br /&gt;
Normally this would only be used at NEOSYS installations that have a &lt;br /&gt;
dynamic ip number ie do not have a static ip number.&lt;br /&gt;
&lt;br /&gt;
This is not required generally at client installations with static ip &lt;br /&gt;
numbers or NEOSYS win3/win4 installations but it MAY be used in that &lt;br /&gt;
situation too to provide for automatic change of static DNS for example &lt;br /&gt;
to cater for:&lt;br /&gt;
&lt;br /&gt;
*migration from old server to new server&lt;br /&gt;
*moving to backup servers&lt;br /&gt;
*moving back to live servers&lt;br /&gt;
*moving between client&#039;s own server and NEOSYS hosts on win3/win4.&lt;br /&gt;
&lt;br /&gt;
Care will be needed to ensure that the DDNS service is not running &lt;br /&gt;
simultaneously on the both old and new servers.&lt;br /&gt;
&lt;br /&gt;
=== Using Windows service neosysddns ===&lt;br /&gt;
&lt;br /&gt;
This will work even when NEOSYS processes are not running. This is &lt;br /&gt;
useful when NEOSYS processes are stopped overnight and when the server &lt;br /&gt;
is rebooted, for example for Windows Updates, and NEOSYS processes are &lt;br /&gt;
not configured to run automatically after rebooting&lt;br /&gt;
&lt;br /&gt;
==== Starting Windows service on the client server ====&lt;br /&gt;
&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
&lt;br /&gt;
 STARTDDNS&lt;br /&gt;
&lt;br /&gt;
==== Stopping the Windows service on the client server ====&lt;br /&gt;
&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
&lt;br /&gt;
 STOPDDNS&lt;br /&gt;
&lt;br /&gt;
or you can stop and/or disable the windows service manually&lt;br /&gt;
&lt;br /&gt;
This will NOT stop Nagios based DDNS which has to be done separately. See section below.&lt;br /&gt;
&lt;br /&gt;
=== Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
NAGIOS can update NEOSYS ddns entries (currently on zoneedit) automatically as by product of the processing of NAGIOS server updates from NEOSYS processes running on the client server. This is done independently and in parallel to the NEOSYSDDNS service which runs on NEOSYS servers.&lt;br /&gt;
&lt;br /&gt;
=== Automatic Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
This will occur if a special file exists on the NAGIOS server. This file is automatically created when STARTDDNS has been run on the NEOSYS server, or can be created manually.&lt;br /&gt;
&lt;br /&gt;
Therefore, if you are running NEOSYSDDNS service on the NEOSYS server, DDNS will be ALSO be done in parallel by Nagios. This is useful as a backup for example in the case where the NEOSYSDDNS service has to be stopped on the NEOSYS server eg while Cygwin updates are being processed.&lt;br /&gt;
&lt;br /&gt;
To see what hosts are subject to automatic Nagios based DDNS.&lt;br /&gt;
&lt;br /&gt;
 ll /var/lib/neosysddns&lt;br /&gt;
&lt;br /&gt;
=== Manually starting Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
If you need to switch on DDNS service for some reason but cannot get to the NEOSYS server to do so, then you can request Nagios to perform DDNS by creating a special file in the NAGIOS server as follows:&lt;br /&gt;
&lt;br /&gt;
 touch /var/lib/neosysddns/xxxxxxxx.client&lt;br /&gt;
 chmod a+rw /var/lib/neosysddns/xxxxxxxx.client&lt;br /&gt;
&lt;br /&gt;
=== Stopping Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
If you need to stop DDNS being done by NAGIOS after either automatically or manually starting it as above, you must remove a special file in the NAGIOS server as follows. Note that running STOPDDNS in the NEOSYS server does NOT remove the special file on NAGIOS server, so just running STOPDDNS in the NEOSYS server will NOT stop the parallel NAGIOS server updating DDNS. Therefore if you wish complete cessation of DDNS service for a hostname you will have to do this step AS WELL.&lt;br /&gt;
&lt;br /&gt;
 rm /var/lib/neosysddns/xxxxxxxx.client&lt;br /&gt;
&lt;br /&gt;
=== Configuring neosysddns on Nagios ===&lt;br /&gt;
&lt;br /&gt;
The configuration of NEOSYS DDNS service on nagios i.e monitor.neosys.com can be controlled as follows:&lt;br /&gt;
&lt;br /&gt;
Remember that this is the neosysddns service on monitor.neosys.com and NOT the windows service on the server with dynamic ip no.&lt;br /&gt;
&lt;br /&gt;
neosysddns logging level may be configured NOT to show every DDNS update check if the IP no hasn&#039;t changed to save log file space since the neosysddns windows servers triggers every minute.&lt;br /&gt;
&lt;br /&gt;
 nano /etc/nagios3/conf.d/ddns.conf&lt;br /&gt;
 sudo service neosysddns restart&lt;br /&gt;
&lt;br /&gt;
Other NEOSYS DDNS service commands are:&lt;br /&gt;
&lt;br /&gt;
 sudo service neosysddns stop&lt;br /&gt;
 sudo service neosysddns start&lt;br /&gt;
 sudo service neosysddns status&lt;br /&gt;
&lt;br /&gt;
All service commands with the exception of status show nothing if successful or error message if not.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting NEOSYS DDNS Service ==&lt;br /&gt;
&lt;br /&gt;
On nagios/monitor server to see recent ddns updates for a hostname &amp;quot;XXXX&amp;quot; whatever is entered as System ID in System configuration file.&lt;br /&gt;
&lt;br /&gt;
 grep DDNS /var/log/syslog|grep XXXX&lt;br /&gt;
&lt;br /&gt;
or older updates&lt;br /&gt;
&lt;br /&gt;
 grep DDNS /var/log/syslog-*|grep XXXX&lt;br /&gt;
&lt;br /&gt;
or to watch new ddns updates as they come in&lt;br /&gt;
&lt;br /&gt;
 tail -f /var/log/syslog | grep DDNS&lt;br /&gt;
&lt;br /&gt;
or to watch new ddns updates as they come in for xxxxxxxx&lt;br /&gt;
&lt;br /&gt;
 tail -f /var/log/syslog | grep DDNS | grep xxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Lines containing ddns.py are the result of NEOSYS Windows service.&lt;br /&gt;
&lt;br /&gt;
Lines containing apache2 are the result of nagios updates. e.g as shown below:&lt;br /&gt;
&lt;br /&gt;
 Jan 28 00:03:04 monitor apache2: DDNS IP_NO ums &amp;lt;SUCCESS CODE=&amp;quot;200&amp;quot; TEXT=&amp;quot;XXXX.hosts.neosys.com updated to 82.178.63.35&amp;quot; ZONE=&amp;quot;XXXX.hosts.neosys.com&amp;quot;&amp;gt;&lt;br /&gt;
 Jan 28 01:54:26 monitor ddns.py: DDNS IP_NO 4481 &amp;quot;ddns XXXX&amp;quot; No. 11327 was 82.178.63.35 &amp;lt;SUCCESS CODE=&amp;quot;200&amp;quot; TEXT=&amp;quot;XXXX.hosts.neosys.com updated to 85.154.7.138&amp;quot; ZONE=&amp;quot;XXXX.hosts.neosys.com&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Working/Status Files&lt;br /&gt;
&lt;br /&gt;
 ll /var/lib/neosysddns/&lt;br /&gt;
&lt;br /&gt;
Hosts that have been seen by Nagios but were ignored because the xxxxxxxx.client file was not present in /var/lib/neosysddns&lt;br /&gt;
&lt;br /&gt;
 ll /var/lib/neosysddns/ignored&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=NEOSYS_DDNS_Service&amp;diff=2710</id>
		<title>NEOSYS DDNS Service</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=NEOSYS_DDNS_Service&amp;diff=2710"/>
		<updated>2016-05-31T07:57:41Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Stopping Nagios based DDNS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Using NEOSYS DDNS service ==&lt;br /&gt;
&lt;br /&gt;
The NEOSYS monitoring server at monitor.neosys.com will update NEOSYS &lt;br /&gt;
DNS server currently zonedit.com if it is requested to do so by NEOSYS &lt;br /&gt;
installations. NEOSYS installations do that automatically when updating &lt;br /&gt;
Nagios and can also have a Windows service configured to do it at all times.&lt;br /&gt;
&lt;br /&gt;
Normally this would only be used at NEOSYS installations that have a &lt;br /&gt;
dynamic ip number ie do not have a static ip number.&lt;br /&gt;
&lt;br /&gt;
This is not required generally at client installations with static ip &lt;br /&gt;
numbers or NEOSYS win3/win4 installations but it MAY be used in that &lt;br /&gt;
situation too to provide for automatic change of static DNS for example &lt;br /&gt;
to cater for:&lt;br /&gt;
&lt;br /&gt;
*migration from old server to new server&lt;br /&gt;
*moving to backup servers&lt;br /&gt;
*moving back to live servers&lt;br /&gt;
*moving between client&#039;s own server and NEOSYS hosts on win3/win4.&lt;br /&gt;
&lt;br /&gt;
Care will be needed to ensure that the DDNS service is not running &lt;br /&gt;
simultaneously on the both old and new servers.&lt;br /&gt;
&lt;br /&gt;
=== Using Windows service neosysddns ===&lt;br /&gt;
&lt;br /&gt;
This will work even when NEOSYS processes are not running. This is &lt;br /&gt;
useful when NEOSYS processes are stopped overnight and when the server &lt;br /&gt;
is rebooted, for example for Windows Updates, and NEOSYS processes are &lt;br /&gt;
not configured to run automatically after rebooting&lt;br /&gt;
&lt;br /&gt;
==== Starting Windows service on the client server ====&lt;br /&gt;
&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
&lt;br /&gt;
 STARTDDNS&lt;br /&gt;
&lt;br /&gt;
==== Stopping the Windows service on the client server ====&lt;br /&gt;
&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
&lt;br /&gt;
 STOPDDNS&lt;br /&gt;
&lt;br /&gt;
or you can stop and/or disable the windows service manually&lt;br /&gt;
&lt;br /&gt;
This will NOT stop Nagios based DDNS which has to be done separately. See section below.&lt;br /&gt;
&lt;br /&gt;
=== Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
NAGIOS can update NEOSYS ddns entries (currently on zoneedit) automatically as by product of the processing of NAGIOS server updates from NEOSYS processes running on the client server. This is done independently and in parallel to the NEOSYSDDNS service which runs on NEOSYS servers.&lt;br /&gt;
&lt;br /&gt;
=== Automatic Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
This will occur if a special file exists on the NAGIOS server. This file is automatically created when STARTDDNS has been run on the NEOSYS server, or can be created manually.&lt;br /&gt;
&lt;br /&gt;
Therefore, if you are running NEOSYSDDNS service on the NEOSYS server, DDNS will be ALSO be done in parallel by Nagios. This is useful as a backup for example in the case where the NEOSYSDDNS service has to be stopped on the NEOSYS server eg while Cygwin updates are being processed.&lt;br /&gt;
&lt;br /&gt;
To see what hosts are subject to automatic Nagios based DDNS.&lt;br /&gt;
&lt;br /&gt;
 ll /var/lib/neosysddns&lt;br /&gt;
&lt;br /&gt;
=== Manually starting Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
If you need to switch on DDNS service for some reason but cannot get to the NEOSYS server to do so, then you can request Nagios to perform DDNS by creating a special file in the NAGIOS server as follows:&lt;br /&gt;
&lt;br /&gt;
 touch /var/lib/neosysddns/xxxxxxxx.client&lt;br /&gt;
 chmod a+rw /var/lib/neosysddns/xxxxxxxx.client&lt;br /&gt;
&lt;br /&gt;
=== Stopping Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
If you need to stop DDNS being done by NAGIOS after either automatically or manually starting it as above, you must remove a special file in the NAGIOS server as follows. Note that running STOPDDNS in the NEOSYS server does NOT remove the special file on NAGIOS server, so just running STOPDDNS in the NEOSYS server will NOT stop the parallel NAGIOS server updating DDNS. Therefore if you wish complete cessation of DDNS service for a hostname you will have to do this step AS WELL.&lt;br /&gt;
&lt;br /&gt;
 rm /var/lib/neosysddns/xxxxxxxx.client&lt;br /&gt;
&lt;br /&gt;
=== Configuring Nagios based DDNS ===&lt;br /&gt;
&lt;br /&gt;
The configuration of NEOSYS DDNS service on nagios i.e monitor.neosys.com can be controlled as follows:&lt;br /&gt;
&lt;br /&gt;
Remember that this is the neosysddns service on monitor.neosys.com and NOT the windows service on the server with dynamic ip no.&lt;br /&gt;
&lt;br /&gt;
neosysddns logging level may be configured NOT to show every DDNS update check if the IP no hasn&#039;t changed to save log file space since the neosysddns windows servers triggers every minute.&lt;br /&gt;
&lt;br /&gt;
 nano /etc/nagios3/conf.d/ddns.conf&lt;br /&gt;
 sudo service neosysddns restart&lt;br /&gt;
&lt;br /&gt;
Other NEOSYS DDNS service commands are:&lt;br /&gt;
&lt;br /&gt;
 sudo service neosysddns stop&lt;br /&gt;
 sudo service neosysddns start&lt;br /&gt;
 sudo service neosysddns status&lt;br /&gt;
&lt;br /&gt;
All service commands with the exception of status show nothing if successful or error message if not.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting NEOSYS DDNS Service ==&lt;br /&gt;
&lt;br /&gt;
On nagios/monitor server to see recent ddns updates for a hostname &amp;quot;XXXX&amp;quot; whatever is entered as System ID in System configuration file.&lt;br /&gt;
&lt;br /&gt;
 grep DDNS /var/log/syslog|grep XXXX&lt;br /&gt;
&lt;br /&gt;
or older updates&lt;br /&gt;
&lt;br /&gt;
 grep DDNS /var/log/syslog-*|grep XXXX&lt;br /&gt;
&lt;br /&gt;
or to watch new ddns updates as they come in&lt;br /&gt;
&lt;br /&gt;
 tail -f /var/log/syslog | grep DDNS&lt;br /&gt;
&lt;br /&gt;
or to watch new ddns updates as they come in for xxxxxxxx&lt;br /&gt;
&lt;br /&gt;
 tail -f /var/log/syslog | grep DDNS | grep xxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Lines containing ddns.py are the result of NEOSYS Windows service.&lt;br /&gt;
&lt;br /&gt;
Lines containing apache2 are the result of nagios updates. e.g as shown below:&lt;br /&gt;
&lt;br /&gt;
 Jan 28 00:03:04 monitor apache2: DDNS IP_NO ums &amp;lt;SUCCESS CODE=&amp;quot;200&amp;quot; TEXT=&amp;quot;XXXX.hosts.neosys.com updated to 82.178.63.35&amp;quot; ZONE=&amp;quot;XXXX.hosts.neosys.com&amp;quot;&amp;gt;&lt;br /&gt;
 Jan 28 01:54:26 monitor ddns.py: DDNS IP_NO 4481 &amp;quot;ddns XXXX&amp;quot; No. 11327 was 82.178.63.35 &amp;lt;SUCCESS CODE=&amp;quot;200&amp;quot; TEXT=&amp;quot;XXXX.hosts.neosys.com updated to 85.154.7.138&amp;quot; ZONE=&amp;quot;XXXX.hosts.neosys.com&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Working/Status Files&lt;br /&gt;
&lt;br /&gt;
 ll /var/lib/neosysddns/&lt;br /&gt;
&lt;br /&gt;
Hosts that have been seen by Nagios but were ignored because the xxxxxxxx.client file was not present in /var/lib/neosysddns&lt;br /&gt;
&lt;br /&gt;
 ll /var/lib/neosysddns/ignored&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Setting_up_Windows_Firewall&amp;diff=2707</id>
		<title>Setting up Windows Firewall</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Setting_up_Windows_Firewall&amp;diff=2707"/>
		<updated>2016-05-25T12:06:51Z</updated>

		<summary type="html">&lt;p&gt;Ruku: Undo revision 2706 by Ruku (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You need to setup Windows Firewall in Windows 2008 as this OS does not provide the facility to do TCP/IP filtering.&lt;br /&gt;
&lt;br /&gt;
All these ports are required to be opened and any/all other ports/programs need to be blocked:&lt;br /&gt;
*443&lt;br /&gt;
*4430&lt;br /&gt;
*19580&lt;br /&gt;
*3389&lt;br /&gt;
[[image:windowsfirewall.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Opening ports in Windows Firewall on NEOSYS hosted server==&lt;br /&gt;
You only need to open the https port to be used by the Client on NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
Start&amp;gt;Administrative Tools&amp;gt;Windows Firewall with Advanced Security. &lt;br /&gt;
Open the properties of the Inbound rule as shown in the screen shot below and add the required port at the end if already not present in the list.&lt;br /&gt;
[[File:Httpsports.jpg]]&lt;br /&gt;
&lt;br /&gt;
==To Allow all UDP ports (Windows 2008 with Remote Support Configuration)==&lt;br /&gt;
&lt;br /&gt;
Start&amp;gt;Administrative Tools&amp;gt;Windows Firewall with Advanced Security. &lt;br /&gt;
&lt;br /&gt;
Create a new inbound rule to allow all UDP ports&lt;br /&gt;
&lt;br /&gt;
[[File:All UDP.jpg]]&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Setting_up_Windows_Firewall&amp;diff=2706</id>
		<title>Setting up Windows Firewall</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Setting_up_Windows_Firewall&amp;diff=2706"/>
		<updated>2016-05-25T12:06:24Z</updated>

		<summary type="html">&lt;p&gt;Ruku: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setting up Windows Firewall ==&lt;br /&gt;
You need to setup Windows Firewall in Windows 2008 as this OS does not provide the facility to do TCP/IP filtering.&lt;br /&gt;
&lt;br /&gt;
All these ports are required to be opened and any/all other ports/programs need to be blocked:&lt;br /&gt;
*443&lt;br /&gt;
*4430&lt;br /&gt;
*19580&lt;br /&gt;
*3389&lt;br /&gt;
[[image:windowsfirewall.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Opening ports in Windows Firewall on NEOSYS hosted server ===&lt;br /&gt;
You only need to open the https port to be used by the Client on NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
Start&amp;gt;Administrative Tools&amp;gt;Windows Firewall with Advanced Security. &lt;br /&gt;
Open the properties of the Inbound rule as shown in the screen shot below and add the required port at the end if already not present in the list.&lt;br /&gt;
[[File:Httpsports.jpg]]&lt;br /&gt;
&lt;br /&gt;
== To Allow all UDP ports (Windows 2008 with Remote Support Configuration) ==&lt;br /&gt;
&lt;br /&gt;
Start&amp;gt;Administrative Tools&amp;gt;Windows Firewall with Advanced Security. &lt;br /&gt;
&lt;br /&gt;
Create a new inbound rule to allow all UDP ports&lt;br /&gt;
&lt;br /&gt;
[[File:All UDP.jpg]]&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Setting_up_Windows_Firewall&amp;diff=2705</id>
		<title>Setting up Windows Firewall</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Setting_up_Windows_Firewall&amp;diff=2705"/>
		<updated>2016-05-25T12:03:39Z</updated>

		<summary type="html">&lt;p&gt;Ruku: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You need to setup Windows Firewall in Windows 2008 as this OS does not provide the facility to do TCP/IP filtering.&lt;br /&gt;
&lt;br /&gt;
All these ports are required to be opened and any/all other ports/programs need to be blocked:&lt;br /&gt;
*443&lt;br /&gt;
*4430&lt;br /&gt;
*19580&lt;br /&gt;
*3389&lt;br /&gt;
[[image:windowsfirewall.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Opening ports in Windows Firewall on NEOSYS hosted server==&lt;br /&gt;
You only need to open the https port to be used by the Client on NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
Start&amp;gt;Administrative Tools&amp;gt;Windows Firewall with Advanced Security. &lt;br /&gt;
Open the properties of the Inbound rule as shown in the screen shot below and add the required port at the end if already not present in the list.&lt;br /&gt;
[[File:Httpsports.jpg]]&lt;br /&gt;
&lt;br /&gt;
==To Allow all UDP ports (Windows 2008 with Remote Support Configuration)==&lt;br /&gt;
&lt;br /&gt;
Start&amp;gt;Administrative Tools&amp;gt;Windows Firewall with Advanced Security. &lt;br /&gt;
&lt;br /&gt;
Create a new inbound rule to allow all UDP ports&lt;br /&gt;
&lt;br /&gt;
[[File:All UDP.jpg]]&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=File:Httpsports.jpg&amp;diff=2704</id>
		<title>File:Httpsports.jpg</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=File:Httpsports.jpg&amp;diff=2704"/>
		<updated>2016-05-25T11:00:03Z</updated>

		<summary type="html">&lt;p&gt;Ruku: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Setting_up_and_using_remote_support&amp;diff=2691</id>
		<title>Setting up and using remote support</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Setting_up_and_using_remote_support&amp;diff=2691"/>
		<updated>2016-05-18T10:29:38Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Solution 4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Getting agreement of client IT staff to provide remote support ==&lt;br /&gt;
&lt;br /&gt;
[[Letter to obtain agreement of client IT staff to provide remote support]]&lt;br /&gt;
&lt;br /&gt;
== Initial Connection to the server before setting up permanent remote connection ==&lt;br /&gt;
&lt;br /&gt;
In case of a remote installation you need to get an initial connection to the server before you can setup Cygwin for a permanent remote connection. For this purpose you can either use your customised reverse connect UltraVNC SC file or the one-time run Teamviewer utility.&lt;br /&gt;
&lt;br /&gt;
Support MUST not provide NEOSYS support via Microsoft Remote Desktop Client (RDP/RDC) on port 3389 at anytime because it is a BAD idea to simply open port 3389 since an open port 3389 attracts scanners/hackers like flies. &lt;br /&gt;
&lt;br /&gt;
Also, IT suppliers not aware of the situation often setup the initial administrator password to something obvious like &amp;quot;password&amp;quot; or the arent-I-clever &amp;quot;P@ssw0rd&amp;quot; or even blank. In this case there is a good chance internet worms will discover the &amp;quot;open door&amp;quot; and install themselves before you get the chance to put a strong password.&lt;br /&gt;
&lt;br /&gt;
If the client has already gone ahead and provided Microsoft RDP with an obvious/weak system password, then Support MANDATORY MUST get Windows reinstalled from scratch. Antivirus may not be able to tell that the server has been infected and rootkitted and therefore a scan does not prove it has not been infected.&lt;br /&gt;
&lt;br /&gt;
== Installing and configuring SSH ==&lt;br /&gt;
=== Installing Cygwin with OPENSSH ===&lt;br /&gt;
&lt;br /&gt;
These instruction are only for installing in a server NOT part of a domain. For installing in a server that is part of a domain, see http://cygwin.com/faq-nochunks.html#faq.using.sshd-in-domain&lt;br /&gt;
&lt;br /&gt;
Watch out for non-intuitive steps like clicking &amp;quot;skip&amp;quot; to install something.&lt;br /&gt;
&lt;br /&gt;
# Read [[Avoiding Corrupt Cygwin Installations]]&lt;br /&gt;
# ENSURE that you are logged in as the local (NOT DOMAIN) administrator&lt;br /&gt;
# Download/Run/Install http://www.cygwin.com/setup.exe&amp;lt;br&amp;gt;(you might have to go to the home page http://www.cygwin.com and click the link to setup.exe)&lt;br /&gt;
# Download source: &#039;&#039;&#039;Install from Internet&#039;&#039;&#039;&lt;br /&gt;
# Root Directory: &#039;&#039;&#039;c:\cygwin&#039;&#039;&#039;&lt;br /&gt;
# Local Package Directory: &#039;&#039;&#039;c:\cygwin.lib&#039;&#039;&#039;&lt;br /&gt;
# Choose &amp;quot;yes&amp;quot; to &amp;quot;Folder does not exist. Create new?&amp;quot;&lt;br /&gt;
# Internet Connection: &#039;&#039;&#039;Direct Connection&#039;&#039;&#039;&lt;br /&gt;
# Download Site: &#039;&#039;&#039;http://mirrors.kernel.org&#039;&#039;&#039; (near the bottom)&amp;lt;br&amp;gt;(If this does not show in the list, key in the URL in the field &#039;&#039;&#039;User URL&#039;&#039;&#039; and click on Add)&lt;br /&gt;
# Select Packages: Maximise window then click &#039;&#039;&#039;View&#039;&#039;&#039; once to get &#039;&#039;&#039;Full&#039;&#039;&#039;. You can then enter the name of the desired packages in the Search box to speed up location of the desired packages.&lt;br /&gt;
# Next to the package &#039;&#039;&#039;OPENSSH&#039;&#039;&#039;, click the word &#039;&#039;&#039;Skip&#039;&#039;&#039; (once!) to get version 4.4p1-1 or later&lt;br /&gt;
# Next to the package &#039;&#039;&#039;NANO&#039;&#039;&#039;, click the word &#039;&#039;&#039;Skip&#039;&#039;&#039; (once!) to get the latest version available&lt;br /&gt;
# Check the NEOSYS INSTALLATION CHECKLIST for any other packages to install like the above.&lt;br /&gt;
# Click Next and complete the installation&lt;br /&gt;
&lt;br /&gt;
=== Win32 Error ===&lt;br /&gt;
&lt;br /&gt;
The Win32 Error occur when the bad file is cached in internet explorer cache. You can try clearing the internet explorer cache and redownloading or you can try to download from cygwin.com instead of www.cygwin.com so it doesnt look in the cache or www.cygwin.com if your original download was from cygwin.com. All else failing, you can simply upload the setup.exe file from your own pc to the server. &lt;br /&gt;
&lt;br /&gt;
All this relates to win32 error when running a downloaded file. Any downloaded file and not just cygwin.com/setup.exe&lt;br /&gt;
&lt;br /&gt;
===Error during setup===&lt;br /&gt;
&lt;br /&gt;
In case of the following error, check for proxy settings in internet explorer. It is possible that the client uses a proxy setting. In that case, in Step 7 instead of choosing &amp;lt;b&amp;gt;Direct Connection&amp;lt;/b&amp;gt;, choose &amp;lt;b&amp;gt;Use Internet Explorer Proxy Setting&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 Unable to get setup.ini from &amp;lt;http://mirrors.kernel.org/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Cygwin install error.png]]&lt;br /&gt;
&lt;br /&gt;
=== Configuring and starting SSHD ===&lt;br /&gt;
Open the Cygwin icon to get a linux/bash command line and type:&lt;br /&gt;
&lt;br /&gt;
Run the following commands:&lt;br /&gt;
&lt;br /&gt;
 chmod +r /etc/passwd&lt;br /&gt;
 chmod +r /etc/group&lt;br /&gt;
 chmod 777 /var&lt;br /&gt;
&lt;br /&gt;
Refer [[Setting_up_and_using_remote_support#Reinstalling_SSHD_if_service_fails_to_startup| here]] if you get an error while doing the above steps.&lt;br /&gt;
&lt;br /&gt;
Prevent cygwin from using Unix like permissions on files it creates&lt;br /&gt;
&lt;br /&gt;
 nano /etc/fstab&lt;br /&gt;
&lt;br /&gt;
add the line&lt;br /&gt;
&lt;br /&gt;
 none /cygdrive cygdrive binary,posix=0,user,noacl 0 0&lt;br /&gt;
&lt;br /&gt;
Thereafter start with the ssh configuration:&lt;br /&gt;
&lt;br /&gt;
 ssh-host-config&lt;br /&gt;
&lt;br /&gt;
Then on the following options type:&lt;br /&gt;
 StrictModes                 -   NO&lt;br /&gt;
 Privilege                   –   YES&lt;br /&gt;
 New local sshd account      -   YES&lt;br /&gt;
 Install SSHD as a service   -   YES&lt;br /&gt;
 Enter value of daemon       -   press enter (not &amp;quot;ntsec&amp;quot; as it used to be)&lt;br /&gt;
 Different name              -   NO&lt;br /&gt;
 Create new privileged user  -   YES&lt;br /&gt;
 Enter a password now        -   Set any random password and should not be the same as the neosys server (8 characters min)&lt;br /&gt;
&lt;br /&gt;
At the command prompt type&lt;br /&gt;
&lt;br /&gt;
 net start sshd&lt;br /&gt;
&lt;br /&gt;
=== Configuring SSHD to use a non-standard port number ===&lt;br /&gt;
This is necessary if the router cannot forward port 19580 --&amp;gt; 22 and we don’t want to open port 22 directly.&lt;br /&gt;
&lt;br /&gt;
Capitalization is signification in cygwin/linux commands&lt;br /&gt;
&lt;br /&gt;
open cygwin command prompt&lt;br /&gt;
 cd /etc&lt;br /&gt;
 chown administrator sshd_config&lt;br /&gt;
 nano sshd_config (assuming that you have installed the NANO editor)&lt;br /&gt;
 notepad sshd_config (incase you havent installed the NANO editor)&lt;br /&gt;
Move your cursor to &#039;&#039;&#039;Port 22&#039;&#039;&#039; and change 22 to 19580. &amp;lt;br&amp;gt;&lt;br /&gt;
Also add the last line to the following section. Refer [[Setting_up_and_using_remote_support#Solving_.22Authentication_that_can_continue:_publickey.2Cpassword.22_Error_when_connecting_to_remote_servers_via_remote_access_clients| Error when connecting to remote servers]] to see why this line is added.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Change to no to disable s/key passwords&lt;br /&gt;
#ChallengeResponseAuthentication yes&lt;br /&gt;
ChallengeResponseAuthentication no&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Press Ctrl+x to save. On the confirmation type Y and on the next prompt hit enter.&lt;br /&gt;
 chown system sshd_config&lt;br /&gt;
 net stop sshd&lt;br /&gt;
 net start sshd&lt;br /&gt;
&lt;br /&gt;
To check that the connection to port 19580 is successful you can run the following test:&lt;br /&gt;
 ssh -p 19580 administrator@localhost&lt;br /&gt;
&lt;br /&gt;
You will be prompted to confirm the connection (say yes)&lt;br /&gt;
&lt;br /&gt;
Now enter the system password to complete the procedure.&lt;br /&gt;
&lt;br /&gt;
=== Changing ssh login from “Administrator” to “administrator” ===&lt;br /&gt;
Current NEOSYS policy to cater for recent versions of Cygwin is to rename the windows Administrator user to administrator to keep a consistent ssh login across all installations.&lt;br /&gt;
&lt;br /&gt;
If you forget to do this before installing or upgrading Cygwin then you must to the following:&lt;br /&gt;
&lt;br /&gt;
#Rename “Administrator” to “administrator” in Windows&lt;br /&gt;
#*If you cannot rename Administrator to administrator, follow the procedure mentioned at [[Changing username from Administrator to administrator]]&lt;br /&gt;
#In a Cygwin console do:&lt;br /&gt;
&lt;br /&gt;
 mkpasswd &amp;gt; /etc/passwd&lt;br /&gt;
&lt;br /&gt;
It should come back with nothing&lt;br /&gt;
&lt;br /&gt;
=== Error while changing Cygwin port 22 to 19580 ===&lt;br /&gt;
&lt;br /&gt;
Error Message:&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;Could not open file for writing: permission denied&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Occurrence:&lt;br /&gt;
Sometimes when you edit the sshd_config file through NANO.&lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
In SSH shell, follow these commands:&lt;br /&gt;
&lt;br /&gt;
 cp sshd_config ashwin_temp #copies sshd_config to a new file ashwin_temp&lt;br /&gt;
 rm sshd_config             #deletes sshd_config&lt;br /&gt;
 cp ashwin_temp sshd_config #copies ashwin_temp to sshd_config&lt;br /&gt;
&lt;br /&gt;
In case it does not copy sshd_config to ashwin_temp, than check whether an ashwin_temp filename exists and delete it using the rm command.&lt;br /&gt;
&lt;br /&gt;
=== Opening up ssh connections to additional source ip nos ===&lt;br /&gt;
&lt;br /&gt;
Starting a NEOSYS process will automatically restrict cygwin ssh to accept connections from known NEOSYS company static ip numbers.&lt;br /&gt;
&lt;br /&gt;
In the cygwin command line, insert a line in the list of allowable hosts&lt;br /&gt;
&lt;br /&gt;
DO NOT ALLOW ALL OR GENERAL SSH ACCESS TO NEOSYS CLIENTS SERVERS WITHOUT GETTING PERMISSION *AND* INSTALLING EMAIL ALERTS FOR LOGINS AS DESCRIBED BELOW&lt;br /&gt;
&lt;br /&gt;
 nano /etc/hosts.allow&lt;br /&gt;
&lt;br /&gt;
 sshd: ALL&lt;br /&gt;
&lt;br /&gt;
or a ip numbers or CIDR format&lt;br /&gt;
&lt;br /&gt;
 sshd 12.34.56.78&lt;br /&gt;
 sshd 12.34.0.0/16&lt;br /&gt;
&lt;br /&gt;
=== Setting up email alerts for cygwin ssh logins  ===&lt;br /&gt;
&lt;br /&gt;
Use http://www.cygwin.com/setup.exe to install &amp;quot;email&amp;quot; and &amp;quot;whois&amp;quot; packages&lt;br /&gt;
&lt;br /&gt;
Insert the following script using cygwin command prompt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOTE! it@neosys.com to whatever you want.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 cd /etc&lt;br /&gt;
 nano sshrc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
#you configure this&lt;br /&gt;
&lt;br /&gt;
ALERTEMAILADDRESS=it@neosys.com&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
#get the ip number without the ipv6 prefix&lt;br /&gt;
FROMIPNO=`echo $SSH_CLIENT|cut -f 1 -d &amp;quot; &amp;quot;|sed &#039;s/::ffff://&#039;`&lt;br /&gt;
#&lt;br /&gt;
#quit with no message if from a known host&lt;br /&gt;
&lt;br /&gt;
if grep -x $FROMIPNO /etc/trustedipnos&lt;br /&gt;
then exit&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
#get the host name by reverse lookup&lt;br /&gt;
&lt;br /&gt;
FROMHOST=`nslookup $FROMIPNO|grep &amp;quot;name =&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
#get whois info about the login ip number&lt;br /&gt;
&lt;br /&gt;
#and pipe it into the mail program&lt;br /&gt;
#&amp;quot;&amp;amp;&amp;quot; on the end creates a new process in order not to delay login&lt;br /&gt;
&lt;br /&gt;
whois $FROMIPNO|\&lt;br /&gt;
email -q -f nl1@neosys.com -s &amp;quot;login $USER $FROMIPNO $FROMHOST&amp;quot; -r \&lt;br /&gt;
mailout.neosys.com -p 2500 $ALERTEMAILADDRESS&amp;amp;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure that you configure the file permissions&lt;br /&gt;
&lt;br /&gt;
 chmod a+x sshrc&lt;br /&gt;
&lt;br /&gt;
Inserted trusted ip nos.&lt;br /&gt;
&lt;br /&gt;
 cd /etc&lt;br /&gt;
 nano trustedipnos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#sorry, ip ranges and cidr etc not accepted yet&lt;br /&gt;
&lt;br /&gt;
#vm1.neosys.com for remote checking&lt;br /&gt;
85.17.154.105&lt;br /&gt;
&lt;br /&gt;
#nl1.neosys.com&lt;br /&gt;
83.149.104.167&lt;br /&gt;
&lt;br /&gt;
#nl2.neosys.com&lt;br /&gt;
85.17.154.66&lt;br /&gt;
&lt;br /&gt;
#uk.neosys.com&lt;br /&gt;
78.143.212.191&lt;br /&gt;
&lt;br /&gt;
#nl3.neosys.com&lt;br /&gt;
94.75.233.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure that you configure the file permissions&lt;br /&gt;
&lt;br /&gt;
 chmod a+x sshrc&lt;br /&gt;
&lt;br /&gt;
=== Testing SSH connection to the NEOSYS server over port 19580 ===&lt;br /&gt;
&lt;br /&gt;
If you cannot connect to the server using SSH, see [[Troubleshooting_NEOSYS_Generally#Troubleshooting_NEOSYS_remote_support_port_forwarding|Troubleshooting NEOSYS remote support port forwarding]]&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting SSH: If SSH connects and then disconnects immediately without exchanging keys ===&lt;br /&gt;
 &lt;br /&gt;
The first time that NEOSYS runs, it automatically adds source ip number restrictions to the sshd remote support configuration in /etc/hosts.allow and /etc/hosts.deny. This is an important security procedure to allow connection to clients systems from NEOSYS ip numbers only. This process allows only local and known NEOSYS ip numbers to connect using SSH. Upgrading NEOSYS will add and/or remove allowable ip numbers as NEOSYS configuration changes.&lt;br /&gt;
&lt;br /&gt;
It is possible that in some client network configurations incoming ssh connections will appear to be from the clients internal routers with an ip unknown to NEOSYS due to NAT configurations. Therefore ssh connections will be blocked unless specifically allow the local ip number or it is added into an upgraded version of NEOSYS.&lt;br /&gt;
&lt;br /&gt;
NOTE: Therefore you must check that remote support via ssh works AFTER you have run NEOSYS once (maintenance mode). &lt;br /&gt;
 &lt;br /&gt;
#Look in the Windows, Computer Management, System Tools, Event Viewer, Application&lt;br /&gt;
#Search for entries from source &amp;quot;sshd&amp;quot;, double click and look in the Event Properties, Description for ip numbers&lt;br /&gt;
#Information type sshd entries will give the ip number of successful sshd connections.&lt;br /&gt;
#Warning type sshd entries will give the ip number of failed sshd connections.&lt;br /&gt;
#Find the ip number of failed connections.&lt;br /&gt;
&lt;br /&gt;
==== Possible Problem 1 - Port mapping in router is using NAT ====&lt;br /&gt;
&lt;br /&gt;
If the ip number of failed connections is some local ip number (of the router for example) then possibly the inbound port forwarding has been done with NAT and the source ip number has been lost. Therefore the NEOSYS ip restrictions are blocking ssh connections because they appear to be coming from an unknown ip number (ie that of the router)&lt;br /&gt;
&lt;br /&gt;
==== Solution 1A ====&lt;br /&gt;
&lt;br /&gt;
Change the router configuration to not use NAT and leave the genuine original source IP number&lt;br /&gt;
&lt;br /&gt;
==== Solution 1B ====&lt;br /&gt;
The router is sadly using NAT instead of plain old port forwarding.&lt;br /&gt;
&lt;br /&gt;
DO NOT USE THIS PROCEDURE TO BREAK NEOSYS SECURITY. DO NOT GRANT ACCESS TO ANY IP OTHER THAN CLIENTS ROUTER IPS&lt;br /&gt;
&lt;br /&gt;
The solution is to add NAT router IP to the list of authorised IP numbers on the NEOSYS server. This solution provides access to NEOSYS server from outside office unrestricted by IP number, hence Client Management approval must be obtained before this solution is applied.&lt;br /&gt;
&lt;br /&gt;
Sample Email to Management-&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Dear XXXX,&lt;br /&gt;
 &lt;br /&gt;
 Support must have remote access to the NEOSYS server via SSH but currently we don’t have access.&lt;br /&gt;
 &lt;br /&gt;
 This is because your router is using NAT. The NAT router translates the source IP to its own hence the source IP is lost. NEOSYS server &lt;br /&gt;
 has  a list of allowed source IPs and since the router’s IP is not in the list, connection fails.&lt;br /&gt;
 &lt;br /&gt;
 The solution to establish successful connectivity is to allow access to NEOSYS server from your NAT router by adding the router’s IP in&lt;br /&gt;
 list of allowed IPs on the server.&lt;br /&gt;
 &lt;br /&gt;
 We need your agreement to carry out this solution because authorizing this access means access to NEOSYS from outside office will not be  &lt;br /&gt;
 restricted by IP any more.&lt;br /&gt;
 &lt;br /&gt;
 Please confirm that this solution is OK.&lt;br /&gt;
 &lt;br /&gt;
 Best Regards&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
On receipt of Management approval, add the routers IP number to the list of authorised IP numbers in the cygwin hosts.allow file as follows:&lt;br /&gt;
&lt;br /&gt;
 nano /etc/hosts.allow&lt;br /&gt;
&lt;br /&gt;
and add the line as follows but put the IP number of your router&lt;br /&gt;
&lt;br /&gt;
 sshd: allow 192.168.0.99&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Warning&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#If the router IP changes then NEOSYS remote support will fail until this line is changed&lt;br /&gt;
#Do not grant access to 192.168.* etc. since this allows local LAN viruses to attack&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting sshd ===&lt;br /&gt;
&lt;br /&gt;
You can run the sshd service interactively to see all messages instead of having to search logs/events etc.&lt;br /&gt;
&lt;br /&gt;
Unfortunately this will not work the same as the normal windows sshd service unless you assume the identity of the sshd_server user. To assume the identity of the sshd_server user you will have to reset its password to something new (since we dont take a record of it during sshd-host-setup) AND ALSO place the new password in the logon properties of the sshd windows service.&lt;br /&gt;
&lt;br /&gt;
 su sshd_server&lt;br /&gt;
 /usr/sbin/sshd -D -p 19580&lt;br /&gt;
&lt;br /&gt;
=== Reinstalling SSHD if service fails to startup ===&lt;br /&gt;
&lt;br /&gt;
====Error message====&lt;br /&gt;
 chmod: cannot access &#039;/etc/passwd&#039;: No such file or directory&lt;br /&gt;
 chmod: cannot access ‘/etc/group’: No such file or directory&lt;br /&gt;
&lt;br /&gt;
====Solution====&lt;br /&gt;
Sometimes reinstallation isnt necessary and sshd can be made to restart by doing&lt;br /&gt;
 &lt;br /&gt;
 mkpasswd &amp;gt; /etc/passwd&lt;br /&gt;
 mkgroup &amp;gt; /etc/group&lt;br /&gt;
&lt;br /&gt;
If all else fails:&lt;br /&gt;
&lt;br /&gt;
#Look in &#039;&#039;&#039;/var/log/sshd.log&#039;&#039;&#039; for errors&lt;br /&gt;
#Delete the following users: &#039;&#039;&#039;sshd&#039;&#039;&#039; and &#039;&#039;&#039;sshd_server&#039;&#039;&#039;&lt;br /&gt;
#Remove the sshd service at the cygwin prompt type &#039;&#039;&#039;cygrunsrv –R sshd&#039;&#039;&#039;&lt;br /&gt;
#Do the above Configuration and starting SSHD step again&lt;br /&gt;
&lt;br /&gt;
Note that you don&#039;t have to reinstall cygwin entirely, just sshd with the above steps.&lt;br /&gt;
&lt;br /&gt;
== Upgrading SSHD / Cygwin ==&lt;br /&gt;
NEOSYS relies on cygwin to provide secure network access and support various linux/unix services under Windows, mainly rsync for interoffice consolidation.&lt;br /&gt;
&lt;br /&gt;
Just like MS Windows update, cygwin should be updated at regular intervals to close security holes discovered in the software by its authors. This is particularly important for cygwin&#039;s remote access service sshd since it is exposed to the internet although on a non-standard port.&lt;br /&gt;
&lt;br /&gt;
Join the cygwin and sshd security news email lists to learn about when cygwin upgrades sshd and/or when there are issues generally with sshd&lt;br /&gt;
&lt;br /&gt;
To find out what versions of cygwin/sshd are installed at NEOSYS clients, in Nagios check &amp;quot;Status Information&amp;quot; of the neosys-ssh service &lt;br /&gt;
&lt;br /&gt;
 SSH OK - OpenSSH_5.9 (protocol 2.0) &lt;br /&gt;
&lt;br /&gt;
=== Upgrading Cygwin remotely ===&lt;br /&gt;
&lt;br /&gt;
NEOSYS normal remote server support connection uses cygwin/ssh. Cygwin can be upgraded while in use with a script as explained in the section below.&lt;br /&gt;
&lt;br /&gt;
==== Upgrading Cygwin with a script ====&lt;br /&gt;
&lt;br /&gt;
The following script can be used to automatically upgrade cygwin to the latest version quite easily even when people are using NEOSYS. However it carries a small risk described below.&lt;br /&gt;
&lt;br /&gt;
WARNING This script temporarily disconnects and disables all ssh remote support connections, including any ssh connection you are using to initiate the process, for the duration of the upgrade.&lt;br /&gt;
&lt;br /&gt;
Since something may go wrong and the script might FAIL to re enable ssh remote connections, you can take one of the precautionary measures listed below.&lt;br /&gt;
&lt;br /&gt;
* either perform a temporary Teamviewer installation. The quick teamviewer zero installation remote support method will not work under rdp/tunnelier/remmina&lt;br /&gt;
* or ensure that client IT support is available ONSITE to provide temporary teamviewer access in the event of any problem&lt;br /&gt;
* or be prepared to lose the ability to provide remote support to the installation until the previous item is available&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TeamViewer 9 issue&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When attempting to connect to client server via TeamViewer 9 (setup via Tunnelier with unattended access) it shows the error below&lt;br /&gt;
&lt;br /&gt;
[[File:TVerror.jpg]]&lt;br /&gt;
&lt;br /&gt;
SOLUTION: Install TeamViewer 7 which does not give this error. Contact NEOSYS IT for TeamViewer7 commercial license. You must have the client server&#039;s administrator password to login using TeamViewer. After the upgrade, REMOVE SETTINGS for unattended access and UNINSTALL Teamviewer. Teamviewer must NOT BE LEFT with permanent login by number and password! Teamviewer options, security, REMOVE &amp;quot;Predefined password (For unattended access)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===== Running the script =====&lt;br /&gt;
&lt;br /&gt;
[[Setting_up_and_using_remote_support#Finding_the_script|Just locate the upgradecygwin.cmd script]] and run it some usual way by clicking and pressing Enter. &lt;br /&gt;
&lt;br /&gt;
You MUST inspect the version of the pre-installed script against the http version and upgrade to the latest. As the script is updated with fixes for problems faced in the past.&lt;br /&gt;
&lt;br /&gt;
If you initiate the script while connected on ssh using tunnelier/remmina etc. half way through the script you will be disconnected.&lt;br /&gt;
&lt;br /&gt;
The script will take a few minutes to download and install any cygwin upgrades.&lt;br /&gt;
&lt;br /&gt;
Once the script is finished, it will re enable creation of new incoming ssh connections and attempt to send an email to support@neosys.com via the standard mailout.neosys.com:2500 email server.&lt;br /&gt;
&lt;br /&gt;
You should then be able to reconnect using ssh and tunnelier/remmina. If you do not get any email then perhaps the script is unable to send email to the standard mailout.neosys.com:2500 email server due to a firewall. In this case after 10 minutes or so you should be able to reconnect using ssh anyway.&lt;br /&gt;
&lt;br /&gt;
*upgradecygwin.log - contents of the email that would have been sent&lt;br /&gt;
*upgradecygwin.err - any errors that prevent sending email&lt;br /&gt;
&lt;br /&gt;
If you cannot connect on ssh using tunnelier/remmina after say 20 minutes then the script must have failed. To resolve that problem, either use your existing Teamviewer connection or get client IT support to physically access the server to install Teamviewer for you.&lt;br /&gt;
&lt;br /&gt;
Running the script multiple times will not cause any issue. If there is little or nothing to upgrade then the time to complete will be short since there is less to download and install.&lt;br /&gt;
&lt;br /&gt;
===== Verifying successful run =====&lt;br /&gt;
&lt;br /&gt;
#You must carefully inspect the email or log for &amp;quot;error&amp;quot; or &amp;quot;fail&amp;quot; and intelligently and thoughtfully find any other unexpected results and deal with them. It is impossible to give guidelines for everything so this requires brainwork.&lt;br /&gt;
#[[Setting_up_and_using_remote_support#How_to_check_Cygwin_version_.3F|You must check the versions of &amp;quot;cygwin&amp;quot; and &amp;quot;openssh&amp;quot;]] at a minimum and ensure they agree with the latest expected version numbers.&lt;br /&gt;
#You must check for the word &amp;quot;reboot&amp;quot; especially in the following scenarios:&lt;br /&gt;
&lt;br /&gt;
 Installing file cygfile:///usr/bin/cygwin1.dll&lt;br /&gt;
 io_stream_cygfile: fopen(/usr/bin/cygwin1.dll) failed 13 Permission denied&lt;br /&gt;
 Failed to open cygfile:///usr/bin/cygwin1.dll for writing.&lt;br /&gt;
 Scheduled reboot replacement of file C:\cygwin\bin/cygwin1.dll with C:\cygwin\bin/cygwin1.dll.new&lt;br /&gt;
&lt;br /&gt;
 mbox note: In-use files have been replaced. You need to reboot as soon as possible to activate the new versions. Cygwin may operate  &lt;br /&gt;
 incorrectly until you reboot.&lt;br /&gt;
&lt;br /&gt;
 note: In-use files have been replaced. You need to reboot as soon as possible to activate the new versions. Cygwin may operate incorrectly &lt;br /&gt;
 until you reboot.&lt;br /&gt;
 Ending cygwin install&lt;br /&gt;
&lt;br /&gt;
===== Dealing with reboot required =====&lt;br /&gt;
&lt;br /&gt;
The script attempts to shutdown sshd and some services that may be present in some installations like rsync and exim.&lt;br /&gt;
&lt;br /&gt;
The script attempts to avoid causing &amp;quot;reboot required&amp;quot; by stopping the upgrade if any cygwin processes are found to be running. &amp;quot;Reboot required&amp;quot; indicates that some cygwin program was running while the upgrade process was running and this usually IRRETRIEVABLY BREAKS the cygwin functionality because cygwin&#039;s upgrade isnt smart enough to deal with this.&lt;br /&gt;
&lt;br /&gt;
It is quite likely that a reboot will NOT solve various problems.&lt;br /&gt;
&lt;br /&gt;
Rerunning the script will not show the errors again but the problem of bad upgrade.&lt;br /&gt;
&lt;br /&gt;
SOLUTION: You should completely clean out all traces of cygwin in the computer and then reinstall cygwin completely from scratch. How to clean thoroughly is documented in wiki.&lt;br /&gt;
&lt;br /&gt;
===== Finding the script =====&lt;br /&gt;
&lt;br /&gt;
The script is installed in the neosys\neosys directory or for older versions of NEOSYS it can be created or upgraded as follows:&lt;br /&gt;
&lt;br /&gt;
First find the text of the script at http://www.neosys.com/support/upgradecygwin.cmd&lt;br /&gt;
&lt;br /&gt;
Then, assuming that NEOSYS is installed in the root directory of D:&lt;br /&gt;
&lt;br /&gt;
Single installation&lt;br /&gt;
 notepad d:\neosys\neosys\upgradecygwin.cmdzz&lt;br /&gt;
&lt;br /&gt;
Multiple installation&lt;br /&gt;
 notepad d:\hosts\CLIENTCODE\neosys\upgradecygwin.cmd&lt;br /&gt;
&lt;br /&gt;
==== How to check Cygwin version ?  ====&lt;br /&gt;
&lt;br /&gt;
If you are looking for the version number for the whole Cygwin release, there is none. &lt;br /&gt;
&lt;br /&gt;
Each package in the Cygwin release has its own version. You can find out the Cygwin.dll version by using the following command:&lt;br /&gt;
&lt;br /&gt;
 cygcheck -V&lt;br /&gt;
&lt;br /&gt;
To find the version of the Cygwin Package installed, you can use &lt;br /&gt;
&lt;br /&gt;
 cygcheck -c PACKAGE_NAME&lt;br /&gt;
&lt;br /&gt;
eg - To check the version of the openssh package you will have to type the following command in cygwin:&lt;br /&gt;
&lt;br /&gt;
 cygcheck -c openssh&lt;br /&gt;
&lt;br /&gt;
The output should be as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Package           Version           Status&lt;br /&gt;
 openssh           6.0p1-2             OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to uninstall/reinstall cygwin ==&lt;br /&gt;
&lt;br /&gt;
With setup.exe (the installer file of cygwin) you can uninstall individual packages but not Cygwin.&lt;br /&gt;
&lt;br /&gt;
Before you do this, make sure you have stopped the cygwin service (NET STOP SSHD), removed the sshd server (cygrunsrv -R sshd), deleted the sshd &amp;amp; sshd_server users (net user sshd /DELETE)&lt;br /&gt;
&lt;br /&gt;
To uninstall Cygwin you have to run the following in DOS prompt:&lt;br /&gt;
&lt;br /&gt;
 rmdir /s /q C:\cygwin&lt;br /&gt;
&lt;br /&gt;
You cannot delete the cygwin folder from Windows explorer due to a Access Denied error and this is the best way to uninstall cygwin.&lt;br /&gt;
&lt;br /&gt;
== Adding packages to Cygwin after installation ==&lt;br /&gt;
&lt;br /&gt;
Adding packages causes Cygwin to also upgrade but upgrade requires a special process because it cant be upgraded remotely while Cygwin sshd server is working.&lt;br /&gt;
&lt;br /&gt;
#Upgrade Cygwin&lt;br /&gt;
#Add the package using Cygwin normal setup program&lt;br /&gt;
&lt;br /&gt;
Step 1 is NOT optional if you want to do step 2.&lt;br /&gt;
&lt;br /&gt;
In the above procedure upgrade Cygwin using the script and follow the precautionary measures listed in [[Setting up and using remote support#Upgrading Cygwin with a script | Upgrade using script]], in case script fails to renable ssh remote connection. Next run setup.exe file present in D:\neosys\neosys to install the required the package.&lt;br /&gt;
&lt;br /&gt;
=== Adding individual packages to cygwin without doing a full upgrade ===&lt;br /&gt;
&lt;br /&gt;
You can add individual packages to cygwin without doing a full upgrade in many cases. The installed or upgraded version of cygwin should be recent since the current version of the package you want to install might not work with an old version installed cygwin.dll.&lt;br /&gt;
&lt;br /&gt;
To figure out if the cygwin version is recent and will be compatible with the new package, compare the current installed version with the latest version of cygwin.&lt;br /&gt;
&lt;br /&gt;
Cygwin DLL has been named cygwin1.dll and the number 1 is present in the beginning of the release name. Additionally there are DLL major and minor numbers that correspond to the name of the release and a release number respectively. The major version number gets incremented only when a change is made that makes existing software incompatible. The minor version changes every time a new backward compatible Cygwin release is made available. Therefore we need to check the major version of cygwin on the server.&lt;br /&gt;
&lt;br /&gt;
In other words cygwin-1.7.1-2 means cygwin1.dll, major version 7, minor version 1 and release 2.&lt;br /&gt;
&lt;br /&gt;
e.g if the current version of Cygwin DLL is 2.3.0 and latest version is 2.4.1-1 that means there is a change in the major version from 3 to 4 so we cannot go ahead with installing a new package.&lt;br /&gt;
&lt;br /&gt;
Commands below to add or remove packages. Press the View button repeatedly in the installation wizard to get to &amp;quot;Pending&amp;quot; to see what will be installed.&lt;br /&gt;
 #adding&lt;br /&gt;
 setup-x86 -P PACKAGE_NAME&lt;br /&gt;
&lt;br /&gt;
 #removing&lt;br /&gt;
 setup-x86 -x PACKAGE_NAME&lt;br /&gt;
&lt;br /&gt;
== Getting Ownership and Permissions Correct ==&lt;br /&gt;
&lt;br /&gt;
Installation of cygwin under domain administrator account needs to be fixed as follows:&lt;br /&gt;
&lt;br /&gt;
#c:\cygwin Properties, Security, Advanced&lt;br /&gt;
#Change owner to: Administrators&lt;br /&gt;
#Tick: Replace owner on subcontainers&lt;br /&gt;
&lt;br /&gt;
After changing ownership of all cygwin folders to Administrators all ssh login will be blocked and you will get a windows application event log message. &amp;quot;root&amp;quot; actually means sshd&#039;s user which is sshd_server by default or can be found in the cygwin ssh windows services properties under log on&lt;br /&gt;
&lt;br /&gt;
 fatal: /var/empty must be owned by root and not group or world-writable.&lt;br /&gt;
&lt;br /&gt;
Fix this in cygwin console as follows:&lt;br /&gt;
&lt;br /&gt;
 chown sshd_server /var/empty&lt;br /&gt;
&lt;br /&gt;
== Configuring Firewall/Router ==&lt;br /&gt;
&lt;br /&gt;
You will have to port forward 19580 on the router to port 19580 on the neosys server. Some routers call port forwarding “port mapping” or “virtual servers”&lt;br /&gt;
&lt;br /&gt;
It is BAD idea to simply open port 22 since an open port 22 attracts scanners/hackers like flies.&lt;br /&gt;
&lt;br /&gt;
Configure port forwarding of port 4430 ONLY if access from outside office is required by the client. Support MUST obtain Client management permission before port forwarding 4430.&lt;br /&gt;
&lt;br /&gt;
== Configuring Specific Client Routers ==&lt;br /&gt;
&lt;br /&gt;
[[Adline Dubai - CISCO PIX Firewall]]&lt;br /&gt;
&lt;br /&gt;
[[Sonicwall Firewall Configuration]]&lt;br /&gt;
&lt;br /&gt;
== How to install ssh on port 19580 over vnc on port 19580 ==&lt;br /&gt;
&lt;br /&gt;
Install vnc on port 19580&lt;br /&gt;
 &lt;br /&gt;
connect on vnc&lt;br /&gt;
 &lt;br /&gt;
setup cygwin sshd on port 22&lt;br /&gt;
 &lt;br /&gt;
test you can login on port 22&lt;br /&gt;
&lt;br /&gt;
 ssh neosys@127.0.0.1&lt;br /&gt;
 &lt;br /&gt;
change sshd port to 19580 (but it wont start)&lt;br /&gt;
 &lt;br /&gt;
schedule a windows system reboot in 10 mins at windows command prompt&lt;br /&gt;
 &lt;br /&gt;
 shutdown -t 600&lt;br /&gt;
 &lt;br /&gt;
change vnc port to 5900 (if will disconnect you)&lt;br /&gt;
 &lt;br /&gt;
wait for 10 mins and try to ssh login on port 19580&lt;br /&gt;
&lt;br /&gt;
== Changing user on Cygwin==&lt;br /&gt;
&lt;br /&gt;
On SSH command line:&lt;br /&gt;
&lt;br /&gt;
 ssh neosys@127.0.0.1 (where &#039;neosys&#039; is the username)&lt;br /&gt;
&lt;br /&gt;
== Installing and configuring UltraVNC ==&lt;br /&gt;
&lt;br /&gt;
VNC/Putty is not typically used for NEOSYS remote support anymore and has been replaced by tunnelier/rdp&lt;br /&gt;
&lt;br /&gt;
[[Installing and configuring UltraVNC]]&lt;br /&gt;
&lt;br /&gt;
== Remote Desktop Connection ==&lt;br /&gt;
&lt;br /&gt;
Servers are normally not exposed to the internet so IT staff and suppliers are often not careful to use strong passwords and use things like &amp;quot;password&amp;quot; or blank.&lt;br /&gt;
&lt;br /&gt;
Given the above, it is NEOSYS policy NOT to use remote desktop via direct access from the internet at all and especially not long term. This is to prevent worms from instantly discovering possible entry points - typically before NEOSYS can even begin to enforce strong administrator password.&lt;br /&gt;
&lt;br /&gt;
If it is otherwise IMPOSSIBLE (difficult or inconvenient does NOT count as impossible!) to avoid using remote desktop protocol to the public internet then a simple and effective way of significantly increasing security is to change the remote desktop port from 3389 to something else e.g. 33890 as per NEOSYS convention.&lt;br /&gt;
&lt;br /&gt;
=== Changing RDC port from standard to nonstandard ===&lt;br /&gt;
&lt;br /&gt;
# Start Registry Editor.&lt;br /&gt;
# Locate and then click the following registry subkey:&lt;br /&gt;
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\PortNumber&lt;br /&gt;
# On the Edit menu, click Modify, and then click Decimal.&lt;br /&gt;
# Type the new port number, and then click OK.&lt;br /&gt;
# Quit Registry Editor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Solving &amp;quot;Authentication that can continue: publickey,password&amp;quot; Error when connecting to remote servers via remote access clients ==&lt;br /&gt;
&lt;br /&gt;
Some remote access clients cannot connect to ssh servers without special configuration.&lt;br /&gt;
&lt;br /&gt;
For example remina/ssh cannot connect to windows/cygwin/sshd in their default configuration.&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
[[Image:Sshremmina.jpg]]&lt;br /&gt;
&lt;br /&gt;
 SSH password authentication failed: Access denied. Authentication that can continue: publickey,password,keyboard-interactive&lt;br /&gt;
&lt;br /&gt;
=== Solution 1 ===&lt;br /&gt;
&lt;br /&gt;
If possible configure the client to not perform challenge response during login.&lt;br /&gt;
&lt;br /&gt;
There appears to be no way to do this for remina currently&lt;br /&gt;
&lt;br /&gt;
=== Solution 2 ===&lt;br /&gt;
&lt;br /&gt;
On the target server:&lt;br /&gt;
&lt;br /&gt;
Edit the ssh service configuration&lt;br /&gt;
&lt;br /&gt;
  nano /etc/sshd_config&lt;br /&gt;
&lt;br /&gt;
Add the last line to the following section&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Change to no to disable s/key passwords&lt;br /&gt;
#ChallengeResponseAuthentication yes&lt;br /&gt;
ChallengeResponseAuthentication no&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restart the ssh service&lt;br /&gt;
&lt;br /&gt;
 net stop sshd&lt;br /&gt;
 net start sshd&lt;br /&gt;
&lt;br /&gt;
Check that you can login using password from one workstation and it will be solved for all workstations for that server&lt;br /&gt;
&lt;br /&gt;
=== Solution 3 ===&lt;br /&gt;
&lt;br /&gt;
On a client workstation:&lt;br /&gt;
&lt;br /&gt;
#Use the autologin.sh script to configure automatic login. Refer [[Backup_and_Restore#Creating.2FUpgrading_autologin.sh_if_it_doesn.E2.80.99t_exist_or_is_out_of_date| Autologin.sh]]&lt;br /&gt;
#For &amp;quot;Authentication/Login Method&amp;quot; choose option &amp;quot;Public Key&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Check that you can login using password. This will have to be done on every workstation for every server so is rather tedious but it does not require reconfiguration of the server.&lt;br /&gt;
&lt;br /&gt;
=== Solution 4 ===&lt;br /&gt;
&lt;br /&gt;
On the target server, check whether authorized_keys file contains your public key. You can do that by checking the user name displayed at the end of each key.&lt;br /&gt;
&lt;br /&gt;
To view the authorized_keys file, open cygwin terminal and type&lt;br /&gt;
&lt;br /&gt;
 cat .ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
If authorized_keys file does not contain your public key, then copy it from authorized_keys.backup file using the below command:&lt;br /&gt;
&lt;br /&gt;
 cat .ssh/authorized_keys.backup&lt;br /&gt;
&lt;br /&gt;
Next edit the authorized_keys file using the below command:&lt;br /&gt;
&lt;br /&gt;
 nano .ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
Then paste the copied key in a new line. Ensure that the key appears in a single line and then close the authorized_keys file.&lt;br /&gt;
&lt;br /&gt;
Check that you can connect to the target server using automatic SSH authentication (SSH Agent or Public key)&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Setting_up_and_using_remote_support&amp;diff=2690</id>
		<title>Setting up and using remote support</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Setting_up_and_using_remote_support&amp;diff=2690"/>
		<updated>2016-05-18T08:49:02Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Solution 4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Getting agreement of client IT staff to provide remote support ==&lt;br /&gt;
&lt;br /&gt;
[[Letter to obtain agreement of client IT staff to provide remote support]]&lt;br /&gt;
&lt;br /&gt;
== Initial Connection to the server before setting up permanent remote connection ==&lt;br /&gt;
&lt;br /&gt;
In case of a remote installation you need to get an initial connection to the server before you can setup Cygwin for a permanent remote connection. For this purpose you can either use your customised reverse connect UltraVNC SC file or the one-time run Teamviewer utility.&lt;br /&gt;
&lt;br /&gt;
Support MUST not provide NEOSYS support via Microsoft Remote Desktop Client (RDP/RDC) on port 3389 at anytime because it is a BAD idea to simply open port 3389 since an open port 3389 attracts scanners/hackers like flies. &lt;br /&gt;
&lt;br /&gt;
Also, IT suppliers not aware of the situation often setup the initial administrator password to something obvious like &amp;quot;password&amp;quot; or the arent-I-clever &amp;quot;P@ssw0rd&amp;quot; or even blank. In this case there is a good chance internet worms will discover the &amp;quot;open door&amp;quot; and install themselves before you get the chance to put a strong password.&lt;br /&gt;
&lt;br /&gt;
If the client has already gone ahead and provided Microsoft RDP with an obvious/weak system password, then Support MANDATORY MUST get Windows reinstalled from scratch. Antivirus may not be able to tell that the server has been infected and rootkitted and therefore a scan does not prove it has not been infected.&lt;br /&gt;
&lt;br /&gt;
== Installing and configuring SSH ==&lt;br /&gt;
=== Installing Cygwin with OPENSSH ===&lt;br /&gt;
&lt;br /&gt;
These instruction are only for installing in a server NOT part of a domain. For installing in a server that is part of a domain, see http://cygwin.com/faq-nochunks.html#faq.using.sshd-in-domain&lt;br /&gt;
&lt;br /&gt;
Watch out for non-intuitive steps like clicking &amp;quot;skip&amp;quot; to install something.&lt;br /&gt;
&lt;br /&gt;
# Read [[Avoiding Corrupt Cygwin Installations]]&lt;br /&gt;
# ENSURE that you are logged in as the local (NOT DOMAIN) administrator&lt;br /&gt;
# Download/Run/Install http://www.cygwin.com/setup.exe&amp;lt;br&amp;gt;(you might have to go to the home page http://www.cygwin.com and click the link to setup.exe)&lt;br /&gt;
# Download source: &#039;&#039;&#039;Install from Internet&#039;&#039;&#039;&lt;br /&gt;
# Root Directory: &#039;&#039;&#039;c:\cygwin&#039;&#039;&#039;&lt;br /&gt;
# Local Package Directory: &#039;&#039;&#039;c:\cygwin.lib&#039;&#039;&#039;&lt;br /&gt;
# Choose &amp;quot;yes&amp;quot; to &amp;quot;Folder does not exist. Create new?&amp;quot;&lt;br /&gt;
# Internet Connection: &#039;&#039;&#039;Direct Connection&#039;&#039;&#039;&lt;br /&gt;
# Download Site: &#039;&#039;&#039;http://mirrors.kernel.org&#039;&#039;&#039; (near the bottom)&amp;lt;br&amp;gt;(If this does not show in the list, key in the URL in the field &#039;&#039;&#039;User URL&#039;&#039;&#039; and click on Add)&lt;br /&gt;
# Select Packages: Maximise window then click &#039;&#039;&#039;View&#039;&#039;&#039; once to get &#039;&#039;&#039;Full&#039;&#039;&#039;. You can then enter the name of the desired packages in the Search box to speed up location of the desired packages.&lt;br /&gt;
# Next to the package &#039;&#039;&#039;OPENSSH&#039;&#039;&#039;, click the word &#039;&#039;&#039;Skip&#039;&#039;&#039; (once!) to get version 4.4p1-1 or later&lt;br /&gt;
# Next to the package &#039;&#039;&#039;NANO&#039;&#039;&#039;, click the word &#039;&#039;&#039;Skip&#039;&#039;&#039; (once!) to get the latest version available&lt;br /&gt;
# Check the NEOSYS INSTALLATION CHECKLIST for any other packages to install like the above.&lt;br /&gt;
# Click Next and complete the installation&lt;br /&gt;
&lt;br /&gt;
=== Win32 Error ===&lt;br /&gt;
&lt;br /&gt;
The Win32 Error occur when the bad file is cached in internet explorer cache. You can try clearing the internet explorer cache and redownloading or you can try to download from cygwin.com instead of www.cygwin.com so it doesnt look in the cache or www.cygwin.com if your original download was from cygwin.com. All else failing, you can simply upload the setup.exe file from your own pc to the server. &lt;br /&gt;
&lt;br /&gt;
All this relates to win32 error when running a downloaded file. Any downloaded file and not just cygwin.com/setup.exe&lt;br /&gt;
&lt;br /&gt;
===Error during setup===&lt;br /&gt;
&lt;br /&gt;
In case of the following error, check for proxy settings in internet explorer. It is possible that the client uses a proxy setting. In that case, in Step 7 instead of choosing &amp;lt;b&amp;gt;Direct Connection&amp;lt;/b&amp;gt;, choose &amp;lt;b&amp;gt;Use Internet Explorer Proxy Setting&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 Unable to get setup.ini from &amp;lt;http://mirrors.kernel.org/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Cygwin install error.png]]&lt;br /&gt;
&lt;br /&gt;
=== Configuring and starting SSHD ===&lt;br /&gt;
Open the Cygwin icon to get a linux/bash command line and type:&lt;br /&gt;
&lt;br /&gt;
Run the following commands:&lt;br /&gt;
&lt;br /&gt;
 chmod +r /etc/passwd&lt;br /&gt;
 chmod +r /etc/group&lt;br /&gt;
 chmod 777 /var&lt;br /&gt;
&lt;br /&gt;
Refer [[Setting_up_and_using_remote_support#Reinstalling_SSHD_if_service_fails_to_startup| here]] if you get an error while doing the above steps.&lt;br /&gt;
&lt;br /&gt;
Prevent cygwin from using Unix like permissions on files it creates&lt;br /&gt;
&lt;br /&gt;
 nano /etc/fstab&lt;br /&gt;
&lt;br /&gt;
add the line&lt;br /&gt;
&lt;br /&gt;
 none /cygdrive cygdrive binary,posix=0,user,noacl 0 0&lt;br /&gt;
&lt;br /&gt;
Thereafter start with the ssh configuration:&lt;br /&gt;
&lt;br /&gt;
 ssh-host-config&lt;br /&gt;
&lt;br /&gt;
Then on the following options type:&lt;br /&gt;
 StrictModes                 -   NO&lt;br /&gt;
 Privilege                   –   YES&lt;br /&gt;
 New local sshd account      -   YES&lt;br /&gt;
 Install SSHD as a service   -   YES&lt;br /&gt;
 Enter value of daemon       -   press enter (not &amp;quot;ntsec&amp;quot; as it used to be)&lt;br /&gt;
 Different name              -   NO&lt;br /&gt;
 Create new privileged user  -   YES&lt;br /&gt;
 Enter a password now        -   Set any random password and should not be the same as the neosys server (8 characters min)&lt;br /&gt;
&lt;br /&gt;
At the command prompt type&lt;br /&gt;
&lt;br /&gt;
 net start sshd&lt;br /&gt;
&lt;br /&gt;
=== Configuring SSHD to use a non-standard port number ===&lt;br /&gt;
This is necessary if the router cannot forward port 19580 --&amp;gt; 22 and we don’t want to open port 22 directly.&lt;br /&gt;
&lt;br /&gt;
Capitalization is signification in cygwin/linux commands&lt;br /&gt;
&lt;br /&gt;
open cygwin command prompt&lt;br /&gt;
 cd /etc&lt;br /&gt;
 chown administrator sshd_config&lt;br /&gt;
 nano sshd_config (assuming that you have installed the NANO editor)&lt;br /&gt;
 notepad sshd_config (incase you havent installed the NANO editor)&lt;br /&gt;
Move your cursor to &#039;&#039;&#039;Port 22&#039;&#039;&#039; and change 22 to 19580. &amp;lt;br&amp;gt;&lt;br /&gt;
Also add the last line to the following section. Refer [[Setting_up_and_using_remote_support#Solving_.22Authentication_that_can_continue:_publickey.2Cpassword.22_Error_when_connecting_to_remote_servers_via_remote_access_clients| Error when connecting to remote servers]] to see why this line is added.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Change to no to disable s/key passwords&lt;br /&gt;
#ChallengeResponseAuthentication yes&lt;br /&gt;
ChallengeResponseAuthentication no&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Press Ctrl+x to save. On the confirmation type Y and on the next prompt hit enter.&lt;br /&gt;
 chown system sshd_config&lt;br /&gt;
 net stop sshd&lt;br /&gt;
 net start sshd&lt;br /&gt;
&lt;br /&gt;
To check that the connection to port 19580 is successful you can run the following test:&lt;br /&gt;
 ssh -p 19580 administrator@localhost&lt;br /&gt;
&lt;br /&gt;
You will be prompted to confirm the connection (say yes)&lt;br /&gt;
&lt;br /&gt;
Now enter the system password to complete the procedure.&lt;br /&gt;
&lt;br /&gt;
=== Changing ssh login from “Administrator” to “administrator” ===&lt;br /&gt;
Current NEOSYS policy to cater for recent versions of Cygwin is to rename the windows Administrator user to administrator to keep a consistent ssh login across all installations.&lt;br /&gt;
&lt;br /&gt;
If you forget to do this before installing or upgrading Cygwin then you must to the following:&lt;br /&gt;
&lt;br /&gt;
#Rename “Administrator” to “administrator” in Windows&lt;br /&gt;
#*If you cannot rename Administrator to administrator, follow the procedure mentioned at [[Changing username from Administrator to administrator]]&lt;br /&gt;
#In a Cygwin console do:&lt;br /&gt;
&lt;br /&gt;
 mkpasswd &amp;gt; /etc/passwd&lt;br /&gt;
&lt;br /&gt;
It should come back with nothing&lt;br /&gt;
&lt;br /&gt;
=== Error while changing Cygwin port 22 to 19580 ===&lt;br /&gt;
&lt;br /&gt;
Error Message:&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;Could not open file for writing: permission denied&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Occurrence:&lt;br /&gt;
Sometimes when you edit the sshd_config file through NANO.&lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
In SSH shell, follow these commands:&lt;br /&gt;
&lt;br /&gt;
 cp sshd_config ashwin_temp #copies sshd_config to a new file ashwin_temp&lt;br /&gt;
 rm sshd_config             #deletes sshd_config&lt;br /&gt;
 cp ashwin_temp sshd_config #copies ashwin_temp to sshd_config&lt;br /&gt;
&lt;br /&gt;
In case it does not copy sshd_config to ashwin_temp, than check whether an ashwin_temp filename exists and delete it using the rm command.&lt;br /&gt;
&lt;br /&gt;
=== Opening up ssh connections to additional source ip nos ===&lt;br /&gt;
&lt;br /&gt;
Starting a NEOSYS process will automatically restrict cygwin ssh to accept connections from known NEOSYS company static ip numbers.&lt;br /&gt;
&lt;br /&gt;
In the cygwin command line, insert a line in the list of allowable hosts&lt;br /&gt;
&lt;br /&gt;
DO NOT ALLOW ALL OR GENERAL SSH ACCESS TO NEOSYS CLIENTS SERVERS WITHOUT GETTING PERMISSION *AND* INSTALLING EMAIL ALERTS FOR LOGINS AS DESCRIBED BELOW&lt;br /&gt;
&lt;br /&gt;
 nano /etc/hosts.allow&lt;br /&gt;
&lt;br /&gt;
 sshd: ALL&lt;br /&gt;
&lt;br /&gt;
or a ip numbers or CIDR format&lt;br /&gt;
&lt;br /&gt;
 sshd 12.34.56.78&lt;br /&gt;
 sshd 12.34.0.0/16&lt;br /&gt;
&lt;br /&gt;
=== Setting up email alerts for cygwin ssh logins  ===&lt;br /&gt;
&lt;br /&gt;
Use http://www.cygwin.com/setup.exe to install &amp;quot;email&amp;quot; and &amp;quot;whois&amp;quot; packages&lt;br /&gt;
&lt;br /&gt;
Insert the following script using cygwin command prompt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOTE! it@neosys.com to whatever you want.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 cd /etc&lt;br /&gt;
 nano sshrc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
#you configure this&lt;br /&gt;
&lt;br /&gt;
ALERTEMAILADDRESS=it@neosys.com&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
#get the ip number without the ipv6 prefix&lt;br /&gt;
FROMIPNO=`echo $SSH_CLIENT|cut -f 1 -d &amp;quot; &amp;quot;|sed &#039;s/::ffff://&#039;`&lt;br /&gt;
#&lt;br /&gt;
#quit with no message if from a known host&lt;br /&gt;
&lt;br /&gt;
if grep -x $FROMIPNO /etc/trustedipnos&lt;br /&gt;
then exit&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
#get the host name by reverse lookup&lt;br /&gt;
&lt;br /&gt;
FROMHOST=`nslookup $FROMIPNO|grep &amp;quot;name =&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
#get whois info about the login ip number&lt;br /&gt;
&lt;br /&gt;
#and pipe it into the mail program&lt;br /&gt;
#&amp;quot;&amp;amp;&amp;quot; on the end creates a new process in order not to delay login&lt;br /&gt;
&lt;br /&gt;
whois $FROMIPNO|\&lt;br /&gt;
email -q -f nl1@neosys.com -s &amp;quot;login $USER $FROMIPNO $FROMHOST&amp;quot; -r \&lt;br /&gt;
mailout.neosys.com -p 2500 $ALERTEMAILADDRESS&amp;amp;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure that you configure the file permissions&lt;br /&gt;
&lt;br /&gt;
 chmod a+x sshrc&lt;br /&gt;
&lt;br /&gt;
Inserted trusted ip nos.&lt;br /&gt;
&lt;br /&gt;
 cd /etc&lt;br /&gt;
 nano trustedipnos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#sorry, ip ranges and cidr etc not accepted yet&lt;br /&gt;
&lt;br /&gt;
#vm1.neosys.com for remote checking&lt;br /&gt;
85.17.154.105&lt;br /&gt;
&lt;br /&gt;
#nl1.neosys.com&lt;br /&gt;
83.149.104.167&lt;br /&gt;
&lt;br /&gt;
#nl2.neosys.com&lt;br /&gt;
85.17.154.66&lt;br /&gt;
&lt;br /&gt;
#uk.neosys.com&lt;br /&gt;
78.143.212.191&lt;br /&gt;
&lt;br /&gt;
#nl3.neosys.com&lt;br /&gt;
94.75.233.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure that you configure the file permissions&lt;br /&gt;
&lt;br /&gt;
 chmod a+x sshrc&lt;br /&gt;
&lt;br /&gt;
=== Testing SSH connection to the NEOSYS server over port 19580 ===&lt;br /&gt;
&lt;br /&gt;
If you cannot connect to the server using SSH, see [[Troubleshooting_NEOSYS_Generally#Troubleshooting_NEOSYS_remote_support_port_forwarding|Troubleshooting NEOSYS remote support port forwarding]]&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting SSH: If SSH connects and then disconnects immediately without exchanging keys ===&lt;br /&gt;
 &lt;br /&gt;
The first time that NEOSYS runs, it automatically adds source ip number restrictions to the sshd remote support configuration in /etc/hosts.allow and /etc/hosts.deny. This is an important security procedure to allow connection to clients systems from NEOSYS ip numbers only. This process allows only local and known NEOSYS ip numbers to connect using SSH. Upgrading NEOSYS will add and/or remove allowable ip numbers as NEOSYS configuration changes.&lt;br /&gt;
&lt;br /&gt;
It is possible that in some client network configurations incoming ssh connections will appear to be from the clients internal routers with an ip unknown to NEOSYS due to NAT configurations. Therefore ssh connections will be blocked unless specifically allow the local ip number or it is added into an upgraded version of NEOSYS.&lt;br /&gt;
&lt;br /&gt;
NOTE: Therefore you must check that remote support via ssh works AFTER you have run NEOSYS once (maintenance mode). &lt;br /&gt;
 &lt;br /&gt;
#Look in the Windows, Computer Management, System Tools, Event Viewer, Application&lt;br /&gt;
#Search for entries from source &amp;quot;sshd&amp;quot;, double click and look in the Event Properties, Description for ip numbers&lt;br /&gt;
#Information type sshd entries will give the ip number of successful sshd connections.&lt;br /&gt;
#Warning type sshd entries will give the ip number of failed sshd connections.&lt;br /&gt;
#Find the ip number of failed connections.&lt;br /&gt;
&lt;br /&gt;
==== Possible Problem 1 - Port mapping in router is using NAT ====&lt;br /&gt;
&lt;br /&gt;
If the ip number of failed connections is some local ip number (of the router for example) then possibly the inbound port forwarding has been done with NAT and the source ip number has been lost. Therefore the NEOSYS ip restrictions are blocking ssh connections because they appear to be coming from an unknown ip number (ie that of the router)&lt;br /&gt;
&lt;br /&gt;
==== Solution 1A ====&lt;br /&gt;
&lt;br /&gt;
Change the router configuration to not use NAT and leave the genuine original source IP number&lt;br /&gt;
&lt;br /&gt;
==== Solution 1B ====&lt;br /&gt;
The router is sadly using NAT instead of plain old port forwarding.&lt;br /&gt;
&lt;br /&gt;
DO NOT USE THIS PROCEDURE TO BREAK NEOSYS SECURITY. DO NOT GRANT ACCESS TO ANY IP OTHER THAN CLIENTS ROUTER IPS&lt;br /&gt;
&lt;br /&gt;
The solution is to add NAT router IP to the list of authorised IP numbers on the NEOSYS server. This solution provides access to NEOSYS server from outside office unrestricted by IP number, hence Client Management approval must be obtained before this solution is applied.&lt;br /&gt;
&lt;br /&gt;
Sample Email to Management-&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Dear XXXX,&lt;br /&gt;
 &lt;br /&gt;
 Support must have remote access to the NEOSYS server via SSH but currently we don’t have access.&lt;br /&gt;
 &lt;br /&gt;
 This is because your router is using NAT. The NAT router translates the source IP to its own hence the source IP is lost. NEOSYS server &lt;br /&gt;
 has  a list of allowed source IPs and since the router’s IP is not in the list, connection fails.&lt;br /&gt;
 &lt;br /&gt;
 The solution to establish successful connectivity is to allow access to NEOSYS server from your NAT router by adding the router’s IP in&lt;br /&gt;
 list of allowed IPs on the server.&lt;br /&gt;
 &lt;br /&gt;
 We need your agreement to carry out this solution because authorizing this access means access to NEOSYS from outside office will not be  &lt;br /&gt;
 restricted by IP any more.&lt;br /&gt;
 &lt;br /&gt;
 Please confirm that this solution is OK.&lt;br /&gt;
 &lt;br /&gt;
 Best Regards&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
On receipt of Management approval, add the routers IP number to the list of authorised IP numbers in the cygwin hosts.allow file as follows:&lt;br /&gt;
&lt;br /&gt;
 nano /etc/hosts.allow&lt;br /&gt;
&lt;br /&gt;
and add the line as follows but put the IP number of your router&lt;br /&gt;
&lt;br /&gt;
 sshd: allow 192.168.0.99&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Warning&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#If the router IP changes then NEOSYS remote support will fail until this line is changed&lt;br /&gt;
#Do not grant access to 192.168.* etc. since this allows local LAN viruses to attack&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting sshd ===&lt;br /&gt;
&lt;br /&gt;
You can run the sshd service interactively to see all messages instead of having to search logs/events etc.&lt;br /&gt;
&lt;br /&gt;
Unfortunately this will not work the same as the normal windows sshd service unless you assume the identity of the sshd_server user. To assume the identity of the sshd_server user you will have to reset its password to something new (since we dont take a record of it during sshd-host-setup) AND ALSO place the new password in the logon properties of the sshd windows service.&lt;br /&gt;
&lt;br /&gt;
 su sshd_server&lt;br /&gt;
 /usr/sbin/sshd -D -p 19580&lt;br /&gt;
&lt;br /&gt;
=== Reinstalling SSHD if service fails to startup ===&lt;br /&gt;
&lt;br /&gt;
====Error message====&lt;br /&gt;
 chmod: cannot access &#039;/etc/passwd&#039;: No such file or directory&lt;br /&gt;
 chmod: cannot access ‘/etc/group’: No such file or directory&lt;br /&gt;
&lt;br /&gt;
====Solution====&lt;br /&gt;
Sometimes reinstallation isnt necessary and sshd can be made to restart by doing&lt;br /&gt;
 &lt;br /&gt;
 mkpasswd &amp;gt; /etc/passwd&lt;br /&gt;
 mkgroup &amp;gt; /etc/group&lt;br /&gt;
&lt;br /&gt;
If all else fails:&lt;br /&gt;
&lt;br /&gt;
#Look in &#039;&#039;&#039;/var/log/sshd.log&#039;&#039;&#039; for errors&lt;br /&gt;
#Delete the following users: &#039;&#039;&#039;sshd&#039;&#039;&#039; and &#039;&#039;&#039;sshd_server&#039;&#039;&#039;&lt;br /&gt;
#Remove the sshd service at the cygwin prompt type &#039;&#039;&#039;cygrunsrv –R sshd&#039;&#039;&#039;&lt;br /&gt;
#Do the above Configuration and starting SSHD step again&lt;br /&gt;
&lt;br /&gt;
Note that you don&#039;t have to reinstall cygwin entirely, just sshd with the above steps.&lt;br /&gt;
&lt;br /&gt;
== Upgrading SSHD / Cygwin ==&lt;br /&gt;
NEOSYS relies on cygwin to provide secure network access and support various linux/unix services under Windows, mainly rsync for interoffice consolidation.&lt;br /&gt;
&lt;br /&gt;
Just like MS Windows update, cygwin should be updated at regular intervals to close security holes discovered in the software by its authors. This is particularly important for cygwin&#039;s remote access service sshd since it is exposed to the internet although on a non-standard port.&lt;br /&gt;
&lt;br /&gt;
Join the cygwin and sshd security news email lists to learn about when cygwin upgrades sshd and/or when there are issues generally with sshd&lt;br /&gt;
&lt;br /&gt;
To find out what versions of cygwin/sshd are installed at NEOSYS clients, in Nagios check &amp;quot;Status Information&amp;quot; of the neosys-ssh service &lt;br /&gt;
&lt;br /&gt;
 SSH OK - OpenSSH_5.9 (protocol 2.0) &lt;br /&gt;
&lt;br /&gt;
=== Upgrading Cygwin remotely ===&lt;br /&gt;
&lt;br /&gt;
NEOSYS normal remote server support connection uses cygwin/ssh. Cygwin can be upgraded while in use with a script as explained in the section below.&lt;br /&gt;
&lt;br /&gt;
==== Upgrading Cygwin with a script ====&lt;br /&gt;
&lt;br /&gt;
The following script can be used to automatically upgrade cygwin to the latest version quite easily even when people are using NEOSYS. However it carries a small risk described below.&lt;br /&gt;
&lt;br /&gt;
WARNING This script temporarily disconnects and disables all ssh remote support connections, including any ssh connection you are using to initiate the process, for the duration of the upgrade.&lt;br /&gt;
&lt;br /&gt;
Since something may go wrong and the script might FAIL to re enable ssh remote connections, you can take one of the precautionary measures listed below.&lt;br /&gt;
&lt;br /&gt;
* either perform a temporary Teamviewer installation. The quick teamviewer zero installation remote support method will not work under rdp/tunnelier/remmina&lt;br /&gt;
* or ensure that client IT support is available ONSITE to provide temporary teamviewer access in the event of any problem&lt;br /&gt;
* or be prepared to lose the ability to provide remote support to the installation until the previous item is available&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TeamViewer 9 issue&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When attempting to connect to client server via TeamViewer 9 (setup via Tunnelier with unattended access) it shows the error below&lt;br /&gt;
&lt;br /&gt;
[[File:TVerror.jpg]]&lt;br /&gt;
&lt;br /&gt;
SOLUTION: Install TeamViewer 7 which does not give this error. Contact NEOSYS IT for TeamViewer7 commercial license. You must have the client server&#039;s administrator password to login using TeamViewer. After the upgrade, REMOVE SETTINGS for unattended access and UNINSTALL Teamviewer. Teamviewer must NOT BE LEFT with permanent login by number and password! Teamviewer options, security, REMOVE &amp;quot;Predefined password (For unattended access)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===== Running the script =====&lt;br /&gt;
&lt;br /&gt;
[[Setting_up_and_using_remote_support#Finding_the_script|Just locate the upgradecygwin.cmd script]] and run it some usual way by clicking and pressing Enter. &lt;br /&gt;
&lt;br /&gt;
You MUST inspect the version of the pre-installed script against the http version and upgrade to the latest. As the script is updated with fixes for problems faced in the past.&lt;br /&gt;
&lt;br /&gt;
If you initiate the script while connected on ssh using tunnelier/remmina etc. half way through the script you will be disconnected.&lt;br /&gt;
&lt;br /&gt;
The script will take a few minutes to download and install any cygwin upgrades.&lt;br /&gt;
&lt;br /&gt;
Once the script is finished, it will re enable creation of new incoming ssh connections and attempt to send an email to support@neosys.com via the standard mailout.neosys.com:2500 email server.&lt;br /&gt;
&lt;br /&gt;
You should then be able to reconnect using ssh and tunnelier/remmina. If you do not get any email then perhaps the script is unable to send email to the standard mailout.neosys.com:2500 email server due to a firewall. In this case after 10 minutes or so you should be able to reconnect using ssh anyway.&lt;br /&gt;
&lt;br /&gt;
*upgradecygwin.log - contents of the email that would have been sent&lt;br /&gt;
*upgradecygwin.err - any errors that prevent sending email&lt;br /&gt;
&lt;br /&gt;
If you cannot connect on ssh using tunnelier/remmina after say 20 minutes then the script must have failed. To resolve that problem, either use your existing Teamviewer connection or get client IT support to physically access the server to install Teamviewer for you.&lt;br /&gt;
&lt;br /&gt;
Running the script multiple times will not cause any issue. If there is little or nothing to upgrade then the time to complete will be short since there is less to download and install.&lt;br /&gt;
&lt;br /&gt;
===== Verifying successful run =====&lt;br /&gt;
&lt;br /&gt;
#You must carefully inspect the email or log for &amp;quot;error&amp;quot; or &amp;quot;fail&amp;quot; and intelligently and thoughtfully find any other unexpected results and deal with them. It is impossible to give guidelines for everything so this requires brainwork.&lt;br /&gt;
#[[Setting_up_and_using_remote_support#How_to_check_Cygwin_version_.3F|You must check the versions of &amp;quot;cygwin&amp;quot; and &amp;quot;openssh&amp;quot;]] at a minimum and ensure they agree with the latest expected version numbers.&lt;br /&gt;
#You must check for the word &amp;quot;reboot&amp;quot; especially in the following scenarios:&lt;br /&gt;
&lt;br /&gt;
 Installing file cygfile:///usr/bin/cygwin1.dll&lt;br /&gt;
 io_stream_cygfile: fopen(/usr/bin/cygwin1.dll) failed 13 Permission denied&lt;br /&gt;
 Failed to open cygfile:///usr/bin/cygwin1.dll for writing.&lt;br /&gt;
 Scheduled reboot replacement of file C:\cygwin\bin/cygwin1.dll with C:\cygwin\bin/cygwin1.dll.new&lt;br /&gt;
&lt;br /&gt;
 mbox note: In-use files have been replaced. You need to reboot as soon as possible to activate the new versions. Cygwin may operate  &lt;br /&gt;
 incorrectly until you reboot.&lt;br /&gt;
&lt;br /&gt;
 note: In-use files have been replaced. You need to reboot as soon as possible to activate the new versions. Cygwin may operate incorrectly &lt;br /&gt;
 until you reboot.&lt;br /&gt;
 Ending cygwin install&lt;br /&gt;
&lt;br /&gt;
===== Dealing with reboot required =====&lt;br /&gt;
&lt;br /&gt;
The script attempts to shutdown sshd and some services that may be present in some installations like rsync and exim.&lt;br /&gt;
&lt;br /&gt;
The script attempts to avoid causing &amp;quot;reboot required&amp;quot; by stopping the upgrade if any cygwin processes are found to be running. &amp;quot;Reboot required&amp;quot; indicates that some cygwin program was running while the upgrade process was running and this usually IRRETRIEVABLY BREAKS the cygwin functionality because cygwin&#039;s upgrade isnt smart enough to deal with this.&lt;br /&gt;
&lt;br /&gt;
It is quite likely that a reboot will NOT solve various problems.&lt;br /&gt;
&lt;br /&gt;
Rerunning the script will not show the errors again but the problem of bad upgrade.&lt;br /&gt;
&lt;br /&gt;
SOLUTION: You should completely clean out all traces of cygwin in the computer and then reinstall cygwin completely from scratch. How to clean thoroughly is documented in wiki.&lt;br /&gt;
&lt;br /&gt;
===== Finding the script =====&lt;br /&gt;
&lt;br /&gt;
The script is installed in the neosys\neosys directory or for older versions of NEOSYS it can be created or upgraded as follows:&lt;br /&gt;
&lt;br /&gt;
First find the text of the script at http://www.neosys.com/support/upgradecygwin.cmd&lt;br /&gt;
&lt;br /&gt;
Then, assuming that NEOSYS is installed in the root directory of D:&lt;br /&gt;
&lt;br /&gt;
Single installation&lt;br /&gt;
 notepad d:\neosys\neosys\upgradecygwin.cmdzz&lt;br /&gt;
&lt;br /&gt;
Multiple installation&lt;br /&gt;
 notepad d:\hosts\CLIENTCODE\neosys\upgradecygwin.cmd&lt;br /&gt;
&lt;br /&gt;
==== How to check Cygwin version ?  ====&lt;br /&gt;
&lt;br /&gt;
If you are looking for the version number for the whole Cygwin release, there is none. &lt;br /&gt;
&lt;br /&gt;
Each package in the Cygwin release has its own version. You can find out the Cygwin.dll version by using the following command:&lt;br /&gt;
&lt;br /&gt;
 cygcheck -V&lt;br /&gt;
&lt;br /&gt;
To find the version of the Cygwin Package installed, you can use &lt;br /&gt;
&lt;br /&gt;
 cygcheck -c PACKAGE_NAME&lt;br /&gt;
&lt;br /&gt;
eg - To check the version of the openssh package you will have to type the following command in cygwin:&lt;br /&gt;
&lt;br /&gt;
 cygcheck -c openssh&lt;br /&gt;
&lt;br /&gt;
The output should be as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Package           Version           Status&lt;br /&gt;
 openssh           6.0p1-2             OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to uninstall/reinstall cygwin ==&lt;br /&gt;
&lt;br /&gt;
With setup.exe (the installer file of cygwin) you can uninstall individual packages but not Cygwin.&lt;br /&gt;
&lt;br /&gt;
Before you do this, make sure you have stopped the cygwin service (NET STOP SSHD), removed the sshd server (cygrunsrv -R sshd), deleted the sshd &amp;amp; sshd_server users (net user sshd /DELETE)&lt;br /&gt;
&lt;br /&gt;
To uninstall Cygwin you have to run the following in DOS prompt:&lt;br /&gt;
&lt;br /&gt;
 rmdir /s /q C:\cygwin&lt;br /&gt;
&lt;br /&gt;
You cannot delete the cygwin folder from Windows explorer due to a Access Denied error and this is the best way to uninstall cygwin.&lt;br /&gt;
&lt;br /&gt;
== Adding packages to Cygwin after installation ==&lt;br /&gt;
&lt;br /&gt;
Adding packages causes Cygwin to also upgrade but upgrade requires a special process because it cant be upgraded remotely while Cygwin sshd server is working.&lt;br /&gt;
&lt;br /&gt;
#Upgrade Cygwin&lt;br /&gt;
#Add the package using Cygwin normal setup program&lt;br /&gt;
&lt;br /&gt;
Step 1 is NOT optional if you want to do step 2.&lt;br /&gt;
&lt;br /&gt;
In the above procedure upgrade Cygwin using the script and follow the precautionary measures listed in [[Setting up and using remote support#Upgrading Cygwin with a script | Upgrade using script]], in case script fails to renable ssh remote connection. Next run setup.exe file present in D:\neosys\neosys to install the required the package.&lt;br /&gt;
&lt;br /&gt;
=== Adding individual packages to cygwin without doing a full upgrade ===&lt;br /&gt;
&lt;br /&gt;
You can add individual packages to cygwin without doing a full upgrade in many cases. The installed or upgraded version of cygwin should be recent since the current version of the package you want to install might not work with an old version installed cygwin.dll.&lt;br /&gt;
&lt;br /&gt;
To figure out if the cygwin version is recent and will be compatible with the new package, compare the current installed version with the latest version of cygwin.&lt;br /&gt;
&lt;br /&gt;
Cygwin DLL has been named cygwin1.dll and the number 1 is present in the beginning of the release name. Additionally there are DLL major and minor numbers that correspond to the name of the release and a release number respectively. The major version number gets incremented only when a change is made that makes existing software incompatible. The minor version changes every time a new backward compatible Cygwin release is made available. Therefore we need to check the major version of cygwin on the server.&lt;br /&gt;
&lt;br /&gt;
In other words cygwin-1.7.1-2 means cygwin1.dll, major version 7, minor version 1 and release 2.&lt;br /&gt;
&lt;br /&gt;
e.g if the current version of Cygwin DLL is 2.3.0 and latest version is 2.4.1-1 that means there is a change in the major version from 3 to 4 so we cannot go ahead with installing a new package.&lt;br /&gt;
&lt;br /&gt;
Commands below to add or remove packages. Press the View button repeatedly in the installation wizard to get to &amp;quot;Pending&amp;quot; to see what will be installed.&lt;br /&gt;
 #adding&lt;br /&gt;
 setup-x86 -P PACKAGE_NAME&lt;br /&gt;
&lt;br /&gt;
 #removing&lt;br /&gt;
 setup-x86 -x PACKAGE_NAME&lt;br /&gt;
&lt;br /&gt;
== Getting Ownership and Permissions Correct ==&lt;br /&gt;
&lt;br /&gt;
Installation of cygwin under domain administrator account needs to be fixed as follows:&lt;br /&gt;
&lt;br /&gt;
#c:\cygwin Properties, Security, Advanced&lt;br /&gt;
#Change owner to: Administrators&lt;br /&gt;
#Tick: Replace owner on subcontainers&lt;br /&gt;
&lt;br /&gt;
After changing ownership of all cygwin folders to Administrators all ssh login will be blocked and you will get a windows application event log message. &amp;quot;root&amp;quot; actually means sshd&#039;s user which is sshd_server by default or can be found in the cygwin ssh windows services properties under log on&lt;br /&gt;
&lt;br /&gt;
 fatal: /var/empty must be owned by root and not group or world-writable.&lt;br /&gt;
&lt;br /&gt;
Fix this in cygwin console as follows:&lt;br /&gt;
&lt;br /&gt;
 chown sshd_server /var/empty&lt;br /&gt;
&lt;br /&gt;
== Configuring Firewall/Router ==&lt;br /&gt;
&lt;br /&gt;
You will have to port forward 19580 on the router to port 19580 on the neosys server. Some routers call port forwarding “port mapping” or “virtual servers”&lt;br /&gt;
&lt;br /&gt;
It is BAD idea to simply open port 22 since an open port 22 attracts scanners/hackers like flies.&lt;br /&gt;
&lt;br /&gt;
Configure port forwarding of port 4430 ONLY if access from outside office is required by the client. Support MUST obtain Client management permission before port forwarding 4430.&lt;br /&gt;
&lt;br /&gt;
== Configuring Specific Client Routers ==&lt;br /&gt;
&lt;br /&gt;
[[Adline Dubai - CISCO PIX Firewall]]&lt;br /&gt;
&lt;br /&gt;
[[Sonicwall Firewall Configuration]]&lt;br /&gt;
&lt;br /&gt;
== How to install ssh on port 19580 over vnc on port 19580 ==&lt;br /&gt;
&lt;br /&gt;
Install vnc on port 19580&lt;br /&gt;
 &lt;br /&gt;
connect on vnc&lt;br /&gt;
 &lt;br /&gt;
setup cygwin sshd on port 22&lt;br /&gt;
 &lt;br /&gt;
test you can login on port 22&lt;br /&gt;
&lt;br /&gt;
 ssh neosys@127.0.0.1&lt;br /&gt;
 &lt;br /&gt;
change sshd port to 19580 (but it wont start)&lt;br /&gt;
 &lt;br /&gt;
schedule a windows system reboot in 10 mins at windows command prompt&lt;br /&gt;
 &lt;br /&gt;
 shutdown -t 600&lt;br /&gt;
 &lt;br /&gt;
change vnc port to 5900 (if will disconnect you)&lt;br /&gt;
 &lt;br /&gt;
wait for 10 mins and try to ssh login on port 19580&lt;br /&gt;
&lt;br /&gt;
== Changing user on Cygwin==&lt;br /&gt;
&lt;br /&gt;
On SSH command line:&lt;br /&gt;
&lt;br /&gt;
 ssh neosys@127.0.0.1 (where &#039;neosys&#039; is the username)&lt;br /&gt;
&lt;br /&gt;
== Installing and configuring UltraVNC ==&lt;br /&gt;
&lt;br /&gt;
VNC/Putty is not typically used for NEOSYS remote support anymore and has been replaced by tunnelier/rdp&lt;br /&gt;
&lt;br /&gt;
[[Installing and configuring UltraVNC]]&lt;br /&gt;
&lt;br /&gt;
== Remote Desktop Connection ==&lt;br /&gt;
&lt;br /&gt;
Servers are normally not exposed to the internet so IT staff and suppliers are often not careful to use strong passwords and use things like &amp;quot;password&amp;quot; or blank.&lt;br /&gt;
&lt;br /&gt;
Given the above, it is NEOSYS policy NOT to use remote desktop via direct access from the internet at all and especially not long term. This is to prevent worms from instantly discovering possible entry points - typically before NEOSYS can even begin to enforce strong administrator password.&lt;br /&gt;
&lt;br /&gt;
If it is otherwise IMPOSSIBLE (difficult or inconvenient does NOT count as impossible!) to avoid using remote desktop protocol to the public internet then a simple and effective way of significantly increasing security is to change the remote desktop port from 3389 to something else e.g. 33890 as per NEOSYS convention.&lt;br /&gt;
&lt;br /&gt;
=== Changing RDC port from standard to nonstandard ===&lt;br /&gt;
&lt;br /&gt;
# Start Registry Editor.&lt;br /&gt;
# Locate and then click the following registry subkey:&lt;br /&gt;
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\PortNumber&lt;br /&gt;
# On the Edit menu, click Modify, and then click Decimal.&lt;br /&gt;
# Type the new port number, and then click OK.&lt;br /&gt;
# Quit Registry Editor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Solving &amp;quot;Authentication that can continue: publickey,password&amp;quot; Error when connecting to remote servers via remote access clients ==&lt;br /&gt;
&lt;br /&gt;
Some remote access clients cannot connect to ssh servers without special configuration.&lt;br /&gt;
&lt;br /&gt;
For example remina/ssh cannot connect to windows/cygwin/sshd in their default configuration.&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
[[Image:Sshremmina.jpg]]&lt;br /&gt;
&lt;br /&gt;
 SSH password authentication failed: Access denied. Authentication that can continue: publickey,password,keyboard-interactive&lt;br /&gt;
&lt;br /&gt;
=== Solution 1 ===&lt;br /&gt;
&lt;br /&gt;
If possible configure the client to not perform challenge response during login.&lt;br /&gt;
&lt;br /&gt;
There appears to be no way to do this for remina currently&lt;br /&gt;
&lt;br /&gt;
=== Solution 2 ===&lt;br /&gt;
&lt;br /&gt;
On the target server:&lt;br /&gt;
&lt;br /&gt;
Edit the ssh service configuration&lt;br /&gt;
&lt;br /&gt;
  nano /etc/sshd_config&lt;br /&gt;
&lt;br /&gt;
Add the last line to the following section&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Change to no to disable s/key passwords&lt;br /&gt;
#ChallengeResponseAuthentication yes&lt;br /&gt;
ChallengeResponseAuthentication no&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restart the ssh service&lt;br /&gt;
&lt;br /&gt;
 net stop sshd&lt;br /&gt;
 net start sshd&lt;br /&gt;
&lt;br /&gt;
Check that you can login using password from one workstation and it will be solved for all workstations for that server&lt;br /&gt;
&lt;br /&gt;
=== Solution 3 ===&lt;br /&gt;
&lt;br /&gt;
On a client workstation:&lt;br /&gt;
&lt;br /&gt;
#Use the autologin.sh script to configure automatic login. Refer [[Backup_and_Restore#Creating.2FUpgrading_autologin.sh_if_it_doesn.E2.80.99t_exist_or_is_out_of_date| Autologin.sh]]&lt;br /&gt;
#For &amp;quot;Authentication/Login Method&amp;quot; choose option &amp;quot;Public Key&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Check that you can login using password. This will have to be done on every workstation for every server so is rather tedious but it does not require reconfiguration of the server.&lt;br /&gt;
&lt;br /&gt;
=== Solution 4 ===&lt;br /&gt;
&lt;br /&gt;
On the target server, check whether .ssh/authorized_keys contains the required key containing your user name. The user name can be seen at the end of each key&lt;br /&gt;
&lt;br /&gt;
To view the authorized_keys file, open cygwin terminal and type&lt;br /&gt;
&lt;br /&gt;
 cat .ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
If authorized_keys file does not contain the required key, then copy the required key from authorized_keys.backup&lt;br /&gt;
&lt;br /&gt;
 cat .ssh/authorized_keys.backup&lt;br /&gt;
&lt;br /&gt;
Edit the authorized_keys file using the below command.&lt;br /&gt;
&lt;br /&gt;
 nano .ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
Then paste the copied key in a new line. Ensure that the key appears in a single line and then close the authorized_keys file.&lt;br /&gt;
&lt;br /&gt;
Check that you can connect to the target server using automatic SSH authentication (SSH Agent or Public key)&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Troubleshooting_NEOSYS_Generally&amp;diff=2688</id>
		<title>Troubleshooting NEOSYS Generally</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Troubleshooting_NEOSYS_Generally&amp;diff=2688"/>
		<updated>2016-05-17T10:32:37Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Removing non essential files on win3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Solving failure to start a NEOSYS server due to disk failure message ==&lt;br /&gt;
=== Problem ===&lt;br /&gt;
During a reboot process (which maybe due to a Windows update or even done by a support personnel) the NEOSYS server gets hung on the startup and shows a message &amp;quot;Boot Failure - Abort, Retry&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
=== Temporary solution ===&lt;br /&gt;
This typically happens due to the USB being plugged into the server and the boot sequence being wrong - i.e. the server trying to boot from the USB first and fails. The immediate solution would be to unplug the USB and ask the client to reboot the server again and upon successfully rebooting the system, plug the USB back again.&lt;br /&gt;
&lt;br /&gt;
=== Permanent solution ===&lt;br /&gt;
The above problem will occur every time the computer is rebooted, so you need to immediately talk to the IT Administrator of the client and ask them to rectify the boot sequence to make it boot first from the CD ROM, then the HDD and last the USB.&lt;br /&gt;
&amp;lt;BR&amp;gt;Allowing &amp;quot;Boot from USB&amp;quot; causes a severe risk of infection by boot sector viruses since the first infected USB device inserted WILL infect the server immediately as anti-virus programs are not active during boot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting the &amp;quot;Database not available&amp;quot; error message == &lt;br /&gt;
=== Problem explained ===&lt;br /&gt;
This error appears when you try to login to NEOSYS after you enter your username and password and click the Login button.&lt;br /&gt;
&lt;br /&gt;
[[image:database_unavailable.jpg]]&lt;br /&gt;
&lt;br /&gt;
Error message : &lt;br /&gt;
&lt;br /&gt;
 Cannot login because : &lt;br /&gt;
 Error :  The (database code) database is not available right now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the error message appears post login i.e. when users are working on the system then check if processes are free to run user request.&lt;br /&gt;
&lt;br /&gt;
[[image:not_available.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Solution explained ===&lt;br /&gt;
# Determine if the processes are running. If they are running and you still get the same message that means that either the processes have [[Troubleshooting_NEOSYS_Generally#Troubleshooting_Hung_processes|hung]] and need to be [[Troubleshooting_NEOSYS_Generally#How_to_kill_hung_NEOSYS_processes|killed]]. Or the processes are busy to run user requests and a new process needs to be started. &lt;br /&gt;
# If the processes are not visible on the destop, it is possible that they are running in the background and have hung for some reason. Check the windows task manager to see if any ‘ntvdm’ process is running and [[Troubleshooting_NEOSYS_Generally#If_NEOSYS_processes_are_not_visible_on_the_server_desktop|fix hung processes]].&lt;br /&gt;
# If there is no trace of any process running, that means the process probably did not start at the scheduled time. Refer to the &#039;Hung Process Reports&#039; to verify this claim. &lt;br /&gt;
# If the process had not hung, then the server might have restarted due to a power failure or a windows update and the administrator user had not logged in post the scheduled startup time of 6AM. To determine this cause, investigate in the Windows Event Viewer Log file.&lt;br /&gt;
# You can now start up the process by clicking on the respective desktop icons.&lt;br /&gt;
# Also check if the backup took place successfully or not. If not take a manual backup.&lt;br /&gt;
# Look into the logs at the date/time stated for the last transaction processed to investigate why process got hung.See [[Troubleshooting_NEOSYS_Generally#Inspecting_Database_LOGS_Folder| Inspecting logs]] for more information on logs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;quot;user not authorised to login from a location&amp;quot; error message ==&lt;br /&gt;
[[image:IPerror.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error message:&#039;&#039;&#039;&lt;br /&gt;
 xxx is not authorised to login form the location (IP Number. xx.xx.xx.xx)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution Explained:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Check the URL used and follow the steps below to check if it is correct and email the user accordingly.&lt;br /&gt;
#If the Client installation is hosted on NEOSYS server then users can use only https link to access NEOSYS.&lt;br /&gt;
#*Check with the client&#039;s management if this particular IP is their public IP.&lt;br /&gt;
#*Add IP on management confirmation (Refer to [[Procedures#Handling_User_Requests_to_add_an_IP_or_range_of_IPs_to_access_NEOSYS|Handling User Requests to add IP/IPs ]] ) &lt;br /&gt;
#In case of Client hosted server, users should access NEOSYS via LAN using the http link.&lt;br /&gt;
#*There can be exceptional cases where user needs to access NEOSYS outside the office Network e.g a client installation with two companies at different locations and NEOSYS installed at one. In this case Support will have to add the IP number of the second company so that users can access NEOSYS.&amp;lt;br&amp;gt;But before you even suggest to add the IP, get the request from their management saying that the IP number is another office location and needs to be added. (Refer to [[Procedures#Handling_User_Requests_to_add_an_IP_or_range_of_IPs_to_access_NEOSYS|Handling User Requests to add IP/IPs ]] )&lt;br /&gt;
&lt;br /&gt;
== Handling damaged files ==&lt;br /&gt;
&lt;br /&gt;
[[Handling damaged files]]&lt;br /&gt;
&lt;br /&gt;
=== Checking for corrupt database files ===&lt;br /&gt;
Login to NEOSYS Maintenance. This can be done when users are online.&lt;br /&gt;
&lt;br /&gt;
Press F5&lt;br /&gt;
&lt;br /&gt;
 CHK.FILES&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
 CHK.FILES filename&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Sizelock while performing chk.files &#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Fixing sizelock errors should not be done while other users are online to the same database.&lt;br /&gt;
&lt;br /&gt;
Sizelock errors are not critical and will be fixed automatically during the nightly backup.&lt;br /&gt;
&lt;br /&gt;
Sizelock errors occur if a program or process that is selecting records from a file is aborted in some abnormal way.&lt;br /&gt;
&lt;br /&gt;
Error message:&lt;br /&gt;
&lt;br /&gt;
 These Files/Tables have a Sizelock Value of 2 or greater. &lt;br /&gt;
 Tag/Select the Files/Tables to be Fixed.&lt;br /&gt;
 Press F9 to fix selected files&lt;br /&gt;
&lt;br /&gt;
Press F9 to proceed with fixing the selected files or press ESC to continue with chk.files without fixing sizelock as it gets automatically fixed during the nightly backup. &lt;br /&gt;
&lt;br /&gt;
Refer to the [http://techwiki.neosys.com/index.php/Backup_and_Restore#Error_Message:_Size_Lock Sizelock errors in backup emails] for more information.&lt;br /&gt;
&lt;br /&gt;
[[file:sizelock.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Determining Database File Name from Operating System File Name ===&lt;br /&gt;
&lt;br /&gt;
To assess the potential damage and possible remedial measures you need to know the database file name. If the message only refers to the operating system file name you need to follow this procedure to determine the database file name.&lt;br /&gt;
&lt;br /&gt;
Once you have the database file name you can use CHK.FILES XXXXXXX to check if corrupt or not and various other procedures to fix the corruption.&lt;br /&gt;
&lt;br /&gt;
Remember that fixing the corrupt data does not solve the overall problem. The *cause* of the corruption must be identified and eliminated otherwise the problem may reoccur and in a more serious form perhaps with unrecoverable loss of data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╒═══════════════════════════════════TCL - 2══════════════════════════════════╕&lt;br /&gt;
│                                                                            │&lt;br /&gt;
│ :list FILES WITH ALL CONTAINING &#039;REV76481&#039;                                 │&lt;br /&gt;
│                                                                            │&lt;br /&gt;
╘════════════════════════════════════════════════════════════════════════════╛&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:DBfilenamefromOSfilename.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Finding out when and by whom a record was deleted ==&lt;br /&gt;
&lt;br /&gt;
In most cases, NEOSYS does not allow users to delete records and instead keeps a record of everything. In some cases however, things are deleted and the only way to get full details about the deletion is to search the logs. This is cumbersome, but there is a quick way to find out when, and by whom, a record was deleted. Prior to NEOSYS software versions dated Mar 2014, and deletions done before the same date, this procedure will only tell you when the record was deleted - but not who deleted it. Knowing exactly when it was deleted will nevertheless help you to search the logs for full details.&lt;br /&gt;
&lt;br /&gt;
In maintenance mode F5&lt;br /&gt;
&lt;br /&gt;
 ED SHADOW DELETED*filename*key&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 ED SHADOW DELETED*BATCHES*L*JOU*2*U&lt;br /&gt;
&lt;br /&gt;
Journals are stored in the BATCHES file. The key of an unposted batch is x*y*999*U where x is the company code, y is the journal type code, 999 is UNPOSTED batch number and U is just U to indicate unposted batches. Note that unposted batches are normally deleted at the time they are posted - ie converted to posted batches.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔══════════════════════════┤DELETED*BATCHES*L*JOU*2*U├═════════════════════════╗&lt;br /&gt;
║16831.60706                                                                   ║&lt;br /&gt;
║BRUCEL                                                                        ║&lt;br /&gt;
║╒═══════════════════════════════════TCL - 6══════════════════════════════════╕║&lt;br /&gt;
║│                                                                            │║&lt;br /&gt;
║│ :EVAL PRINT 16831.60706 &#039;[DATETIME]&#039;                                       │║&lt;br /&gt;
║│                                                                            │║&lt;br /&gt;
║╘════════════════════════════════════════════════════════════════════════════╛║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you see the number (in this case 16831.60706) you can convert it to a time and date by typing something like&lt;br /&gt;
&lt;br /&gt;
 PRINT 16831.60706 &#039;[DATETIME]&#039;&lt;br /&gt;
&lt;br /&gt;
Using this date and time you can search the logs more effectively to find out who did the deletion and in what circumstances.&lt;br /&gt;
&lt;br /&gt;
== Assessing Database Size per File ==&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
 &lt;br /&gt;
 LIST FILES BY BY-DSND SIZE VOLUME.NAME SIZE&lt;br /&gt;
 &lt;br /&gt;
This will include all files not just those in the actual dataset in DATA\* folders.&lt;br /&gt;
&lt;br /&gt;
== Fixing slow speed ==&lt;br /&gt;
=== [[Benchmarking NEOSYS]] ===&lt;br /&gt;
=== Investigating CPU 100% using Windows Task Manager ===&lt;br /&gt;
Email, to support, a screen-shot of task manager APPLICATIONS, PROCESSES and PERFORMANCE screens MAXIMIZED TO SHOW AS MUCH AS POSSIBLE. &lt;br /&gt;
&lt;br /&gt;
(Sort the processes to show ntvdm, waiting.exe and high cpu% processes clearly)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steps:&#039;&#039;&#039;&lt;br /&gt;
#Right Click on Windows Taskbar and click on Start Task Manager &amp;lt;br&amp;gt; [[image:starttaskmanager.jpg]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
#Click on Processes and then click on CPU &amp;lt;br&amp;gt;&#039;&#039;&#039;Note - The HIGH cpu% processes which should usually be the &amp;quot;process&amp;quot; called &amp;quot;System Idle Process&amp;quot; &#039;&#039;&#039;&amp;lt;br&amp;gt;[[image:cpu100percent1.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Click on the Performance Tab &amp;lt;br&amp;gt; &#039;&#039;&#039;Note - PF Usage should typically be much less than Physical Memory otherwise there is insufficient real memory in the server to handle the load&#039;&#039;&#039; &amp;lt;br&amp;gt; [[image:cpu100percent3.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Click on Application Tab then Right Click on a NEOSYS Process and Click on Bring to Front &amp;lt;br&amp;gt;&#039;&#039;&#039;See what the NEOSYS Process is doing &amp;lt;br&amp;gt; [[image:cpu100percent2.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Right Click on a NEOSYS Process and Click on Go to Processes &amp;lt;br&amp;gt;&#039;&#039;&#039;Note the cpu% ntvdm process &amp;lt;br&amp;gt;[[image:cpu100percent2_2.jpg]]&amp;lt;br&amp;gt;  &lt;br /&gt;
#Normally NEOSYS application screens say &amp;quot;LISTENING&amp;quot; in the bottom line and those applications should have very low cpu%&amp;lt;br&amp;gt;[[image:normalneosysprocess.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Look at the difference between the screen of running NEOSYS processes (applications actually) which are idle (listening for requests) and active (processing a request from a user)&lt;br /&gt;
#Note the number of cpus or cpu threads in the server from the performance screen graphics&amp;lt;br&amp;gt;[[image:performance-taskmgr-cputhread.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Take screen-shots of any and ALL hung or long running processes (NEOSYS application screens) and email them to support. Even small details on the screens and user names, the user names may give clues to what problem caused the hanging.A Typical Hung NEOSYS process will look like this: &amp;lt;br&amp;gt; [[image:hungneosysprocess.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
#Once all hung/long processes are closed then CPU should be low and not near 100%. If it is still 100% then check all high cpu% processes and send a screen-shot of processes sorted to show the high cpu% process names to support.&lt;br /&gt;
&lt;br /&gt;
=== Solving server CPU% is 100 and all users are extremely slow/stopped ===&lt;br /&gt;
&lt;br /&gt;
Get the screenshots of Task Manager and ALL processes on the server, the objective is to assess the true issue. No need to get the screens not in use obviously but you can send a parallel screen shot for them if you want to be pedantic or even a comment will do.&lt;br /&gt;
&lt;br /&gt;
==== Too few CPUs/threads for the number of users ====&lt;br /&gt;
In Windows task manager normally, you should see one ntvdm.exe and one waiting.exe process per NEOSYS process (application). A standard installation has three NEOSYS processes per main database and plus one per test database. This is configured in Support Menu, Configuration File.&lt;br /&gt;
&lt;br /&gt;
If there are MORE ntvdm processes than you expect from the configuration file, then perhaps NEOSYS is auto starting new NEOSYS processes to try and cater for a high number of concurrent users.&lt;br /&gt;
&lt;br /&gt;
If the number of concurrent NEOSYS processes significantly exceeds the number of cpus/hyperthreads available in the server then processing for everybody can become so slow for everybody and almost no work gets done.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Stop NEOSYS creating new NEOSYS processes automatically. Create a text file with the first and only line as AUTOSTART=NO in the neosys\neosys folder something like this.&lt;br /&gt;
&lt;br /&gt;
notepad d:\neosys\neosys\NET.CFG&lt;br /&gt;
&lt;br /&gt;
AUTOSTART=NO&lt;br /&gt;
&lt;br /&gt;
== How do I troubleshoot email not received? ==&lt;br /&gt;
&lt;br /&gt;
[[Troubleshooting email not received]]&lt;br /&gt;
&lt;br /&gt;
== Fixing permissions errors while logging in ==&lt;br /&gt;
 &lt;br /&gt;
=== Problem ===&lt;br /&gt;
 &lt;br /&gt;
While logging in, you get the following error message:&lt;br /&gt;
[[Image:login_error_message.jpg]]&lt;br /&gt;
 &lt;br /&gt;
=== Solution ===&lt;br /&gt;
 &lt;br /&gt;
Add the internet guest account to the security list of the data folder with the default permission of list/read/write&lt;br /&gt;
 &lt;br /&gt;
Make sure the read&amp;amp;execute permission is removed&lt;br /&gt;
[[Image:permissions_on_data.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fixing the &#039;HTTP Error 500.0 - Internal Server Error&#039; while logging in on IE on a Windows Vista system ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
After configuring IIS on Windows Vista you will get this error message while trying to login into NEOSYS from Internet Explorer:&lt;br /&gt;
&lt;br /&gt;
 HTTP Error 500.0 - Internal Server Error&lt;br /&gt;
 Description: This application is running in an application pool that uses the Integrated .NET  &lt;br /&gt;
 mode. This is the preferred mode for running ASP.NET applications on the current and future &lt;br /&gt;
 version of IIS.&lt;br /&gt;
 &lt;br /&gt;
 In this mode, the application using client impersonation configured with &amp;lt;identity &lt;br /&gt;
 impersonate=&amp;quot;true&amp;quot; /&amp;gt; may not behave correctly. Client impersonation is not available in early &lt;br /&gt;
 ASP.NET request processing stages and may lead modules in those stages to execute with process &lt;br /&gt;
 identity instead.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
You can move the application to an application pool that uses the Classic .NET mode by using the following from a command line window (the window must be running as Administrator) &lt;br /&gt;
&lt;br /&gt;
 %systemroot%\system32\inetsrv\APPCMD.EXE set app &amp;quot;Default Web Site/neosys&amp;quot; /applicationPool:&amp;quot;Classic .NET AppPool&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can use any other application pool on your system that is running in the Classic .NET mode. You can also use the IIS Administration tool to move this application to another application pool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fixing the &#039;Class Not Registered&#039; error message while logging in ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
While logging into NEOSYS, you will get a popup window giving an error message saying &#039;Class Not Registered - Server Error&#039;. Typically, you will encounter this error with XP Pro IIS 5.1. As usual, there&#039;s way to solve it, however the root cause of this is still unknown.&lt;br /&gt;
&lt;br /&gt;
Anyway, you will get the proper message in the event log:&lt;br /&gt;
&lt;br /&gt;
 Event Type: Warning&lt;br /&gt;
 Event Source: W3SVC&lt;br /&gt;
 Event Category: None&lt;br /&gt;
 Event ID: 36&lt;br /&gt;
 Description: The server failed to load application &#039;/LM/W3SVC/1/ROOT/NEOSYS.&lt;br /&gt;
 The error was &#039;Class not registered&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
So, what do you do ? This problem is related to Component Services, and when you open Component Services MMC, you will most probably  get  Error Code 8004E00F COM + was unable to talk to Microsoft Distributed Transaction Coordinator. So, fix the COM+ services first by using the following KB from Microsoft (PRB: Cannot Expand &amp;quot;My Computer&amp;quot; in Component Services MMC Snap-In http://support.microsoft.com/?id=301919):&lt;br /&gt;
&lt;br /&gt;
To resolve this problem, reinstall Component Services as follows: WARNING: &lt;br /&gt;
# Open registry editor, locate HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3, and then delete this key.  &lt;br /&gt;
# From the Start menu, point to Settings, click Control Panel, and then click Add/Remove Programs.  &lt;br /&gt;
# Click Add/Remove Windows Components. &lt;br /&gt;
# Proceed through the wizard, and accept all of the defaults (including IIS)&lt;br /&gt;
# Restart the computer.&lt;br /&gt;
&lt;br /&gt;
If the above didn&#039;t solve it, and you still receive the &#039;Class not registered&#039; error message, then you need to recreate the IIS packages in COM+, try&lt;br /&gt;
&lt;br /&gt;
# Delete IIS related package in Component Services MMC&lt;br /&gt;
# IIS In-Process Applications &lt;br /&gt;
# IIS Out-of-Process Pooled Applications &lt;br /&gt;
# IIS Utilities&lt;br /&gt;
&lt;br /&gt;
Next, if you still get the message, try following before re-install IIS if you can&#039;t find Distributed Transaction Coordinator in your Services console.&lt;br /&gt;
&lt;br /&gt;
Launch command prompt and run the following command.&lt;br /&gt;
# msdtc -install&lt;br /&gt;
# net start msdtc&lt;br /&gt;
&lt;br /&gt;
Then try re-install IIS.&lt;br /&gt;
&lt;br /&gt;
This should solve the problem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enabling File Security option on Win XP Professional ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
&lt;br /&gt;
In the Properties of any folders, the Security option does not show, hence you cannot modify the Read, Write options.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
The solution would be to untick the &#039;Simple File Sharing&#039; option from  Tools &amp;gt; Folder Options &amp;gt; View:&lt;br /&gt;
[[Image:simplefilesharingoff.jpg]]&lt;br /&gt;
&lt;br /&gt;
== %00%00%00%00 Errors ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SYSTEM ERROR in line 162. Amount &amp;quot;-2698.00AED&amp;quot; or base &amp;quot;%00%00%00%00&amp;quot; has been wrongly generated   &lt;br /&gt;
GET NEOSYS SUPPORT. DO NOT ATTEMPT TO CORRECT MANUALLY    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Solution ===&lt;br /&gt;
%00%00%00%00 indicates an internal error that NEOSYS programmer has to fix. It is usually random and can be hard to replicate unlike almost all other NEOSYS errors which usually replicate reliably once you find the cause.&lt;br /&gt;
&lt;br /&gt;
== B703 Errors ==&lt;br /&gt;
&lt;br /&gt;
The B703 error is usually always related to something too big for NEOSYS to handle. &lt;br /&gt;
&lt;br /&gt;
These are the only B errors that NEOSYS cant always permanently prevent by fixing the software.&lt;br /&gt;
&lt;br /&gt;
== Internet Explorer Menu, View, Text Size doesnt change font size as expected ==&lt;br /&gt;
&lt;br /&gt;
Cause: This is because the font size is now user definable in NEOSYS and View, Text Size does not override predefined font sizes.&lt;br /&gt;
&lt;br /&gt;
Solution: If you are using Internet Explorer 7 you can scale the screen (including the font size  using ctrl + and ctrl - keyboard shortcuts or the font size button on the bottom right hand side of the window. &lt;br /&gt;
&lt;br /&gt;
You can adjust the font size on the User Details form when you login although this permanently applies to all forms not just the one that you are on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uploaded jpg files fail to display in internet explorer ==&lt;br /&gt;
&lt;br /&gt;
Some large jpg files &amp;gt; 2Mb cannot be viewed in internet explorer despite being viewable in image preview, ms paint and other viewers/editors. It is not an issue caused by uploading or downloading the files.&lt;br /&gt;
&lt;br /&gt;
These file appear to have been created on Photoshop CS Macintosh and may be a special type of uncompressed jpg used for production quality files.&lt;br /&gt;
&lt;br /&gt;
=== Partial solution ===&lt;br /&gt;
Before uploading the files, open them in some editor like MS Paint (right click, edit) and save them. However this results in a loss of quality. Perhaps there is some program that can convert these files to a format understandable by Internet explorer without any loss of quality.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;This document is currently read only&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
The user attempting to modify this document does not have the authorization key to do so.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
Inform the user that he is not authorised to modify the document and give him the list of users within his company who are authorised to do so.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;You have attempted to write to a read-only file&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
=== Message ===&lt;br /&gt;
&lt;br /&gt;
Error while writing data.&lt;br /&gt;
You have attempted to write to a read-only file.&lt;br /&gt;
- or -&lt;br /&gt;
access to the file has been denied by the operating system.&lt;br /&gt;
(operating system file name: &amp;quot;..\DATA\ADLINEC\ADAGENCY\REV76467.OV00012618&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
It is almost certainly due to some third party backup or other maintenance software opening the NEOSYS database files when it shouldn&#039;t e.g. badly configured third party backup scheduled to backup NEOSYS while NEOSYS is still running. Note that the exact filename varies each time.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
This can be a serious error that causes damaged files in NEOSYS especially if the filename ends in .OV. Use the usual methods of checking for damaged files e.g. do a backup which also looks for damaged files BUT DO NOT OVERWRITE THE LATEST BACKUP SINCE IT MAY BE REQUIRED for restoration. Then fix the damaged files using the usual methods e.g. by rebuilding/using&lt;br /&gt;
FIXFILE or restoring databases. For more info check [[Handling damaged files|Handling damaged files]]&lt;br /&gt;
&lt;br /&gt;
=== Prevention ===&lt;br /&gt;
&lt;br /&gt;
Remove the third party backup or other maintenance software or reschedule it to run at a time that NEOSYS is shutdown. Removal of software may require hunting through the windows process list for unexpected programs running.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting Hung processes==&lt;br /&gt;
&lt;br /&gt;
=== Investigating hung NEOSYS processes ===&lt;br /&gt;
&lt;br /&gt;
To find out some information about what the hung processes are suffering from, do the following:&lt;br /&gt;
&lt;br /&gt;
When no important clients working (eg first thing in the morning) then request a shutdown of all NEOSYS processes. This should will leave only the hung processes open.&lt;br /&gt;
&lt;br /&gt;
Then find what NEOSYS files are open as follows:&lt;br /&gt;
&lt;br /&gt;
run Sysinternal&#039;s &amp;quot;Process Explorer&amp;quot; (from Start, Programs or procexp.exe from desktop)&lt;br /&gt;
&lt;br /&gt;
find, handle&lt;br /&gt;
&lt;br /&gt;
 d:\&lt;br /&gt;
&lt;br /&gt;
submit the complete list (maybe more than one page) to support for records&lt;br /&gt;
&lt;br /&gt;
[[Image:invhungprocess.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Troubleshooting_NEOSYS_Generally#Investigating_CPU_100.25_using_Windows_Task_Manager|Investigating CPU 100% using Windows Task Manager]]  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Troubleshooting_NEOSYS_Generally#Solving_server_CPU.25_is_100_and_all_users_are_extremely_slow.2Fstopped|Solving server CPU% is 100 and all users are extremely slow/stopped]] ===&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Fatal Error in Rev Restart&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
[[image:fatal.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Error message: “Abort, Retry, Fail” ===&lt;br /&gt;
==== Problem ====&lt;br /&gt;
The following messages may come on older versions of NEOSYS if there is a problem with the USB media inserted for backup.&lt;br /&gt;
&lt;br /&gt;
[[image:usberror.jpg]]&lt;br /&gt;
&lt;br /&gt;
This results in “NEOSYS has not checked in” message on Nagios since it hangs during the monitoring update and locks all other processes from monitoring too.&lt;br /&gt;
&lt;br /&gt;
General failure writing drive F&lt;br /&gt;
Abort, Retry, Fail?&lt;br /&gt;
&lt;br /&gt;
Not read reading drive F&lt;br /&gt;
Abort, Retry, Fail?&lt;br /&gt;
&lt;br /&gt;
Pressing A or F results in the problem happening again in about a minute, perhaps on a different process.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Temporary solution is to do “Safely remove hardware” from the windows notification area. Using “Eject” from My Computer will not work.&lt;br /&gt;
&lt;br /&gt;
Permanent solution is to replace the defective USB memory stick. Sometime reformatting is sufficient.&lt;br /&gt;
&lt;br /&gt;
Upgrading NEOSYS will probably stop the defective media from causing NEOSYS to hang but the USB will still be useless for backup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Read error in the operating system file&amp;quot; ===&lt;br /&gt;
==== Problem ====&lt;br /&gt;
Nagios reports a hung process and on the server a process has the following message popup.&lt;br /&gt;
&lt;br /&gt;
 Read error in the operating system file &amp;quot;..\DATA\PT0833\ACCOUNTS\REV20049&lt;br /&gt;
 The file does not exist or the filename is&lt;br /&gt;
 not valid for the operating system.&lt;br /&gt;
&lt;br /&gt;
[[Image:readerrorintheoperatingsystemfile.png]]&lt;br /&gt;
&lt;br /&gt;
==== Cause ====&lt;br /&gt;
Some non-NEOSYS program is directly accessing the NEOSYS database files while NEOSYS processes are running and using the files as well.&lt;br /&gt;
&lt;br /&gt;
*Client IT staff using a backup program to perform backup without ensuring that NEOSYS processes are shutdown.&lt;br /&gt;
*A NEOSYS rsync process taking longer than expected due to new USB.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Kill the NEOSYS process eg with the X button. It is advisable NOT to let it run further while it cannot properly access one of its files.&lt;br /&gt;
&lt;br /&gt;
==== Prevention ====&lt;br /&gt;
Remove the third party program or arrange for it to operate only while NEOSYS processes are shutdown eg from 3am-6am.&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Not enough string space - Out of Memory&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
==== Message ====&lt;br /&gt;
&lt;br /&gt;
‘RTP27’ Line 1. [B29] Not enough string space – Out of Memory.&lt;br /&gt;
&lt;br /&gt;
Not enough memory to execute Debugger; current program aborted.&lt;br /&gt;
Press any key to continue&lt;br /&gt;
&lt;br /&gt;
[[Image:out_of_memory.jpg]]&lt;br /&gt;
&lt;br /&gt;
==== Cause ====&lt;br /&gt;
Unknown perhaps related to some large document or report&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Ask users for any hanging transactions.&lt;br /&gt;
None other than closing and starting another process.&lt;br /&gt;
&lt;br /&gt;
Also refer [[Troubleshooting NEOSYS Generally#Enabling EMS memory on Window 2003|Enabling EMS memory on Window 2003]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: B521 ===&lt;br /&gt;
&lt;br /&gt;
[[Image:B521.jpg]] &lt;br /&gt;
&lt;br /&gt;
 Another user is currently updating indexes. &lt;br /&gt;
 Waiting to make your updates...&lt;br /&gt;
 If you interrupt this process,&lt;br /&gt;
 you may have to rebuild all the indexes&lt;br /&gt;
&lt;br /&gt;
B521 message is usually temporary and goes away by itself. If it does not then, as the text of the B521 message makes clear, some OTHER process is holding up the system, preventing the process with B521 message from continuing.&lt;br /&gt;
&lt;br /&gt;
B521 message is a symptom of other problem so it does not itself have some one simple solution. You must find which other process or issue is causing the hold up and solve whatever problem is causing the hold up, which could be anything.&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot; NTVDM encountered a hard error &amp;quot;  ===&lt;br /&gt;
&lt;br /&gt;
The following error message appears:&lt;br /&gt;
&lt;br /&gt;
[[Image:ntvdm.jpg]]&lt;br /&gt;
&lt;br /&gt;
 NTVDM encountered a hard error&lt;br /&gt;
&lt;br /&gt;
==== Solution  ====&lt;br /&gt;
 &lt;br /&gt;
This error is caused by missing or corrupt Windows system files (i.e. command.com, autoexec.nt and config.nt). The solution is to run a program called XP FIX which will reinstall these missing files. You can download it form http://www.visualtour.com/downloads/xp_fix.exe&lt;br /&gt;
&lt;br /&gt;
Sometimes even after running the XP FIX program the error still appears. Then you need to copy all the files under C:/windows/repair to C:/windows/system32 and in the autoexec.nt and config.nt put REM before any lines there which don&#039;t have it.&lt;br /&gt;
&lt;br /&gt;
====Possible fix for some NTVDM errors ====&lt;br /&gt;
&lt;br /&gt;
===== Error message ===== &lt;br /&gt;
&lt;br /&gt;
[[Image:Ntvdm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
 NTVDM has encountered a System error.&lt;br /&gt;
 The system cannot find the file specified.&lt;br /&gt;
 Choose close to terminate the application.&lt;br /&gt;
&lt;br /&gt;
=====Possible solution===== &lt;br /&gt;
&lt;br /&gt;
#Change the TEMP and TMP environment variables to C:\WINDOWS\TEMP. This should be for the user that runs NEOSYS processes - normally administrator.&lt;br /&gt;
#Close all NEOSYS processes &lt;br /&gt;
#Logout/Login again&lt;br /&gt;
#Restart NEOSYS processes&lt;br /&gt;
&lt;br /&gt;
[[image:Ntvdmsoln.png]]&lt;br /&gt;
&lt;br /&gt;
===== Check solution done properly ===== &lt;br /&gt;
&lt;br /&gt;
You can check that by typing ECHO %TEMP% and ECHO %TMP% at a console prompt after logging out and in again. &lt;br /&gt;
&lt;br /&gt;
Note that windows will actually set the windows environment variables to something like C:\WINDOWS\TEMP\2 for some unknown reason. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
d:\hosts&amp;gt;ECHO %temp% &lt;br /&gt;
C:\WINDOWS\TEMP\2 &lt;br /&gt;
&lt;br /&gt;
d:\hosts&amp;gt;ECHO %tmp% &lt;br /&gt;
C:\WINDOWS\TEMP\2 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Error message: [[Troubleshooting_NEOSYS_Generally#Troubleshooting_the_.22Database_not_available.22_error_message|&amp;quot;Database not available&amp;quot; post login]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: [[Backup_and_Restore#Error_Message:_.22Cannot_backup.2Frestore_because_PROCESS1_PROCESS2_.28etc.29_is.2Fare_online.22_message|&amp;quot;Cannot backup/restore because PROCESS1 PROCESS2 (etc) is/are online&amp;quot;]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How to kill hung NEOSYS processes ===&lt;br /&gt;
 &lt;br /&gt;
NOTE WELL: If you kill actively working NEOSYS processes (those which are &amp;quot;listening&amp;quot; and not hung/crashed) there is a reasonable chance that the database will be damaged and might need a restore losing possibly large amounts of work.&lt;br /&gt;
 &lt;br /&gt;
==== If NEOSYS processes are visible on the server desktop ====&lt;br /&gt;
 &lt;br /&gt;
Look for processes which don&#039;t have &amp;quot;Listening ...&amp;quot; on the last but one line. The times on the left hand side are frozen as at the time of the hang.&lt;br /&gt;
 &lt;br /&gt;
You can then click the X to kill the process and confirm that this is OK.&lt;br /&gt;
 &lt;br /&gt;
Example of a NEOSYS process that has hung due to a software error resulting in a failure to handle a complex query with a lot of brand codes.&lt;br /&gt;
&lt;br /&gt;
[[Image:hungprocess.jpg]]&lt;br /&gt;
 &lt;br /&gt;
==== If NEOSYS processes are not visible on the server desktop ====&lt;br /&gt;
&lt;br /&gt;
NEOSYS processes are most of the time visible on the desktop (i.e. the black dos windows) in Windows 2003 OS, except in the case that the process has been scheduled to start on computer restart and no one has logged into the server. In this case it would be running in the background. TODO&lt;br /&gt;
&lt;br /&gt;
You can check if there are any hung processes from the NEOSYS Support Menu, List of Database Processes. &lt;br /&gt;
[[Image:databaseprocesseslist.jpg]]&lt;br /&gt;
&lt;br /&gt;
In this case you should follow the below instructions - however all of them need to be done within 30 seconds of starting the first instruction to avoid inconvenience to the users. It is recommend that you keep relevant windows open before proceeding with the same:&lt;br /&gt;
&lt;br /&gt;
#Shutdown NEOSYS by TEMPORARILY putting a file called GLOBAL.END in the parent directory of NEOSYS (if there is already a GLOBAL.END.TEMP file then rename it to GLOBAL.END). Leaving the file there would prevent NEOSYS from starting up again. Shutting down NEOSYS from the Support menu will not work because of the hung processes.&lt;br /&gt;
#Use Windows Task Manager to kill all the NTVDM processes - assuming that you have closed all the visible NEOSYS processes, then the NTVDM processes in the task manager would be the hung one.&lt;br /&gt;
#Delete GLOBAL.END or rename it to GLOBAL.END.TEMP&lt;br /&gt;
#Restart the processes back again. If there are many datasets then you need to restart them all well within the 30 seconds period.&lt;br /&gt;
#*Restarting a process is not noticed by users.&lt;br /&gt;
&lt;br /&gt;
In case of Patsalides, where we have a thousand datasets which start &amp;quot;on demand&amp;quot; i.e. usually on login; all you need to do is start one dataset which will restart all the other datasets &amp;quot;on demand&amp;quot;. If there is no response within 30 seconds then one of the running datasets will start it up so there appears to be a 30 second delay when you login to one of the thousand datasets the first time on any one day.&lt;br /&gt;
&lt;br /&gt;
=== Temporary workarounds for hung NEOSYS processes ===&lt;br /&gt;
Until the error in the software is fixed users can often get their results by simplifying their requirements. For example select individual clients instead of selecting all the brands for a particular client. If the user has repeated his request (in forlorn hope that it would work finally) then the number of working NEOSYS processes will drop causing severe slowdown for other users and complete stop if all the NEOSYS processes hang.&lt;br /&gt;
&lt;br /&gt;
== Fixing &amp;quot; You do not have sufficient privilege to access this file &amp;quot;  ==&lt;br /&gt;
&lt;br /&gt;
This error message may come up while NEOSYS process startup.&lt;br /&gt;
&lt;br /&gt;
Solution: Close the window and look for NEOSYS processes. In case there is no process, start the NEOSYS process.&lt;br /&gt;
&lt;br /&gt;
[[image:Errormsg.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing &#039;NEOSYS process which opens up in a notepad instead of Microsoft Windows Based Script Host (i.e. DOS window)&#039;==&lt;br /&gt;
&lt;br /&gt;
The NEOSYS process (cmd file) might open up in a notepad, instead of the usual black colour DOS window. This may happen if a JavaScript file is opened using a notepad. Please be very CAREFUL when accessing a .JS and .JSE file and double check that the default program remains wscript.exe. The issue can be fixed by the following:&lt;br /&gt;
&lt;br /&gt;
# Check if Windows Script 5.6/5.7 is installed, IF NOT download and install it from the Microsoft Website.&lt;br /&gt;
# Go to any folder, click on Tools &amp;gt; Folder Options &amp;gt; File Types and find the .JS and .JSE and change the default program to wscript.exe (from windows&amp;gt;system32)&lt;br /&gt;
&lt;br /&gt;
== Fixing a &#039;Could not start&#039; error on Scheduled Tasks in Windows Server 2000 SP4 ==&lt;br /&gt;
&lt;br /&gt;
This error occurs because of a change that is made to the data that is stored in the credentials database when you install Windows 2000 SP4. Hence installing SP4 causes the the data that is stored in the credentials database to get converted to an SP4-compatible format. A registry key is configured to indicate that the data has been converted to the SP4 format.&lt;br /&gt;
&lt;br /&gt;
Hence the Scheduled Tasks do not work sometimes. However the Scheduled Tasks works fine sometimes, but when you uninstall SP4, it does not work.&lt;br /&gt;
&lt;br /&gt;
The best solution is to:&lt;br /&gt;
&lt;br /&gt;
# Incase Scheduled Tasks do not work after installing SP4, then uninstall SP4 and it should be fine.&lt;br /&gt;
# Incase Scheduled Tasks works after installing SP4, and later after uninstalling SP4, it does not work, then install SP4 and it should be fine.&lt;br /&gt;
&lt;br /&gt;
== Checking for server or NEOSYS crashes ==&lt;br /&gt;
 &lt;br /&gt;
#NEOSYS Maintenance Mode&lt;br /&gt;
#General Menu, Setup, Processes&lt;br /&gt;
#Select the dates and the option Detailed&lt;br /&gt;
 &lt;br /&gt;
This report shows a list of dates and times that NEOSYS logged in but did not log out properly.&lt;br /&gt;
 &lt;br /&gt;
Ignore the very latest entries since they represent the current NEOSYS processes. For example, if you have four NEOSYS processes running at the time that you get the report (including any in maintenance mode) then you can ignore the last four entries.&lt;br /&gt;
 &lt;br /&gt;
The date and time shows for each process that has failed to shutdown correctly when the process logged in. Versions of NEOSYS from January 2008 will also show the date and time that each crashed NEOSYS process was last active (heartbeat) so that the time of failure can be known.&lt;br /&gt;
 &lt;br /&gt;
If you see a bunch of NEOSYS processes all started up at around the same time but all failed to shutdown correctly then the cause will be a server failure - usually power failure.&lt;br /&gt;
 &lt;br /&gt;
Isolated one-off failures will be related to individual NEOSYS process crashes - most commonly caused by one of the following:&lt;br /&gt;
 &lt;br /&gt;
#NEOSYS hanging to due to software failure&lt;br /&gt;
#Manually exiting a NEOSYS process on the server either by pressing Ctrl+Alt+Del or clicking the &amp;quot;X&amp;quot; close icon/box and ignoring the warning&lt;br /&gt;
#Random server failures eg memory, disk etc&lt;br /&gt;
 &lt;br /&gt;
Example:&lt;br /&gt;
 &lt;br /&gt;
 LOGIN 22/12/2007 06:02 NEOSYS SERVER ADAGENCY         Current workstation &lt;br /&gt;
 LOGIN 23/12/2007 06:00 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 06:01 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 06:02 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:52 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:52 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:53 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:00 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:01 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:02 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 13:51 NEOSYS SERVER NEOSYS         Current user session  &lt;br /&gt;
&lt;br /&gt;
Interpretation:&lt;br /&gt;
 &lt;br /&gt;
The first four entries indicate that all four NEOSYS processes started at 06am were suddenly killed probably by power failure&lt;br /&gt;
 &lt;br /&gt;
The next four entries indicate that NEOSYS was restarted at around 08:52 and all these processes were AGAIN killed probably by power failure&lt;br /&gt;
 &lt;br /&gt;
The last four entries can be ignored because there were four NEOSYS processes running at the time that the report was generated&lt;br /&gt;
&lt;br /&gt;
== Searching for word/number in the database files using maintenance mode ==&lt;br /&gt;
&lt;br /&gt;
You can search for any word/number in the database files of NEOSYS, using the following command line:&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 FIND FILENAME WORDWITHOUTANYSPACES&lt;br /&gt;
 &lt;br /&gt;
 For eg:&lt;br /&gt;
 FIND CURRENCIES 1.1&lt;br /&gt;
 (here you are searching for the number 1.1 in the currencies file) You CANNOT search for a phrase ie include spaces like this.&lt;br /&gt;
 &lt;br /&gt;
 Or you can also type:&lt;br /&gt;
 FIND FILENAME &amp;lt;enter&amp;gt;&lt;br /&gt;
 and it will ask you what you want do to search. You can enter an exact phrase with spaces.&lt;br /&gt;
&lt;br /&gt;
Incase you do not know the filenames, you can enter the following command to see all the filenames in the system:&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 LF&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting a Service Unavailable message on Internet Explorer when opening up NEOSYS ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&lt;br /&gt;
The following error message appears in Internet Explorer when you try to open up NEOSYS:&lt;br /&gt;
&lt;br /&gt;
 Service Unavailable&lt;br /&gt;
&lt;br /&gt;
=== Solution  ===&lt;br /&gt;
 &lt;br /&gt;
Open the IIS Manager, right click Web Sites and select properties:&lt;br /&gt;
[[Image:serviceunavailable1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Switch to the Service Tab and tick the &amp;quot;Run WWW Service in IIS 5.0 Isolation Mode&amp;quot;.&lt;br /&gt;
[[Image:serviceunavailable2.jpg]]&lt;br /&gt;
&lt;br /&gt;
You will be asked for Restart of IIS. Click yes to restart IIS. If you are not asked just restart IIS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Inspecting IIS log files ==&lt;br /&gt;
&lt;br /&gt;
At a windows command prompt:&lt;br /&gt;
&lt;br /&gt;
 c:&lt;br /&gt;
 cd \Windows\system32\LogFiles\W3SVC1&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 %SystemDrive%&lt;br /&gt;
 cd %SystemRoot%&lt;br /&gt;
 cd system32\LogFiles\W3SVC1&lt;br /&gt;
&lt;br /&gt;
then (substituting the ip number you are interested in)&lt;br /&gt;
&lt;br /&gt;
 find &amp;quot;192.168.1.55&amp;quot; *|sort&amp;gt;temp.log&lt;br /&gt;
&lt;br /&gt;
Open temp.log in Excel and use Tools, Data, Text to Columns to split into columns using options &amp;quot;Delimited&amp;quot; and check split on Space.&lt;br /&gt;
&lt;br /&gt;
Autowidth all columns by clicking on the top left box just outside the data to the left of column A and above column 1 then double click the column separator to the right of column &amp;quot;A&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note that times and dates are in UTC/GMT so you have to add/subtract your timezone offset to get local times.&lt;br /&gt;
&lt;br /&gt;
==Inspecting Database LOGS Folder==&lt;br /&gt;
LOGS folder in NEOSYS installation folder carries records of all changes done in the database which includes adding and removal of data.&lt;br /&gt;
&lt;br /&gt;
Log file is an XML document which should be viewed in Notepad. Each XML document represents commands executed by each NEOSYS process started each day.&lt;br /&gt;
&lt;br /&gt;
The NEOSYS log files e.g. 15123103.xml are created by the database processes. If the database is not available according to the website then no entry will appear in that log. The request will appear in the IIS website log but that log is nothing to do with database processes.&lt;br /&gt;
&lt;br /&gt;
=== Understanding Log Entries ===&lt;br /&gt;
Inspecting and searching through Logs file allows NEOSYS staff to answer clients queries like &amp;quot;Who deleted schedule XXXX&amp;quot; etc.&lt;br /&gt;
&lt;br /&gt;
While going through the log file you may come across a request &amp;quot;EXECUTE GENERAL GETTASKS NOT&amp;quot;, this request is concerned with getting a list of tasks that the user is *not* allowed to do.&lt;br /&gt;
&lt;br /&gt;
To read and understand the log file with more ease, copy the portion of the log file required to be analyzed into another text editor.&lt;br /&gt;
&lt;br /&gt;
The text that appears as %FE, %FE1, %FE2, etc. are basically separators.&lt;br /&gt;
*First replace FE0%, FE1%, FE2%, etc. with a separator like &amp;quot;--&amp;quot;. There can be occurrences of &amp;quot;%FE&amp;quot; along with some valuable information like &amp;quot;17290&amp;quot;, so replacing &amp;quot;%FE1&amp;quot; in &amp;quot;%FE17290&amp;quot; would lead to loss of information.&lt;br /&gt;
*Then replace %FE with a bigger separator like &amp;quot;===&amp;quot;.&lt;br /&gt;
*Replace other entries like %FCB and then %FC and so on with similar separators.&lt;br /&gt;
*In the end there may be few &amp;quot;FE&amp;quot; remaining, replace these with a separator like &amp;quot;-&amp;quot;.&lt;br /&gt;
*The remaining &amp;quot;%&amp;quot; characters MUST be intelligently replaced with a separator like &amp;quot; &amp;quot; (space), because it can either be an actual &amp;quot;%&amp;quot; or it can be a residue from &amp;quot;%FE&amp;quot;, &amp;quot;%FE1&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
Once replacing all these characters is done, the log file will be more easily readable and vital information will be clearer. &lt;br /&gt;
&lt;br /&gt;
In the log file, you may find numbers like 17290, 17195, etc. These numbers denote dates selected or entered by the NEOSYS user. These are basically the number of days from 31st December 1967 till the date chosen by the user. For example, to convert 17290 to actual date, 31/12/1967 + 17290 = 3/5/2015. So the actual date is 3rd May 2015.&lt;br /&gt;
&lt;br /&gt;
To convert these numbers to dates using maintenance mode, refer to the article [http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Finding_out_when_and_by_whom_a_record_was_deleted Finding out when and by whom a record was deleted]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:NEOSYS Logs.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing NEOSYS processes that do not auto start / Recovering from incorrect advanced date or time ==&lt;br /&gt;
This solution is applicable to live database processes only. Test database processes don’t auto-start any other processes.&lt;br /&gt;
&lt;br /&gt;
=== Problem explained ===&lt;br /&gt;
After starting up the 1st process, the rest of the processes don&#039;t start up.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
The possible cause for this could be that the system date/time might have been changed - either manually or by the auto synchronization. Do the following checks in the sequence of order:&lt;br /&gt;
&lt;br /&gt;
# Check for any *.$* files (* after dollar sign should show a number, the highest being the latest one). If it shows OK, then proceed ahead.&lt;br /&gt;
# Check for any .end files and delete it to rename to .end.temp&lt;br /&gt;
# Check the System Event Viewer log for any 520 or 577 error message (refer http://128.175.24.251/forensics/timechange.htm). Also check for any out of sequence / ahead of today date or time.&lt;br /&gt;
# In case of no 520 or 577 error message, go to Administrative Tools &amp;gt; Local Security Policy &amp;gt; Local Policies &amp;gt; Audit Policy &amp;gt; Audit Privilege use - make sure that Success and Failure are selected under this (this will ensure that future changes to the date/time are recorded in the System Log).&lt;br /&gt;
# In NEOSYS maintenance mode - F5 ED PROCESSES %UPDATE% - and see what it says, incase of any text (only text, not numbers) there, that means that for sure the system date has been changed. To fix this, exit the editor by pressing the ESCAPE key and then type DELETE PROCESSES &amp;quot;%UPDATE%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Fixing NEOSYS maintenance mode not starting up == &lt;br /&gt;
&lt;br /&gt;
Problem :- While trying to start maintenance mode, the maintenance window closes automatically within a split second.&lt;br /&gt;
&lt;br /&gt;
Solution :- Delete the read-only file REVBOOT file (under d:/neosys/neosys folder). REVBOOT file is recreated when you start maintenance mode.&lt;br /&gt;
&lt;br /&gt;
== Recognising and Solving Low Memory Problems ==&lt;br /&gt;
&lt;br /&gt;
Quick Note: Installing a server class operating system on a workstation class computer with the intention of NEOSYS serving a heavy load is likely to cause problems with low memory.&lt;br /&gt;
&lt;br /&gt;
Quick Fix: Disable *ALL* non-essential features in the power-on setup menu.&lt;br /&gt;
&lt;br /&gt;
=== Effects ===&lt;br /&gt;
&lt;br /&gt;
It is speculated but not proven that low memory may cause NEOSYS to fail by hanging, causing damaged files etc.&lt;br /&gt;
&lt;br /&gt;
=== Checking ===&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 MEMORY&lt;br /&gt;
&lt;br /&gt;
On server class machines it should say somewhere around 350Kb to 370Kb Free&lt;br /&gt;
&lt;br /&gt;
Some server class machines have around 330Kb and sometimes even less with no reported problems&lt;br /&gt;
&lt;br /&gt;
The actual effect of low memory is supposed to make NEOSYS slower and perhaps cause hanging and damaged files however this has not been proven in an specific case so far.&lt;br /&gt;
&lt;br /&gt;
On workstation class machines it may often say around 280Kb to 300Kb.&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
Although there is plenty of real memory in virtually all computers now, NEOSYS runs in the legacy 16 bit virtual memory space of a windows mode called NTVDM. This is limited to 1Mb plus 4Mb of EMS memory.&lt;br /&gt;
&lt;br /&gt;
The 1Mb memory space is shared with:&lt;br /&gt;
&lt;br /&gt;
#Various non-essential windows drivers which NEOSYS automatically disables them in autoexec.nt&lt;br /&gt;
#Various plug and play hardware device drivers for the various adapters in the computer like video, network adapters and various other items that NEOSYS is unable to disable.&lt;br /&gt;
&lt;br /&gt;
In a server class computer the hardware device drivers are usually minimally present in the 1Mb base memory and do not therefore DOESNT a low memory situation for NEOSYS.&lt;br /&gt;
&lt;br /&gt;
In workstation class computers there are often many hardware device drivers present in the 1Mb base memory and this DOES causes a low memory situation for NEOSYS.&lt;br /&gt;
&lt;br /&gt;
When NEOSYS is installed on workstation class computers with XP there is usually not a heavy load expectation and therefore the low memory does not cause a problem.&lt;br /&gt;
&lt;br /&gt;
If Windows Server OS is installed on a workstation class computer NEOSYS may well be expected to serve a heavy load with limited amounts of memory.&lt;br /&gt;
&lt;br /&gt;
Workstation class computers: hardware drivers present and EMS is installed in low memory (0000-9FFF) causing low memory for NEOSYS and possible inability to &lt;br /&gt;
&lt;br /&gt;
Server class computers: Usually few hardware drivers are present in high part (A000-FFFF) of the 1Mb base memory and EMS is able to occupy the high memory leaving the low part (0000-9FFFF) of the 1Mb memory free for NEOSYS. You can find out how much memory is available to NEOSYS and whether EMS is occuping high or low memory using the following sections.&lt;br /&gt;
&lt;br /&gt;
=== Fixing Low Memory ===&lt;br /&gt;
&lt;br /&gt;
Start, Run, notepad c:\windows\system32\autoexec.nt&lt;br /&gt;
&lt;br /&gt;
Every time NEOSYS starts it tries to make some changes as follow:&lt;br /&gt;
&lt;br /&gt;
#replaces all lines in C:/WINDOWS/SYSTEM32/AUTOEXEC.NT starting with &#039;lh &#039; to start with &#039;rem NEOSYS LH &#039; instead.&lt;br /&gt;
#changes the line in C:/WINDOWS/SYSTEM32/CONFIG.NT &amp;quot;files=...&amp;quot; to &amp;quot;FILES=200&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The replacement is case sensitive triggered on &#039;lh&#039; and &#039;files&#039; so if you manually edit the files and remove the rem or change the number of files and leave the LH and FILES in uppercase then NEOSYS will NOT make further changes. This allows you to do manual amendments to the files without NEOSYS overwriting them.&lt;br /&gt;
&lt;br /&gt;
Check that NEOSYS has successfully disabled all the drivers in the lines starting with LH.&lt;br /&gt;
&lt;br /&gt;
They should be commented out (prefixed) with REM or REM NEOSYS as follows.&lt;br /&gt;
&lt;br /&gt;
After making changes reopen NEOSYS in maintenance mode to use the MEMORY and WHO commands again.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REM Install CD ROM extensions&lt;br /&gt;
REM NEOSYS LH %SystemRoot%\system32\mscdexnt.exe&lt;br /&gt;
&lt;br /&gt;
REM Install network redirector (load before dosx.exe)&lt;br /&gt;
REM NEOSYS LH %SystemRoot%\system32\redir&lt;br /&gt;
&lt;br /&gt;
REM Install DPMI support&lt;br /&gt;
REM NEOSYS LH %SYSTEMROOT%\SYSTEM32\DOSX&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Low Memory Issues in Windows 2003 server can be fixed using instructions mentioned at [http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Enabling_EMS_memory_on_Window_2003 Fixing Low Memory in Windows 2003 Server]&lt;br /&gt;
&lt;br /&gt;
=== Allowing DOS programs that require DOSX to run on the same computer as NEOSYS ===&lt;br /&gt;
&lt;br /&gt;
The automatic commenting out DOSX by NEOSYS will prevent some other DOS-like programs from running. If NEOSYS is on dedicated server then there should be no other such programs to fail. However, if you must allow DOS-like programs to work as well as NEOSYS you can do the following configuration:&lt;br /&gt;
&lt;br /&gt;
#leave or restore the original AUTOEXEC.NT and CONFIG.NT files where they are&lt;br /&gt;
#copy them to another folder eg neosys folder&lt;br /&gt;
#make the necessary REM changes there by hand&lt;br /&gt;
#right click the NEOSYS\NEOSYS\AREV.PIF and select properties&lt;br /&gt;
#change the location of the AUTOEXEC.NT and CONFIG.NT files in the following location&lt;br /&gt;
&lt;br /&gt;
[[image:pifsettings.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Checking EMS Memory Configuration ===&lt;br /&gt;
&lt;br /&gt;
==== Inspection ====&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 WHO&lt;br /&gt;
&lt;br /&gt;
 press the up arrow to get to the last part/page&lt;br /&gt;
&lt;br /&gt;
===== Example of Typical Server EMS Memory =====&lt;br /&gt;
[[image:serveremm.jpg]]&lt;br /&gt;
&lt;br /&gt;
===== Example of Typical Workstation EMS Memory =====&lt;br /&gt;
[[image:workstationemm.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Correction====&lt;br /&gt;
&lt;br /&gt;
No easy way&lt;br /&gt;
&lt;br /&gt;
Removal of hardware adapters designed for workstations instead of servers eg graphics cards and network cards.&lt;br /&gt;
&lt;br /&gt;
Many of the devices may be located on the motherboard and not relocatable except possibly by BIOS configuration or special manufacturer information.&lt;br /&gt;
&lt;br /&gt;
Use windows device manager, View: Resources by Connection, Open the Memory item and look for items between 000A0000 up to 000FFFFF that might give you a clue as to what hardware could be removed or reconfigured. Actually only 000C0000 to 000FFFFF is candidate for EMS memory since 000A000-000BFFFF is mandatory video memory in all systems.&lt;br /&gt;
&lt;br /&gt;
[[image:devicemanager.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing issue where NEOSYS processes do not start-up at all or start-up and close immediately ==&lt;br /&gt;
&lt;br /&gt;
# Find if a file with the name global.end exists in the root directory of the NEOSYS installation. Eg D:\global.end . If you find such a file, rename it to global.end.temp - for more information on global.end and what it does refer to [[Administering_NEOSYS_Server#Closing_NEOSYS_Services|Closing NEOSYS Services]]&lt;br /&gt;
# If the above didn&#039;t fix the problem and NEOSYS still does not start, do a windows search for the entire NEOSYS folder for *.end (i.e. any file ending with .end extension). You may find a (databasecode).end file in D:\neosys\neosys folder which is created by the NEOSYS program during backup at 1 am and later on removed automatically. In this case NEOSYS program might have crashed during the backup and left this file behind. (databasecode).end files prevent other other NEOSYS processes starting up on the database while exclusive processes (like backup) are being done.&lt;br /&gt;
&lt;br /&gt;
In case the above didn&#039;t fix the problem then escalate to the programmer immediately.&lt;br /&gt;
&lt;br /&gt;
=== Solving &amp;quot;Control Record&amp;quot; error in maintenance mode ===&lt;br /&gt;
&lt;br /&gt;
If processes dont start after you log into maintenance mode and you get an error message&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔════[FS152]═══════════════════════════════════════╗&lt;br /&gt;
║          The control record &amp;quot;RECORDS&amp;quot;            ║&lt;br /&gt;
║           is too long to be saved.               ║&lt;br /&gt;
║   The current record length is 65539 characters. ║&lt;br /&gt;
║                                                  ║&lt;br /&gt;
║               &amp;lt; Press any key &amp;gt;                  ║&lt;br /&gt;
╚══════════════════════════════════════════════════╝  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[File:Record1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1&#039;&#039;&#039;. Press space to get rid of the error message and you should then get this menu&lt;br /&gt;
&lt;br /&gt;
[[File:Record2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2&#039;&#039;&#039;. Press F5 and run this command (case sensitive)&lt;br /&gt;
&lt;br /&gt;
 DICT DEFINITIONS&lt;br /&gt;
&lt;br /&gt;
or Press Alt+S and run this command (case sensitive)&lt;br /&gt;
&lt;br /&gt;
 EXECUTE DICT DEFINITIONS&lt;br /&gt;
&lt;br /&gt;
[[File:Record3.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3&#039;&#039;&#039;. Press Shift+F3 to get the following message&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔══[B202]══════════════════════════════════╗&lt;br /&gt;
║            &amp;quot;DEFINITIONS&amp;quot; has             ║&lt;br /&gt;
║          &amp;quot;QUICKDEX&amp;quot; installed            ║&lt;br /&gt;
║                                          ║&lt;br /&gt;
║ Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N]  ║&lt;br /&gt;
║                                          ║&lt;br /&gt;
║ &amp;lt;Y                                      &amp;gt;║&lt;br /&gt;
╚══════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4&#039;&#039;&#039;. Press Enter to choose Yes.&lt;br /&gt;
&lt;br /&gt;
[[File:Record4.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5.&#039;&#039;&#039;Restart NEOSYS to see if the problem has been solved&lt;br /&gt;
&lt;br /&gt;
== Solving “page not found” when downloading some file types after uploading them successfully ==&lt;br /&gt;
=== One by One ===&lt;br /&gt;
&lt;br /&gt;
Windows web server will not download file types that it is unaware of. You can enable the download of new file types one by one as follows.&lt;br /&gt;
&lt;br /&gt;
This process is tedious and error-prone if you have to add many type.&lt;br /&gt;
&lt;br /&gt;
#Computer Management&lt;br /&gt;
#Services and Applications&lt;br /&gt;
#IIS properties&lt;br /&gt;
#Mime Types&lt;br /&gt;
#Add&lt;br /&gt;
&lt;br /&gt;
=== Many ===&lt;br /&gt;
&lt;br /&gt;
Window Server 2003 is unaware of all the Office 2007+ file types. To add all Office 2007+ file types at once do the following:&lt;br /&gt;
&lt;br /&gt;
Stop IIS&lt;br /&gt;
&lt;br /&gt;
 iisreset /stop&lt;br /&gt;
&lt;br /&gt;
Open the list of mime types&lt;br /&gt;
&lt;br /&gt;
*Start, Run, notepad C:\WINDOWS\system32\inetsrv\MetaBase.xml&lt;br /&gt;
&lt;br /&gt;
Search the file for “xlsx” and quit the editor if already inserted.&lt;br /&gt;
&lt;br /&gt;
Otherwise, find the following line,&lt;br /&gt;
&lt;br /&gt;
  .xml,text/xml&lt;br /&gt;
&lt;br /&gt;
and insert after that line the following lines. They do not need to be indented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.docm,application/vnd.ms-word.document.macroEnabled.12&lt;br /&gt;
.docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document&lt;br /&gt;
.dotm,application/vnd.ms-word.template.macroEnabled.12&lt;br /&gt;
.dotx,application/vnd.openxmlformats-officedocument.wordprocessingml.template&lt;br /&gt;
.potm,application/vnd.ms-powerpoint.template.macroEnabled.12&lt;br /&gt;
.potx,application/vnd.openxmlformats-officedocument.presentationml.template&lt;br /&gt;
.ppam,application/vnd.ms-powerpoint.addin.macroEnabled.12&lt;br /&gt;
.ppsm,application/vnd.ms-powerpoint.slideshow.macroEnabled.12&lt;br /&gt;
.ppsx,application/vnd.openxmlformats-officedocument.presentationml.slideshow&lt;br /&gt;
.pptm,application/vnd.ms-powerpoint.presentation.macroEnabled.12&lt;br /&gt;
.pptx,application/vnd.openxmlformats-officedocument.presentationml.presentation&lt;br /&gt;
.xlam,application/vnd.ms-excel.addin.macroEnabled.12&lt;br /&gt;
.xlsb,application/vnd.ms-excel.sheet.binary.macroEnabled.12&lt;br /&gt;
.xlsm,application/vnd.ms-excel.sheet.macroEnabled.12&lt;br /&gt;
.xlsx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet&lt;br /&gt;
.xltm,application/vnd.ms-excel.template.macroEnabled.12&lt;br /&gt;
.xltx,application/vnd.openxmlformats-officedocument.spreadsheetml.template&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save the file with File and Exit&lt;br /&gt;
&lt;br /&gt;
Restart IIS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Handling Neosys Automatic Upgrade Error Messages ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
We will receive an email from the NEOSYS client installation with the following message:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;UPGRADEN.EXE&amp;quot; does not have expected exe MZ signature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
This message is a note that the NEOSYS automatic update procedure failed to download an upgrade file correctly.&lt;br /&gt;
This happens sometimes due to network issues but can be ignored because the file will be probably be correctly downloaded on the next automatic update check.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This message is only informative to help with any problem with the automatic upgrade procedure and may be removed in a later version of neosys (currently Oct 2012)&lt;br /&gt;
&lt;br /&gt;
== Testing https connection ==&lt;br /&gt;
&lt;br /&gt;
The following procedure tests that the https server is operational and not blocked by firewall etc. It does not detect certificate errors.&lt;br /&gt;
&lt;br /&gt;
From a windows command prompt use the following telnet command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
telnet clientname.hosts.neosys.com 4430&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
#4430 is the usual NEOSYS http port but replace it by whatever port is actually used for NEOSYS https on the system being tested. If there are multiple https installations on a particular server then different ports are probably used&lt;br /&gt;
#Replace clientname.hosts.neosys.com with the normal https login domain name of the client for whom we want to check the https service&lt;br /&gt;
&lt;br /&gt;
Normal behavior is that it should open a black screen. Pressing Enter or any key returns the _ character. (Close the window using the [X] since there is no keyboard command to do so)&lt;br /&gt;
&lt;br /&gt;
Hanging means that there is some connectivity issue (firewall/ip/server not running/https not installed etc)&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;quot;page not found&amp;quot; error while using https ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#The https service stops working and gives &amp;quot;Page not found&amp;quot; error.&lt;br /&gt;
#The https connection tests fine using telnet (see article above)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#Reinstall https using the usual procedure (currently using selfssl)&lt;br /&gt;
#Email clients, requesting to reinstall the new security certificate by following the instructions for [http://userwiki.neosys.com/index.php/Setting_up_and_Configuring_NEOSYS_Generally#Fixing_HTTPS_certificate_error_when_logging_in_from_an_external_link_using_IE8.2C_IE9_and_IE10 Internet Explorer] or [http://userwiki.neosys.com/index.php/Configuring_Safari_for_MAC_OS#Fixing_HTTPS_certificate_error_when_logging_in_using_an_external_link_using_MAC_Operating_System Safari] browser.&lt;br /&gt;
&lt;br /&gt;
== Installing &amp;quot;QUICKDEX&amp;quot; on some files ==&lt;br /&gt;
&amp;quot;Quickdex&amp;quot; is a type of index that keeps an alphabetical order on small files. In some maintenance procedures you may be asked to &amp;quot;install Quickdex&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For example to add a quickdex to the UNITS file.&lt;br /&gt;
&lt;br /&gt;
Maintenance mode press F5&lt;br /&gt;
&lt;br /&gt;
 DICT UNITS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=================Dictionary=================┐&lt;br /&gt;
│                                            │&lt;br /&gt;
│  File name      UNITS                      │&lt;br /&gt;
│  Field name     .........................  │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Dict type                                 │&lt;br /&gt;
│  Single/Multi                              │&lt;br /&gt;
│  Data type                                 │&lt;br /&gt;
│  Output format                             │&lt;br /&gt;
│  Validation patterns                       │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Position              Key part            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Column heading                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Justification     Display length          │&lt;br /&gt;
│  Description                               │&lt;br /&gt;
│                                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
L============================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Shift+F3.&lt;br /&gt;
&lt;br /&gt;
If it says &amp;quot;Do you want to remove ...&amp;quot; then Quickdex has already been installed and you should not continue. Press Esc to cancel, then Esc to quit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[B202]==================================┐&lt;br /&gt;
│                                         │&lt;br /&gt;
│               &amp;quot;UNITS&amp;quot; has               │&lt;br /&gt;
│          &amp;quot;QUICKDEX&amp;quot; installed.          │&lt;br /&gt;
│                                         │&lt;br /&gt;
│ Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N] │&lt;br /&gt;
│                                         │&lt;br /&gt;
│&amp;lt;Y                                      &amp;gt;│&lt;br /&gt;
L=========================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise it should say &amp;quot;Do you want to install ...&amp;quot;. Press Enter to accept.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[W963]============================┐&lt;br /&gt;
│                                   │&lt;br /&gt;
│     Do you want to install a      │&lt;br /&gt;
│ Quickdex or Rightdex index? [Q/R] │&lt;br /&gt;
│                                   │&lt;br /&gt;
│&amp;lt;Q                                &amp;gt;│&lt;br /&gt;
L===================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It should then say &amp;quot;Do you want to update ...&amp;quot;. Press Enter to accept.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[W901]========================================┐&lt;br /&gt;
│                                               │&lt;br /&gt;
│           The &amp;quot;UNITS&amp;quot; file has had            │&lt;br /&gt;
│ the &amp;quot;QUICKDEX&amp;quot; modifying filing system added. │&lt;br /&gt;
│        There are 0 records in &amp;quot;UNITS&amp;quot;.        │&lt;br /&gt;
│                                               │&lt;br /&gt;
│    Do you want to update &amp;quot;QUICKDEX&amp;quot;? [Y/N]    │&lt;br /&gt;
│                                               │&lt;br /&gt;
│&amp;lt;Y                                            &amp;gt;│&lt;br /&gt;
L===============================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards it should return to the initial screen. Press Esc to quit.&lt;br /&gt;
&lt;br /&gt;
== Solving NEOSYS smtp server failure ==&lt;br /&gt;
In case the neosys smtp server fails then we can just use the client&#039;s smtp server.&lt;br /&gt;
&lt;br /&gt;
The following information is required from the client&#039;s smtp server configuration:&lt;br /&gt;
#hostname&lt;br /&gt;
#username&lt;br /&gt;
#password&lt;br /&gt;
#port no. (most likely = 25)&lt;br /&gt;
&lt;br /&gt;
These details should be entered in the &#039;&#039;&#039;System Configuration File&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
[[image:SYSCFGFILE-SMTP.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Strange characters in maintenance mode ==&lt;br /&gt;
While in Maintenance mode, pressing keys on keyboard gives strange characters. Even Enter and Esc don’t work. &lt;br /&gt;
&lt;br /&gt;
This problem has been seen using RDP on:&lt;br /&gt;
*Window Server 2003 Web Edition&lt;br /&gt;
*Windows Server 2003 R2 SP2&lt;br /&gt;
&lt;br /&gt;
[[image:strangecharmaint.jpg]] &lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
#Go to Windows -&amp;gt; control panel&lt;br /&gt;
#Go to Regional and Language Options &lt;br /&gt;
#Click on Languages tab then click on Details &amp;lt;br&amp;gt; [[image:lang1.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
#Click on Settings Tab and Change default input language to English (United States)&amp;lt;br&amp;gt;(or perhaps something else depending on rdp keyboard) &amp;lt;br&amp;gt; [[image:lang2.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== NEOSYS processes do not start after Windows Update  ==&lt;br /&gt;
&lt;br /&gt;
===Problem===&lt;br /&gt;
Scheduled Task to start the NEOSYS processes fail on Servers with Windows 2008 after Windows update. Support will have to log into the server to start the processes manually&lt;br /&gt;
Message on the Schedule Task displays &amp;quot; The operation being requested was not performed because the user has not logged on to the network. The specified service does not exit &amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[image:sti.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Solution===&lt;br /&gt;
&lt;br /&gt;
For clients who cannot tolerate manual intervention after server reboots for any reason (e.g.need to start work before NEOSYS support is available or on NEOSYS support weekends), tick &amp;quot;highest privileges&amp;quot; and &amp;quot;run whether the user is logged in or not&amp;quot;. This approach means that NEOSYS processes which are started by the windows scheduled task are not visible on the desktop and run hidden in the background and only listed in task manager, so avoid this approach on small clients (only few users). Avoiding this approach will also serve to act as an indicator of server restarts.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting NEOSYS remote support port forwarding ==&lt;br /&gt;
This assumes that you have already “port forwarded” tcp port 19580 from your public internet router to the NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
=== Tst 0 - Check if SSH is working on the NEOSYS Server ===&lt;br /&gt;
Type in the following command in command prompt:&lt;br /&gt;
 telnet 127.0.0.1 19580&lt;br /&gt;
&lt;br /&gt;
IF ALL OK you will see the following:&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-03.jpg]] &lt;br /&gt;
&lt;br /&gt;
=== Test 1 - Check if SSH is basically working on NEOSYS server over the LAN ===&lt;br /&gt;
You must know and use the NEOSYS SERVER LAN IP to do this.&lt;br /&gt;
&lt;br /&gt;
 telnet ???.???.???.??? 19580&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-01.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
If you have the WRONG SERVER LAN IP or NEOSYS server SSH is NOT working then it will hang for about 15 seconds and then say “Could not open connection to host …”&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-02.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
OR IF ALL OK you will see the following:&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-03.jpg]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Press Enter to Exit&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-04.jpg]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Test 2 - Check if can connect to the NEOSYS ssh from OUTSIDE the office  ===&lt;br /&gt;
From any internet connected computer OUTSIDE the office test if you can connect to NEOSYS ssh service. You cannot do this test from inside the office.&lt;br /&gt;
&lt;br /&gt;
You need to know the public ip or domain name of the router. If the router IP is dynamic then NEOSYS sets up dynamic name server so instead of a static ip number you will have a domain name something like clientxyz.redirectme.net.&lt;br /&gt;
&lt;br /&gt;
Enter the command .. using YOUR public internet IP number (NOT the LAN ip number) or the dynamic domain name.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-05.jpg]]  &lt;br /&gt;
&lt;br /&gt;
If everything is working OK you will get a black screen as follows. You will NOT get the “SSH-2.0-OpenSSH-4.7” banner” because NEOSYS ssh remote support is restricted to connect ONLY from LAN ip nos and NEOSYS office ip nos.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-06.jpg]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you press Enter a few times then the cursor will just go down. You have click the [X] to close the window.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-07.jpg]]  &lt;br /&gt;
&lt;br /&gt;
=== Test 3 - Check that the ssh connection from step 2 was rejected  ===&lt;br /&gt;
On the NEOSYS server, check the Windows Application log to verify that an SSH connection was rejected.&lt;br /&gt;
&lt;br /&gt;
The rejected ip number will be of the system outside the office that you performed the test from.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-08.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Sample Email: Solving port 19580 port forwarding issues ===&lt;br /&gt;
&lt;br /&gt;
Some IT people know how to troubleshoot port forwarding issues but others are mostly just power users who can configure a home router. If the IT person is in the second category then it is quicker for NEOSYS support to offer to configure their router from the NEOSYS server using Teamviewer. Ideally NEOSYS should not be doing client IT work but if client IT allows NEOSYS access to their router then NEOSYS support can make a brief attempt to do the configuration. If the issue is still unresolved then request the client to get a professional IT network expert to do the job and inform them that NEOSYS will not be able to provide them any support till connectivity is fixed. Below is a letter advising a more skilled person to check connections using telnet which is a low level test.&lt;br /&gt;
&lt;br /&gt;
You can usually determine the NEOSYS server LAN IP number from Nagios. If so then adjust the email text appropriately.&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Dear XYZ,&lt;br /&gt;
&lt;br /&gt;
It is highly critical to fix the connectivity with the NEOSYS server because NEOSYS will not be able to provide any support until&lt;br /&gt;
connectivity is fixed. User support issues will be delayed and remain unresolved if you do not fix this issue URGENTLY.&lt;br /&gt;
&lt;br /&gt;
At the moment there is no connection from the internet via your router to the NEOSYS server and when we do the following, &lt;br /&gt;
we get no connection. &lt;br /&gt;
&lt;br /&gt;
   telnet CLIENTNAME.support.neosys.com 19580&lt;br /&gt;
&lt;br /&gt;
Normally it should connect and presents a black screen (saying SSH something after pressing Enter) which we close.&lt;br /&gt;
&lt;br /&gt;
Please check that you can connect to the NEOSYS server internally by using the NEOSYS server IP address in the following command on any&lt;br /&gt;
computer in your LAN.&lt;br /&gt;
&lt;br /&gt;
    telnet 192.168.?.? 19580&lt;br /&gt;
&lt;br /&gt;
If you can connect to the NEOSYS server internally then please check port forwarding.&lt;br /&gt;
&lt;br /&gt;
Additionally check the following:&lt;br /&gt;
1. Has your router IP changed?&lt;br /&gt;
2. Has your server’s LAN IP changed and are you forwarding to the correct LAN IP?&lt;br /&gt;
3. Is the configuration really correct?&lt;br /&gt;
4. Check router logs for clues&lt;br /&gt;
5. Check NAT settings in the router&lt;br /&gt;
&lt;br /&gt;
For troubleshooting steps refer Troubleshooting NEOSYS remote support&lt;br /&gt;
http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Troubleshooting_NEOSYS_remote_support_port_forwarding&lt;br /&gt;
&lt;br /&gt;
If the problem still persists, please get a professional IT network expert to fix the issue.&lt;br /&gt;
&lt;br /&gt;
Best Regards,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Port mapping restricted by Source IP ===&lt;br /&gt;
&lt;br /&gt;
On NEOSYS router, port forwarding has been setup only for specific source IP addresses. This means you will not be able to establish a TCP connection to NEOSYS server unless your server&#039;s outbound IP is mapped to the NEOSYS router. In other words unless the outbound i.e source IP/port of your server has been granted access on the NEOSYS router for all incoming connections you will not be able to make connections to NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
Outbound IP is used whenever a server tries to make a connection to another server outside its network. On the other hand a server receives all incoming connections using it&#039;s Inbound IP.&lt;br /&gt;
&lt;br /&gt;
Therefore to setup ssh connection from a new Client server to NEOSYS server we need to grant access to its outbound IP on the NEOSYS router. See [[Troubleshooting_NEOSYS_Generally#If_Telnet_does_not_work | link]] to find the outbound server IP/ports of the server.&lt;br /&gt;
&lt;br /&gt;
== Solving “Cant login … INVALID DATA PATH … permission denied” ==&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&lt;br /&gt;
[[image:error-invalid-data-path-1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error Text:&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 Cannot login because:&lt;br /&gt;
 ERROR: INVALID DATA PATH&lt;br /&gt;
 “D:\HOSTS\HOSTNAME\DATA\HOSTNAME\~8746345.1$” Permission Denied&lt;br /&gt;
&lt;br /&gt;
=== Problem Explained ===&lt;br /&gt;
When installing NEOSYS on an existing “non-clean” Windows installation, the standard NEOSYS installation procedure can result in failure to login if the standard windows folder permissions have been modified.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
The solution is to grant IIS permission to write in the \neosys\DATA folder and subfolders as follows:&lt;br /&gt;
#First add the IUSR_XXXXXXX user to the list of users. (XXXXXXXX is the server name and therefore varies per server) as follows:&lt;br /&gt;
#*Right Click on DATA Folder and click on Properties&lt;br /&gt;
#*Click on Security Tab -&amp;gt; Add -&amp;gt; Advanced&lt;br /&gt;
#*Click on Find Now, Select the IUSR_XXXXXXX user and Click on OK&amp;lt;br&amp;gt;[[image:error-invalid-data-path-2.jpg]]&amp;lt;br&amp;gt;[[image:error-invalid-data-path-3.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Second, for the newly added IUSR (IIS user) change the permissions as follows:&lt;br /&gt;
#*&#039;&#039;&#039;REMOVE&#039;&#039;&#039; the read and execute permission (for security, IIS should be unable to execute things that it might have uploaded)&lt;br /&gt;
#*&#039;&#039;&#039;ADD&#039;&#039;&#039; the write permission &amp;lt;br&amp;gt;[[image:error-invalid-data-path-4.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Login should now be possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== NEOSYS process window displays message &amp;quot;Upgrade Downloading&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
[[image:upgradedownloading.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Problem Explained ===&lt;br /&gt;
NEOSYS thinks it sees an new neosys2.exe upgrade file on the location http://www.neosys.com/support/neosys2.exe which is accessed by http so attempts to download it.&lt;br /&gt;
&lt;br /&gt;
Http proxies and various internet issues can cause incorrect info to be sent and there is actually no upgrade available. In this case, eventually it realizes that it cant find an appropriate and it stops. &lt;br /&gt;
&lt;br /&gt;
You don’t have to worry about this case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Enabling EMS memory on Window 2003 ==&lt;br /&gt;
&lt;br /&gt;
Normally EMS memory is provided by Windows 2003 but this can vary depending on the server hardware/bios configuration&lt;br /&gt;
&lt;br /&gt;
If you get the following messages on Windows 2003&lt;br /&gt;
&lt;br /&gt;
#Backup File Size is 0&lt;br /&gt;
#RTP27. [B28] Not enough String Space – Out of Memory&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
On servers that had no problem previously, the problem is caused by a windows update in Oct 2012 that disables standard Windows EMS memory.&lt;br /&gt;
&lt;br /&gt;
The patch is issued by Microsoft on 9 Oct 2012 but the installation date in the server depends on when the update was actually installed.&lt;br /&gt;
&lt;br /&gt;
http://support.microsoft.com/kb/2724197&lt;br /&gt;
&lt;br /&gt;
=== Solution 1 - maximum performance ===&lt;br /&gt;
&lt;br /&gt;
To re-enable standard windows EMS on older slower servers or servers where NEOSYS performance must be maximized.&lt;br /&gt;
&lt;br /&gt;
The following link contains instructions how to remove the offending windows update&lt;br /&gt;
&lt;br /&gt;
It also shows how to prevent it being reinstalled automatically by Windows.&lt;br /&gt;
&lt;br /&gt;
http://www.columbia.edu/~em36/wpdos/emsxp.html&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to prevent it being reinstalled again automatically&lt;br /&gt;
&lt;br /&gt;
=== Solution 2 – ease of installation ===&lt;br /&gt;
&lt;br /&gt;
This option can also be used if Window 2003 is unable to provide EMS memory for example when the server hardware/bios configuration prevents it.&lt;br /&gt;
&lt;br /&gt;
Install EMSMAGIC in the same way as for Windows server 2008&lt;br /&gt;
&lt;br /&gt;
EMSMAGIC has higher memory consumption and makes NEOSYS processes slower so it is better to use Solution 1 above if NEOSYS performance is an issue.&lt;br /&gt;
&lt;br /&gt;
== Fixing no output file in XXX YYY Issue ==&lt;br /&gt;
&lt;br /&gt;
===Error Message===&lt;br /&gt;
&lt;br /&gt;
[[File:Nooutputfile.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Problem Explained===&lt;br /&gt;
&lt;br /&gt;
The message “No output file in XXX YYY” can appear at several instances in NEOSYS, most often when generating reports or documents. &lt;br /&gt;
&lt;br /&gt;
This problem is usually caused by software error and it indicates that the NEOSYS server responded without any output and without any message. &lt;br /&gt;
&lt;br /&gt;
===Solution===&lt;br /&gt;
1) Find proof to check if the data required for the report actually exists. This way we can eliminate lack of data as a cause for this error.&lt;br /&gt;
&lt;br /&gt;
2) Check to see if a similar issue has been fixed in latest version of NEOSYS.&lt;br /&gt;
&lt;br /&gt;
3) Document HOW and WHERE the problem can be duplicated by NEOSYS programmers to identify and correct the software.&lt;br /&gt;
&lt;br /&gt;
An example of this error can be found at [[Troubleshooting_NEOSYS_Media_System#Error:_No_output_file_in_MEDIAPROXY_SCHEDULEPRINT|No Output File in MEDIAPROXY SCHEDULEPRINT]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting Internet Connections ==&lt;br /&gt;
&lt;br /&gt;
===Cannot Connect===&lt;br /&gt;
&lt;br /&gt;
While investigating as to why users are not able to access NEOSYS or http://www.neosys.com/ ,you can check which ISP the connection issue is on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;whois ipno&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inspect very carefully to get clues as to which ISP and which AREA of the ISP the problematic ip numbers are and which do NOT have problems&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting TCP/IP Connections ===&lt;br /&gt;
&lt;br /&gt;
====Telnet check====&lt;br /&gt;
&amp;lt;pre&amp;gt; telnet &amp;lt;hostname&amp;gt; 19580  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====If Telnet does not work====&lt;br /&gt;
In case telnet does not work, login to the remote host server to investigate the issue. Run the following command simultaneously while doing Telnet from client server to the remote host to check if the TCP packets are reaching the Remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tcpdump -v &#039;src host client-domain-name/ip&#039; &lt;br /&gt;
tcpdump -v portno &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To check if packets are sent from the client server to the remote host, you can run the following command simultaneously while trying to ssh to the remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;netstat -an &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also check if the outbound ports are open from which you are trying to establish the TCP connection to the remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;telnet portquiz.net portno &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The outbound IP addresses at times can be different from the public IP of the Client server so be sure that the public IP of the client server is the same as its source IP (which represents an incoming connection from Client to Remote server). One way to find the source IP of the Client server is sending an email from Client server to &amp;quot;support@neosys.com&amp;quot;. On receiving the email in Thunderbird, select the email and press Ctrl+u. A new window Opens giving full details of the email received. The third &amp;quot;Received :from&amp;quot; gives the IP of the source.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting DNS failure ===&lt;br /&gt;
&lt;br /&gt;
NEOSYS clients routers are usually configured to use their ISP DNS service and the ISP DNS service is supposed to contact one of NEOSYS&#039;s DNS servers to convert server names like hosts.neosys.com into IP numbers. Misconfiguration of clients routers or problems in the ISP DNS server may cause CANNOT CONNECT problems. Often the connect fails quickly and immediately since if a name cannot be converted to an ip number then the connection cannot even be attempted and therefore there is little or no timeout to wait through.&lt;br /&gt;
&lt;br /&gt;
NEOSYS.COM name servers are listed publically and obtained by whois command.&lt;br /&gt;
&lt;br /&gt;
 whois neosys.com&lt;br /&gt;
&lt;br /&gt;
 Name Server: DNS1.EASYDNS.COM&lt;br /&gt;
 Name Server: DNS2.EASYDNS.NET&lt;br /&gt;
 Name Server: DNS3.EASYDNS.ORG&lt;br /&gt;
 Name Server: NS12.ZONEEDIT.COM&lt;br /&gt;
 Name Server: NS18.ZONEEDIT.COM&lt;br /&gt;
&lt;br /&gt;
In order to contact NEOSYS DNS servers the ISP&#039;s have to use a global DNS to obtain the ip addresses of NEOSYS DNS servers given the host names of NEOSYS DNS servers given in the whois info&lt;br /&gt;
&lt;br /&gt;
Here is an example of DU testing NEOSYS DNS servers. The NEOSYS DNS server ip addresses are listed in the Destination column.&lt;br /&gt;
&lt;br /&gt;
[[File:internet.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If one DNS server is down or unreachable REGARDLESS OF REASON, the ISP is supposed to use the other DNS servers. It is impossible for all NEOSYS DNS servers to be unreachable except in gross disconnection from the internet of the ISP since it is effectively impossible that all NEOSYS DNS servers which are carefully spread around the internet, to be unreachable.&lt;br /&gt;
&lt;br /&gt;
In the above test one of the NEOSYS DNS servers is unreachable but all the others are reachable therefore DU should have no problem providing DNS service to its clients.&lt;br /&gt;
&lt;br /&gt;
ISP are often worse at providing DNS server than the famous GOOGLE DNS servers, so re configuring client router to use GOOGLE DNS servers is a way to prove that the problem lies with the ISP&#039;s DNS service&lt;br /&gt;
&lt;br /&gt;
=== Additional test for troubleshooting problems with uploading ===&lt;br /&gt;
&lt;br /&gt;
====Verifying that upload.dll can run====&lt;br /&gt;
&lt;br /&gt;
This isnt a complete test of everything. It just checks if the upload program can be run by the web server. It doesnt check if uploads work or the image directory is correctly configured with the right permissions and uploads can actually be done.&lt;br /&gt;
&lt;br /&gt;
===== Error Message =====&lt;br /&gt;
&lt;br /&gt;
... to be added when discovered ...&lt;br /&gt;
&lt;br /&gt;
===== Test =====&lt;br /&gt;
&lt;br /&gt;
Test HTTP if accessible by LAN; Test HTTPS is accessible by Internet; Test both if both are available.&lt;br /&gt;
&lt;br /&gt;
On the server type the following into a browser&lt;br /&gt;
&lt;br /&gt;
LAN/HTTP:&lt;br /&gt;
&lt;br /&gt;
 http://localhost/neosys/neosys/dll/upload.dll&lt;br /&gt;
&lt;br /&gt;
WAN/HTTPS:&lt;br /&gt;
&lt;br /&gt;
 https://localhost:9999/neosys/dll/upload.dll&lt;br /&gt;
&lt;br /&gt;
===== Expected Result =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Upload Error. !&lt;br /&gt;
Please call me from a form !!!&lt;br /&gt;
The first param must be Filename= name of the uploaded file, TYPE=TEXT&lt;br /&gt;
The second param must be Filedata= uploaded file, TYPE=FILE&lt;br /&gt;
The third param is optional PathData= path to uploaded file, default c:\temp\, TYPE=HIDDEN&lt;br /&gt;
The forth param is optional RedirectPage= name of asp who receive the results, TYPE=HIDDEN&lt;br /&gt;
Add others params at the end with INPUT tag.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Uerror.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Patching a NEOSYS program ==&lt;br /&gt;
&lt;br /&gt;
The patch provided will tell you the program name and contain either a whole replacement program text or just some changed lines which you will have to find and edit.&lt;br /&gt;
&lt;br /&gt;
You will need to know the file name which may be provided along with the patch or you can find it using the following code in maintenance mode:&lt;br /&gt;
&lt;br /&gt;
 ED VOC programname&lt;br /&gt;
&lt;br /&gt;
ED VOC XYZ tells you what program name is executed and from what file, when you type the command XYZ. Normally the program name is the same as the command.&lt;br /&gt;
&lt;br /&gt;
The file name will normally be BP for agency programs, GBP for general programs or ABP for finance programs.&lt;br /&gt;
&lt;br /&gt;
NEOSYS programs are stored in files just like records of ordinary database files. You can edit either with &amp;quot;ED filename programname&amp;quot; or &amp;quot;TED filename programname&amp;quot;. TED is better for editing source code.&lt;br /&gt;
&lt;br /&gt;
===Installing patch in live database===&lt;br /&gt;
&lt;br /&gt;
In the rare case that the programmer asks Support to install the patch directly on LIVE dataset, start by typing the following command in maintenance mode before commencing:&lt;br /&gt;
&lt;br /&gt;
 UTIL&lt;br /&gt;
&lt;br /&gt;
Follow the instructions mentioned in the [[Troubleshooting_NEOSYS_Generally#Installing_patch_in_test_database| next section]], but skip the instruction to TEST the patched program in test dataset.&lt;br /&gt;
&lt;br /&gt;
The instruction to INSTALL the patched program MUST be followed BEFORE testing the patch in live dataset. Otherwise the changes will not get reflected.&lt;br /&gt;
&lt;br /&gt;
===Installing patch in test database===&lt;br /&gt;
&lt;br /&gt;
1. EDIT the program source code.&lt;br /&gt;
&lt;br /&gt;
 TED programname&lt;br /&gt;
&lt;br /&gt;
Either cut and paste to modify the whole program or edit the program text according to the patch/instructions provided.&lt;br /&gt;
&lt;br /&gt;
Save and close the program source code.&lt;br /&gt;
&lt;br /&gt;
2. COMPILE it. If you get errors then check your edits are correct and recompile otherwise return the patch to programming.&lt;br /&gt;
&lt;br /&gt;
  COMPILE filename programname&lt;br /&gt;
&lt;br /&gt;
3. TEST it. Ensure the patched program now works in TEST database.&lt;br /&gt;
&lt;br /&gt;
4. INSTALL the patched program in the LIVE database by typing one of the following command depending on the filename that you patched.&lt;br /&gt;
&lt;br /&gt;
 COPYGBP programname&lt;br /&gt;
 COPYABP programname&lt;br /&gt;
 COPYBP programname&lt;br /&gt;
&lt;br /&gt;
== Patching NEOSYS dictionaries ==&lt;br /&gt;
&lt;br /&gt;
A patch to a dictionary applies immediately when you save it and to all datasets regardless of which dataset you work in.&lt;br /&gt;
&lt;br /&gt;
You need:&lt;br /&gt;
&lt;br /&gt;
#the file name eg INVOICES&lt;br /&gt;
#the item name (column name) eg  DATETIME_AMENDED&lt;br /&gt;
#10 lines of data similar to the example below.&lt;br /&gt;
#if the item is an S type dictionary, then either the whole, or only the amended part, of the source code of the dictionary.&lt;br /&gt;
&lt;br /&gt;
 ED DICT INVOICES DATETIME_AMENDED&lt;br /&gt;
&lt;br /&gt;
TYPE everything below exactly on the corresponding line numbers except lines 3 and very commonly line 8, as these lines may contain multiple values separated by a superscript 2 (²). Line numbers in the below screen are only for illustrative purpose. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  ╔═══════════════════════════┤DATETIME_AMENDED├═════════════════════════╗&lt;br /&gt;
 1║S                                                                     ║&lt;br /&gt;
 2║                                                                      ║&lt;br /&gt;
 3║DateTime²Amended                                                      ║&lt;br /&gt;
 4║S                                                                     ║&lt;br /&gt;
 5║                                                                      ║&lt;br /&gt;
 6║                                                                      ║&lt;br /&gt;
 7║[DATETIME]                                                            ║&lt;br /&gt;
 8║updated=@record&amp;lt;28&amp;gt;²created=@record&amp;lt;31,1&amp;gt;²@ans=&#039;&#039;²if created and num(c║..actually this line continues off the screen to the right&lt;br /&gt;
 9║R                                                                     ║&lt;br /&gt;
10║10                                                                    ║&lt;br /&gt;
11║                                                                      ║&lt;br /&gt;
  :                                                                      :&lt;br /&gt;
  :                                                                      :&lt;br /&gt;
  ╚══════════════════════════════════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Ctrl+E on lines 3 or 8 in order to enter sub-lines. &lt;br /&gt;
&lt;br /&gt;
The multiple values (on line 3 and 8) separated by a superscript 2 (²) automatically appear when sub-lines are entered.&lt;br /&gt;
&lt;br /&gt;
For line 8, you will need to cut and paste the lines of below program to the Ctrl+E screen: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔═════════════════════════┤Field 8 of DATETIME_AMENDED├════════════════════════╗&lt;br /&gt;
║updated=@record&amp;lt;28&amp;gt;                                                           ║&lt;br /&gt;
║created=@record&amp;lt;31,1&amp;gt;                                                         ║&lt;br /&gt;
║@ans=&#039;&#039;                                                                       ║&lt;br /&gt;
║if created and num(created) and num(updated) then                             ║&lt;br /&gt;
║ createdsecs=field(created,&#039;.&#039;,1)*86400+field(created,&#039;.&#039;,2)                  ║&lt;br /&gt;
║ updatedsecs=field(updated,&#039;.&#039;,1)*86400+field(updated,&#039;.&#039;,2)                  ║&lt;br /&gt;
║ if abs(updatedsecs-createdsecs)&amp;gt;120 then                                     ║&lt;br /&gt;
║  @ans=updated                                                                ║&lt;br /&gt;
║  end                                                                         ║&lt;br /&gt;
║ end                                                                          ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
╚══════════════════════════════════════════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you save and exit the Ctrl+E screen, you will see the sublines separated by superscript 2 appear in one line in the ED screen. &lt;br /&gt;
&lt;br /&gt;
Similarly, for line 3, you need to enter its sub-lines in Ctrl+E screen.&lt;br /&gt;
&lt;br /&gt;
To ensure indenting remains nice (although indenting is not important and can be messed up without causing any problem) then copy the double bars at the front of the lines (if available, otherwise insert some char in position 1 of each line perhaps) and then remove them after you paste ... or just edit until the indenting is correct if you really want to.&lt;br /&gt;
&lt;br /&gt;
Press F9 and/or Esc to save and/or exit from Ctrl+E screen&lt;br /&gt;
&lt;br /&gt;
Press F9 and/or Esc to save and/or exit from ED&lt;br /&gt;
&lt;br /&gt;
== Searching XML files ==&lt;br /&gt;
&lt;br /&gt;
Use the grep command in Cygwin terminal to search files especially when you are investigating the NEOSYS Logs. &lt;br /&gt;
&lt;br /&gt;
Use the following command while searching for a file in any directory&lt;br /&gt;
&lt;br /&gt;
 grep string path/file&lt;br /&gt;
&lt;br /&gt;
 grep -i -a string path/file  (use -i to ignore upper/lower case characters in the string and -a to treat the file type=text and display the matching text)&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;string&amp;quot; is the text to be searched, &amp;quot;file&amp;quot; is the type of file you are looking for and &amp;quot;path&amp;quot; is the path of the directory you are looking into. Use &amp;quot;&amp;quot; when having spaces in your string.&lt;br /&gt;
&lt;br /&gt;
e.g when searching in NEOSYS logs the year/month/date is specified in the file name, so if you are looking for a file in year 2016 in the month of Feb, use&lt;br /&gt;
&lt;br /&gt;
 grep XXXX path/1602*&lt;br /&gt;
&lt;br /&gt;
In the above command *(asterisk) is a wildcard used to match characters in the file name.&lt;br /&gt;
&lt;br /&gt;
Sample below of grep command and its output where it is searching for &amp;quot;Dior&amp;quot; in 2016 march logs.&lt;br /&gt;
 $ grep -i Dior /cygdrive/d/hosts/test/logs/test/2016/1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 Binary file path/16030301.XML matches&lt;br /&gt;
&lt;br /&gt;
Use the commands below to display the search string and required number of lines that come either after or before the search string, depending on what you enter in your command. It helps to get more information from files especially when you only know few words and the other information around the searched string also gets displayed. &lt;br /&gt;
&lt;br /&gt;
 grep -A NUM string file (NUM lines after the searched text get displayed)&lt;br /&gt;
&lt;br /&gt;
 grep -B NUM string file (NUM lines before the searched text get displayed)&lt;br /&gt;
&lt;br /&gt;
See the examples and their respective outputs below, (Note: there is no space between -A and NUM):&lt;br /&gt;
&lt;br /&gt;
 $ grep -A2 -i &amp;quot;Dior&amp;quot; 1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 Binary file 16022101.XML matches&lt;br /&gt;
 Binary file 16022901.XML matches&lt;br /&gt;
&lt;br /&gt;
 $ grep -A2 -a &amp;quot;Dior&amp;quot; 1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 16030301.XML:&amp;lt;DataOut&amp;gt;DIOR%FEPOI%FE&#039;&#039;&#039;Dior&#039;&#039;&#039; Poison%FE%FE%FE%FE%FEDubai,    UAE%FE%FE%FE%FEN%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEN%FE%FE%FE17584.43592%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FENEOSYS%FE17584.43592%FE94_200_49_146%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEpaulson&amp;lt;/DataOut&amp;gt;&amp;lt;/Message&amp;gt;&lt;br /&gt;
 --&lt;br /&gt;
 16030301.XML:&amp;lt;DataOut&amp;gt;DIOR%FEPOI%FE&#039;&#039;&#039;Dior&#039;&#039;&#039; Poison%FE%FE%FE%FE%FEDubai,   UAE%FE%FE%FE%FEN%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEN%FE%FE%FE17584.43592%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FENEOSYS%FE17584.43592%FE94_200_49_146%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEpaulson&amp;lt;/DataOut&amp;gt;&amp;lt;/Message&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some more examples of grep below:&lt;br /&gt;
&lt;br /&gt;
 Use the command below when searching with more than one search string&amp;lt;br&amp;gt;&lt;br /&gt;
 grep -a string1 *|grep string2&lt;br /&gt;
&lt;br /&gt;
 grep -B2 -a Processing 160329*|grep -v DataIn|grep -v Message|less&amp;lt;br&amp;gt;&lt;br /&gt;
 where user wants the output to show lines containing string &amp;quot;Processing&amp;quot; and exclude lines containing string &amp;quot;DataIn&amp;quot; and &amp;quot;Message&amp;quot;, |less displays the output in a new screen.&lt;br /&gt;
&lt;br /&gt;
== Managing the queue of reports being delivered by email ==&lt;br /&gt;
&lt;br /&gt;
In maintenance mode.&lt;br /&gt;
&lt;br /&gt;
=== Listing ===&lt;br /&gt;
&lt;br /&gt;
 LIST DOCUMENTS WITH SCHEDULED_ONCE&lt;br /&gt;
&lt;br /&gt;
=== Clearing ===&lt;br /&gt;
&lt;br /&gt;
 SELECT DOCUMENTS WITH SCHEDULED_ONCE&lt;br /&gt;
 DELETE DOCUMENTS&lt;br /&gt;
&lt;br /&gt;
== Removing non essential files on win3 ==&lt;br /&gt;
Non essential files getting accumulated over time can take up a lot of space on the hard disk resulting in low free space on the server. NEOSYS Client Monitoring system alerts about the issue for win3 server as it monitors the Disk Space of both C &amp;amp; D drive. To fix it Support team will have to create free space on the server.&lt;br /&gt;
&lt;br /&gt;
Making space on the server is time taking and requires patience as you need to go through all the files/folders looking for non essential files. Do not make any assumptions for not looking into a folder.&lt;br /&gt;
&lt;br /&gt;
Non essential files are the ones without which we can work properly and will continue to work in future.&lt;br /&gt;
&lt;br /&gt;
Support team should keep in mind the below points while creating space on the server:&lt;br /&gt;
&lt;br /&gt;
#Look into the drive for which nagios is alerting and dig into all the folders.&lt;br /&gt;
#Right click Folder &amp;gt; Properties &amp;gt; Size on Disk, to find out the size of a folder.&lt;br /&gt;
#On d drive majority of the space is taken by d:\hosts and d:\data.bak folder and on c drive it&#039;s taken up by the important windows/cygwin folders.&lt;br /&gt;
#The space distribution will give you an idea about which folders to target that can give you lot of space on clean up.&lt;br /&gt;
#Following are the non essential files/folders which can create a lot of space on removal. Use your intelligence and presence of mind while deleting files/folders because once deleted the information is lost forever.&lt;br /&gt;
#*Folder: d\data.bak. Check for stopped client&#039;s backups and delete if present.&lt;br /&gt;
#*Folder: d\hosts\clientname\logs (where clientname stands for all the client folders in hosts) Look into logs prior to the current year and the year before and delete them. In the recent versions of NEOSYS, log folders are compressed and take up a lot less space on disk than presented as their size. You can see the difference in their properties.&lt;br /&gt;
#*Folder: d\hosts\clientname\downloads. The folder might contain lot of old versions of neosys.exe files, just keep the two latest ones and delete the rest. Do this for all clients except test installation because Support maintains all the old versions of neosys.exe in it.&lt;br /&gt;
#*Folder: d\hosts\old. Remove the Stopped Clients installation folder older than 1 year.&lt;br /&gt;
#*Apart from above folders look for random backup.zip files present in c/d drive. This happens when Support restores data from a zip file and forgets to delete it after the restore.&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Troubleshooting_NEOSYS_Generally&amp;diff=2686</id>
		<title>Troubleshooting NEOSYS Generally</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Troubleshooting_NEOSYS_Generally&amp;diff=2686"/>
		<updated>2016-05-17T08:08:49Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Removing non essential files on win3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Solving failure to start a NEOSYS server due to disk failure message ==&lt;br /&gt;
=== Problem ===&lt;br /&gt;
During a reboot process (which maybe due to a Windows update or even done by a support personnel) the NEOSYS server gets hung on the startup and shows a message &amp;quot;Boot Failure - Abort, Retry&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
=== Temporary solution ===&lt;br /&gt;
This typically happens due to the USB being plugged into the server and the boot sequence being wrong - i.e. the server trying to boot from the USB first and fails. The immediate solution would be to unplug the USB and ask the client to reboot the server again and upon successfully rebooting the system, plug the USB back again.&lt;br /&gt;
&lt;br /&gt;
=== Permanent solution ===&lt;br /&gt;
The above problem will occur every time the computer is rebooted, so you need to immediately talk to the IT Administrator of the client and ask them to rectify the boot sequence to make it boot first from the CD ROM, then the HDD and last the USB.&lt;br /&gt;
&amp;lt;BR&amp;gt;Allowing &amp;quot;Boot from USB&amp;quot; causes a severe risk of infection by boot sector viruses since the first infected USB device inserted WILL infect the server immediately as anti-virus programs are not active during boot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting the &amp;quot;Database not available&amp;quot; error message == &lt;br /&gt;
=== Problem explained ===&lt;br /&gt;
This error appears when you try to login to NEOSYS after you enter your username and password and click the Login button.&lt;br /&gt;
&lt;br /&gt;
[[image:database_unavailable.jpg]]&lt;br /&gt;
&lt;br /&gt;
Error message : &lt;br /&gt;
&lt;br /&gt;
 Cannot login because : &lt;br /&gt;
 Error :  The (database code) database is not available right now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the error message appears post login i.e. when users are working on the system then check if processes are free to run user request.&lt;br /&gt;
&lt;br /&gt;
[[image:not_available.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Solution explained ===&lt;br /&gt;
# Determine if the processes are running. If they are running and you still get the same message that means that either the processes have [[Troubleshooting_NEOSYS_Generally#Troubleshooting_Hung_processes|hung]] and need to be [[Troubleshooting_NEOSYS_Generally#How_to_kill_hung_NEOSYS_processes|killed]]. Or the processes are busy to run user requests and a new process needs to be started. &lt;br /&gt;
# If the processes are not visible on the destop, it is possible that they are running in the background and have hung for some reason. Check the windows task manager to see if any ‘ntvdm’ process is running and [[Troubleshooting_NEOSYS_Generally#If_NEOSYS_processes_are_not_visible_on_the_server_desktop|fix hung processes]].&lt;br /&gt;
# If there is no trace of any process running, that means the process probably did not start at the scheduled time. Refer to the &#039;Hung Process Reports&#039; to verify this claim. &lt;br /&gt;
# If the process had not hung, then the server might have restarted due to a power failure or a windows update and the administrator user had not logged in post the scheduled startup time of 6AM. To determine this cause, investigate in the Windows Event Viewer Log file.&lt;br /&gt;
# You can now start up the process by clicking on the respective desktop icons.&lt;br /&gt;
# Also check if the backup took place successfully or not. If not take a manual backup.&lt;br /&gt;
# Look into the logs at the date/time stated for the last transaction processed to investigate why process got hung.See [[Troubleshooting_NEOSYS_Generally#Inspecting_Database_LOGS_Folder| Inspecting logs]] for more information on logs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;quot;user not authorised to login from a location&amp;quot; error message ==&lt;br /&gt;
[[image:IPerror.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error message:&#039;&#039;&#039;&lt;br /&gt;
 xxx is not authorised to login form the location (IP Number. xx.xx.xx.xx)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution Explained:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Check the URL used and follow the steps below to check if it is correct and email the user accordingly.&lt;br /&gt;
#If the Client installation is hosted on NEOSYS server then users can use only https link to access NEOSYS.&lt;br /&gt;
#*Check with the client&#039;s management if this particular IP is their public IP.&lt;br /&gt;
#*Add IP on management confirmation (Refer to [[Procedures#Handling_User_Requests_to_add_an_IP_or_range_of_IPs_to_access_NEOSYS|Handling User Requests to add IP/IPs ]] ) &lt;br /&gt;
#In case of Client hosted server, users should access NEOSYS via LAN using the http link.&lt;br /&gt;
#*There can be exceptional cases where user needs to access NEOSYS outside the office Network e.g a client installation with two companies at different locations and NEOSYS installed at one. In this case Support will have to add the IP number of the second company so that users can access NEOSYS.&amp;lt;br&amp;gt;But before you even suggest to add the IP, get the request from their management saying that the IP number is another office location and needs to be added. (Refer to [[Procedures#Handling_User_Requests_to_add_an_IP_or_range_of_IPs_to_access_NEOSYS|Handling User Requests to add IP/IPs ]] )&lt;br /&gt;
&lt;br /&gt;
== Handling damaged files ==&lt;br /&gt;
&lt;br /&gt;
[[Handling damaged files]]&lt;br /&gt;
&lt;br /&gt;
=== Checking for corrupt database files ===&lt;br /&gt;
Login to NEOSYS Maintenance. This can be done when users are online.&lt;br /&gt;
&lt;br /&gt;
Press F5&lt;br /&gt;
&lt;br /&gt;
 CHK.FILES&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
 CHK.FILES filename&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Sizelock while performing chk.files &#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Fixing sizelock errors should not be done while other users are online to the same database.&lt;br /&gt;
&lt;br /&gt;
Sizelock errors are not critical and will be fixed automatically during the nightly backup.&lt;br /&gt;
&lt;br /&gt;
Sizelock errors occur if a program or process that is selecting records from a file is aborted in some abnormal way.&lt;br /&gt;
&lt;br /&gt;
Error message:&lt;br /&gt;
&lt;br /&gt;
 These Files/Tables have a Sizelock Value of 2 or greater. &lt;br /&gt;
 Tag/Select the Files/Tables to be Fixed.&lt;br /&gt;
 Press F9 to fix selected files&lt;br /&gt;
&lt;br /&gt;
Press F9 to proceed with fixing the selected files or press ESC to continue with chk.files without fixing sizelock as it gets automatically fixed during the nightly backup. &lt;br /&gt;
&lt;br /&gt;
Refer to the [http://techwiki.neosys.com/index.php/Backup_and_Restore#Error_Message:_Size_Lock Sizelock errors in backup emails] for more information.&lt;br /&gt;
&lt;br /&gt;
[[file:sizelock.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Determining Database File Name from Operating System File Name ===&lt;br /&gt;
&lt;br /&gt;
To assess the potential damage and possible remedial measures you need to know the database file name. If the message only refers to the operating system file name you need to follow this procedure to determine the database file name.&lt;br /&gt;
&lt;br /&gt;
Once you have the database file name you can use CHK.FILES XXXXXXX to check if corrupt or not and various other procedures to fix the corruption.&lt;br /&gt;
&lt;br /&gt;
Remember that fixing the corrupt data does not solve the overall problem. The *cause* of the corruption must be identified and eliminated otherwise the problem may reoccur and in a more serious form perhaps with unrecoverable loss of data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╒═══════════════════════════════════TCL - 2══════════════════════════════════╕&lt;br /&gt;
│                                                                            │&lt;br /&gt;
│ :list FILES WITH ALL CONTAINING &#039;REV76481&#039;                                 │&lt;br /&gt;
│                                                                            │&lt;br /&gt;
╘════════════════════════════════════════════════════════════════════════════╛&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:DBfilenamefromOSfilename.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Finding out when and by whom a record was deleted ==&lt;br /&gt;
&lt;br /&gt;
In most cases, NEOSYS does not allow users to delete records and instead keeps a record of everything. In some cases however, things are deleted and the only way to get full details about the deletion is to search the logs. This is cumbersome, but there is a quick way to find out when, and by whom, a record was deleted. Prior to NEOSYS software versions dated Mar 2014, and deletions done before the same date, this procedure will only tell you when the record was deleted - but not who deleted it. Knowing exactly when it was deleted will nevertheless help you to search the logs for full details.&lt;br /&gt;
&lt;br /&gt;
In maintenance mode F5&lt;br /&gt;
&lt;br /&gt;
 ED SHADOW DELETED*filename*key&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 ED SHADOW DELETED*BATCHES*L*JOU*2*U&lt;br /&gt;
&lt;br /&gt;
Journals are stored in the BATCHES file. The key of an unposted batch is x*y*999*U where x is the company code, y is the journal type code, 999 is UNPOSTED batch number and U is just U to indicate unposted batches. Note that unposted batches are normally deleted at the time they are posted - ie converted to posted batches.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔══════════════════════════┤DELETED*BATCHES*L*JOU*2*U├═════════════════════════╗&lt;br /&gt;
║16831.60706                                                                   ║&lt;br /&gt;
║BRUCEL                                                                        ║&lt;br /&gt;
║╒═══════════════════════════════════TCL - 6══════════════════════════════════╕║&lt;br /&gt;
║│                                                                            │║&lt;br /&gt;
║│ :EVAL PRINT 16831.60706 &#039;[DATETIME]&#039;                                       │║&lt;br /&gt;
║│                                                                            │║&lt;br /&gt;
║╘════════════════════════════════════════════════════════════════════════════╛║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you see the number (in this case 16831.60706) you can convert it to a time and date by typing something like&lt;br /&gt;
&lt;br /&gt;
 PRINT 16831.60706 &#039;[DATETIME]&#039;&lt;br /&gt;
&lt;br /&gt;
Using this date and time you can search the logs more effectively to find out who did the deletion and in what circumstances.&lt;br /&gt;
&lt;br /&gt;
== Assessing Database Size per File ==&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
 &lt;br /&gt;
 LIST FILES BY BY-DSND SIZE VOLUME.NAME SIZE&lt;br /&gt;
 &lt;br /&gt;
This will include all files not just those in the actual dataset in DATA\* folders.&lt;br /&gt;
&lt;br /&gt;
== Fixing slow speed ==&lt;br /&gt;
=== [[Benchmarking NEOSYS]] ===&lt;br /&gt;
=== Investigating CPU 100% using Windows Task Manager ===&lt;br /&gt;
Email, to support, a screen-shot of task manager APPLICATIONS, PROCESSES and PERFORMANCE screens MAXIMIZED TO SHOW AS MUCH AS POSSIBLE. &lt;br /&gt;
&lt;br /&gt;
(Sort the processes to show ntvdm, waiting.exe and high cpu% processes clearly)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steps:&#039;&#039;&#039;&lt;br /&gt;
#Right Click on Windows Taskbar and click on Start Task Manager &amp;lt;br&amp;gt; [[image:starttaskmanager.jpg]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
#Click on Processes and then click on CPU &amp;lt;br&amp;gt;&#039;&#039;&#039;Note - The HIGH cpu% processes which should usually be the &amp;quot;process&amp;quot; called &amp;quot;System Idle Process&amp;quot; &#039;&#039;&#039;&amp;lt;br&amp;gt;[[image:cpu100percent1.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Click on the Performance Tab &amp;lt;br&amp;gt; &#039;&#039;&#039;Note - PF Usage should typically be much less than Physical Memory otherwise there is insufficient real memory in the server to handle the load&#039;&#039;&#039; &amp;lt;br&amp;gt; [[image:cpu100percent3.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Click on Application Tab then Right Click on a NEOSYS Process and Click on Bring to Front &amp;lt;br&amp;gt;&#039;&#039;&#039;See what the NEOSYS Process is doing &amp;lt;br&amp;gt; [[image:cpu100percent2.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Right Click on a NEOSYS Process and Click on Go to Processes &amp;lt;br&amp;gt;&#039;&#039;&#039;Note the cpu% ntvdm process &amp;lt;br&amp;gt;[[image:cpu100percent2_2.jpg]]&amp;lt;br&amp;gt;  &lt;br /&gt;
#Normally NEOSYS application screens say &amp;quot;LISTENING&amp;quot; in the bottom line and those applications should have very low cpu%&amp;lt;br&amp;gt;[[image:normalneosysprocess.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Look at the difference between the screen of running NEOSYS processes (applications actually) which are idle (listening for requests) and active (processing a request from a user)&lt;br /&gt;
#Note the number of cpus or cpu threads in the server from the performance screen graphics&amp;lt;br&amp;gt;[[image:performance-taskmgr-cputhread.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Take screen-shots of any and ALL hung or long running processes (NEOSYS application screens) and email them to support. Even small details on the screens and user names, the user names may give clues to what problem caused the hanging.A Typical Hung NEOSYS process will look like this: &amp;lt;br&amp;gt; [[image:hungneosysprocess.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
#Once all hung/long processes are closed then CPU should be low and not near 100%. If it is still 100% then check all high cpu% processes and send a screen-shot of processes sorted to show the high cpu% process names to support.&lt;br /&gt;
&lt;br /&gt;
=== Solving server CPU% is 100 and all users are extremely slow/stopped ===&lt;br /&gt;
&lt;br /&gt;
Get the screenshots of Task Manager and ALL processes on the server, the objective is to assess the true issue. No need to get the screens not in use obviously but you can send a parallel screen shot for them if you want to be pedantic or even a comment will do.&lt;br /&gt;
&lt;br /&gt;
==== Too few CPUs/threads for the number of users ====&lt;br /&gt;
In Windows task manager normally, you should see one ntvdm.exe and one waiting.exe process per NEOSYS process (application). A standard installation has three NEOSYS processes per main database and plus one per test database. This is configured in Support Menu, Configuration File.&lt;br /&gt;
&lt;br /&gt;
If there are MORE ntvdm processes than you expect from the configuration file, then perhaps NEOSYS is auto starting new NEOSYS processes to try and cater for a high number of concurrent users.&lt;br /&gt;
&lt;br /&gt;
If the number of concurrent NEOSYS processes significantly exceeds the number of cpus/hyperthreads available in the server then processing for everybody can become so slow for everybody and almost no work gets done.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Stop NEOSYS creating new NEOSYS processes automatically. Create a text file with the first and only line as AUTOSTART=NO in the neosys\neosys folder something like this.&lt;br /&gt;
&lt;br /&gt;
notepad d:\neosys\neosys\NET.CFG&lt;br /&gt;
&lt;br /&gt;
AUTOSTART=NO&lt;br /&gt;
&lt;br /&gt;
== How do I troubleshoot email not received? ==&lt;br /&gt;
&lt;br /&gt;
[[Troubleshooting email not received]]&lt;br /&gt;
&lt;br /&gt;
== Fixing permissions errors while logging in ==&lt;br /&gt;
 &lt;br /&gt;
=== Problem ===&lt;br /&gt;
 &lt;br /&gt;
While logging in, you get the following error message:&lt;br /&gt;
[[Image:login_error_message.jpg]]&lt;br /&gt;
 &lt;br /&gt;
=== Solution ===&lt;br /&gt;
 &lt;br /&gt;
Add the internet guest account to the security list of the data folder with the default permission of list/read/write&lt;br /&gt;
 &lt;br /&gt;
Make sure the read&amp;amp;execute permission is removed&lt;br /&gt;
[[Image:permissions_on_data.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fixing the &#039;HTTP Error 500.0 - Internal Server Error&#039; while logging in on IE on a Windows Vista system ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
After configuring IIS on Windows Vista you will get this error message while trying to login into NEOSYS from Internet Explorer:&lt;br /&gt;
&lt;br /&gt;
 HTTP Error 500.0 - Internal Server Error&lt;br /&gt;
 Description: This application is running in an application pool that uses the Integrated .NET  &lt;br /&gt;
 mode. This is the preferred mode for running ASP.NET applications on the current and future &lt;br /&gt;
 version of IIS.&lt;br /&gt;
 &lt;br /&gt;
 In this mode, the application using client impersonation configured with &amp;lt;identity &lt;br /&gt;
 impersonate=&amp;quot;true&amp;quot; /&amp;gt; may not behave correctly. Client impersonation is not available in early &lt;br /&gt;
 ASP.NET request processing stages and may lead modules in those stages to execute with process &lt;br /&gt;
 identity instead.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
You can move the application to an application pool that uses the Classic .NET mode by using the following from a command line window (the window must be running as Administrator) &lt;br /&gt;
&lt;br /&gt;
 %systemroot%\system32\inetsrv\APPCMD.EXE set app &amp;quot;Default Web Site/neosys&amp;quot; /applicationPool:&amp;quot;Classic .NET AppPool&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can use any other application pool on your system that is running in the Classic .NET mode. You can also use the IIS Administration tool to move this application to another application pool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fixing the &#039;Class Not Registered&#039; error message while logging in ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
While logging into NEOSYS, you will get a popup window giving an error message saying &#039;Class Not Registered - Server Error&#039;. Typically, you will encounter this error with XP Pro IIS 5.1. As usual, there&#039;s way to solve it, however the root cause of this is still unknown.&lt;br /&gt;
&lt;br /&gt;
Anyway, you will get the proper message in the event log:&lt;br /&gt;
&lt;br /&gt;
 Event Type: Warning&lt;br /&gt;
 Event Source: W3SVC&lt;br /&gt;
 Event Category: None&lt;br /&gt;
 Event ID: 36&lt;br /&gt;
 Description: The server failed to load application &#039;/LM/W3SVC/1/ROOT/NEOSYS.&lt;br /&gt;
 The error was &#039;Class not registered&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
So, what do you do ? This problem is related to Component Services, and when you open Component Services MMC, you will most probably  get  Error Code 8004E00F COM + was unable to talk to Microsoft Distributed Transaction Coordinator. So, fix the COM+ services first by using the following KB from Microsoft (PRB: Cannot Expand &amp;quot;My Computer&amp;quot; in Component Services MMC Snap-In http://support.microsoft.com/?id=301919):&lt;br /&gt;
&lt;br /&gt;
To resolve this problem, reinstall Component Services as follows: WARNING: &lt;br /&gt;
# Open registry editor, locate HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3, and then delete this key.  &lt;br /&gt;
# From the Start menu, point to Settings, click Control Panel, and then click Add/Remove Programs.  &lt;br /&gt;
# Click Add/Remove Windows Components. &lt;br /&gt;
# Proceed through the wizard, and accept all of the defaults (including IIS)&lt;br /&gt;
# Restart the computer.&lt;br /&gt;
&lt;br /&gt;
If the above didn&#039;t solve it, and you still receive the &#039;Class not registered&#039; error message, then you need to recreate the IIS packages in COM+, try&lt;br /&gt;
&lt;br /&gt;
# Delete IIS related package in Component Services MMC&lt;br /&gt;
# IIS In-Process Applications &lt;br /&gt;
# IIS Out-of-Process Pooled Applications &lt;br /&gt;
# IIS Utilities&lt;br /&gt;
&lt;br /&gt;
Next, if you still get the message, try following before re-install IIS if you can&#039;t find Distributed Transaction Coordinator in your Services console.&lt;br /&gt;
&lt;br /&gt;
Launch command prompt and run the following command.&lt;br /&gt;
# msdtc -install&lt;br /&gt;
# net start msdtc&lt;br /&gt;
&lt;br /&gt;
Then try re-install IIS.&lt;br /&gt;
&lt;br /&gt;
This should solve the problem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enabling File Security option on Win XP Professional ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
&lt;br /&gt;
In the Properties of any folders, the Security option does not show, hence you cannot modify the Read, Write options.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
The solution would be to untick the &#039;Simple File Sharing&#039; option from  Tools &amp;gt; Folder Options &amp;gt; View:&lt;br /&gt;
[[Image:simplefilesharingoff.jpg]]&lt;br /&gt;
&lt;br /&gt;
== %00%00%00%00 Errors ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SYSTEM ERROR in line 162. Amount &amp;quot;-2698.00AED&amp;quot; or base &amp;quot;%00%00%00%00&amp;quot; has been wrongly generated   &lt;br /&gt;
GET NEOSYS SUPPORT. DO NOT ATTEMPT TO CORRECT MANUALLY    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Solution ===&lt;br /&gt;
%00%00%00%00 indicates an internal error that NEOSYS programmer has to fix. It is usually random and can be hard to replicate unlike almost all other NEOSYS errors which usually replicate reliably once you find the cause.&lt;br /&gt;
&lt;br /&gt;
== B703 Errors ==&lt;br /&gt;
&lt;br /&gt;
The B703 error is usually always related to something too big for NEOSYS to handle. &lt;br /&gt;
&lt;br /&gt;
These are the only B errors that NEOSYS cant always permanently prevent by fixing the software.&lt;br /&gt;
&lt;br /&gt;
== Internet Explorer Menu, View, Text Size doesnt change font size as expected ==&lt;br /&gt;
&lt;br /&gt;
Cause: This is because the font size is now user definable in NEOSYS and View, Text Size does not override predefined font sizes.&lt;br /&gt;
&lt;br /&gt;
Solution: If you are using Internet Explorer 7 you can scale the screen (including the font size  using ctrl + and ctrl - keyboard shortcuts or the font size button on the bottom right hand side of the window. &lt;br /&gt;
&lt;br /&gt;
You can adjust the font size on the User Details form when you login although this permanently applies to all forms not just the one that you are on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uploaded jpg files fail to display in internet explorer ==&lt;br /&gt;
&lt;br /&gt;
Some large jpg files &amp;gt; 2Mb cannot be viewed in internet explorer despite being viewable in image preview, ms paint and other viewers/editors. It is not an issue caused by uploading or downloading the files.&lt;br /&gt;
&lt;br /&gt;
These file appear to have been created on Photoshop CS Macintosh and may be a special type of uncompressed jpg used for production quality files.&lt;br /&gt;
&lt;br /&gt;
=== Partial solution ===&lt;br /&gt;
Before uploading the files, open them in some editor like MS Paint (right click, edit) and save them. However this results in a loss of quality. Perhaps there is some program that can convert these files to a format understandable by Internet explorer without any loss of quality.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;This document is currently read only&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
The user attempting to modify this document does not have the authorization key to do so.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
Inform the user that he is not authorised to modify the document and give him the list of users within his company who are authorised to do so.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;You have attempted to write to a read-only file&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
=== Message ===&lt;br /&gt;
&lt;br /&gt;
Error while writing data.&lt;br /&gt;
You have attempted to write to a read-only file.&lt;br /&gt;
- or -&lt;br /&gt;
access to the file has been denied by the operating system.&lt;br /&gt;
(operating system file name: &amp;quot;..\DATA\ADLINEC\ADAGENCY\REV76467.OV00012618&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
It is almost certainly due to some third party backup or other maintenance software opening the NEOSYS database files when it shouldn&#039;t e.g. badly configured third party backup scheduled to backup NEOSYS while NEOSYS is still running. Note that the exact filename varies each time.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
This can be a serious error that causes damaged files in NEOSYS especially if the filename ends in .OV. Use the usual methods of checking for damaged files e.g. do a backup which also looks for damaged files BUT DO NOT OVERWRITE THE LATEST BACKUP SINCE IT MAY BE REQUIRED for restoration. Then fix the damaged files using the usual methods e.g. by rebuilding/using&lt;br /&gt;
FIXFILE or restoring databases. For more info check [[Handling damaged files|Handling damaged files]]&lt;br /&gt;
&lt;br /&gt;
=== Prevention ===&lt;br /&gt;
&lt;br /&gt;
Remove the third party backup or other maintenance software or reschedule it to run at a time that NEOSYS is shutdown. Removal of software may require hunting through the windows process list for unexpected programs running.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting Hung processes==&lt;br /&gt;
&lt;br /&gt;
=== Investigating hung NEOSYS processes ===&lt;br /&gt;
&lt;br /&gt;
To find out some information about what the hung processes are suffering from, do the following:&lt;br /&gt;
&lt;br /&gt;
When no important clients working (eg first thing in the morning) then request a shutdown of all NEOSYS processes. This should will leave only the hung processes open.&lt;br /&gt;
&lt;br /&gt;
Then find what NEOSYS files are open as follows:&lt;br /&gt;
&lt;br /&gt;
run Sysinternal&#039;s &amp;quot;Process Explorer&amp;quot; (from Start, Programs or procexp.exe from desktop)&lt;br /&gt;
&lt;br /&gt;
find, handle&lt;br /&gt;
&lt;br /&gt;
 d:\&lt;br /&gt;
&lt;br /&gt;
submit the complete list (maybe more than one page) to support for records&lt;br /&gt;
&lt;br /&gt;
[[Image:invhungprocess.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Troubleshooting_NEOSYS_Generally#Investigating_CPU_100.25_using_Windows_Task_Manager|Investigating CPU 100% using Windows Task Manager]]  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Troubleshooting_NEOSYS_Generally#Solving_server_CPU.25_is_100_and_all_users_are_extremely_slow.2Fstopped|Solving server CPU% is 100 and all users are extremely slow/stopped]] ===&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Fatal Error in Rev Restart&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
[[image:fatal.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Error message: “Abort, Retry, Fail” ===&lt;br /&gt;
==== Problem ====&lt;br /&gt;
The following messages may come on older versions of NEOSYS if there is a problem with the USB media inserted for backup.&lt;br /&gt;
&lt;br /&gt;
[[image:usberror.jpg]]&lt;br /&gt;
&lt;br /&gt;
This results in “NEOSYS has not checked in” message on Nagios since it hangs during the monitoring update and locks all other processes from monitoring too.&lt;br /&gt;
&lt;br /&gt;
General failure writing drive F&lt;br /&gt;
Abort, Retry, Fail?&lt;br /&gt;
&lt;br /&gt;
Not read reading drive F&lt;br /&gt;
Abort, Retry, Fail?&lt;br /&gt;
&lt;br /&gt;
Pressing A or F results in the problem happening again in about a minute, perhaps on a different process.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Temporary solution is to do “Safely remove hardware” from the windows notification area. Using “Eject” from My Computer will not work.&lt;br /&gt;
&lt;br /&gt;
Permanent solution is to replace the defective USB memory stick. Sometime reformatting is sufficient.&lt;br /&gt;
&lt;br /&gt;
Upgrading NEOSYS will probably stop the defective media from causing NEOSYS to hang but the USB will still be useless for backup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Read error in the operating system file&amp;quot; ===&lt;br /&gt;
==== Problem ====&lt;br /&gt;
Nagios reports a hung process and on the server a process has the following message popup.&lt;br /&gt;
&lt;br /&gt;
 Read error in the operating system file &amp;quot;..\DATA\PT0833\ACCOUNTS\REV20049&lt;br /&gt;
 The file does not exist or the filename is&lt;br /&gt;
 not valid for the operating system.&lt;br /&gt;
&lt;br /&gt;
[[Image:readerrorintheoperatingsystemfile.png]]&lt;br /&gt;
&lt;br /&gt;
==== Cause ====&lt;br /&gt;
Some non-NEOSYS program is directly accessing the NEOSYS database files while NEOSYS processes are running and using the files as well.&lt;br /&gt;
&lt;br /&gt;
*Client IT staff using a backup program to perform backup without ensuring that NEOSYS processes are shutdown.&lt;br /&gt;
*A NEOSYS rsync process taking longer than expected due to new USB.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Kill the NEOSYS process eg with the X button. It is advisable NOT to let it run further while it cannot properly access one of its files.&lt;br /&gt;
&lt;br /&gt;
==== Prevention ====&lt;br /&gt;
Remove the third party program or arrange for it to operate only while NEOSYS processes are shutdown eg from 3am-6am.&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Not enough string space - Out of Memory&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
==== Message ====&lt;br /&gt;
&lt;br /&gt;
‘RTP27’ Line 1. [B29] Not enough string space – Out of Memory.&lt;br /&gt;
&lt;br /&gt;
Not enough memory to execute Debugger; current program aborted.&lt;br /&gt;
Press any key to continue&lt;br /&gt;
&lt;br /&gt;
[[Image:out_of_memory.jpg]]&lt;br /&gt;
&lt;br /&gt;
==== Cause ====&lt;br /&gt;
Unknown perhaps related to some large document or report&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Ask users for any hanging transactions.&lt;br /&gt;
None other than closing and starting another process.&lt;br /&gt;
&lt;br /&gt;
Also refer [[Troubleshooting NEOSYS Generally#Enabling EMS memory on Window 2003|Enabling EMS memory on Window 2003]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: B521 ===&lt;br /&gt;
&lt;br /&gt;
[[Image:B521.jpg]] &lt;br /&gt;
&lt;br /&gt;
 Another user is currently updating indexes. &lt;br /&gt;
 Waiting to make your updates...&lt;br /&gt;
 If you interrupt this process,&lt;br /&gt;
 you may have to rebuild all the indexes&lt;br /&gt;
&lt;br /&gt;
B521 message is usually temporary and goes away by itself. If it does not then, as the text of the B521 message makes clear, some OTHER process is holding up the system, preventing the process with B521 message from continuing.&lt;br /&gt;
&lt;br /&gt;
B521 message is a symptom of other problem so it does not itself have some one simple solution. You must find which other process or issue is causing the hold up and solve whatever problem is causing the hold up, which could be anything.&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot; NTVDM encountered a hard error &amp;quot;  ===&lt;br /&gt;
&lt;br /&gt;
The following error message appears:&lt;br /&gt;
&lt;br /&gt;
[[Image:ntvdm.jpg]]&lt;br /&gt;
&lt;br /&gt;
 NTVDM encountered a hard error&lt;br /&gt;
&lt;br /&gt;
==== Solution  ====&lt;br /&gt;
 &lt;br /&gt;
This error is caused by missing or corrupt Windows system files (i.e. command.com, autoexec.nt and config.nt). The solution is to run a program called XP FIX which will reinstall these missing files. You can download it form http://www.visualtour.com/downloads/xp_fix.exe&lt;br /&gt;
&lt;br /&gt;
Sometimes even after running the XP FIX program the error still appears. Then you need to copy all the files under C:/windows/repair to C:/windows/system32 and in the autoexec.nt and config.nt put REM before any lines there which don&#039;t have it.&lt;br /&gt;
&lt;br /&gt;
====Possible fix for some NTVDM errors ====&lt;br /&gt;
&lt;br /&gt;
===== Error message ===== &lt;br /&gt;
&lt;br /&gt;
[[Image:Ntvdm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
 NTVDM has encountered a System error.&lt;br /&gt;
 The system cannot find the file specified.&lt;br /&gt;
 Choose close to terminate the application.&lt;br /&gt;
&lt;br /&gt;
=====Possible solution===== &lt;br /&gt;
&lt;br /&gt;
#Change the TEMP and TMP environment variables to C:\WINDOWS\TEMP. This should be for the user that runs NEOSYS processes - normally administrator.&lt;br /&gt;
#Close all NEOSYS processes &lt;br /&gt;
#Logout/Login again&lt;br /&gt;
#Restart NEOSYS processes&lt;br /&gt;
&lt;br /&gt;
[[image:Ntvdmsoln.png]]&lt;br /&gt;
&lt;br /&gt;
===== Check solution done properly ===== &lt;br /&gt;
&lt;br /&gt;
You can check that by typing ECHO %TEMP% and ECHO %TMP% at a console prompt after logging out and in again. &lt;br /&gt;
&lt;br /&gt;
Note that windows will actually set the windows environment variables to something like C:\WINDOWS\TEMP\2 for some unknown reason. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
d:\hosts&amp;gt;ECHO %temp% &lt;br /&gt;
C:\WINDOWS\TEMP\2 &lt;br /&gt;
&lt;br /&gt;
d:\hosts&amp;gt;ECHO %tmp% &lt;br /&gt;
C:\WINDOWS\TEMP\2 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Error message: [[Troubleshooting_NEOSYS_Generally#Troubleshooting_the_.22Database_not_available.22_error_message|&amp;quot;Database not available&amp;quot; post login]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: [[Backup_and_Restore#Error_Message:_.22Cannot_backup.2Frestore_because_PROCESS1_PROCESS2_.28etc.29_is.2Fare_online.22_message|&amp;quot;Cannot backup/restore because PROCESS1 PROCESS2 (etc) is/are online&amp;quot;]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How to kill hung NEOSYS processes ===&lt;br /&gt;
 &lt;br /&gt;
NOTE WELL: If you kill actively working NEOSYS processes (those which are &amp;quot;listening&amp;quot; and not hung/crashed) there is a reasonable chance that the database will be damaged and might need a restore losing possibly large amounts of work.&lt;br /&gt;
 &lt;br /&gt;
==== If NEOSYS processes are visible on the server desktop ====&lt;br /&gt;
 &lt;br /&gt;
Look for processes which don&#039;t have &amp;quot;Listening ...&amp;quot; on the last but one line. The times on the left hand side are frozen as at the time of the hang.&lt;br /&gt;
 &lt;br /&gt;
You can then click the X to kill the process and confirm that this is OK.&lt;br /&gt;
 &lt;br /&gt;
Example of a NEOSYS process that has hung due to a software error resulting in a failure to handle a complex query with a lot of brand codes.&lt;br /&gt;
&lt;br /&gt;
[[Image:hungprocess.jpg]]&lt;br /&gt;
 &lt;br /&gt;
==== If NEOSYS processes are not visible on the server desktop ====&lt;br /&gt;
&lt;br /&gt;
NEOSYS processes are most of the time visible on the desktop (i.e. the black dos windows) in Windows 2003 OS, except in the case that the process has been scheduled to start on computer restart and no one has logged into the server. In this case it would be running in the background. TODO&lt;br /&gt;
&lt;br /&gt;
You can check if there are any hung processes from the NEOSYS Support Menu, List of Database Processes. &lt;br /&gt;
[[Image:databaseprocesseslist.jpg]]&lt;br /&gt;
&lt;br /&gt;
In this case you should follow the below instructions - however all of them need to be done within 30 seconds of starting the first instruction to avoid inconvenience to the users. It is recommend that you keep relevant windows open before proceeding with the same:&lt;br /&gt;
&lt;br /&gt;
#Shutdown NEOSYS by TEMPORARILY putting a file called GLOBAL.END in the parent directory of NEOSYS (if there is already a GLOBAL.END.TEMP file then rename it to GLOBAL.END). Leaving the file there would prevent NEOSYS from starting up again. Shutting down NEOSYS from the Support menu will not work because of the hung processes.&lt;br /&gt;
#Use Windows Task Manager to kill all the NTVDM processes - assuming that you have closed all the visible NEOSYS processes, then the NTVDM processes in the task manager would be the hung one.&lt;br /&gt;
#Delete GLOBAL.END or rename it to GLOBAL.END.TEMP&lt;br /&gt;
#Restart the processes back again. If there are many datasets then you need to restart them all well within the 30 seconds period.&lt;br /&gt;
#*Restarting a process is not noticed by users.&lt;br /&gt;
&lt;br /&gt;
In case of Patsalides, where we have a thousand datasets which start &amp;quot;on demand&amp;quot; i.e. usually on login; all you need to do is start one dataset which will restart all the other datasets &amp;quot;on demand&amp;quot;. If there is no response within 30 seconds then one of the running datasets will start it up so there appears to be a 30 second delay when you login to one of the thousand datasets the first time on any one day.&lt;br /&gt;
&lt;br /&gt;
=== Temporary workarounds for hung NEOSYS processes ===&lt;br /&gt;
Until the error in the software is fixed users can often get their results by simplifying their requirements. For example select individual clients instead of selecting all the brands for a particular client. If the user has repeated his request (in forlorn hope that it would work finally) then the number of working NEOSYS processes will drop causing severe slowdown for other users and complete stop if all the NEOSYS processes hang.&lt;br /&gt;
&lt;br /&gt;
== Fixing &amp;quot; You do not have sufficient privilege to access this file &amp;quot;  ==&lt;br /&gt;
&lt;br /&gt;
This error message may come up while NEOSYS process startup.&lt;br /&gt;
&lt;br /&gt;
Solution: Close the window and look for NEOSYS processes. In case there is no process, start the NEOSYS process.&lt;br /&gt;
&lt;br /&gt;
[[image:Errormsg.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing &#039;NEOSYS process which opens up in a notepad instead of Microsoft Windows Based Script Host (i.e. DOS window)&#039;==&lt;br /&gt;
&lt;br /&gt;
The NEOSYS process (cmd file) might open up in a notepad, instead of the usual black colour DOS window. This may happen if a JavaScript file is opened using a notepad. Please be very CAREFUL when accessing a .JS and .JSE file and double check that the default program remains wscript.exe. The issue can be fixed by the following:&lt;br /&gt;
&lt;br /&gt;
# Check if Windows Script 5.6/5.7 is installed, IF NOT download and install it from the Microsoft Website.&lt;br /&gt;
# Go to any folder, click on Tools &amp;gt; Folder Options &amp;gt; File Types and find the .JS and .JSE and change the default program to wscript.exe (from windows&amp;gt;system32)&lt;br /&gt;
&lt;br /&gt;
== Fixing a &#039;Could not start&#039; error on Scheduled Tasks in Windows Server 2000 SP4 ==&lt;br /&gt;
&lt;br /&gt;
This error occurs because of a change that is made to the data that is stored in the credentials database when you install Windows 2000 SP4. Hence installing SP4 causes the the data that is stored in the credentials database to get converted to an SP4-compatible format. A registry key is configured to indicate that the data has been converted to the SP4 format.&lt;br /&gt;
&lt;br /&gt;
Hence the Scheduled Tasks do not work sometimes. However the Scheduled Tasks works fine sometimes, but when you uninstall SP4, it does not work.&lt;br /&gt;
&lt;br /&gt;
The best solution is to:&lt;br /&gt;
&lt;br /&gt;
# Incase Scheduled Tasks do not work after installing SP4, then uninstall SP4 and it should be fine.&lt;br /&gt;
# Incase Scheduled Tasks works after installing SP4, and later after uninstalling SP4, it does not work, then install SP4 and it should be fine.&lt;br /&gt;
&lt;br /&gt;
== Checking for server or NEOSYS crashes ==&lt;br /&gt;
 &lt;br /&gt;
#NEOSYS Maintenance Mode&lt;br /&gt;
#General Menu, Setup, Processes&lt;br /&gt;
#Select the dates and the option Detailed&lt;br /&gt;
 &lt;br /&gt;
This report shows a list of dates and times that NEOSYS logged in but did not log out properly.&lt;br /&gt;
 &lt;br /&gt;
Ignore the very latest entries since they represent the current NEOSYS processes. For example, if you have four NEOSYS processes running at the time that you get the report (including any in maintenance mode) then you can ignore the last four entries.&lt;br /&gt;
 &lt;br /&gt;
The date and time shows for each process that has failed to shutdown correctly when the process logged in. Versions of NEOSYS from January 2008 will also show the date and time that each crashed NEOSYS process was last active (heartbeat) so that the time of failure can be known.&lt;br /&gt;
 &lt;br /&gt;
If you see a bunch of NEOSYS processes all started up at around the same time but all failed to shutdown correctly then the cause will be a server failure - usually power failure.&lt;br /&gt;
 &lt;br /&gt;
Isolated one-off failures will be related to individual NEOSYS process crashes - most commonly caused by one of the following:&lt;br /&gt;
 &lt;br /&gt;
#NEOSYS hanging to due to software failure&lt;br /&gt;
#Manually exiting a NEOSYS process on the server either by pressing Ctrl+Alt+Del or clicking the &amp;quot;X&amp;quot; close icon/box and ignoring the warning&lt;br /&gt;
#Random server failures eg memory, disk etc&lt;br /&gt;
 &lt;br /&gt;
Example:&lt;br /&gt;
 &lt;br /&gt;
 LOGIN 22/12/2007 06:02 NEOSYS SERVER ADAGENCY         Current workstation &lt;br /&gt;
 LOGIN 23/12/2007 06:00 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 06:01 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 06:02 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:52 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:52 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:53 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:00 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:01 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:02 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 13:51 NEOSYS SERVER NEOSYS         Current user session  &lt;br /&gt;
&lt;br /&gt;
Interpretation:&lt;br /&gt;
 &lt;br /&gt;
The first four entries indicate that all four NEOSYS processes started at 06am were suddenly killed probably by power failure&lt;br /&gt;
 &lt;br /&gt;
The next four entries indicate that NEOSYS was restarted at around 08:52 and all these processes were AGAIN killed probably by power failure&lt;br /&gt;
 &lt;br /&gt;
The last four entries can be ignored because there were four NEOSYS processes running at the time that the report was generated&lt;br /&gt;
&lt;br /&gt;
== Searching for word/number in the database files using maintenance mode ==&lt;br /&gt;
&lt;br /&gt;
You can search for any word/number in the database files of NEOSYS, using the following command line:&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 FIND FILENAME WORDWITHOUTANYSPACES&lt;br /&gt;
 &lt;br /&gt;
 For eg:&lt;br /&gt;
 FIND CURRENCIES 1.1&lt;br /&gt;
 (here you are searching for the number 1.1 in the currencies file) You CANNOT search for a phrase ie include spaces like this.&lt;br /&gt;
 &lt;br /&gt;
 Or you can also type:&lt;br /&gt;
 FIND FILENAME &amp;lt;enter&amp;gt;&lt;br /&gt;
 and it will ask you what you want do to search. You can enter an exact phrase with spaces.&lt;br /&gt;
&lt;br /&gt;
Incase you do not know the filenames, you can enter the following command to see all the filenames in the system:&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 LF&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting a Service Unavailable message on Internet Explorer when opening up NEOSYS ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&lt;br /&gt;
The following error message appears in Internet Explorer when you try to open up NEOSYS:&lt;br /&gt;
&lt;br /&gt;
 Service Unavailable&lt;br /&gt;
&lt;br /&gt;
=== Solution  ===&lt;br /&gt;
 &lt;br /&gt;
Open the IIS Manager, right click Web Sites and select properties:&lt;br /&gt;
[[Image:serviceunavailable1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Switch to the Service Tab and tick the &amp;quot;Run WWW Service in IIS 5.0 Isolation Mode&amp;quot;.&lt;br /&gt;
[[Image:serviceunavailable2.jpg]]&lt;br /&gt;
&lt;br /&gt;
You will be asked for Restart of IIS. Click yes to restart IIS. If you are not asked just restart IIS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Inspecting IIS log files ==&lt;br /&gt;
&lt;br /&gt;
At a windows command prompt:&lt;br /&gt;
&lt;br /&gt;
 c:&lt;br /&gt;
 cd \Windows\system32\LogFiles\W3SVC1&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 %SystemDrive%&lt;br /&gt;
 cd %SystemRoot%&lt;br /&gt;
 cd system32\LogFiles\W3SVC1&lt;br /&gt;
&lt;br /&gt;
then (substituting the ip number you are interested in)&lt;br /&gt;
&lt;br /&gt;
 find &amp;quot;192.168.1.55&amp;quot; *|sort&amp;gt;temp.log&lt;br /&gt;
&lt;br /&gt;
Open temp.log in Excel and use Tools, Data, Text to Columns to split into columns using options &amp;quot;Delimited&amp;quot; and check split on Space.&lt;br /&gt;
&lt;br /&gt;
Autowidth all columns by clicking on the top left box just outside the data to the left of column A and above column 1 then double click the column separator to the right of column &amp;quot;A&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note that times and dates are in UTC/GMT so you have to add/subtract your timezone offset to get local times.&lt;br /&gt;
&lt;br /&gt;
==Inspecting Database LOGS Folder==&lt;br /&gt;
LOGS folder in NEOSYS installation folder carries records of all changes done in the database which includes adding and removal of data.&lt;br /&gt;
&lt;br /&gt;
Log file is an XML document which should be viewed in Notepad. Each XML document represents commands executed by each NEOSYS process started each day.&lt;br /&gt;
&lt;br /&gt;
The NEOSYS log files e.g. 15123103.xml are created by the database processes. If the database is not available according to the website then no entry will appear in that log. The request will appear in the IIS website log but that log is nothing to do with database processes.&lt;br /&gt;
&lt;br /&gt;
=== Understanding Log Entries ===&lt;br /&gt;
Inspecting and searching through Logs file allows NEOSYS staff to answer clients queries like &amp;quot;Who deleted schedule XXXX&amp;quot; etc.&lt;br /&gt;
&lt;br /&gt;
While going through the log file you may come across a request &amp;quot;EXECUTE GENERAL GETTASKS NOT&amp;quot;, this request is concerned with getting a list of tasks that the user is *not* allowed to do.&lt;br /&gt;
&lt;br /&gt;
To read and understand the log file with more ease, copy the portion of the log file required to be analyzed into another text editor.&lt;br /&gt;
&lt;br /&gt;
The text that appears as %FE, %FE1, %FE2, etc. are basically separators.&lt;br /&gt;
*First replace FE0%, FE1%, FE2%, etc. with a separator like &amp;quot;--&amp;quot;. There can be occurrences of &amp;quot;%FE&amp;quot; along with some valuable information like &amp;quot;17290&amp;quot;, so replacing &amp;quot;%FE1&amp;quot; in &amp;quot;%FE17290&amp;quot; would lead to loss of information.&lt;br /&gt;
*Then replace %FE with a bigger separator like &amp;quot;===&amp;quot;.&lt;br /&gt;
*Replace other entries like %FCB and then %FC and so on with similar separators.&lt;br /&gt;
*In the end there may be few &amp;quot;FE&amp;quot; remaining, replace these with a separator like &amp;quot;-&amp;quot;.&lt;br /&gt;
*The remaining &amp;quot;%&amp;quot; characters MUST be intelligently replaced with a separator like &amp;quot; &amp;quot; (space), because it can either be an actual &amp;quot;%&amp;quot; or it can be a residue from &amp;quot;%FE&amp;quot;, &amp;quot;%FE1&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
Once replacing all these characters is done, the log file will be more easily readable and vital information will be clearer. &lt;br /&gt;
&lt;br /&gt;
In the log file, you may find numbers like 17290, 17195, etc. These numbers denote dates selected or entered by the NEOSYS user. These are basically the number of days from 31st December 1967 till the date chosen by the user. For example, to convert 17290 to actual date, 31/12/1967 + 17290 = 3/5/2015. So the actual date is 3rd May 2015.&lt;br /&gt;
&lt;br /&gt;
To convert these numbers to dates using maintenance mode, refer to the article [http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Finding_out_when_and_by_whom_a_record_was_deleted Finding out when and by whom a record was deleted]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:NEOSYS Logs.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing NEOSYS processes that do not auto start / Recovering from incorrect advanced date or time ==&lt;br /&gt;
This solution is applicable to live database processes only. Test database processes don’t auto-start any other processes.&lt;br /&gt;
&lt;br /&gt;
=== Problem explained ===&lt;br /&gt;
After starting up the 1st process, the rest of the processes don&#039;t start up.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
The possible cause for this could be that the system date/time might have been changed - either manually or by the auto synchronization. Do the following checks in the sequence of order:&lt;br /&gt;
&lt;br /&gt;
# Check for any *.$* files (* after dollar sign should show a number, the highest being the latest one). If it shows OK, then proceed ahead.&lt;br /&gt;
# Check for any .end files and delete it to rename to .end.temp&lt;br /&gt;
# Check the System Event Viewer log for any 520 or 577 error message (refer http://128.175.24.251/forensics/timechange.htm). Also check for any out of sequence / ahead of today date or time.&lt;br /&gt;
# In case of no 520 or 577 error message, go to Administrative Tools &amp;gt; Local Security Policy &amp;gt; Local Policies &amp;gt; Audit Policy &amp;gt; Audit Privilege use - make sure that Success and Failure are selected under this (this will ensure that future changes to the date/time are recorded in the System Log).&lt;br /&gt;
# In NEOSYS maintenance mode - F5 ED PROCESSES %UPDATE% - and see what it says, incase of any text (only text, not numbers) there, that means that for sure the system date has been changed. To fix this, exit the editor by pressing the ESCAPE key and then type DELETE PROCESSES &amp;quot;%UPDATE%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Fixing NEOSYS maintenance mode not starting up == &lt;br /&gt;
&lt;br /&gt;
Problem :- While trying to start maintenance mode, the maintenance window closes automatically within a split second.&lt;br /&gt;
&lt;br /&gt;
Solution :- Delete the read-only file REVBOOT file (under d:/neosys/neosys folder). REVBOOT file is recreated when you start maintenance mode.&lt;br /&gt;
&lt;br /&gt;
== Recognising and Solving Low Memory Problems ==&lt;br /&gt;
&lt;br /&gt;
Quick Note: Installing a server class operating system on a workstation class computer with the intention of NEOSYS serving a heavy load is likely to cause problems with low memory.&lt;br /&gt;
&lt;br /&gt;
Quick Fix: Disable *ALL* non-essential features in the power-on setup menu.&lt;br /&gt;
&lt;br /&gt;
=== Effects ===&lt;br /&gt;
&lt;br /&gt;
It is speculated but not proven that low memory may cause NEOSYS to fail by hanging, causing damaged files etc.&lt;br /&gt;
&lt;br /&gt;
=== Checking ===&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 MEMORY&lt;br /&gt;
&lt;br /&gt;
On server class machines it should say somewhere around 350Kb to 370Kb Free&lt;br /&gt;
&lt;br /&gt;
Some server class machines have around 330Kb and sometimes even less with no reported problems&lt;br /&gt;
&lt;br /&gt;
The actual effect of low memory is supposed to make NEOSYS slower and perhaps cause hanging and damaged files however this has not been proven in an specific case so far.&lt;br /&gt;
&lt;br /&gt;
On workstation class machines it may often say around 280Kb to 300Kb.&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
Although there is plenty of real memory in virtually all computers now, NEOSYS runs in the legacy 16 bit virtual memory space of a windows mode called NTVDM. This is limited to 1Mb plus 4Mb of EMS memory.&lt;br /&gt;
&lt;br /&gt;
The 1Mb memory space is shared with:&lt;br /&gt;
&lt;br /&gt;
#Various non-essential windows drivers which NEOSYS automatically disables them in autoexec.nt&lt;br /&gt;
#Various plug and play hardware device drivers for the various adapters in the computer like video, network adapters and various other items that NEOSYS is unable to disable.&lt;br /&gt;
&lt;br /&gt;
In a server class computer the hardware device drivers are usually minimally present in the 1Mb base memory and do not therefore DOESNT a low memory situation for NEOSYS.&lt;br /&gt;
&lt;br /&gt;
In workstation class computers there are often many hardware device drivers present in the 1Mb base memory and this DOES causes a low memory situation for NEOSYS.&lt;br /&gt;
&lt;br /&gt;
When NEOSYS is installed on workstation class computers with XP there is usually not a heavy load expectation and therefore the low memory does not cause a problem.&lt;br /&gt;
&lt;br /&gt;
If Windows Server OS is installed on a workstation class computer NEOSYS may well be expected to serve a heavy load with limited amounts of memory.&lt;br /&gt;
&lt;br /&gt;
Workstation class computers: hardware drivers present and EMS is installed in low memory (0000-9FFF) causing low memory for NEOSYS and possible inability to &lt;br /&gt;
&lt;br /&gt;
Server class computers: Usually few hardware drivers are present in high part (A000-FFFF) of the 1Mb base memory and EMS is able to occupy the high memory leaving the low part (0000-9FFFF) of the 1Mb memory free for NEOSYS. You can find out how much memory is available to NEOSYS and whether EMS is occuping high or low memory using the following sections.&lt;br /&gt;
&lt;br /&gt;
=== Fixing Low Memory ===&lt;br /&gt;
&lt;br /&gt;
Start, Run, notepad c:\windows\system32\autoexec.nt&lt;br /&gt;
&lt;br /&gt;
Every time NEOSYS starts it tries to make some changes as follow:&lt;br /&gt;
&lt;br /&gt;
#replaces all lines in C:/WINDOWS/SYSTEM32/AUTOEXEC.NT starting with &#039;lh &#039; to start with &#039;rem NEOSYS LH &#039; instead.&lt;br /&gt;
#changes the line in C:/WINDOWS/SYSTEM32/CONFIG.NT &amp;quot;files=...&amp;quot; to &amp;quot;FILES=200&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The replacement is case sensitive triggered on &#039;lh&#039; and &#039;files&#039; so if you manually edit the files and remove the rem or change the number of files and leave the LH and FILES in uppercase then NEOSYS will NOT make further changes. This allows you to do manual amendments to the files without NEOSYS overwriting them.&lt;br /&gt;
&lt;br /&gt;
Check that NEOSYS has successfully disabled all the drivers in the lines starting with LH.&lt;br /&gt;
&lt;br /&gt;
They should be commented out (prefixed) with REM or REM NEOSYS as follows.&lt;br /&gt;
&lt;br /&gt;
After making changes reopen NEOSYS in maintenance mode to use the MEMORY and WHO commands again.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REM Install CD ROM extensions&lt;br /&gt;
REM NEOSYS LH %SystemRoot%\system32\mscdexnt.exe&lt;br /&gt;
&lt;br /&gt;
REM Install network redirector (load before dosx.exe)&lt;br /&gt;
REM NEOSYS LH %SystemRoot%\system32\redir&lt;br /&gt;
&lt;br /&gt;
REM Install DPMI support&lt;br /&gt;
REM NEOSYS LH %SYSTEMROOT%\SYSTEM32\DOSX&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Low Memory Issues in Windows 2003 server can be fixed using instructions mentioned at [http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Enabling_EMS_memory_on_Window_2003 Fixing Low Memory in Windows 2003 Server]&lt;br /&gt;
&lt;br /&gt;
=== Allowing DOS programs that require DOSX to run on the same computer as NEOSYS ===&lt;br /&gt;
&lt;br /&gt;
The automatic commenting out DOSX by NEOSYS will prevent some other DOS-like programs from running. If NEOSYS is on dedicated server then there should be no other such programs to fail. However, if you must allow DOS-like programs to work as well as NEOSYS you can do the following configuration:&lt;br /&gt;
&lt;br /&gt;
#leave or restore the original AUTOEXEC.NT and CONFIG.NT files where they are&lt;br /&gt;
#copy them to another folder eg neosys folder&lt;br /&gt;
#make the necessary REM changes there by hand&lt;br /&gt;
#right click the NEOSYS\NEOSYS\AREV.PIF and select properties&lt;br /&gt;
#change the location of the AUTOEXEC.NT and CONFIG.NT files in the following location&lt;br /&gt;
&lt;br /&gt;
[[image:pifsettings.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Checking EMS Memory Configuration ===&lt;br /&gt;
&lt;br /&gt;
==== Inspection ====&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 WHO&lt;br /&gt;
&lt;br /&gt;
 press the up arrow to get to the last part/page&lt;br /&gt;
&lt;br /&gt;
===== Example of Typical Server EMS Memory =====&lt;br /&gt;
[[image:serveremm.jpg]]&lt;br /&gt;
&lt;br /&gt;
===== Example of Typical Workstation EMS Memory =====&lt;br /&gt;
[[image:workstationemm.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Correction====&lt;br /&gt;
&lt;br /&gt;
No easy way&lt;br /&gt;
&lt;br /&gt;
Removal of hardware adapters designed for workstations instead of servers eg graphics cards and network cards.&lt;br /&gt;
&lt;br /&gt;
Many of the devices may be located on the motherboard and not relocatable except possibly by BIOS configuration or special manufacturer information.&lt;br /&gt;
&lt;br /&gt;
Use windows device manager, View: Resources by Connection, Open the Memory item and look for items between 000A0000 up to 000FFFFF that might give you a clue as to what hardware could be removed or reconfigured. Actually only 000C0000 to 000FFFFF is candidate for EMS memory since 000A000-000BFFFF is mandatory video memory in all systems.&lt;br /&gt;
&lt;br /&gt;
[[image:devicemanager.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing issue where NEOSYS processes do not start-up at all or start-up and close immediately ==&lt;br /&gt;
&lt;br /&gt;
# Find if a file with the name global.end exists in the root directory of the NEOSYS installation. Eg D:\global.end . If you find such a file, rename it to global.end.temp - for more information on global.end and what it does refer to [[Administering_NEOSYS_Server#Closing_NEOSYS_Services|Closing NEOSYS Services]]&lt;br /&gt;
# If the above didn&#039;t fix the problem and NEOSYS still does not start, do a windows search for the entire NEOSYS folder for *.end (i.e. any file ending with .end extension). You may find a (databasecode).end file in D:\neosys\neosys folder which is created by the NEOSYS program during backup at 1 am and later on removed automatically. In this case NEOSYS program might have crashed during the backup and left this file behind. (databasecode).end files prevent other other NEOSYS processes starting up on the database while exclusive processes (like backup) are being done.&lt;br /&gt;
&lt;br /&gt;
In case the above didn&#039;t fix the problem then escalate to the programmer immediately.&lt;br /&gt;
&lt;br /&gt;
=== Solving &amp;quot;Control Record&amp;quot; error in maintenance mode ===&lt;br /&gt;
&lt;br /&gt;
If processes dont start after you log into maintenance mode and you get an error message&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔════[FS152]═══════════════════════════════════════╗&lt;br /&gt;
║          The control record &amp;quot;RECORDS&amp;quot;            ║&lt;br /&gt;
║           is too long to be saved.               ║&lt;br /&gt;
║   The current record length is 65539 characters. ║&lt;br /&gt;
║                                                  ║&lt;br /&gt;
║               &amp;lt; Press any key &amp;gt;                  ║&lt;br /&gt;
╚══════════════════════════════════════════════════╝  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[File:Record1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1&#039;&#039;&#039;. Press space to get rid of the error message and you should then get this menu&lt;br /&gt;
&lt;br /&gt;
[[File:Record2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2&#039;&#039;&#039;. Press F5 and run this command (case sensitive)&lt;br /&gt;
&lt;br /&gt;
 DICT DEFINITIONS&lt;br /&gt;
&lt;br /&gt;
or Press Alt+S and run this command (case sensitive)&lt;br /&gt;
&lt;br /&gt;
 EXECUTE DICT DEFINITIONS&lt;br /&gt;
&lt;br /&gt;
[[File:Record3.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3&#039;&#039;&#039;. Press Shift+F3 to get the following message&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔══[B202]══════════════════════════════════╗&lt;br /&gt;
║            &amp;quot;DEFINITIONS&amp;quot; has             ║&lt;br /&gt;
║          &amp;quot;QUICKDEX&amp;quot; installed            ║&lt;br /&gt;
║                                          ║&lt;br /&gt;
║ Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N]  ║&lt;br /&gt;
║                                          ║&lt;br /&gt;
║ &amp;lt;Y                                      &amp;gt;║&lt;br /&gt;
╚══════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4&#039;&#039;&#039;. Press Enter to choose Yes.&lt;br /&gt;
&lt;br /&gt;
[[File:Record4.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5.&#039;&#039;&#039;Restart NEOSYS to see if the problem has been solved&lt;br /&gt;
&lt;br /&gt;
== Solving “page not found” when downloading some file types after uploading them successfully ==&lt;br /&gt;
=== One by One ===&lt;br /&gt;
&lt;br /&gt;
Windows web server will not download file types that it is unaware of. You can enable the download of new file types one by one as follows.&lt;br /&gt;
&lt;br /&gt;
This process is tedious and error-prone if you have to add many type.&lt;br /&gt;
&lt;br /&gt;
#Computer Management&lt;br /&gt;
#Services and Applications&lt;br /&gt;
#IIS properties&lt;br /&gt;
#Mime Types&lt;br /&gt;
#Add&lt;br /&gt;
&lt;br /&gt;
=== Many ===&lt;br /&gt;
&lt;br /&gt;
Window Server 2003 is unaware of all the Office 2007+ file types. To add all Office 2007+ file types at once do the following:&lt;br /&gt;
&lt;br /&gt;
Stop IIS&lt;br /&gt;
&lt;br /&gt;
 iisreset /stop&lt;br /&gt;
&lt;br /&gt;
Open the list of mime types&lt;br /&gt;
&lt;br /&gt;
*Start, Run, notepad C:\WINDOWS\system32\inetsrv\MetaBase.xml&lt;br /&gt;
&lt;br /&gt;
Search the file for “xlsx” and quit the editor if already inserted.&lt;br /&gt;
&lt;br /&gt;
Otherwise, find the following line,&lt;br /&gt;
&lt;br /&gt;
  .xml,text/xml&lt;br /&gt;
&lt;br /&gt;
and insert after that line the following lines. They do not need to be indented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.docm,application/vnd.ms-word.document.macroEnabled.12&lt;br /&gt;
.docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document&lt;br /&gt;
.dotm,application/vnd.ms-word.template.macroEnabled.12&lt;br /&gt;
.dotx,application/vnd.openxmlformats-officedocument.wordprocessingml.template&lt;br /&gt;
.potm,application/vnd.ms-powerpoint.template.macroEnabled.12&lt;br /&gt;
.potx,application/vnd.openxmlformats-officedocument.presentationml.template&lt;br /&gt;
.ppam,application/vnd.ms-powerpoint.addin.macroEnabled.12&lt;br /&gt;
.ppsm,application/vnd.ms-powerpoint.slideshow.macroEnabled.12&lt;br /&gt;
.ppsx,application/vnd.openxmlformats-officedocument.presentationml.slideshow&lt;br /&gt;
.pptm,application/vnd.ms-powerpoint.presentation.macroEnabled.12&lt;br /&gt;
.pptx,application/vnd.openxmlformats-officedocument.presentationml.presentation&lt;br /&gt;
.xlam,application/vnd.ms-excel.addin.macroEnabled.12&lt;br /&gt;
.xlsb,application/vnd.ms-excel.sheet.binary.macroEnabled.12&lt;br /&gt;
.xlsm,application/vnd.ms-excel.sheet.macroEnabled.12&lt;br /&gt;
.xlsx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet&lt;br /&gt;
.xltm,application/vnd.ms-excel.template.macroEnabled.12&lt;br /&gt;
.xltx,application/vnd.openxmlformats-officedocument.spreadsheetml.template&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save the file with File and Exit&lt;br /&gt;
&lt;br /&gt;
Restart IIS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Handling Neosys Automatic Upgrade Error Messages ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
We will receive an email from the NEOSYS client installation with the following message:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;UPGRADEN.EXE&amp;quot; does not have expected exe MZ signature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
This message is a note that the NEOSYS automatic update procedure failed to download an upgrade file correctly.&lt;br /&gt;
This happens sometimes due to network issues but can be ignored because the file will be probably be correctly downloaded on the next automatic update check.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This message is only informative to help with any problem with the automatic upgrade procedure and may be removed in a later version of neosys (currently Oct 2012)&lt;br /&gt;
&lt;br /&gt;
== Testing https connection ==&lt;br /&gt;
&lt;br /&gt;
The following procedure tests that the https server is operational and not blocked by firewall etc. It does not detect certificate errors.&lt;br /&gt;
&lt;br /&gt;
From a windows command prompt use the following telnet command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
telnet clientname.hosts.neosys.com 4430&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
#4430 is the usual NEOSYS http port but replace it by whatever port is actually used for NEOSYS https on the system being tested. If there are multiple https installations on a particular server then different ports are probably used&lt;br /&gt;
#Replace clientname.hosts.neosys.com with the normal https login domain name of the client for whom we want to check the https service&lt;br /&gt;
&lt;br /&gt;
Normal behavior is that it should open a black screen. Pressing Enter or any key returns the _ character. (Close the window using the [X] since there is no keyboard command to do so)&lt;br /&gt;
&lt;br /&gt;
Hanging means that there is some connectivity issue (firewall/ip/server not running/https not installed etc)&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;quot;page not found&amp;quot; error while using https ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#The https service stops working and gives &amp;quot;Page not found&amp;quot; error.&lt;br /&gt;
#The https connection tests fine using telnet (see article above)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#Reinstall https using the usual procedure (currently using selfssl)&lt;br /&gt;
#Email clients, requesting to reinstall the new security certificate by following the instructions for [http://userwiki.neosys.com/index.php/Setting_up_and_Configuring_NEOSYS_Generally#Fixing_HTTPS_certificate_error_when_logging_in_from_an_external_link_using_IE8.2C_IE9_and_IE10 Internet Explorer] or [http://userwiki.neosys.com/index.php/Configuring_Safari_for_MAC_OS#Fixing_HTTPS_certificate_error_when_logging_in_using_an_external_link_using_MAC_Operating_System Safari] browser.&lt;br /&gt;
&lt;br /&gt;
== Installing &amp;quot;QUICKDEX&amp;quot; on some files ==&lt;br /&gt;
&amp;quot;Quickdex&amp;quot; is a type of index that keeps an alphabetical order on small files. In some maintenance procedures you may be asked to &amp;quot;install Quickdex&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For example to add a quickdex to the UNITS file.&lt;br /&gt;
&lt;br /&gt;
Maintenance mode press F5&lt;br /&gt;
&lt;br /&gt;
 DICT UNITS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=================Dictionary=================┐&lt;br /&gt;
│                                            │&lt;br /&gt;
│  File name      UNITS                      │&lt;br /&gt;
│  Field name     .........................  │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Dict type                                 │&lt;br /&gt;
│  Single/Multi                              │&lt;br /&gt;
│  Data type                                 │&lt;br /&gt;
│  Output format                             │&lt;br /&gt;
│  Validation patterns                       │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Position              Key part            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Column heading                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Justification     Display length          │&lt;br /&gt;
│  Description                               │&lt;br /&gt;
│                                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
L============================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Shift+F3.&lt;br /&gt;
&lt;br /&gt;
If it says &amp;quot;Do you want to remove ...&amp;quot; then Quickdex has already been installed and you should not continue. Press Esc to cancel, then Esc to quit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[B202]==================================┐&lt;br /&gt;
│                                         │&lt;br /&gt;
│               &amp;quot;UNITS&amp;quot; has               │&lt;br /&gt;
│          &amp;quot;QUICKDEX&amp;quot; installed.          │&lt;br /&gt;
│                                         │&lt;br /&gt;
│ Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N] │&lt;br /&gt;
│                                         │&lt;br /&gt;
│&amp;lt;Y                                      &amp;gt;│&lt;br /&gt;
L=========================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise it should say &amp;quot;Do you want to install ...&amp;quot;. Press Enter to accept.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[W963]============================┐&lt;br /&gt;
│                                   │&lt;br /&gt;
│     Do you want to install a      │&lt;br /&gt;
│ Quickdex or Rightdex index? [Q/R] │&lt;br /&gt;
│                                   │&lt;br /&gt;
│&amp;lt;Q                                &amp;gt;│&lt;br /&gt;
L===================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It should then say &amp;quot;Do you want to update ...&amp;quot;. Press Enter to accept.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[W901]========================================┐&lt;br /&gt;
│                                               │&lt;br /&gt;
│           The &amp;quot;UNITS&amp;quot; file has had            │&lt;br /&gt;
│ the &amp;quot;QUICKDEX&amp;quot; modifying filing system added. │&lt;br /&gt;
│        There are 0 records in &amp;quot;UNITS&amp;quot;.        │&lt;br /&gt;
│                                               │&lt;br /&gt;
│    Do you want to update &amp;quot;QUICKDEX&amp;quot;? [Y/N]    │&lt;br /&gt;
│                                               │&lt;br /&gt;
│&amp;lt;Y                                            &amp;gt;│&lt;br /&gt;
L===============================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards it should return to the initial screen. Press Esc to quit.&lt;br /&gt;
&lt;br /&gt;
== Solving NEOSYS smtp server failure ==&lt;br /&gt;
In case the neosys smtp server fails then we can just use the client&#039;s smtp server.&lt;br /&gt;
&lt;br /&gt;
The following information is required from the client&#039;s smtp server configuration:&lt;br /&gt;
#hostname&lt;br /&gt;
#username&lt;br /&gt;
#password&lt;br /&gt;
#port no. (most likely = 25)&lt;br /&gt;
&lt;br /&gt;
These details should be entered in the &#039;&#039;&#039;System Configuration File&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
[[image:SYSCFGFILE-SMTP.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Strange characters in maintenance mode ==&lt;br /&gt;
While in Maintenance mode, pressing keys on keyboard gives strange characters. Even Enter and Esc don’t work. &lt;br /&gt;
&lt;br /&gt;
This problem has been seen using RDP on:&lt;br /&gt;
*Window Server 2003 Web Edition&lt;br /&gt;
*Windows Server 2003 R2 SP2&lt;br /&gt;
&lt;br /&gt;
[[image:strangecharmaint.jpg]] &lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
#Go to Windows -&amp;gt; control panel&lt;br /&gt;
#Go to Regional and Language Options &lt;br /&gt;
#Click on Languages tab then click on Details &amp;lt;br&amp;gt; [[image:lang1.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
#Click on Settings Tab and Change default input language to English (United States)&amp;lt;br&amp;gt;(or perhaps something else depending on rdp keyboard) &amp;lt;br&amp;gt; [[image:lang2.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== NEOSYS processes do not start after Windows Update  ==&lt;br /&gt;
&lt;br /&gt;
===Problem===&lt;br /&gt;
Scheduled Task to start the NEOSYS processes fail on Servers with Windows 2008 after Windows update. Support will have to log into the server to start the processes manually&lt;br /&gt;
Message on the Schedule Task displays &amp;quot; The operation being requested was not performed because the user has not logged on to the network. The specified service does not exit &amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[image:sti.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Solution===&lt;br /&gt;
&lt;br /&gt;
For clients who cannot tolerate manual intervention after server reboots for any reason (e.g.need to start work before NEOSYS support is available or on NEOSYS support weekends), tick &amp;quot;highest privileges&amp;quot; and &amp;quot;run whether the user is logged in or not&amp;quot;. This approach means that NEOSYS processes which are started by the windows scheduled task are not visible on the desktop and run hidden in the background and only listed in task manager, so avoid this approach on small clients (only few users). Avoiding this approach will also serve to act as an indicator of server restarts.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting NEOSYS remote support port forwarding ==&lt;br /&gt;
This assumes that you have already “port forwarded” tcp port 19580 from your public internet router to the NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
=== Tst 0 - Check if SSH is working on the NEOSYS Server ===&lt;br /&gt;
Type in the following command in command prompt:&lt;br /&gt;
 telnet 127.0.0.1 19580&lt;br /&gt;
&lt;br /&gt;
IF ALL OK you will see the following:&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-03.jpg]] &lt;br /&gt;
&lt;br /&gt;
=== Test 1 - Check if SSH is basically working on NEOSYS server over the LAN ===&lt;br /&gt;
You must know and use the NEOSYS SERVER LAN IP to do this.&lt;br /&gt;
&lt;br /&gt;
 telnet ???.???.???.??? 19580&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-01.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
If you have the WRONG SERVER LAN IP or NEOSYS server SSH is NOT working then it will hang for about 15 seconds and then say “Could not open connection to host …”&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-02.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
OR IF ALL OK you will see the following:&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-03.jpg]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Press Enter to Exit&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-04.jpg]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Test 2 - Check if can connect to the NEOSYS ssh from OUTSIDE the office  ===&lt;br /&gt;
From any internet connected computer OUTSIDE the office test if you can connect to NEOSYS ssh service. You cannot do this test from inside the office.&lt;br /&gt;
&lt;br /&gt;
You need to know the public ip or domain name of the router. If the router IP is dynamic then NEOSYS sets up dynamic name server so instead of a static ip number you will have a domain name something like clientxyz.redirectme.net.&lt;br /&gt;
&lt;br /&gt;
Enter the command .. using YOUR public internet IP number (NOT the LAN ip number) or the dynamic domain name.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-05.jpg]]  &lt;br /&gt;
&lt;br /&gt;
If everything is working OK you will get a black screen as follows. You will NOT get the “SSH-2.0-OpenSSH-4.7” banner” because NEOSYS ssh remote support is restricted to connect ONLY from LAN ip nos and NEOSYS office ip nos.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-06.jpg]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you press Enter a few times then the cursor will just go down. You have click the [X] to close the window.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-07.jpg]]  &lt;br /&gt;
&lt;br /&gt;
=== Test 3 - Check that the ssh connection from step 2 was rejected  ===&lt;br /&gt;
On the NEOSYS server, check the Windows Application log to verify that an SSH connection was rejected.&lt;br /&gt;
&lt;br /&gt;
The rejected ip number will be of the system outside the office that you performed the test from.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-08.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Sample Email: Solving port 19580 port forwarding issues ===&lt;br /&gt;
&lt;br /&gt;
Some IT people know how to troubleshoot port forwarding issues but others are mostly just power users who can configure a home router. If the IT person is in the second category then it is quicker for NEOSYS support to offer to configure their router from the NEOSYS server using Teamviewer. Ideally NEOSYS should not be doing client IT work but if client IT allows NEOSYS access to their router then NEOSYS support can make a brief attempt to do the configuration. If the issue is still unresolved then request the client to get a professional IT network expert to do the job and inform them that NEOSYS will not be able to provide them any support till connectivity is fixed. Below is a letter advising a more skilled person to check connections using telnet which is a low level test.&lt;br /&gt;
&lt;br /&gt;
You can usually determine the NEOSYS server LAN IP number from Nagios. If so then adjust the email text appropriately.&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Dear XYZ,&lt;br /&gt;
&lt;br /&gt;
It is highly critical to fix the connectivity with the NEOSYS server because NEOSYS will not be able to provide any support until&lt;br /&gt;
connectivity is fixed. User support issues will be delayed and remain unresolved if you do not fix this issue URGENTLY.&lt;br /&gt;
&lt;br /&gt;
At the moment there is no connection from the internet via your router to the NEOSYS server and when we do the following, &lt;br /&gt;
we get no connection. &lt;br /&gt;
&lt;br /&gt;
   telnet CLIENTNAME.support.neosys.com 19580&lt;br /&gt;
&lt;br /&gt;
Normally it should connect and presents a black screen (saying SSH something after pressing Enter) which we close.&lt;br /&gt;
&lt;br /&gt;
Please check that you can connect to the NEOSYS server internally by using the NEOSYS server IP address in the following command on any&lt;br /&gt;
computer in your LAN.&lt;br /&gt;
&lt;br /&gt;
    telnet 192.168.?.? 19580&lt;br /&gt;
&lt;br /&gt;
If you can connect to the NEOSYS server internally then please check port forwarding.&lt;br /&gt;
&lt;br /&gt;
Additionally check the following:&lt;br /&gt;
1. Has your router IP changed?&lt;br /&gt;
2. Has your server’s LAN IP changed and are you forwarding to the correct LAN IP?&lt;br /&gt;
3. Is the configuration really correct?&lt;br /&gt;
4. Check router logs for clues&lt;br /&gt;
5. Check NAT settings in the router&lt;br /&gt;
&lt;br /&gt;
For troubleshooting steps refer Troubleshooting NEOSYS remote support&lt;br /&gt;
http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Troubleshooting_NEOSYS_remote_support_port_forwarding&lt;br /&gt;
&lt;br /&gt;
If the problem still persists, please get a professional IT network expert to fix the issue.&lt;br /&gt;
&lt;br /&gt;
Best Regards,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Port mapping restricted by Source IP ===&lt;br /&gt;
&lt;br /&gt;
On NEOSYS router, port forwarding has been setup only for specific source IP addresses. This means you will not be able to establish a TCP connection to NEOSYS server unless your server&#039;s outbound IP is mapped to the NEOSYS router. In other words unless the outbound i.e source IP/port of your server has been granted access on the NEOSYS router for all incoming connections you will not be able to make connections to NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
Outbound IP is used whenever a server tries to make a connection to another server outside its network. On the other hand a server receives all incoming connections using it&#039;s Inbound IP.&lt;br /&gt;
&lt;br /&gt;
Therefore to setup ssh connection from a new Client server to NEOSYS server we need to grant access to its outbound IP on the NEOSYS router. See [[Troubleshooting_NEOSYS_Generally#If_Telnet_does_not_work | link]] to find the outbound server IP/ports of the server.&lt;br /&gt;
&lt;br /&gt;
== Solving “Cant login … INVALID DATA PATH … permission denied” ==&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&lt;br /&gt;
[[image:error-invalid-data-path-1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error Text:&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 Cannot login because:&lt;br /&gt;
 ERROR: INVALID DATA PATH&lt;br /&gt;
 “D:\HOSTS\HOSTNAME\DATA\HOSTNAME\~8746345.1$” Permission Denied&lt;br /&gt;
&lt;br /&gt;
=== Problem Explained ===&lt;br /&gt;
When installing NEOSYS on an existing “non-clean” Windows installation, the standard NEOSYS installation procedure can result in failure to login if the standard windows folder permissions have been modified.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
The solution is to grant IIS permission to write in the \neosys\DATA folder and subfolders as follows:&lt;br /&gt;
#First add the IUSR_XXXXXXX user to the list of users. (XXXXXXXX is the server name and therefore varies per server) as follows:&lt;br /&gt;
#*Right Click on DATA Folder and click on Properties&lt;br /&gt;
#*Click on Security Tab -&amp;gt; Add -&amp;gt; Advanced&lt;br /&gt;
#*Click on Find Now, Select the IUSR_XXXXXXX user and Click on OK&amp;lt;br&amp;gt;[[image:error-invalid-data-path-2.jpg]]&amp;lt;br&amp;gt;[[image:error-invalid-data-path-3.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Second, for the newly added IUSR (IIS user) change the permissions as follows:&lt;br /&gt;
#*&#039;&#039;&#039;REMOVE&#039;&#039;&#039; the read and execute permission (for security, IIS should be unable to execute things that it might have uploaded)&lt;br /&gt;
#*&#039;&#039;&#039;ADD&#039;&#039;&#039; the write permission &amp;lt;br&amp;gt;[[image:error-invalid-data-path-4.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Login should now be possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== NEOSYS process window displays message &amp;quot;Upgrade Downloading&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
[[image:upgradedownloading.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Problem Explained ===&lt;br /&gt;
NEOSYS thinks it sees an new neosys2.exe upgrade file on the location http://www.neosys.com/support/neosys2.exe which is accessed by http so attempts to download it.&lt;br /&gt;
&lt;br /&gt;
Http proxies and various internet issues can cause incorrect info to be sent and there is actually no upgrade available. In this case, eventually it realizes that it cant find an appropriate and it stops. &lt;br /&gt;
&lt;br /&gt;
You don’t have to worry about this case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Enabling EMS memory on Window 2003 ==&lt;br /&gt;
&lt;br /&gt;
Normally EMS memory is provided by Windows 2003 but this can vary depending on the server hardware/bios configuration&lt;br /&gt;
&lt;br /&gt;
If you get the following messages on Windows 2003&lt;br /&gt;
&lt;br /&gt;
#Backup File Size is 0&lt;br /&gt;
#RTP27. [B28] Not enough String Space – Out of Memory&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
On servers that had no problem previously, the problem is caused by a windows update in Oct 2012 that disables standard Windows EMS memory.&lt;br /&gt;
&lt;br /&gt;
The patch is issued by Microsoft on 9 Oct 2012 but the installation date in the server depends on when the update was actually installed.&lt;br /&gt;
&lt;br /&gt;
http://support.microsoft.com/kb/2724197&lt;br /&gt;
&lt;br /&gt;
=== Solution 1 - maximum performance ===&lt;br /&gt;
&lt;br /&gt;
To re-enable standard windows EMS on older slower servers or servers where NEOSYS performance must be maximized.&lt;br /&gt;
&lt;br /&gt;
The following link contains instructions how to remove the offending windows update&lt;br /&gt;
&lt;br /&gt;
It also shows how to prevent it being reinstalled automatically by Windows.&lt;br /&gt;
&lt;br /&gt;
http://www.columbia.edu/~em36/wpdos/emsxp.html&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to prevent it being reinstalled again automatically&lt;br /&gt;
&lt;br /&gt;
=== Solution 2 – ease of installation ===&lt;br /&gt;
&lt;br /&gt;
This option can also be used if Window 2003 is unable to provide EMS memory for example when the server hardware/bios configuration prevents it.&lt;br /&gt;
&lt;br /&gt;
Install EMSMAGIC in the same way as for Windows server 2008&lt;br /&gt;
&lt;br /&gt;
EMSMAGIC has higher memory consumption and makes NEOSYS processes slower so it is better to use Solution 1 above if NEOSYS performance is an issue.&lt;br /&gt;
&lt;br /&gt;
== Fixing no output file in XXX YYY Issue ==&lt;br /&gt;
&lt;br /&gt;
===Error Message===&lt;br /&gt;
&lt;br /&gt;
[[File:Nooutputfile.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Problem Explained===&lt;br /&gt;
&lt;br /&gt;
The message “No output file in XXX YYY” can appear at several instances in NEOSYS, most often when generating reports or documents. &lt;br /&gt;
&lt;br /&gt;
This problem is usually caused by software error and it indicates that the NEOSYS server responded without any output and without any message. &lt;br /&gt;
&lt;br /&gt;
===Solution===&lt;br /&gt;
1) Find proof to check if the data required for the report actually exists. This way we can eliminate lack of data as a cause for this error.&lt;br /&gt;
&lt;br /&gt;
2) Check to see if a similar issue has been fixed in latest version of NEOSYS.&lt;br /&gt;
&lt;br /&gt;
3) Document HOW and WHERE the problem can be duplicated by NEOSYS programmers to identify and correct the software.&lt;br /&gt;
&lt;br /&gt;
An example of this error can be found at [[Troubleshooting_NEOSYS_Media_System#Error:_No_output_file_in_MEDIAPROXY_SCHEDULEPRINT|No Output File in MEDIAPROXY SCHEDULEPRINT]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting Internet Connections ==&lt;br /&gt;
&lt;br /&gt;
===Cannot Connect===&lt;br /&gt;
&lt;br /&gt;
While investigating as to why users are not able to access NEOSYS or http://www.neosys.com/ ,you can check which ISP the connection issue is on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;whois ipno&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inspect very carefully to get clues as to which ISP and which AREA of the ISP the problematic ip numbers are and which do NOT have problems&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting TCP/IP Connections ===&lt;br /&gt;
&lt;br /&gt;
====Telnet check====&lt;br /&gt;
&amp;lt;pre&amp;gt; telnet &amp;lt;hostname&amp;gt; 19580  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====If Telnet does not work====&lt;br /&gt;
In case telnet does not work, login to the remote host server to investigate the issue. Run the following command simultaneously while doing Telnet from client server to the remote host to check if the TCP packets are reaching the Remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tcpdump -v &#039;src host client-domain-name/ip&#039; &lt;br /&gt;
tcpdump -v portno &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To check if packets are sent from the client server to the remote host, you can run the following command simultaneously while trying to ssh to the remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;netstat -an &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also check if the outbound ports are open from which you are trying to establish the TCP connection to the remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;telnet portquiz.net portno &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The outbound IP addresses at times can be different from the public IP of the Client server so be sure that the public IP of the client server is the same as its source IP (which represents an incoming connection from Client to Remote server). One way to find the source IP of the Client server is sending an email from Client server to &amp;quot;support@neosys.com&amp;quot;. On receiving the email in Thunderbird, select the email and press Ctrl+u. A new window Opens giving full details of the email received. The third &amp;quot;Received :from&amp;quot; gives the IP of the source.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting DNS failure ===&lt;br /&gt;
&lt;br /&gt;
NEOSYS clients routers are usually configured to use their ISP DNS service and the ISP DNS service is supposed to contact one of NEOSYS&#039;s DNS servers to convert server names like hosts.neosys.com into IP numbers. Misconfiguration of clients routers or problems in the ISP DNS server may cause CANNOT CONNECT problems. Often the connect fails quickly and immediately since if a name cannot be converted to an ip number then the connection cannot even be attempted and therefore there is little or no timeout to wait through.&lt;br /&gt;
&lt;br /&gt;
NEOSYS.COM name servers are listed publically and obtained by whois command.&lt;br /&gt;
&lt;br /&gt;
 whois neosys.com&lt;br /&gt;
&lt;br /&gt;
 Name Server: DNS1.EASYDNS.COM&lt;br /&gt;
 Name Server: DNS2.EASYDNS.NET&lt;br /&gt;
 Name Server: DNS3.EASYDNS.ORG&lt;br /&gt;
 Name Server: NS12.ZONEEDIT.COM&lt;br /&gt;
 Name Server: NS18.ZONEEDIT.COM&lt;br /&gt;
&lt;br /&gt;
In order to contact NEOSYS DNS servers the ISP&#039;s have to use a global DNS to obtain the ip addresses of NEOSYS DNS servers given the host names of NEOSYS DNS servers given in the whois info&lt;br /&gt;
&lt;br /&gt;
Here is an example of DU testing NEOSYS DNS servers. The NEOSYS DNS server ip addresses are listed in the Destination column.&lt;br /&gt;
&lt;br /&gt;
[[File:internet.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If one DNS server is down or unreachable REGARDLESS OF REASON, the ISP is supposed to use the other DNS servers. It is impossible for all NEOSYS DNS servers to be unreachable except in gross disconnection from the internet of the ISP since it is effectively impossible that all NEOSYS DNS servers which are carefully spread around the internet, to be unreachable.&lt;br /&gt;
&lt;br /&gt;
In the above test one of the NEOSYS DNS servers is unreachable but all the others are reachable therefore DU should have no problem providing DNS service to its clients.&lt;br /&gt;
&lt;br /&gt;
ISP are often worse at providing DNS server than the famous GOOGLE DNS servers, so re configuring client router to use GOOGLE DNS servers is a way to prove that the problem lies with the ISP&#039;s DNS service&lt;br /&gt;
&lt;br /&gt;
=== Additional test for troubleshooting problems with uploading ===&lt;br /&gt;
&lt;br /&gt;
====Verifying that upload.dll can run====&lt;br /&gt;
&lt;br /&gt;
This isnt a complete test of everything. It just checks if the upload program can be run by the web server. It doesnt check if uploads work or the image directory is correctly configured with the right permissions and uploads can actually be done.&lt;br /&gt;
&lt;br /&gt;
===== Error Message =====&lt;br /&gt;
&lt;br /&gt;
... to be added when discovered ...&lt;br /&gt;
&lt;br /&gt;
===== Test =====&lt;br /&gt;
&lt;br /&gt;
Test HTTP if accessible by LAN; Test HTTPS is accessible by Internet; Test both if both are available.&lt;br /&gt;
&lt;br /&gt;
On the server type the following into a browser&lt;br /&gt;
&lt;br /&gt;
LAN/HTTP:&lt;br /&gt;
&lt;br /&gt;
 http://localhost/neosys/neosys/dll/upload.dll&lt;br /&gt;
&lt;br /&gt;
WAN/HTTPS:&lt;br /&gt;
&lt;br /&gt;
 https://localhost:9999/neosys/dll/upload.dll&lt;br /&gt;
&lt;br /&gt;
===== Expected Result =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Upload Error. !&lt;br /&gt;
Please call me from a form !!!&lt;br /&gt;
The first param must be Filename= name of the uploaded file, TYPE=TEXT&lt;br /&gt;
The second param must be Filedata= uploaded file, TYPE=FILE&lt;br /&gt;
The third param is optional PathData= path to uploaded file, default c:\temp\, TYPE=HIDDEN&lt;br /&gt;
The forth param is optional RedirectPage= name of asp who receive the results, TYPE=HIDDEN&lt;br /&gt;
Add others params at the end with INPUT tag.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Uerror.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Patching a NEOSYS program ==&lt;br /&gt;
&lt;br /&gt;
The patch provided will tell you the program name and contain either a whole replacement program text or just some changed lines which you will have to find and edit.&lt;br /&gt;
&lt;br /&gt;
You will need to know the file name which may be provided along with the patch or you can find it using the following code in maintenance mode:&lt;br /&gt;
&lt;br /&gt;
 ED VOC programname&lt;br /&gt;
&lt;br /&gt;
ED VOC XYZ tells you what program name is executed and from what file, when you type the command XYZ. Normally the program name is the same as the command.&lt;br /&gt;
&lt;br /&gt;
The file name will normally be BP for agency programs, GBP for general programs or ABP for finance programs.&lt;br /&gt;
&lt;br /&gt;
NEOSYS programs are stored in files just like records of ordinary database files. You can edit either with &amp;quot;ED filename programname&amp;quot; or &amp;quot;TED filename programname&amp;quot;. TED is better for editing source code.&lt;br /&gt;
&lt;br /&gt;
===Installing patch in live database===&lt;br /&gt;
&lt;br /&gt;
In the rare case that the programmer asks Support to install the patch directly on LIVE dataset, start by typing the following command in maintenance mode before commencing:&lt;br /&gt;
&lt;br /&gt;
 UTIL&lt;br /&gt;
&lt;br /&gt;
Follow the instructions mentioned in the [[Troubleshooting_NEOSYS_Generally#Installing_patch_in_test_database| next section]], but skip the instruction to TEST the patched program in test dataset.&lt;br /&gt;
&lt;br /&gt;
The instruction to INSTALL the patched program MUST be followed BEFORE testing the patch in live dataset. Otherwise the changes will not get reflected.&lt;br /&gt;
&lt;br /&gt;
===Installing patch in test database===&lt;br /&gt;
&lt;br /&gt;
1. EDIT the program source code.&lt;br /&gt;
&lt;br /&gt;
 TED programname&lt;br /&gt;
&lt;br /&gt;
Either cut and paste to modify the whole program or edit the program text according to the patch/instructions provided.&lt;br /&gt;
&lt;br /&gt;
Save and close the program source code.&lt;br /&gt;
&lt;br /&gt;
2. COMPILE it. If you get errors then check your edits are correct and recompile otherwise return the patch to programming.&lt;br /&gt;
&lt;br /&gt;
  COMPILE filename programname&lt;br /&gt;
&lt;br /&gt;
3. TEST it. Ensure the patched program now works in TEST database.&lt;br /&gt;
&lt;br /&gt;
4. INSTALL the patched program in the LIVE database by typing one of the following command depending on the filename that you patched.&lt;br /&gt;
&lt;br /&gt;
 COPYGBP programname&lt;br /&gt;
 COPYABP programname&lt;br /&gt;
 COPYBP programname&lt;br /&gt;
&lt;br /&gt;
== Patching NEOSYS dictionaries ==&lt;br /&gt;
&lt;br /&gt;
A patch to a dictionary applies immediately when you save it and to all datasets regardless of which dataset you work in.&lt;br /&gt;
&lt;br /&gt;
You need:&lt;br /&gt;
&lt;br /&gt;
#the file name eg INVOICES&lt;br /&gt;
#the item name (column name) eg  DATETIME_AMENDED&lt;br /&gt;
#10 lines of data similar to the example below.&lt;br /&gt;
#if the item is an S type dictionary, then either the whole, or only the amended part, of the source code of the dictionary.&lt;br /&gt;
&lt;br /&gt;
 ED DICT INVOICES DATETIME_AMENDED&lt;br /&gt;
&lt;br /&gt;
TYPE everything below exactly on the corresponding line numbers except lines 3 and very commonly line 8, as these lines may contain multiple values separated by a superscript 2 (²). Line numbers in the below screen are only for illustrative purpose. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  ╔═══════════════════════════┤DATETIME_AMENDED├═════════════════════════╗&lt;br /&gt;
 1║S                                                                     ║&lt;br /&gt;
 2║                                                                      ║&lt;br /&gt;
 3║DateTime²Amended                                                      ║&lt;br /&gt;
 4║S                                                                     ║&lt;br /&gt;
 5║                                                                      ║&lt;br /&gt;
 6║                                                                      ║&lt;br /&gt;
 7║[DATETIME]                                                            ║&lt;br /&gt;
 8║updated=@record&amp;lt;28&amp;gt;²created=@record&amp;lt;31,1&amp;gt;²@ans=&#039;&#039;²if created and num(c║..actually this line continues off the screen to the right&lt;br /&gt;
 9║R                                                                     ║&lt;br /&gt;
10║10                                                                    ║&lt;br /&gt;
11║                                                                      ║&lt;br /&gt;
  :                                                                      :&lt;br /&gt;
  :                                                                      :&lt;br /&gt;
  ╚══════════════════════════════════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Ctrl+E on lines 3 or 8 in order to enter sub-lines. &lt;br /&gt;
&lt;br /&gt;
The multiple values (on line 3 and 8) separated by a superscript 2 (²) automatically appear when sub-lines are entered.&lt;br /&gt;
&lt;br /&gt;
For line 8, you will need to cut and paste the lines of below program to the Ctrl+E screen: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔═════════════════════════┤Field 8 of DATETIME_AMENDED├════════════════════════╗&lt;br /&gt;
║updated=@record&amp;lt;28&amp;gt;                                                           ║&lt;br /&gt;
║created=@record&amp;lt;31,1&amp;gt;                                                         ║&lt;br /&gt;
║@ans=&#039;&#039;                                                                       ║&lt;br /&gt;
║if created and num(created) and num(updated) then                             ║&lt;br /&gt;
║ createdsecs=field(created,&#039;.&#039;,1)*86400+field(created,&#039;.&#039;,2)                  ║&lt;br /&gt;
║ updatedsecs=field(updated,&#039;.&#039;,1)*86400+field(updated,&#039;.&#039;,2)                  ║&lt;br /&gt;
║ if abs(updatedsecs-createdsecs)&amp;gt;120 then                                     ║&lt;br /&gt;
║  @ans=updated                                                                ║&lt;br /&gt;
║  end                                                                         ║&lt;br /&gt;
║ end                                                                          ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
╚══════════════════════════════════════════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you save and exit the Ctrl+E screen, you will see the sublines separated by superscript 2 appear in one line in the ED screen. &lt;br /&gt;
&lt;br /&gt;
Similarly, for line 3, you need to enter its sub-lines in Ctrl+E screen.&lt;br /&gt;
&lt;br /&gt;
To ensure indenting remains nice (although indenting is not important and can be messed up without causing any problem) then copy the double bars at the front of the lines (if available, otherwise insert some char in position 1 of each line perhaps) and then remove them after you paste ... or just edit until the indenting is correct if you really want to.&lt;br /&gt;
&lt;br /&gt;
Press F9 and/or Esc to save and/or exit from Ctrl+E screen&lt;br /&gt;
&lt;br /&gt;
Press F9 and/or Esc to save and/or exit from ED&lt;br /&gt;
&lt;br /&gt;
== Searching XML files ==&lt;br /&gt;
&lt;br /&gt;
Use the grep command in Cygwin terminal to search files especially when you are investigating the NEOSYS Logs. &lt;br /&gt;
&lt;br /&gt;
Use the following command while searching for a file in any directory&lt;br /&gt;
&lt;br /&gt;
 grep string path/file&lt;br /&gt;
&lt;br /&gt;
 grep -i -a string path/file  (use -i to ignore upper/lower case characters in the string and -a to treat the file type=text and display the matching text)&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;string&amp;quot; is the text to be searched, &amp;quot;file&amp;quot; is the type of file you are looking for and &amp;quot;path&amp;quot; is the path of the directory you are looking into. Use &amp;quot;&amp;quot; when having spaces in your string.&lt;br /&gt;
&lt;br /&gt;
e.g when searching in NEOSYS logs the year/month/date is specified in the file name, so if you are looking for a file in year 2016 in the month of Feb, use&lt;br /&gt;
&lt;br /&gt;
 grep XXXX path/1602*&lt;br /&gt;
&lt;br /&gt;
In the above command *(asterisk) is a wildcard used to match characters in the file name.&lt;br /&gt;
&lt;br /&gt;
Sample below of grep command and its output where it is searching for &amp;quot;Dior&amp;quot; in 2016 march logs.&lt;br /&gt;
 $ grep -i Dior /cygdrive/d/hosts/test/logs/test/2016/1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 Binary file path/16030301.XML matches&lt;br /&gt;
&lt;br /&gt;
Use the commands below to display the search string and required number of lines that come either after or before the search string, depending on what you enter in your command. It helps to get more information from files especially when you only know few words and the other information around the searched string also gets displayed. &lt;br /&gt;
&lt;br /&gt;
 grep -A NUM string file (NUM lines after the searched text get displayed)&lt;br /&gt;
&lt;br /&gt;
 grep -B NUM string file (NUM lines before the searched text get displayed)&lt;br /&gt;
&lt;br /&gt;
See the examples and their respective outputs below, (Note: there is no space between -A and NUM):&lt;br /&gt;
&lt;br /&gt;
 $ grep -A2 -i &amp;quot;Dior&amp;quot; 1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 Binary file 16022101.XML matches&lt;br /&gt;
 Binary file 16022901.XML matches&lt;br /&gt;
&lt;br /&gt;
 $ grep -A2 -a &amp;quot;Dior&amp;quot; 1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 16030301.XML:&amp;lt;DataOut&amp;gt;DIOR%FEPOI%FE&#039;&#039;&#039;Dior&#039;&#039;&#039; Poison%FE%FE%FE%FE%FEDubai,    UAE%FE%FE%FE%FEN%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEN%FE%FE%FE17584.43592%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FENEOSYS%FE17584.43592%FE94_200_49_146%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEpaulson&amp;lt;/DataOut&amp;gt;&amp;lt;/Message&amp;gt;&lt;br /&gt;
 --&lt;br /&gt;
 16030301.XML:&amp;lt;DataOut&amp;gt;DIOR%FEPOI%FE&#039;&#039;&#039;Dior&#039;&#039;&#039; Poison%FE%FE%FE%FE%FEDubai,   UAE%FE%FE%FE%FEN%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEN%FE%FE%FE17584.43592%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FENEOSYS%FE17584.43592%FE94_200_49_146%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEpaulson&amp;lt;/DataOut&amp;gt;&amp;lt;/Message&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some more examples of grep below:&lt;br /&gt;
&lt;br /&gt;
 Use the command below when searching with more than one search string&amp;lt;br&amp;gt;&lt;br /&gt;
 grep -a string1 *|grep string2&lt;br /&gt;
&lt;br /&gt;
 grep -B2 -a Processing 160329*|grep -v DataIn|grep -v Message|less&amp;lt;br&amp;gt;&lt;br /&gt;
 where user wants the output to show lines containing string &amp;quot;Processing&amp;quot; and exclude lines containing string &amp;quot;DataIn&amp;quot; and &amp;quot;Message&amp;quot;, |less displays the output in a new screen.&lt;br /&gt;
&lt;br /&gt;
== Managing the queue of reports being delivered by email ==&lt;br /&gt;
&lt;br /&gt;
In maintenance mode.&lt;br /&gt;
&lt;br /&gt;
=== Listing ===&lt;br /&gt;
&lt;br /&gt;
 LIST DOCUMENTS WITH SCHEDULED_ONCE&lt;br /&gt;
&lt;br /&gt;
=== Clearing ===&lt;br /&gt;
&lt;br /&gt;
 SELECT DOCUMENTS WITH SCHEDULED_ONCE&lt;br /&gt;
 DELETE DOCUMENTS&lt;br /&gt;
&lt;br /&gt;
== Removing non essential files on win3 ==&lt;br /&gt;
Non essential files getting accumulated over time can take up a lot of space on the hard disk resulting in low free space on the server. NEOSYS Client Monitoring system alerts about the issue for win3 server as it monitors the Disk Space of both C &amp;amp; D drive. To fix it Support team will have to create free space on the server.&lt;br /&gt;
&lt;br /&gt;
Making space on the server is time taking and requires patience as you need to go through all the files/folders looking for non essential files. Do not make any assumptions for not looking into a folder.&lt;br /&gt;
&lt;br /&gt;
Non essential files are the ones without which we can work properly and will continue to work in future.&lt;br /&gt;
&lt;br /&gt;
Support team should remember the following points while creating space on the server:&lt;br /&gt;
&lt;br /&gt;
#Look into the drive for which nagios is alerting and dig into all the folders.&lt;br /&gt;
#Right click Folder &amp;gt; Properties &amp;gt; Size on Disk, to find out the size of a folder.&lt;br /&gt;
#On d drive majority of the space is taken by d:\hosts and d:\data.bak folder and on c drive it&#039;s taken up by the important windows/cygwin folders.&lt;br /&gt;
#The space distribution will give you an idea about which folders to target that can give you lot of space on clean up.&lt;br /&gt;
#Following are the non essential files/folders which can create a lot of space on removal. Use your intelligence and presence of mind while deleting files/folders because once deleted the information is lost forever.&lt;br /&gt;
#*Folder: d\data.bak. Check for stopped client&#039;s backups and delete if present.&lt;br /&gt;
#*Folder: d\hosts\clientname\logs (where clientname stands for all the client folders in hosts) Look into logs prior to the current year and the year before and delete them. In the recent versions of NEOSYS log folders are compressed and take up a lot less space on disk than presented as their size. You can see the difference in their properties.&lt;br /&gt;
#*Folder: d\hosts\clientname\downloads. The folder might contain lot of old versions of neosys.exe files, just keep the two latest ones and delete the rest. Do this for all clients except test installation because Support maintains all the old versions of neosys.exe in it.&lt;br /&gt;
#*Folder: d\hosts\old. Remove the Stopped Clients installation folder older than 1 year.&lt;br /&gt;
#*Apart from above folders look for random backup.zip files present in c/d drive. This happens when Support restores data from a zip file and forgets to delete it after the restore.&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Troubleshooting_NEOSYS_Generally&amp;diff=2685</id>
		<title>Troubleshooting NEOSYS Generally</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Troubleshooting_NEOSYS_Generally&amp;diff=2685"/>
		<updated>2016-05-17T07:47:28Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Removing non essential files on win3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Solving failure to start a NEOSYS server due to disk failure message ==&lt;br /&gt;
=== Problem ===&lt;br /&gt;
During a reboot process (which maybe due to a Windows update or even done by a support personnel) the NEOSYS server gets hung on the startup and shows a message &amp;quot;Boot Failure - Abort, Retry&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
=== Temporary solution ===&lt;br /&gt;
This typically happens due to the USB being plugged into the server and the boot sequence being wrong - i.e. the server trying to boot from the USB first and fails. The immediate solution would be to unplug the USB and ask the client to reboot the server again and upon successfully rebooting the system, plug the USB back again.&lt;br /&gt;
&lt;br /&gt;
=== Permanent solution ===&lt;br /&gt;
The above problem will occur every time the computer is rebooted, so you need to immediately talk to the IT Administrator of the client and ask them to rectify the boot sequence to make it boot first from the CD ROM, then the HDD and last the USB.&lt;br /&gt;
&amp;lt;BR&amp;gt;Allowing &amp;quot;Boot from USB&amp;quot; causes a severe risk of infection by boot sector viruses since the first infected USB device inserted WILL infect the server immediately as anti-virus programs are not active during boot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting the &amp;quot;Database not available&amp;quot; error message == &lt;br /&gt;
=== Problem explained ===&lt;br /&gt;
This error appears when you try to login to NEOSYS after you enter your username and password and click the Login button.&lt;br /&gt;
&lt;br /&gt;
[[image:database_unavailable.jpg]]&lt;br /&gt;
&lt;br /&gt;
Error message : &lt;br /&gt;
&lt;br /&gt;
 Cannot login because : &lt;br /&gt;
 Error :  The (database code) database is not available right now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the error message appears post login i.e. when users are working on the system then check if processes are free to run user request.&lt;br /&gt;
&lt;br /&gt;
[[image:not_available.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Solution explained ===&lt;br /&gt;
# Determine if the processes are running. If they are running and you still get the same message that means that either the processes have [[Troubleshooting_NEOSYS_Generally#Troubleshooting_Hung_processes|hung]] and need to be [[Troubleshooting_NEOSYS_Generally#How_to_kill_hung_NEOSYS_processes|killed]]. Or the processes are busy to run user requests and a new process needs to be started. &lt;br /&gt;
# If the processes are not visible on the destop, it is possible that they are running in the background and have hung for some reason. Check the windows task manager to see if any ‘ntvdm’ process is running and [[Troubleshooting_NEOSYS_Generally#If_NEOSYS_processes_are_not_visible_on_the_server_desktop|fix hung processes]].&lt;br /&gt;
# If there is no trace of any process running, that means the process probably did not start at the scheduled time. Refer to the &#039;Hung Process Reports&#039; to verify this claim. &lt;br /&gt;
# If the process had not hung, then the server might have restarted due to a power failure or a windows update and the administrator user had not logged in post the scheduled startup time of 6AM. To determine this cause, investigate in the Windows Event Viewer Log file.&lt;br /&gt;
# You can now start up the process by clicking on the respective desktop icons.&lt;br /&gt;
# Also check if the backup took place successfully or not. If not take a manual backup.&lt;br /&gt;
# Look into the logs at the date/time stated for the last transaction processed to investigate why process got hung.See [[Troubleshooting_NEOSYS_Generally#Inspecting_Database_LOGS_Folder| Inspecting logs]] for more information on logs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;quot;user not authorised to login from a location&amp;quot; error message ==&lt;br /&gt;
[[image:IPerror.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error message:&#039;&#039;&#039;&lt;br /&gt;
 xxx is not authorised to login form the location (IP Number. xx.xx.xx.xx)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution Explained:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Check the URL used and follow the steps below to check if it is correct and email the user accordingly.&lt;br /&gt;
#If the Client installation is hosted on NEOSYS server then users can use only https link to access NEOSYS.&lt;br /&gt;
#*Check with the client&#039;s management if this particular IP is their public IP.&lt;br /&gt;
#*Add IP on management confirmation (Refer to [[Procedures#Handling_User_Requests_to_add_an_IP_or_range_of_IPs_to_access_NEOSYS|Handling User Requests to add IP/IPs ]] ) &lt;br /&gt;
#In case of Client hosted server, users should access NEOSYS via LAN using the http link.&lt;br /&gt;
#*There can be exceptional cases where user needs to access NEOSYS outside the office Network e.g a client installation with two companies at different locations and NEOSYS installed at one. In this case Support will have to add the IP number of the second company so that users can access NEOSYS.&amp;lt;br&amp;gt;But before you even suggest to add the IP, get the request from their management saying that the IP number is another office location and needs to be added. (Refer to [[Procedures#Handling_User_Requests_to_add_an_IP_or_range_of_IPs_to_access_NEOSYS|Handling User Requests to add IP/IPs ]] )&lt;br /&gt;
&lt;br /&gt;
== Handling damaged files ==&lt;br /&gt;
&lt;br /&gt;
[[Handling damaged files]]&lt;br /&gt;
&lt;br /&gt;
=== Checking for corrupt database files ===&lt;br /&gt;
Login to NEOSYS Maintenance. This can be done when users are online.&lt;br /&gt;
&lt;br /&gt;
Press F5&lt;br /&gt;
&lt;br /&gt;
 CHK.FILES&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
 CHK.FILES filename&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Sizelock while performing chk.files &#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Fixing sizelock errors should not be done while other users are online to the same database.&lt;br /&gt;
&lt;br /&gt;
Sizelock errors are not critical and will be fixed automatically during the nightly backup.&lt;br /&gt;
&lt;br /&gt;
Sizelock errors occur if a program or process that is selecting records from a file is aborted in some abnormal way.&lt;br /&gt;
&lt;br /&gt;
Error message:&lt;br /&gt;
&lt;br /&gt;
 These Files/Tables have a Sizelock Value of 2 or greater. &lt;br /&gt;
 Tag/Select the Files/Tables to be Fixed.&lt;br /&gt;
 Press F9 to fix selected files&lt;br /&gt;
&lt;br /&gt;
Press F9 to proceed with fixing the selected files or press ESC to continue with chk.files without fixing sizelock as it gets automatically fixed during the nightly backup. &lt;br /&gt;
&lt;br /&gt;
Refer to the [http://techwiki.neosys.com/index.php/Backup_and_Restore#Error_Message:_Size_Lock Sizelock errors in backup emails] for more information.&lt;br /&gt;
&lt;br /&gt;
[[file:sizelock.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Determining Database File Name from Operating System File Name ===&lt;br /&gt;
&lt;br /&gt;
To assess the potential damage and possible remedial measures you need to know the database file name. If the message only refers to the operating system file name you need to follow this procedure to determine the database file name.&lt;br /&gt;
&lt;br /&gt;
Once you have the database file name you can use CHK.FILES XXXXXXX to check if corrupt or not and various other procedures to fix the corruption.&lt;br /&gt;
&lt;br /&gt;
Remember that fixing the corrupt data does not solve the overall problem. The *cause* of the corruption must be identified and eliminated otherwise the problem may reoccur and in a more serious form perhaps with unrecoverable loss of data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╒═══════════════════════════════════TCL - 2══════════════════════════════════╕&lt;br /&gt;
│                                                                            │&lt;br /&gt;
│ :list FILES WITH ALL CONTAINING &#039;REV76481&#039;                                 │&lt;br /&gt;
│                                                                            │&lt;br /&gt;
╘════════════════════════════════════════════════════════════════════════════╛&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:DBfilenamefromOSfilename.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Finding out when and by whom a record was deleted ==&lt;br /&gt;
&lt;br /&gt;
In most cases, NEOSYS does not allow users to delete records and instead keeps a record of everything. In some cases however, things are deleted and the only way to get full details about the deletion is to search the logs. This is cumbersome, but there is a quick way to find out when, and by whom, a record was deleted. Prior to NEOSYS software versions dated Mar 2014, and deletions done before the same date, this procedure will only tell you when the record was deleted - but not who deleted it. Knowing exactly when it was deleted will nevertheless help you to search the logs for full details.&lt;br /&gt;
&lt;br /&gt;
In maintenance mode F5&lt;br /&gt;
&lt;br /&gt;
 ED SHADOW DELETED*filename*key&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 ED SHADOW DELETED*BATCHES*L*JOU*2*U&lt;br /&gt;
&lt;br /&gt;
Journals are stored in the BATCHES file. The key of an unposted batch is x*y*999*U where x is the company code, y is the journal type code, 999 is UNPOSTED batch number and U is just U to indicate unposted batches. Note that unposted batches are normally deleted at the time they are posted - ie converted to posted batches.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔══════════════════════════┤DELETED*BATCHES*L*JOU*2*U├═════════════════════════╗&lt;br /&gt;
║16831.60706                                                                   ║&lt;br /&gt;
║BRUCEL                                                                        ║&lt;br /&gt;
║╒═══════════════════════════════════TCL - 6══════════════════════════════════╕║&lt;br /&gt;
║│                                                                            │║&lt;br /&gt;
║│ :EVAL PRINT 16831.60706 &#039;[DATETIME]&#039;                                       │║&lt;br /&gt;
║│                                                                            │║&lt;br /&gt;
║╘════════════════════════════════════════════════════════════════════════════╛║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you see the number (in this case 16831.60706) you can convert it to a time and date by typing something like&lt;br /&gt;
&lt;br /&gt;
 PRINT 16831.60706 &#039;[DATETIME]&#039;&lt;br /&gt;
&lt;br /&gt;
Using this date and time you can search the logs more effectively to find out who did the deletion and in what circumstances.&lt;br /&gt;
&lt;br /&gt;
== Assessing Database Size per File ==&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
 &lt;br /&gt;
 LIST FILES BY BY-DSND SIZE VOLUME.NAME SIZE&lt;br /&gt;
 &lt;br /&gt;
This will include all files not just those in the actual dataset in DATA\* folders.&lt;br /&gt;
&lt;br /&gt;
== Fixing slow speed ==&lt;br /&gt;
=== [[Benchmarking NEOSYS]] ===&lt;br /&gt;
=== Investigating CPU 100% using Windows Task Manager ===&lt;br /&gt;
Email, to support, a screen-shot of task manager APPLICATIONS, PROCESSES and PERFORMANCE screens MAXIMIZED TO SHOW AS MUCH AS POSSIBLE. &lt;br /&gt;
&lt;br /&gt;
(Sort the processes to show ntvdm, waiting.exe and high cpu% processes clearly)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steps:&#039;&#039;&#039;&lt;br /&gt;
#Right Click on Windows Taskbar and click on Start Task Manager &amp;lt;br&amp;gt; [[image:starttaskmanager.jpg]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
#Click on Processes and then click on CPU &amp;lt;br&amp;gt;&#039;&#039;&#039;Note - The HIGH cpu% processes which should usually be the &amp;quot;process&amp;quot; called &amp;quot;System Idle Process&amp;quot; &#039;&#039;&#039;&amp;lt;br&amp;gt;[[image:cpu100percent1.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Click on the Performance Tab &amp;lt;br&amp;gt; &#039;&#039;&#039;Note - PF Usage should typically be much less than Physical Memory otherwise there is insufficient real memory in the server to handle the load&#039;&#039;&#039; &amp;lt;br&amp;gt; [[image:cpu100percent3.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Click on Application Tab then Right Click on a NEOSYS Process and Click on Bring to Front &amp;lt;br&amp;gt;&#039;&#039;&#039;See what the NEOSYS Process is doing &amp;lt;br&amp;gt; [[image:cpu100percent2.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Right Click on a NEOSYS Process and Click on Go to Processes &amp;lt;br&amp;gt;&#039;&#039;&#039;Note the cpu% ntvdm process &amp;lt;br&amp;gt;[[image:cpu100percent2_2.jpg]]&amp;lt;br&amp;gt;  &lt;br /&gt;
#Normally NEOSYS application screens say &amp;quot;LISTENING&amp;quot; in the bottom line and those applications should have very low cpu%&amp;lt;br&amp;gt;[[image:normalneosysprocess.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Look at the difference between the screen of running NEOSYS processes (applications actually) which are idle (listening for requests) and active (processing a request from a user)&lt;br /&gt;
#Note the number of cpus or cpu threads in the server from the performance screen graphics&amp;lt;br&amp;gt;[[image:performance-taskmgr-cputhread.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Take screen-shots of any and ALL hung or long running processes (NEOSYS application screens) and email them to support. Even small details on the screens and user names, the user names may give clues to what problem caused the hanging.A Typical Hung NEOSYS process will look like this: &amp;lt;br&amp;gt; [[image:hungneosysprocess.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
#Once all hung/long processes are closed then CPU should be low and not near 100%. If it is still 100% then check all high cpu% processes and send a screen-shot of processes sorted to show the high cpu% process names to support.&lt;br /&gt;
&lt;br /&gt;
=== Solving server CPU% is 100 and all users are extremely slow/stopped ===&lt;br /&gt;
&lt;br /&gt;
Get the screenshots of Task Manager and ALL processes on the server, the objective is to assess the true issue. No need to get the screens not in use obviously but you can send a parallel screen shot for them if you want to be pedantic or even a comment will do.&lt;br /&gt;
&lt;br /&gt;
==== Too few CPUs/threads for the number of users ====&lt;br /&gt;
In Windows task manager normally, you should see one ntvdm.exe and one waiting.exe process per NEOSYS process (application). A standard installation has three NEOSYS processes per main database and plus one per test database. This is configured in Support Menu, Configuration File.&lt;br /&gt;
&lt;br /&gt;
If there are MORE ntvdm processes than you expect from the configuration file, then perhaps NEOSYS is auto starting new NEOSYS processes to try and cater for a high number of concurrent users.&lt;br /&gt;
&lt;br /&gt;
If the number of concurrent NEOSYS processes significantly exceeds the number of cpus/hyperthreads available in the server then processing for everybody can become so slow for everybody and almost no work gets done.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Stop NEOSYS creating new NEOSYS processes automatically. Create a text file with the first and only line as AUTOSTART=NO in the neosys\neosys folder something like this.&lt;br /&gt;
&lt;br /&gt;
notepad d:\neosys\neosys\NET.CFG&lt;br /&gt;
&lt;br /&gt;
AUTOSTART=NO&lt;br /&gt;
&lt;br /&gt;
== How do I troubleshoot email not received? ==&lt;br /&gt;
&lt;br /&gt;
[[Troubleshooting email not received]]&lt;br /&gt;
&lt;br /&gt;
== Fixing permissions errors while logging in ==&lt;br /&gt;
 &lt;br /&gt;
=== Problem ===&lt;br /&gt;
 &lt;br /&gt;
While logging in, you get the following error message:&lt;br /&gt;
[[Image:login_error_message.jpg]]&lt;br /&gt;
 &lt;br /&gt;
=== Solution ===&lt;br /&gt;
 &lt;br /&gt;
Add the internet guest account to the security list of the data folder with the default permission of list/read/write&lt;br /&gt;
 &lt;br /&gt;
Make sure the read&amp;amp;execute permission is removed&lt;br /&gt;
[[Image:permissions_on_data.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fixing the &#039;HTTP Error 500.0 - Internal Server Error&#039; while logging in on IE on a Windows Vista system ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
After configuring IIS on Windows Vista you will get this error message while trying to login into NEOSYS from Internet Explorer:&lt;br /&gt;
&lt;br /&gt;
 HTTP Error 500.0 - Internal Server Error&lt;br /&gt;
 Description: This application is running in an application pool that uses the Integrated .NET  &lt;br /&gt;
 mode. This is the preferred mode for running ASP.NET applications on the current and future &lt;br /&gt;
 version of IIS.&lt;br /&gt;
 &lt;br /&gt;
 In this mode, the application using client impersonation configured with &amp;lt;identity &lt;br /&gt;
 impersonate=&amp;quot;true&amp;quot; /&amp;gt; may not behave correctly. Client impersonation is not available in early &lt;br /&gt;
 ASP.NET request processing stages and may lead modules in those stages to execute with process &lt;br /&gt;
 identity instead.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
You can move the application to an application pool that uses the Classic .NET mode by using the following from a command line window (the window must be running as Administrator) &lt;br /&gt;
&lt;br /&gt;
 %systemroot%\system32\inetsrv\APPCMD.EXE set app &amp;quot;Default Web Site/neosys&amp;quot; /applicationPool:&amp;quot;Classic .NET AppPool&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can use any other application pool on your system that is running in the Classic .NET mode. You can also use the IIS Administration tool to move this application to another application pool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fixing the &#039;Class Not Registered&#039; error message while logging in ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
While logging into NEOSYS, you will get a popup window giving an error message saying &#039;Class Not Registered - Server Error&#039;. Typically, you will encounter this error with XP Pro IIS 5.1. As usual, there&#039;s way to solve it, however the root cause of this is still unknown.&lt;br /&gt;
&lt;br /&gt;
Anyway, you will get the proper message in the event log:&lt;br /&gt;
&lt;br /&gt;
 Event Type: Warning&lt;br /&gt;
 Event Source: W3SVC&lt;br /&gt;
 Event Category: None&lt;br /&gt;
 Event ID: 36&lt;br /&gt;
 Description: The server failed to load application &#039;/LM/W3SVC/1/ROOT/NEOSYS.&lt;br /&gt;
 The error was &#039;Class not registered&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
So, what do you do ? This problem is related to Component Services, and when you open Component Services MMC, you will most probably  get  Error Code 8004E00F COM + was unable to talk to Microsoft Distributed Transaction Coordinator. So, fix the COM+ services first by using the following KB from Microsoft (PRB: Cannot Expand &amp;quot;My Computer&amp;quot; in Component Services MMC Snap-In http://support.microsoft.com/?id=301919):&lt;br /&gt;
&lt;br /&gt;
To resolve this problem, reinstall Component Services as follows: WARNING: &lt;br /&gt;
# Open registry editor, locate HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3, and then delete this key.  &lt;br /&gt;
# From the Start menu, point to Settings, click Control Panel, and then click Add/Remove Programs.  &lt;br /&gt;
# Click Add/Remove Windows Components. &lt;br /&gt;
# Proceed through the wizard, and accept all of the defaults (including IIS)&lt;br /&gt;
# Restart the computer.&lt;br /&gt;
&lt;br /&gt;
If the above didn&#039;t solve it, and you still receive the &#039;Class not registered&#039; error message, then you need to recreate the IIS packages in COM+, try&lt;br /&gt;
&lt;br /&gt;
# Delete IIS related package in Component Services MMC&lt;br /&gt;
# IIS In-Process Applications &lt;br /&gt;
# IIS Out-of-Process Pooled Applications &lt;br /&gt;
# IIS Utilities&lt;br /&gt;
&lt;br /&gt;
Next, if you still get the message, try following before re-install IIS if you can&#039;t find Distributed Transaction Coordinator in your Services console.&lt;br /&gt;
&lt;br /&gt;
Launch command prompt and run the following command.&lt;br /&gt;
# msdtc -install&lt;br /&gt;
# net start msdtc&lt;br /&gt;
&lt;br /&gt;
Then try re-install IIS.&lt;br /&gt;
&lt;br /&gt;
This should solve the problem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enabling File Security option on Win XP Professional ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
&lt;br /&gt;
In the Properties of any folders, the Security option does not show, hence you cannot modify the Read, Write options.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
The solution would be to untick the &#039;Simple File Sharing&#039; option from  Tools &amp;gt; Folder Options &amp;gt; View:&lt;br /&gt;
[[Image:simplefilesharingoff.jpg]]&lt;br /&gt;
&lt;br /&gt;
== %00%00%00%00 Errors ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SYSTEM ERROR in line 162. Amount &amp;quot;-2698.00AED&amp;quot; or base &amp;quot;%00%00%00%00&amp;quot; has been wrongly generated   &lt;br /&gt;
GET NEOSYS SUPPORT. DO NOT ATTEMPT TO CORRECT MANUALLY    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Solution ===&lt;br /&gt;
%00%00%00%00 indicates an internal error that NEOSYS programmer has to fix. It is usually random and can be hard to replicate unlike almost all other NEOSYS errors which usually replicate reliably once you find the cause.&lt;br /&gt;
&lt;br /&gt;
== B703 Errors ==&lt;br /&gt;
&lt;br /&gt;
The B703 error is usually always related to something too big for NEOSYS to handle. &lt;br /&gt;
&lt;br /&gt;
These are the only B errors that NEOSYS cant always permanently prevent by fixing the software.&lt;br /&gt;
&lt;br /&gt;
== Internet Explorer Menu, View, Text Size doesnt change font size as expected ==&lt;br /&gt;
&lt;br /&gt;
Cause: This is because the font size is now user definable in NEOSYS and View, Text Size does not override predefined font sizes.&lt;br /&gt;
&lt;br /&gt;
Solution: If you are using Internet Explorer 7 you can scale the screen (including the font size  using ctrl + and ctrl - keyboard shortcuts or the font size button on the bottom right hand side of the window. &lt;br /&gt;
&lt;br /&gt;
You can adjust the font size on the User Details form when you login although this permanently applies to all forms not just the one that you are on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uploaded jpg files fail to display in internet explorer ==&lt;br /&gt;
&lt;br /&gt;
Some large jpg files &amp;gt; 2Mb cannot be viewed in internet explorer despite being viewable in image preview, ms paint and other viewers/editors. It is not an issue caused by uploading or downloading the files.&lt;br /&gt;
&lt;br /&gt;
These file appear to have been created on Photoshop CS Macintosh and may be a special type of uncompressed jpg used for production quality files.&lt;br /&gt;
&lt;br /&gt;
=== Partial solution ===&lt;br /&gt;
Before uploading the files, open them in some editor like MS Paint (right click, edit) and save them. However this results in a loss of quality. Perhaps there is some program that can convert these files to a format understandable by Internet explorer without any loss of quality.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;This document is currently read only&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
The user attempting to modify this document does not have the authorization key to do so.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
Inform the user that he is not authorised to modify the document and give him the list of users within his company who are authorised to do so.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;You have attempted to write to a read-only file&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
=== Message ===&lt;br /&gt;
&lt;br /&gt;
Error while writing data.&lt;br /&gt;
You have attempted to write to a read-only file.&lt;br /&gt;
- or -&lt;br /&gt;
access to the file has been denied by the operating system.&lt;br /&gt;
(operating system file name: &amp;quot;..\DATA\ADLINEC\ADAGENCY\REV76467.OV00012618&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
It is almost certainly due to some third party backup or other maintenance software opening the NEOSYS database files when it shouldn&#039;t e.g. badly configured third party backup scheduled to backup NEOSYS while NEOSYS is still running. Note that the exact filename varies each time.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
This can be a serious error that causes damaged files in NEOSYS especially if the filename ends in .OV. Use the usual methods of checking for damaged files e.g. do a backup which also looks for damaged files BUT DO NOT OVERWRITE THE LATEST BACKUP SINCE IT MAY BE REQUIRED for restoration. Then fix the damaged files using the usual methods e.g. by rebuilding/using&lt;br /&gt;
FIXFILE or restoring databases. For more info check [[Handling damaged files|Handling damaged files]]&lt;br /&gt;
&lt;br /&gt;
=== Prevention ===&lt;br /&gt;
&lt;br /&gt;
Remove the third party backup or other maintenance software or reschedule it to run at a time that NEOSYS is shutdown. Removal of software may require hunting through the windows process list for unexpected programs running.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting Hung processes==&lt;br /&gt;
&lt;br /&gt;
=== Investigating hung NEOSYS processes ===&lt;br /&gt;
&lt;br /&gt;
To find out some information about what the hung processes are suffering from, do the following:&lt;br /&gt;
&lt;br /&gt;
When no important clients working (eg first thing in the morning) then request a shutdown of all NEOSYS processes. This should will leave only the hung processes open.&lt;br /&gt;
&lt;br /&gt;
Then find what NEOSYS files are open as follows:&lt;br /&gt;
&lt;br /&gt;
run Sysinternal&#039;s &amp;quot;Process Explorer&amp;quot; (from Start, Programs or procexp.exe from desktop)&lt;br /&gt;
&lt;br /&gt;
find, handle&lt;br /&gt;
&lt;br /&gt;
 d:\&lt;br /&gt;
&lt;br /&gt;
submit the complete list (maybe more than one page) to support for records&lt;br /&gt;
&lt;br /&gt;
[[Image:invhungprocess.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Troubleshooting_NEOSYS_Generally#Investigating_CPU_100.25_using_Windows_Task_Manager|Investigating CPU 100% using Windows Task Manager]]  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Troubleshooting_NEOSYS_Generally#Solving_server_CPU.25_is_100_and_all_users_are_extremely_slow.2Fstopped|Solving server CPU% is 100 and all users are extremely slow/stopped]] ===&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Fatal Error in Rev Restart&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
[[image:fatal.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Error message: “Abort, Retry, Fail” ===&lt;br /&gt;
==== Problem ====&lt;br /&gt;
The following messages may come on older versions of NEOSYS if there is a problem with the USB media inserted for backup.&lt;br /&gt;
&lt;br /&gt;
[[image:usberror.jpg]]&lt;br /&gt;
&lt;br /&gt;
This results in “NEOSYS has not checked in” message on Nagios since it hangs during the monitoring update and locks all other processes from monitoring too.&lt;br /&gt;
&lt;br /&gt;
General failure writing drive F&lt;br /&gt;
Abort, Retry, Fail?&lt;br /&gt;
&lt;br /&gt;
Not read reading drive F&lt;br /&gt;
Abort, Retry, Fail?&lt;br /&gt;
&lt;br /&gt;
Pressing A or F results in the problem happening again in about a minute, perhaps on a different process.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Temporary solution is to do “Safely remove hardware” from the windows notification area. Using “Eject” from My Computer will not work.&lt;br /&gt;
&lt;br /&gt;
Permanent solution is to replace the defective USB memory stick. Sometime reformatting is sufficient.&lt;br /&gt;
&lt;br /&gt;
Upgrading NEOSYS will probably stop the defective media from causing NEOSYS to hang but the USB will still be useless for backup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Read error in the operating system file&amp;quot; ===&lt;br /&gt;
==== Problem ====&lt;br /&gt;
Nagios reports a hung process and on the server a process has the following message popup.&lt;br /&gt;
&lt;br /&gt;
 Read error in the operating system file &amp;quot;..\DATA\PT0833\ACCOUNTS\REV20049&lt;br /&gt;
 The file does not exist or the filename is&lt;br /&gt;
 not valid for the operating system.&lt;br /&gt;
&lt;br /&gt;
[[Image:readerrorintheoperatingsystemfile.png]]&lt;br /&gt;
&lt;br /&gt;
==== Cause ====&lt;br /&gt;
Some non-NEOSYS program is directly accessing the NEOSYS database files while NEOSYS processes are running and using the files as well.&lt;br /&gt;
&lt;br /&gt;
*Client IT staff using a backup program to perform backup without ensuring that NEOSYS processes are shutdown.&lt;br /&gt;
*A NEOSYS rsync process taking longer than expected due to new USB.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Kill the NEOSYS process eg with the X button. It is advisable NOT to let it run further while it cannot properly access one of its files.&lt;br /&gt;
&lt;br /&gt;
==== Prevention ====&lt;br /&gt;
Remove the third party program or arrange for it to operate only while NEOSYS processes are shutdown eg from 3am-6am.&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Not enough string space - Out of Memory&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
==== Message ====&lt;br /&gt;
&lt;br /&gt;
‘RTP27’ Line 1. [B29] Not enough string space – Out of Memory.&lt;br /&gt;
&lt;br /&gt;
Not enough memory to execute Debugger; current program aborted.&lt;br /&gt;
Press any key to continue&lt;br /&gt;
&lt;br /&gt;
[[Image:out_of_memory.jpg]]&lt;br /&gt;
&lt;br /&gt;
==== Cause ====&lt;br /&gt;
Unknown perhaps related to some large document or report&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Ask users for any hanging transactions.&lt;br /&gt;
None other than closing and starting another process.&lt;br /&gt;
&lt;br /&gt;
Also refer [[Troubleshooting NEOSYS Generally#Enabling EMS memory on Window 2003|Enabling EMS memory on Window 2003]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: B521 ===&lt;br /&gt;
&lt;br /&gt;
[[Image:B521.jpg]] &lt;br /&gt;
&lt;br /&gt;
 Another user is currently updating indexes. &lt;br /&gt;
 Waiting to make your updates...&lt;br /&gt;
 If you interrupt this process,&lt;br /&gt;
 you may have to rebuild all the indexes&lt;br /&gt;
&lt;br /&gt;
B521 message is usually temporary and goes away by itself. If it does not then, as the text of the B521 message makes clear, some OTHER process is holding up the system, preventing the process with B521 message from continuing.&lt;br /&gt;
&lt;br /&gt;
B521 message is a symptom of other problem so it does not itself have some one simple solution. You must find which other process or issue is causing the hold up and solve whatever problem is causing the hold up, which could be anything.&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot; NTVDM encountered a hard error &amp;quot;  ===&lt;br /&gt;
&lt;br /&gt;
The following error message appears:&lt;br /&gt;
&lt;br /&gt;
[[Image:ntvdm.jpg]]&lt;br /&gt;
&lt;br /&gt;
 NTVDM encountered a hard error&lt;br /&gt;
&lt;br /&gt;
==== Solution  ====&lt;br /&gt;
 &lt;br /&gt;
This error is caused by missing or corrupt Windows system files (i.e. command.com, autoexec.nt and config.nt). The solution is to run a program called XP FIX which will reinstall these missing files. You can download it form http://www.visualtour.com/downloads/xp_fix.exe&lt;br /&gt;
&lt;br /&gt;
Sometimes even after running the XP FIX program the error still appears. Then you need to copy all the files under C:/windows/repair to C:/windows/system32 and in the autoexec.nt and config.nt put REM before any lines there which don&#039;t have it.&lt;br /&gt;
&lt;br /&gt;
====Possible fix for some NTVDM errors ====&lt;br /&gt;
&lt;br /&gt;
===== Error message ===== &lt;br /&gt;
&lt;br /&gt;
[[Image:Ntvdm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
 NTVDM has encountered a System error.&lt;br /&gt;
 The system cannot find the file specified.&lt;br /&gt;
 Choose close to terminate the application.&lt;br /&gt;
&lt;br /&gt;
=====Possible solution===== &lt;br /&gt;
&lt;br /&gt;
#Change the TEMP and TMP environment variables to C:\WINDOWS\TEMP. This should be for the user that runs NEOSYS processes - normally administrator.&lt;br /&gt;
#Close all NEOSYS processes &lt;br /&gt;
#Logout/Login again&lt;br /&gt;
#Restart NEOSYS processes&lt;br /&gt;
&lt;br /&gt;
[[image:Ntvdmsoln.png]]&lt;br /&gt;
&lt;br /&gt;
===== Check solution done properly ===== &lt;br /&gt;
&lt;br /&gt;
You can check that by typing ECHO %TEMP% and ECHO %TMP% at a console prompt after logging out and in again. &lt;br /&gt;
&lt;br /&gt;
Note that windows will actually set the windows environment variables to something like C:\WINDOWS\TEMP\2 for some unknown reason. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
d:\hosts&amp;gt;ECHO %temp% &lt;br /&gt;
C:\WINDOWS\TEMP\2 &lt;br /&gt;
&lt;br /&gt;
d:\hosts&amp;gt;ECHO %tmp% &lt;br /&gt;
C:\WINDOWS\TEMP\2 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Error message: [[Troubleshooting_NEOSYS_Generally#Troubleshooting_the_.22Database_not_available.22_error_message|&amp;quot;Database not available&amp;quot; post login]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: [[Backup_and_Restore#Error_Message:_.22Cannot_backup.2Frestore_because_PROCESS1_PROCESS2_.28etc.29_is.2Fare_online.22_message|&amp;quot;Cannot backup/restore because PROCESS1 PROCESS2 (etc) is/are online&amp;quot;]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How to kill hung NEOSYS processes ===&lt;br /&gt;
 &lt;br /&gt;
NOTE WELL: If you kill actively working NEOSYS processes (those which are &amp;quot;listening&amp;quot; and not hung/crashed) there is a reasonable chance that the database will be damaged and might need a restore losing possibly large amounts of work.&lt;br /&gt;
 &lt;br /&gt;
==== If NEOSYS processes are visible on the server desktop ====&lt;br /&gt;
 &lt;br /&gt;
Look for processes which don&#039;t have &amp;quot;Listening ...&amp;quot; on the last but one line. The times on the left hand side are frozen as at the time of the hang.&lt;br /&gt;
 &lt;br /&gt;
You can then click the X to kill the process and confirm that this is OK.&lt;br /&gt;
 &lt;br /&gt;
Example of a NEOSYS process that has hung due to a software error resulting in a failure to handle a complex query with a lot of brand codes.&lt;br /&gt;
&lt;br /&gt;
[[Image:hungprocess.jpg]]&lt;br /&gt;
 &lt;br /&gt;
==== If NEOSYS processes are not visible on the server desktop ====&lt;br /&gt;
&lt;br /&gt;
NEOSYS processes are most of the time visible on the desktop (i.e. the black dos windows) in Windows 2003 OS, except in the case that the process has been scheduled to start on computer restart and no one has logged into the server. In this case it would be running in the background. TODO&lt;br /&gt;
&lt;br /&gt;
You can check if there are any hung processes from the NEOSYS Support Menu, List of Database Processes. &lt;br /&gt;
[[Image:databaseprocesseslist.jpg]]&lt;br /&gt;
&lt;br /&gt;
In this case you should follow the below instructions - however all of them need to be done within 30 seconds of starting the first instruction to avoid inconvenience to the users. It is recommend that you keep relevant windows open before proceeding with the same:&lt;br /&gt;
&lt;br /&gt;
#Shutdown NEOSYS by TEMPORARILY putting a file called GLOBAL.END in the parent directory of NEOSYS (if there is already a GLOBAL.END.TEMP file then rename it to GLOBAL.END). Leaving the file there would prevent NEOSYS from starting up again. Shutting down NEOSYS from the Support menu will not work because of the hung processes.&lt;br /&gt;
#Use Windows Task Manager to kill all the NTVDM processes - assuming that you have closed all the visible NEOSYS processes, then the NTVDM processes in the task manager would be the hung one.&lt;br /&gt;
#Delete GLOBAL.END or rename it to GLOBAL.END.TEMP&lt;br /&gt;
#Restart the processes back again. If there are many datasets then you need to restart them all well within the 30 seconds period.&lt;br /&gt;
#*Restarting a process is not noticed by users.&lt;br /&gt;
&lt;br /&gt;
In case of Patsalides, where we have a thousand datasets which start &amp;quot;on demand&amp;quot; i.e. usually on login; all you need to do is start one dataset which will restart all the other datasets &amp;quot;on demand&amp;quot;. If there is no response within 30 seconds then one of the running datasets will start it up so there appears to be a 30 second delay when you login to one of the thousand datasets the first time on any one day.&lt;br /&gt;
&lt;br /&gt;
=== Temporary workarounds for hung NEOSYS processes ===&lt;br /&gt;
Until the error in the software is fixed users can often get their results by simplifying their requirements. For example select individual clients instead of selecting all the brands for a particular client. If the user has repeated his request (in forlorn hope that it would work finally) then the number of working NEOSYS processes will drop causing severe slowdown for other users and complete stop if all the NEOSYS processes hang.&lt;br /&gt;
&lt;br /&gt;
== Fixing &amp;quot; You do not have sufficient privilege to access this file &amp;quot;  ==&lt;br /&gt;
&lt;br /&gt;
This error message may come up while NEOSYS process startup.&lt;br /&gt;
&lt;br /&gt;
Solution: Close the window and look for NEOSYS processes. In case there is no process, start the NEOSYS process.&lt;br /&gt;
&lt;br /&gt;
[[image:Errormsg.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing &#039;NEOSYS process which opens up in a notepad instead of Microsoft Windows Based Script Host (i.e. DOS window)&#039;==&lt;br /&gt;
&lt;br /&gt;
The NEOSYS process (cmd file) might open up in a notepad, instead of the usual black colour DOS window. This may happen if a JavaScript file is opened using a notepad. Please be very CAREFUL when accessing a .JS and .JSE file and double check that the default program remains wscript.exe. The issue can be fixed by the following:&lt;br /&gt;
&lt;br /&gt;
# Check if Windows Script 5.6/5.7 is installed, IF NOT download and install it from the Microsoft Website.&lt;br /&gt;
# Go to any folder, click on Tools &amp;gt; Folder Options &amp;gt; File Types and find the .JS and .JSE and change the default program to wscript.exe (from windows&amp;gt;system32)&lt;br /&gt;
&lt;br /&gt;
== Fixing a &#039;Could not start&#039; error on Scheduled Tasks in Windows Server 2000 SP4 ==&lt;br /&gt;
&lt;br /&gt;
This error occurs because of a change that is made to the data that is stored in the credentials database when you install Windows 2000 SP4. Hence installing SP4 causes the the data that is stored in the credentials database to get converted to an SP4-compatible format. A registry key is configured to indicate that the data has been converted to the SP4 format.&lt;br /&gt;
&lt;br /&gt;
Hence the Scheduled Tasks do not work sometimes. However the Scheduled Tasks works fine sometimes, but when you uninstall SP4, it does not work.&lt;br /&gt;
&lt;br /&gt;
The best solution is to:&lt;br /&gt;
&lt;br /&gt;
# Incase Scheduled Tasks do not work after installing SP4, then uninstall SP4 and it should be fine.&lt;br /&gt;
# Incase Scheduled Tasks works after installing SP4, and later after uninstalling SP4, it does not work, then install SP4 and it should be fine.&lt;br /&gt;
&lt;br /&gt;
== Checking for server or NEOSYS crashes ==&lt;br /&gt;
 &lt;br /&gt;
#NEOSYS Maintenance Mode&lt;br /&gt;
#General Menu, Setup, Processes&lt;br /&gt;
#Select the dates and the option Detailed&lt;br /&gt;
 &lt;br /&gt;
This report shows a list of dates and times that NEOSYS logged in but did not log out properly.&lt;br /&gt;
 &lt;br /&gt;
Ignore the very latest entries since they represent the current NEOSYS processes. For example, if you have four NEOSYS processes running at the time that you get the report (including any in maintenance mode) then you can ignore the last four entries.&lt;br /&gt;
 &lt;br /&gt;
The date and time shows for each process that has failed to shutdown correctly when the process logged in. Versions of NEOSYS from January 2008 will also show the date and time that each crashed NEOSYS process was last active (heartbeat) so that the time of failure can be known.&lt;br /&gt;
 &lt;br /&gt;
If you see a bunch of NEOSYS processes all started up at around the same time but all failed to shutdown correctly then the cause will be a server failure - usually power failure.&lt;br /&gt;
 &lt;br /&gt;
Isolated one-off failures will be related to individual NEOSYS process crashes - most commonly caused by one of the following:&lt;br /&gt;
 &lt;br /&gt;
#NEOSYS hanging to due to software failure&lt;br /&gt;
#Manually exiting a NEOSYS process on the server either by pressing Ctrl+Alt+Del or clicking the &amp;quot;X&amp;quot; close icon/box and ignoring the warning&lt;br /&gt;
#Random server failures eg memory, disk etc&lt;br /&gt;
 &lt;br /&gt;
Example:&lt;br /&gt;
 &lt;br /&gt;
 LOGIN 22/12/2007 06:02 NEOSYS SERVER ADAGENCY         Current workstation &lt;br /&gt;
 LOGIN 23/12/2007 06:00 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 06:01 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 06:02 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:52 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:52 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:53 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:00 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:01 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:02 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 13:51 NEOSYS SERVER NEOSYS         Current user session  &lt;br /&gt;
&lt;br /&gt;
Interpretation:&lt;br /&gt;
 &lt;br /&gt;
The first four entries indicate that all four NEOSYS processes started at 06am were suddenly killed probably by power failure&lt;br /&gt;
 &lt;br /&gt;
The next four entries indicate that NEOSYS was restarted at around 08:52 and all these processes were AGAIN killed probably by power failure&lt;br /&gt;
 &lt;br /&gt;
The last four entries can be ignored because there were four NEOSYS processes running at the time that the report was generated&lt;br /&gt;
&lt;br /&gt;
== Searching for word/number in the database files using maintenance mode ==&lt;br /&gt;
&lt;br /&gt;
You can search for any word/number in the database files of NEOSYS, using the following command line:&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 FIND FILENAME WORDWITHOUTANYSPACES&lt;br /&gt;
 &lt;br /&gt;
 For eg:&lt;br /&gt;
 FIND CURRENCIES 1.1&lt;br /&gt;
 (here you are searching for the number 1.1 in the currencies file) You CANNOT search for a phrase ie include spaces like this.&lt;br /&gt;
 &lt;br /&gt;
 Or you can also type:&lt;br /&gt;
 FIND FILENAME &amp;lt;enter&amp;gt;&lt;br /&gt;
 and it will ask you what you want do to search. You can enter an exact phrase with spaces.&lt;br /&gt;
&lt;br /&gt;
Incase you do not know the filenames, you can enter the following command to see all the filenames in the system:&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 LF&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting a Service Unavailable message on Internet Explorer when opening up NEOSYS ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&lt;br /&gt;
The following error message appears in Internet Explorer when you try to open up NEOSYS:&lt;br /&gt;
&lt;br /&gt;
 Service Unavailable&lt;br /&gt;
&lt;br /&gt;
=== Solution  ===&lt;br /&gt;
 &lt;br /&gt;
Open the IIS Manager, right click Web Sites and select properties:&lt;br /&gt;
[[Image:serviceunavailable1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Switch to the Service Tab and tick the &amp;quot;Run WWW Service in IIS 5.0 Isolation Mode&amp;quot;.&lt;br /&gt;
[[Image:serviceunavailable2.jpg]]&lt;br /&gt;
&lt;br /&gt;
You will be asked for Restart of IIS. Click yes to restart IIS. If you are not asked just restart IIS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Inspecting IIS log files ==&lt;br /&gt;
&lt;br /&gt;
At a windows command prompt:&lt;br /&gt;
&lt;br /&gt;
 c:&lt;br /&gt;
 cd \Windows\system32\LogFiles\W3SVC1&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 %SystemDrive%&lt;br /&gt;
 cd %SystemRoot%&lt;br /&gt;
 cd system32\LogFiles\W3SVC1&lt;br /&gt;
&lt;br /&gt;
then (substituting the ip number you are interested in)&lt;br /&gt;
&lt;br /&gt;
 find &amp;quot;192.168.1.55&amp;quot; *|sort&amp;gt;temp.log&lt;br /&gt;
&lt;br /&gt;
Open temp.log in Excel and use Tools, Data, Text to Columns to split into columns using options &amp;quot;Delimited&amp;quot; and check split on Space.&lt;br /&gt;
&lt;br /&gt;
Autowidth all columns by clicking on the top left box just outside the data to the left of column A and above column 1 then double click the column separator to the right of column &amp;quot;A&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note that times and dates are in UTC/GMT so you have to add/subtract your timezone offset to get local times.&lt;br /&gt;
&lt;br /&gt;
==Inspecting Database LOGS Folder==&lt;br /&gt;
LOGS folder in NEOSYS installation folder carries records of all changes done in the database which includes adding and removal of data.&lt;br /&gt;
&lt;br /&gt;
Log file is an XML document which should be viewed in Notepad. Each XML document represents commands executed by each NEOSYS process started each day.&lt;br /&gt;
&lt;br /&gt;
The NEOSYS log files e.g. 15123103.xml are created by the database processes. If the database is not available according to the website then no entry will appear in that log. The request will appear in the IIS website log but that log is nothing to do with database processes.&lt;br /&gt;
&lt;br /&gt;
=== Understanding Log Entries ===&lt;br /&gt;
Inspecting and searching through Logs file allows NEOSYS staff to answer clients queries like &amp;quot;Who deleted schedule XXXX&amp;quot; etc.&lt;br /&gt;
&lt;br /&gt;
While going through the log file you may come across a request &amp;quot;EXECUTE GENERAL GETTASKS NOT&amp;quot;, this request is concerned with getting a list of tasks that the user is *not* allowed to do.&lt;br /&gt;
&lt;br /&gt;
To read and understand the log file with more ease, copy the portion of the log file required to be analyzed into another text editor.&lt;br /&gt;
&lt;br /&gt;
The text that appears as %FE, %FE1, %FE2, etc. are basically separators.&lt;br /&gt;
*First replace FE0%, FE1%, FE2%, etc. with a separator like &amp;quot;--&amp;quot;. There can be occurrences of &amp;quot;%FE&amp;quot; along with some valuable information like &amp;quot;17290&amp;quot;, so replacing &amp;quot;%FE1&amp;quot; in &amp;quot;%FE17290&amp;quot; would lead to loss of information.&lt;br /&gt;
*Then replace %FE with a bigger separator like &amp;quot;===&amp;quot;.&lt;br /&gt;
*Replace other entries like %FCB and then %FC and so on with similar separators.&lt;br /&gt;
*In the end there may be few &amp;quot;FE&amp;quot; remaining, replace these with a separator like &amp;quot;-&amp;quot;.&lt;br /&gt;
*The remaining &amp;quot;%&amp;quot; characters MUST be intelligently replaced with a separator like &amp;quot; &amp;quot; (space), because it can either be an actual &amp;quot;%&amp;quot; or it can be a residue from &amp;quot;%FE&amp;quot;, &amp;quot;%FE1&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
Once replacing all these characters is done, the log file will be more easily readable and vital information will be clearer. &lt;br /&gt;
&lt;br /&gt;
In the log file, you may find numbers like 17290, 17195, etc. These numbers denote dates selected or entered by the NEOSYS user. These are basically the number of days from 31st December 1967 till the date chosen by the user. For example, to convert 17290 to actual date, 31/12/1967 + 17290 = 3/5/2015. So the actual date is 3rd May 2015.&lt;br /&gt;
&lt;br /&gt;
To convert these numbers to dates using maintenance mode, refer to the article [http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Finding_out_when_and_by_whom_a_record_was_deleted Finding out when and by whom a record was deleted]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:NEOSYS Logs.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing NEOSYS processes that do not auto start / Recovering from incorrect advanced date or time ==&lt;br /&gt;
This solution is applicable to live database processes only. Test database processes don’t auto-start any other processes.&lt;br /&gt;
&lt;br /&gt;
=== Problem explained ===&lt;br /&gt;
After starting up the 1st process, the rest of the processes don&#039;t start up.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
The possible cause for this could be that the system date/time might have been changed - either manually or by the auto synchronization. Do the following checks in the sequence of order:&lt;br /&gt;
&lt;br /&gt;
# Check for any *.$* files (* after dollar sign should show a number, the highest being the latest one). If it shows OK, then proceed ahead.&lt;br /&gt;
# Check for any .end files and delete it to rename to .end.temp&lt;br /&gt;
# Check the System Event Viewer log for any 520 or 577 error message (refer http://128.175.24.251/forensics/timechange.htm). Also check for any out of sequence / ahead of today date or time.&lt;br /&gt;
# In case of no 520 or 577 error message, go to Administrative Tools &amp;gt; Local Security Policy &amp;gt; Local Policies &amp;gt; Audit Policy &amp;gt; Audit Privilege use - make sure that Success and Failure are selected under this (this will ensure that future changes to the date/time are recorded in the System Log).&lt;br /&gt;
# In NEOSYS maintenance mode - F5 ED PROCESSES %UPDATE% - and see what it says, incase of any text (only text, not numbers) there, that means that for sure the system date has been changed. To fix this, exit the editor by pressing the ESCAPE key and then type DELETE PROCESSES &amp;quot;%UPDATE%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Fixing NEOSYS maintenance mode not starting up == &lt;br /&gt;
&lt;br /&gt;
Problem :- While trying to start maintenance mode, the maintenance window closes automatically within a split second.&lt;br /&gt;
&lt;br /&gt;
Solution :- Delete the read-only file REVBOOT file (under d:/neosys/neosys folder). REVBOOT file is recreated when you start maintenance mode.&lt;br /&gt;
&lt;br /&gt;
== Recognising and Solving Low Memory Problems ==&lt;br /&gt;
&lt;br /&gt;
Quick Note: Installing a server class operating system on a workstation class computer with the intention of NEOSYS serving a heavy load is likely to cause problems with low memory.&lt;br /&gt;
&lt;br /&gt;
Quick Fix: Disable *ALL* non-essential features in the power-on setup menu.&lt;br /&gt;
&lt;br /&gt;
=== Effects ===&lt;br /&gt;
&lt;br /&gt;
It is speculated but not proven that low memory may cause NEOSYS to fail by hanging, causing damaged files etc.&lt;br /&gt;
&lt;br /&gt;
=== Checking ===&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 MEMORY&lt;br /&gt;
&lt;br /&gt;
On server class machines it should say somewhere around 350Kb to 370Kb Free&lt;br /&gt;
&lt;br /&gt;
Some server class machines have around 330Kb and sometimes even less with no reported problems&lt;br /&gt;
&lt;br /&gt;
The actual effect of low memory is supposed to make NEOSYS slower and perhaps cause hanging and damaged files however this has not been proven in an specific case so far.&lt;br /&gt;
&lt;br /&gt;
On workstation class machines it may often say around 280Kb to 300Kb.&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
Although there is plenty of real memory in virtually all computers now, NEOSYS runs in the legacy 16 bit virtual memory space of a windows mode called NTVDM. This is limited to 1Mb plus 4Mb of EMS memory.&lt;br /&gt;
&lt;br /&gt;
The 1Mb memory space is shared with:&lt;br /&gt;
&lt;br /&gt;
#Various non-essential windows drivers which NEOSYS automatically disables them in autoexec.nt&lt;br /&gt;
#Various plug and play hardware device drivers for the various adapters in the computer like video, network adapters and various other items that NEOSYS is unable to disable.&lt;br /&gt;
&lt;br /&gt;
In a server class computer the hardware device drivers are usually minimally present in the 1Mb base memory and do not therefore DOESNT a low memory situation for NEOSYS.&lt;br /&gt;
&lt;br /&gt;
In workstation class computers there are often many hardware device drivers present in the 1Mb base memory and this DOES causes a low memory situation for NEOSYS.&lt;br /&gt;
&lt;br /&gt;
When NEOSYS is installed on workstation class computers with XP there is usually not a heavy load expectation and therefore the low memory does not cause a problem.&lt;br /&gt;
&lt;br /&gt;
If Windows Server OS is installed on a workstation class computer NEOSYS may well be expected to serve a heavy load with limited amounts of memory.&lt;br /&gt;
&lt;br /&gt;
Workstation class computers: hardware drivers present and EMS is installed in low memory (0000-9FFF) causing low memory for NEOSYS and possible inability to &lt;br /&gt;
&lt;br /&gt;
Server class computers: Usually few hardware drivers are present in high part (A000-FFFF) of the 1Mb base memory and EMS is able to occupy the high memory leaving the low part (0000-9FFFF) of the 1Mb memory free for NEOSYS. You can find out how much memory is available to NEOSYS and whether EMS is occuping high or low memory using the following sections.&lt;br /&gt;
&lt;br /&gt;
=== Fixing Low Memory ===&lt;br /&gt;
&lt;br /&gt;
Start, Run, notepad c:\windows\system32\autoexec.nt&lt;br /&gt;
&lt;br /&gt;
Every time NEOSYS starts it tries to make some changes as follow:&lt;br /&gt;
&lt;br /&gt;
#replaces all lines in C:/WINDOWS/SYSTEM32/AUTOEXEC.NT starting with &#039;lh &#039; to start with &#039;rem NEOSYS LH &#039; instead.&lt;br /&gt;
#changes the line in C:/WINDOWS/SYSTEM32/CONFIG.NT &amp;quot;files=...&amp;quot; to &amp;quot;FILES=200&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The replacement is case sensitive triggered on &#039;lh&#039; and &#039;files&#039; so if you manually edit the files and remove the rem or change the number of files and leave the LH and FILES in uppercase then NEOSYS will NOT make further changes. This allows you to do manual amendments to the files without NEOSYS overwriting them.&lt;br /&gt;
&lt;br /&gt;
Check that NEOSYS has successfully disabled all the drivers in the lines starting with LH.&lt;br /&gt;
&lt;br /&gt;
They should be commented out (prefixed) with REM or REM NEOSYS as follows.&lt;br /&gt;
&lt;br /&gt;
After making changes reopen NEOSYS in maintenance mode to use the MEMORY and WHO commands again.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REM Install CD ROM extensions&lt;br /&gt;
REM NEOSYS LH %SystemRoot%\system32\mscdexnt.exe&lt;br /&gt;
&lt;br /&gt;
REM Install network redirector (load before dosx.exe)&lt;br /&gt;
REM NEOSYS LH %SystemRoot%\system32\redir&lt;br /&gt;
&lt;br /&gt;
REM Install DPMI support&lt;br /&gt;
REM NEOSYS LH %SYSTEMROOT%\SYSTEM32\DOSX&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Low Memory Issues in Windows 2003 server can be fixed using instructions mentioned at [http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Enabling_EMS_memory_on_Window_2003 Fixing Low Memory in Windows 2003 Server]&lt;br /&gt;
&lt;br /&gt;
=== Allowing DOS programs that require DOSX to run on the same computer as NEOSYS ===&lt;br /&gt;
&lt;br /&gt;
The automatic commenting out DOSX by NEOSYS will prevent some other DOS-like programs from running. If NEOSYS is on dedicated server then there should be no other such programs to fail. However, if you must allow DOS-like programs to work as well as NEOSYS you can do the following configuration:&lt;br /&gt;
&lt;br /&gt;
#leave or restore the original AUTOEXEC.NT and CONFIG.NT files where they are&lt;br /&gt;
#copy them to another folder eg neosys folder&lt;br /&gt;
#make the necessary REM changes there by hand&lt;br /&gt;
#right click the NEOSYS\NEOSYS\AREV.PIF and select properties&lt;br /&gt;
#change the location of the AUTOEXEC.NT and CONFIG.NT files in the following location&lt;br /&gt;
&lt;br /&gt;
[[image:pifsettings.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Checking EMS Memory Configuration ===&lt;br /&gt;
&lt;br /&gt;
==== Inspection ====&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 WHO&lt;br /&gt;
&lt;br /&gt;
 press the up arrow to get to the last part/page&lt;br /&gt;
&lt;br /&gt;
===== Example of Typical Server EMS Memory =====&lt;br /&gt;
[[image:serveremm.jpg]]&lt;br /&gt;
&lt;br /&gt;
===== Example of Typical Workstation EMS Memory =====&lt;br /&gt;
[[image:workstationemm.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Correction====&lt;br /&gt;
&lt;br /&gt;
No easy way&lt;br /&gt;
&lt;br /&gt;
Removal of hardware adapters designed for workstations instead of servers eg graphics cards and network cards.&lt;br /&gt;
&lt;br /&gt;
Many of the devices may be located on the motherboard and not relocatable except possibly by BIOS configuration or special manufacturer information.&lt;br /&gt;
&lt;br /&gt;
Use windows device manager, View: Resources by Connection, Open the Memory item and look for items between 000A0000 up to 000FFFFF that might give you a clue as to what hardware could be removed or reconfigured. Actually only 000C0000 to 000FFFFF is candidate for EMS memory since 000A000-000BFFFF is mandatory video memory in all systems.&lt;br /&gt;
&lt;br /&gt;
[[image:devicemanager.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing issue where NEOSYS processes do not start-up at all or start-up and close immediately ==&lt;br /&gt;
&lt;br /&gt;
# Find if a file with the name global.end exists in the root directory of the NEOSYS installation. Eg D:\global.end . If you find such a file, rename it to global.end.temp - for more information on global.end and what it does refer to [[Administering_NEOSYS_Server#Closing_NEOSYS_Services|Closing NEOSYS Services]]&lt;br /&gt;
# If the above didn&#039;t fix the problem and NEOSYS still does not start, do a windows search for the entire NEOSYS folder for *.end (i.e. any file ending with .end extension). You may find a (databasecode).end file in D:\neosys\neosys folder which is created by the NEOSYS program during backup at 1 am and later on removed automatically. In this case NEOSYS program might have crashed during the backup and left this file behind. (databasecode).end files prevent other other NEOSYS processes starting up on the database while exclusive processes (like backup) are being done.&lt;br /&gt;
&lt;br /&gt;
In case the above didn&#039;t fix the problem then escalate to the programmer immediately.&lt;br /&gt;
&lt;br /&gt;
=== Solving &amp;quot;Control Record&amp;quot; error in maintenance mode ===&lt;br /&gt;
&lt;br /&gt;
If processes dont start after you log into maintenance mode and you get an error message&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔════[FS152]═══════════════════════════════════════╗&lt;br /&gt;
║          The control record &amp;quot;RECORDS&amp;quot;            ║&lt;br /&gt;
║           is too long to be saved.               ║&lt;br /&gt;
║   The current record length is 65539 characters. ║&lt;br /&gt;
║                                                  ║&lt;br /&gt;
║               &amp;lt; Press any key &amp;gt;                  ║&lt;br /&gt;
╚══════════════════════════════════════════════════╝  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[File:Record1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1&#039;&#039;&#039;. Press space to get rid of the error message and you should then get this menu&lt;br /&gt;
&lt;br /&gt;
[[File:Record2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2&#039;&#039;&#039;. Press F5 and run this command (case sensitive)&lt;br /&gt;
&lt;br /&gt;
 DICT DEFINITIONS&lt;br /&gt;
&lt;br /&gt;
or Press Alt+S and run this command (case sensitive)&lt;br /&gt;
&lt;br /&gt;
 EXECUTE DICT DEFINITIONS&lt;br /&gt;
&lt;br /&gt;
[[File:Record3.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3&#039;&#039;&#039;. Press Shift+F3 to get the following message&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔══[B202]══════════════════════════════════╗&lt;br /&gt;
║            &amp;quot;DEFINITIONS&amp;quot; has             ║&lt;br /&gt;
║          &amp;quot;QUICKDEX&amp;quot; installed            ║&lt;br /&gt;
║                                          ║&lt;br /&gt;
║ Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N]  ║&lt;br /&gt;
║                                          ║&lt;br /&gt;
║ &amp;lt;Y                                      &amp;gt;║&lt;br /&gt;
╚══════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4&#039;&#039;&#039;. Press Enter to choose Yes.&lt;br /&gt;
&lt;br /&gt;
[[File:Record4.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5.&#039;&#039;&#039;Restart NEOSYS to see if the problem has been solved&lt;br /&gt;
&lt;br /&gt;
== Solving “page not found” when downloading some file types after uploading them successfully ==&lt;br /&gt;
=== One by One ===&lt;br /&gt;
&lt;br /&gt;
Windows web server will not download file types that it is unaware of. You can enable the download of new file types one by one as follows.&lt;br /&gt;
&lt;br /&gt;
This process is tedious and error-prone if you have to add many type.&lt;br /&gt;
&lt;br /&gt;
#Computer Management&lt;br /&gt;
#Services and Applications&lt;br /&gt;
#IIS properties&lt;br /&gt;
#Mime Types&lt;br /&gt;
#Add&lt;br /&gt;
&lt;br /&gt;
=== Many ===&lt;br /&gt;
&lt;br /&gt;
Window Server 2003 is unaware of all the Office 2007+ file types. To add all Office 2007+ file types at once do the following:&lt;br /&gt;
&lt;br /&gt;
Stop IIS&lt;br /&gt;
&lt;br /&gt;
 iisreset /stop&lt;br /&gt;
&lt;br /&gt;
Open the list of mime types&lt;br /&gt;
&lt;br /&gt;
*Start, Run, notepad C:\WINDOWS\system32\inetsrv\MetaBase.xml&lt;br /&gt;
&lt;br /&gt;
Search the file for “xlsx” and quit the editor if already inserted.&lt;br /&gt;
&lt;br /&gt;
Otherwise, find the following line,&lt;br /&gt;
&lt;br /&gt;
  .xml,text/xml&lt;br /&gt;
&lt;br /&gt;
and insert after that line the following lines. They do not need to be indented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.docm,application/vnd.ms-word.document.macroEnabled.12&lt;br /&gt;
.docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document&lt;br /&gt;
.dotm,application/vnd.ms-word.template.macroEnabled.12&lt;br /&gt;
.dotx,application/vnd.openxmlformats-officedocument.wordprocessingml.template&lt;br /&gt;
.potm,application/vnd.ms-powerpoint.template.macroEnabled.12&lt;br /&gt;
.potx,application/vnd.openxmlformats-officedocument.presentationml.template&lt;br /&gt;
.ppam,application/vnd.ms-powerpoint.addin.macroEnabled.12&lt;br /&gt;
.ppsm,application/vnd.ms-powerpoint.slideshow.macroEnabled.12&lt;br /&gt;
.ppsx,application/vnd.openxmlformats-officedocument.presentationml.slideshow&lt;br /&gt;
.pptm,application/vnd.ms-powerpoint.presentation.macroEnabled.12&lt;br /&gt;
.pptx,application/vnd.openxmlformats-officedocument.presentationml.presentation&lt;br /&gt;
.xlam,application/vnd.ms-excel.addin.macroEnabled.12&lt;br /&gt;
.xlsb,application/vnd.ms-excel.sheet.binary.macroEnabled.12&lt;br /&gt;
.xlsm,application/vnd.ms-excel.sheet.macroEnabled.12&lt;br /&gt;
.xlsx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet&lt;br /&gt;
.xltm,application/vnd.ms-excel.template.macroEnabled.12&lt;br /&gt;
.xltx,application/vnd.openxmlformats-officedocument.spreadsheetml.template&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save the file with File and Exit&lt;br /&gt;
&lt;br /&gt;
Restart IIS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Handling Neosys Automatic Upgrade Error Messages ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
We will receive an email from the NEOSYS client installation with the following message:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;UPGRADEN.EXE&amp;quot; does not have expected exe MZ signature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
This message is a note that the NEOSYS automatic update procedure failed to download an upgrade file correctly.&lt;br /&gt;
This happens sometimes due to network issues but can be ignored because the file will be probably be correctly downloaded on the next automatic update check.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This message is only informative to help with any problem with the automatic upgrade procedure and may be removed in a later version of neosys (currently Oct 2012)&lt;br /&gt;
&lt;br /&gt;
== Testing https connection ==&lt;br /&gt;
&lt;br /&gt;
The following procedure tests that the https server is operational and not blocked by firewall etc. It does not detect certificate errors.&lt;br /&gt;
&lt;br /&gt;
From a windows command prompt use the following telnet command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
telnet clientname.hosts.neosys.com 4430&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
#4430 is the usual NEOSYS http port but replace it by whatever port is actually used for NEOSYS https on the system being tested. If there are multiple https installations on a particular server then different ports are probably used&lt;br /&gt;
#Replace clientname.hosts.neosys.com with the normal https login domain name of the client for whom we want to check the https service&lt;br /&gt;
&lt;br /&gt;
Normal behavior is that it should open a black screen. Pressing Enter or any key returns the _ character. (Close the window using the [X] since there is no keyboard command to do so)&lt;br /&gt;
&lt;br /&gt;
Hanging means that there is some connectivity issue (firewall/ip/server not running/https not installed etc)&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;quot;page not found&amp;quot; error while using https ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#The https service stops working and gives &amp;quot;Page not found&amp;quot; error.&lt;br /&gt;
#The https connection tests fine using telnet (see article above)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#Reinstall https using the usual procedure (currently using selfssl)&lt;br /&gt;
#Email clients, requesting to reinstall the new security certificate by following the instructions for [http://userwiki.neosys.com/index.php/Setting_up_and_Configuring_NEOSYS_Generally#Fixing_HTTPS_certificate_error_when_logging_in_from_an_external_link_using_IE8.2C_IE9_and_IE10 Internet Explorer] or [http://userwiki.neosys.com/index.php/Configuring_Safari_for_MAC_OS#Fixing_HTTPS_certificate_error_when_logging_in_using_an_external_link_using_MAC_Operating_System Safari] browser.&lt;br /&gt;
&lt;br /&gt;
== Installing &amp;quot;QUICKDEX&amp;quot; on some files ==&lt;br /&gt;
&amp;quot;Quickdex&amp;quot; is a type of index that keeps an alphabetical order on small files. In some maintenance procedures you may be asked to &amp;quot;install Quickdex&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For example to add a quickdex to the UNITS file.&lt;br /&gt;
&lt;br /&gt;
Maintenance mode press F5&lt;br /&gt;
&lt;br /&gt;
 DICT UNITS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=================Dictionary=================┐&lt;br /&gt;
│                                            │&lt;br /&gt;
│  File name      UNITS                      │&lt;br /&gt;
│  Field name     .........................  │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Dict type                                 │&lt;br /&gt;
│  Single/Multi                              │&lt;br /&gt;
│  Data type                                 │&lt;br /&gt;
│  Output format                             │&lt;br /&gt;
│  Validation patterns                       │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Position              Key part            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Column heading                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Justification     Display length          │&lt;br /&gt;
│  Description                               │&lt;br /&gt;
│                                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
L============================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Shift+F3.&lt;br /&gt;
&lt;br /&gt;
If it says &amp;quot;Do you want to remove ...&amp;quot; then Quickdex has already been installed and you should not continue. Press Esc to cancel, then Esc to quit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[B202]==================================┐&lt;br /&gt;
│                                         │&lt;br /&gt;
│               &amp;quot;UNITS&amp;quot; has               │&lt;br /&gt;
│          &amp;quot;QUICKDEX&amp;quot; installed.          │&lt;br /&gt;
│                                         │&lt;br /&gt;
│ Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N] │&lt;br /&gt;
│                                         │&lt;br /&gt;
│&amp;lt;Y                                      &amp;gt;│&lt;br /&gt;
L=========================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise it should say &amp;quot;Do you want to install ...&amp;quot;. Press Enter to accept.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[W963]============================┐&lt;br /&gt;
│                                   │&lt;br /&gt;
│     Do you want to install a      │&lt;br /&gt;
│ Quickdex or Rightdex index? [Q/R] │&lt;br /&gt;
│                                   │&lt;br /&gt;
│&amp;lt;Q                                &amp;gt;│&lt;br /&gt;
L===================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It should then say &amp;quot;Do you want to update ...&amp;quot;. Press Enter to accept.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[W901]========================================┐&lt;br /&gt;
│                                               │&lt;br /&gt;
│           The &amp;quot;UNITS&amp;quot; file has had            │&lt;br /&gt;
│ the &amp;quot;QUICKDEX&amp;quot; modifying filing system added. │&lt;br /&gt;
│        There are 0 records in &amp;quot;UNITS&amp;quot;.        │&lt;br /&gt;
│                                               │&lt;br /&gt;
│    Do you want to update &amp;quot;QUICKDEX&amp;quot;? [Y/N]    │&lt;br /&gt;
│                                               │&lt;br /&gt;
│&amp;lt;Y                                            &amp;gt;│&lt;br /&gt;
L===============================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards it should return to the initial screen. Press Esc to quit.&lt;br /&gt;
&lt;br /&gt;
== Solving NEOSYS smtp server failure ==&lt;br /&gt;
In case the neosys smtp server fails then we can just use the client&#039;s smtp server.&lt;br /&gt;
&lt;br /&gt;
The following information is required from the client&#039;s smtp server configuration:&lt;br /&gt;
#hostname&lt;br /&gt;
#username&lt;br /&gt;
#password&lt;br /&gt;
#port no. (most likely = 25)&lt;br /&gt;
&lt;br /&gt;
These details should be entered in the &#039;&#039;&#039;System Configuration File&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
[[image:SYSCFGFILE-SMTP.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Strange characters in maintenance mode ==&lt;br /&gt;
While in Maintenance mode, pressing keys on keyboard gives strange characters. Even Enter and Esc don’t work. &lt;br /&gt;
&lt;br /&gt;
This problem has been seen using RDP on:&lt;br /&gt;
*Window Server 2003 Web Edition&lt;br /&gt;
*Windows Server 2003 R2 SP2&lt;br /&gt;
&lt;br /&gt;
[[image:strangecharmaint.jpg]] &lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
#Go to Windows -&amp;gt; control panel&lt;br /&gt;
#Go to Regional and Language Options &lt;br /&gt;
#Click on Languages tab then click on Details &amp;lt;br&amp;gt; [[image:lang1.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
#Click on Settings Tab and Change default input language to English (United States)&amp;lt;br&amp;gt;(or perhaps something else depending on rdp keyboard) &amp;lt;br&amp;gt; [[image:lang2.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== NEOSYS processes do not start after Windows Update  ==&lt;br /&gt;
&lt;br /&gt;
===Problem===&lt;br /&gt;
Scheduled Task to start the NEOSYS processes fail on Servers with Windows 2008 after Windows update. Support will have to log into the server to start the processes manually&lt;br /&gt;
Message on the Schedule Task displays &amp;quot; The operation being requested was not performed because the user has not logged on to the network. The specified service does not exit &amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[image:sti.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Solution===&lt;br /&gt;
&lt;br /&gt;
For clients who cannot tolerate manual intervention after server reboots for any reason (e.g.need to start work before NEOSYS support is available or on NEOSYS support weekends), tick &amp;quot;highest privileges&amp;quot; and &amp;quot;run whether the user is logged in or not&amp;quot;. This approach means that NEOSYS processes which are started by the windows scheduled task are not visible on the desktop and run hidden in the background and only listed in task manager, so avoid this approach on small clients (only few users). Avoiding this approach will also serve to act as an indicator of server restarts.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting NEOSYS remote support port forwarding ==&lt;br /&gt;
This assumes that you have already “port forwarded” tcp port 19580 from your public internet router to the NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
=== Tst 0 - Check if SSH is working on the NEOSYS Server ===&lt;br /&gt;
Type in the following command in command prompt:&lt;br /&gt;
 telnet 127.0.0.1 19580&lt;br /&gt;
&lt;br /&gt;
IF ALL OK you will see the following:&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-03.jpg]] &lt;br /&gt;
&lt;br /&gt;
=== Test 1 - Check if SSH is basically working on NEOSYS server over the LAN ===&lt;br /&gt;
You must know and use the NEOSYS SERVER LAN IP to do this.&lt;br /&gt;
&lt;br /&gt;
 telnet ???.???.???.??? 19580&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-01.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
If you have the WRONG SERVER LAN IP or NEOSYS server SSH is NOT working then it will hang for about 15 seconds and then say “Could not open connection to host …”&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-02.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
OR IF ALL OK you will see the following:&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-03.jpg]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Press Enter to Exit&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-04.jpg]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Test 2 - Check if can connect to the NEOSYS ssh from OUTSIDE the office  ===&lt;br /&gt;
From any internet connected computer OUTSIDE the office test if you can connect to NEOSYS ssh service. You cannot do this test from inside the office.&lt;br /&gt;
&lt;br /&gt;
You need to know the public ip or domain name of the router. If the router IP is dynamic then NEOSYS sets up dynamic name server so instead of a static ip number you will have a domain name something like clientxyz.redirectme.net.&lt;br /&gt;
&lt;br /&gt;
Enter the command .. using YOUR public internet IP number (NOT the LAN ip number) or the dynamic domain name.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-05.jpg]]  &lt;br /&gt;
&lt;br /&gt;
If everything is working OK you will get a black screen as follows. You will NOT get the “SSH-2.0-OpenSSH-4.7” banner” because NEOSYS ssh remote support is restricted to connect ONLY from LAN ip nos and NEOSYS office ip nos.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-06.jpg]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you press Enter a few times then the cursor will just go down. You have click the [X] to close the window.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-07.jpg]]  &lt;br /&gt;
&lt;br /&gt;
=== Test 3 - Check that the ssh connection from step 2 was rejected  ===&lt;br /&gt;
On the NEOSYS server, check the Windows Application log to verify that an SSH connection was rejected.&lt;br /&gt;
&lt;br /&gt;
The rejected ip number will be of the system outside the office that you performed the test from.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-08.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Sample Email: Solving port 19580 port forwarding issues ===&lt;br /&gt;
&lt;br /&gt;
Some IT people know how to troubleshoot port forwarding issues but others are mostly just power users who can configure a home router. If the IT person is in the second category then it is quicker for NEOSYS support to offer to configure their router from the NEOSYS server using Teamviewer. Ideally NEOSYS should not be doing client IT work but if client IT allows NEOSYS access to their router then NEOSYS support can make a brief attempt to do the configuration. If the issue is still unresolved then request the client to get a professional IT network expert to do the job and inform them that NEOSYS will not be able to provide them any support till connectivity is fixed. Below is a letter advising a more skilled person to check connections using telnet which is a low level test.&lt;br /&gt;
&lt;br /&gt;
You can usually determine the NEOSYS server LAN IP number from Nagios. If so then adjust the email text appropriately.&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Dear XYZ,&lt;br /&gt;
&lt;br /&gt;
It is highly critical to fix the connectivity with the NEOSYS server because NEOSYS will not be able to provide any support until&lt;br /&gt;
connectivity is fixed. User support issues will be delayed and remain unresolved if you do not fix this issue URGENTLY.&lt;br /&gt;
&lt;br /&gt;
At the moment there is no connection from the internet via your router to the NEOSYS server and when we do the following, &lt;br /&gt;
we get no connection. &lt;br /&gt;
&lt;br /&gt;
   telnet CLIENTNAME.support.neosys.com 19580&lt;br /&gt;
&lt;br /&gt;
Normally it should connect and presents a black screen (saying SSH something after pressing Enter) which we close.&lt;br /&gt;
&lt;br /&gt;
Please check that you can connect to the NEOSYS server internally by using the NEOSYS server IP address in the following command on any&lt;br /&gt;
computer in your LAN.&lt;br /&gt;
&lt;br /&gt;
    telnet 192.168.?.? 19580&lt;br /&gt;
&lt;br /&gt;
If you can connect to the NEOSYS server internally then please check port forwarding.&lt;br /&gt;
&lt;br /&gt;
Additionally check the following:&lt;br /&gt;
1. Has your router IP changed?&lt;br /&gt;
2. Has your server’s LAN IP changed and are you forwarding to the correct LAN IP?&lt;br /&gt;
3. Is the configuration really correct?&lt;br /&gt;
4. Check router logs for clues&lt;br /&gt;
5. Check NAT settings in the router&lt;br /&gt;
&lt;br /&gt;
For troubleshooting steps refer Troubleshooting NEOSYS remote support&lt;br /&gt;
http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Troubleshooting_NEOSYS_remote_support_port_forwarding&lt;br /&gt;
&lt;br /&gt;
If the problem still persists, please get a professional IT network expert to fix the issue.&lt;br /&gt;
&lt;br /&gt;
Best Regards,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Port mapping restricted by Source IP ===&lt;br /&gt;
&lt;br /&gt;
On NEOSYS router, port forwarding has been setup only for specific source IP addresses. This means you will not be able to establish a TCP connection to NEOSYS server unless your server&#039;s outbound IP is mapped to the NEOSYS router. In other words unless the outbound i.e source IP/port of your server has been granted access on the NEOSYS router for all incoming connections you will not be able to make connections to NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
Outbound IP is used whenever a server tries to make a connection to another server outside its network. On the other hand a server receives all incoming connections using it&#039;s Inbound IP.&lt;br /&gt;
&lt;br /&gt;
Therefore to setup ssh connection from a new Client server to NEOSYS server we need to grant access to its outbound IP on the NEOSYS router. See [[Troubleshooting_NEOSYS_Generally#If_Telnet_does_not_work | link]] to find the outbound server IP/ports of the server.&lt;br /&gt;
&lt;br /&gt;
== Solving “Cant login … INVALID DATA PATH … permission denied” ==&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&lt;br /&gt;
[[image:error-invalid-data-path-1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error Text:&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 Cannot login because:&lt;br /&gt;
 ERROR: INVALID DATA PATH&lt;br /&gt;
 “D:\HOSTS\HOSTNAME\DATA\HOSTNAME\~8746345.1$” Permission Denied&lt;br /&gt;
&lt;br /&gt;
=== Problem Explained ===&lt;br /&gt;
When installing NEOSYS on an existing “non-clean” Windows installation, the standard NEOSYS installation procedure can result in failure to login if the standard windows folder permissions have been modified.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
The solution is to grant IIS permission to write in the \neosys\DATA folder and subfolders as follows:&lt;br /&gt;
#First add the IUSR_XXXXXXX user to the list of users. (XXXXXXXX is the server name and therefore varies per server) as follows:&lt;br /&gt;
#*Right Click on DATA Folder and click on Properties&lt;br /&gt;
#*Click on Security Tab -&amp;gt; Add -&amp;gt; Advanced&lt;br /&gt;
#*Click on Find Now, Select the IUSR_XXXXXXX user and Click on OK&amp;lt;br&amp;gt;[[image:error-invalid-data-path-2.jpg]]&amp;lt;br&amp;gt;[[image:error-invalid-data-path-3.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Second, for the newly added IUSR (IIS user) change the permissions as follows:&lt;br /&gt;
#*&#039;&#039;&#039;REMOVE&#039;&#039;&#039; the read and execute permission (for security, IIS should be unable to execute things that it might have uploaded)&lt;br /&gt;
#*&#039;&#039;&#039;ADD&#039;&#039;&#039; the write permission &amp;lt;br&amp;gt;[[image:error-invalid-data-path-4.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Login should now be possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== NEOSYS process window displays message &amp;quot;Upgrade Downloading&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
[[image:upgradedownloading.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Problem Explained ===&lt;br /&gt;
NEOSYS thinks it sees an new neosys2.exe upgrade file on the location http://www.neosys.com/support/neosys2.exe which is accessed by http so attempts to download it.&lt;br /&gt;
&lt;br /&gt;
Http proxies and various internet issues can cause incorrect info to be sent and there is actually no upgrade available. In this case, eventually it realizes that it cant find an appropriate and it stops. &lt;br /&gt;
&lt;br /&gt;
You don’t have to worry about this case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Enabling EMS memory on Window 2003 ==&lt;br /&gt;
&lt;br /&gt;
Normally EMS memory is provided by Windows 2003 but this can vary depending on the server hardware/bios configuration&lt;br /&gt;
&lt;br /&gt;
If you get the following messages on Windows 2003&lt;br /&gt;
&lt;br /&gt;
#Backup File Size is 0&lt;br /&gt;
#RTP27. [B28] Not enough String Space – Out of Memory&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
On servers that had no problem previously, the problem is caused by a windows update in Oct 2012 that disables standard Windows EMS memory.&lt;br /&gt;
&lt;br /&gt;
The patch is issued by Microsoft on 9 Oct 2012 but the installation date in the server depends on when the update was actually installed.&lt;br /&gt;
&lt;br /&gt;
http://support.microsoft.com/kb/2724197&lt;br /&gt;
&lt;br /&gt;
=== Solution 1 - maximum performance ===&lt;br /&gt;
&lt;br /&gt;
To re-enable standard windows EMS on older slower servers or servers where NEOSYS performance must be maximized.&lt;br /&gt;
&lt;br /&gt;
The following link contains instructions how to remove the offending windows update&lt;br /&gt;
&lt;br /&gt;
It also shows how to prevent it being reinstalled automatically by Windows.&lt;br /&gt;
&lt;br /&gt;
http://www.columbia.edu/~em36/wpdos/emsxp.html&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to prevent it being reinstalled again automatically&lt;br /&gt;
&lt;br /&gt;
=== Solution 2 – ease of installation ===&lt;br /&gt;
&lt;br /&gt;
This option can also be used if Window 2003 is unable to provide EMS memory for example when the server hardware/bios configuration prevents it.&lt;br /&gt;
&lt;br /&gt;
Install EMSMAGIC in the same way as for Windows server 2008&lt;br /&gt;
&lt;br /&gt;
EMSMAGIC has higher memory consumption and makes NEOSYS processes slower so it is better to use Solution 1 above if NEOSYS performance is an issue.&lt;br /&gt;
&lt;br /&gt;
== Fixing no output file in XXX YYY Issue ==&lt;br /&gt;
&lt;br /&gt;
===Error Message===&lt;br /&gt;
&lt;br /&gt;
[[File:Nooutputfile.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Problem Explained===&lt;br /&gt;
&lt;br /&gt;
The message “No output file in XXX YYY” can appear at several instances in NEOSYS, most often when generating reports or documents. &lt;br /&gt;
&lt;br /&gt;
This problem is usually caused by software error and it indicates that the NEOSYS server responded without any output and without any message. &lt;br /&gt;
&lt;br /&gt;
===Solution===&lt;br /&gt;
1) Find proof to check if the data required for the report actually exists. This way we can eliminate lack of data as a cause for this error.&lt;br /&gt;
&lt;br /&gt;
2) Check to see if a similar issue has been fixed in latest version of NEOSYS.&lt;br /&gt;
&lt;br /&gt;
3) Document HOW and WHERE the problem can be duplicated by NEOSYS programmers to identify and correct the software.&lt;br /&gt;
&lt;br /&gt;
An example of this error can be found at [[Troubleshooting_NEOSYS_Media_System#Error:_No_output_file_in_MEDIAPROXY_SCHEDULEPRINT|No Output File in MEDIAPROXY SCHEDULEPRINT]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting Internet Connections ==&lt;br /&gt;
&lt;br /&gt;
===Cannot Connect===&lt;br /&gt;
&lt;br /&gt;
While investigating as to why users are not able to access NEOSYS or http://www.neosys.com/ ,you can check which ISP the connection issue is on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;whois ipno&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inspect very carefully to get clues as to which ISP and which AREA of the ISP the problematic ip numbers are and which do NOT have problems&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting TCP/IP Connections ===&lt;br /&gt;
&lt;br /&gt;
====Telnet check====&lt;br /&gt;
&amp;lt;pre&amp;gt; telnet &amp;lt;hostname&amp;gt; 19580  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====If Telnet does not work====&lt;br /&gt;
In case telnet does not work, login to the remote host server to investigate the issue. Run the following command simultaneously while doing Telnet from client server to the remote host to check if the TCP packets are reaching the Remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tcpdump -v &#039;src host client-domain-name/ip&#039; &lt;br /&gt;
tcpdump -v portno &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To check if packets are sent from the client server to the remote host, you can run the following command simultaneously while trying to ssh to the remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;netstat -an &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also check if the outbound ports are open from which you are trying to establish the TCP connection to the remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;telnet portquiz.net portno &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The outbound IP addresses at times can be different from the public IP of the Client server so be sure that the public IP of the client server is the same as its source IP (which represents an incoming connection from Client to Remote server). One way to find the source IP of the Client server is sending an email from Client server to &amp;quot;support@neosys.com&amp;quot;. On receiving the email in Thunderbird, select the email and press Ctrl+u. A new window Opens giving full details of the email received. The third &amp;quot;Received :from&amp;quot; gives the IP of the source.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting DNS failure ===&lt;br /&gt;
&lt;br /&gt;
NEOSYS clients routers are usually configured to use their ISP DNS service and the ISP DNS service is supposed to contact one of NEOSYS&#039;s DNS servers to convert server names like hosts.neosys.com into IP numbers. Misconfiguration of clients routers or problems in the ISP DNS server may cause CANNOT CONNECT problems. Often the connect fails quickly and immediately since if a name cannot be converted to an ip number then the connection cannot even be attempted and therefore there is little or no timeout to wait through.&lt;br /&gt;
&lt;br /&gt;
NEOSYS.COM name servers are listed publically and obtained by whois command.&lt;br /&gt;
&lt;br /&gt;
 whois neosys.com&lt;br /&gt;
&lt;br /&gt;
 Name Server: DNS1.EASYDNS.COM&lt;br /&gt;
 Name Server: DNS2.EASYDNS.NET&lt;br /&gt;
 Name Server: DNS3.EASYDNS.ORG&lt;br /&gt;
 Name Server: NS12.ZONEEDIT.COM&lt;br /&gt;
 Name Server: NS18.ZONEEDIT.COM&lt;br /&gt;
&lt;br /&gt;
In order to contact NEOSYS DNS servers the ISP&#039;s have to use a global DNS to obtain the ip addresses of NEOSYS DNS servers given the host names of NEOSYS DNS servers given in the whois info&lt;br /&gt;
&lt;br /&gt;
Here is an example of DU testing NEOSYS DNS servers. The NEOSYS DNS server ip addresses are listed in the Destination column.&lt;br /&gt;
&lt;br /&gt;
[[File:internet.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If one DNS server is down or unreachable REGARDLESS OF REASON, the ISP is supposed to use the other DNS servers. It is impossible for all NEOSYS DNS servers to be unreachable except in gross disconnection from the internet of the ISP since it is effectively impossible that all NEOSYS DNS servers which are carefully spread around the internet, to be unreachable.&lt;br /&gt;
&lt;br /&gt;
In the above test one of the NEOSYS DNS servers is unreachable but all the others are reachable therefore DU should have no problem providing DNS service to its clients.&lt;br /&gt;
&lt;br /&gt;
ISP are often worse at providing DNS server than the famous GOOGLE DNS servers, so re configuring client router to use GOOGLE DNS servers is a way to prove that the problem lies with the ISP&#039;s DNS service&lt;br /&gt;
&lt;br /&gt;
=== Additional test for troubleshooting problems with uploading ===&lt;br /&gt;
&lt;br /&gt;
====Verifying that upload.dll can run====&lt;br /&gt;
&lt;br /&gt;
This isnt a complete test of everything. It just checks if the upload program can be run by the web server. It doesnt check if uploads work or the image directory is correctly configured with the right permissions and uploads can actually be done.&lt;br /&gt;
&lt;br /&gt;
===== Error Message =====&lt;br /&gt;
&lt;br /&gt;
... to be added when discovered ...&lt;br /&gt;
&lt;br /&gt;
===== Test =====&lt;br /&gt;
&lt;br /&gt;
Test HTTP if accessible by LAN; Test HTTPS is accessible by Internet; Test both if both are available.&lt;br /&gt;
&lt;br /&gt;
On the server type the following into a browser&lt;br /&gt;
&lt;br /&gt;
LAN/HTTP:&lt;br /&gt;
&lt;br /&gt;
 http://localhost/neosys/neosys/dll/upload.dll&lt;br /&gt;
&lt;br /&gt;
WAN/HTTPS:&lt;br /&gt;
&lt;br /&gt;
 https://localhost:9999/neosys/dll/upload.dll&lt;br /&gt;
&lt;br /&gt;
===== Expected Result =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Upload Error. !&lt;br /&gt;
Please call me from a form !!!&lt;br /&gt;
The first param must be Filename= name of the uploaded file, TYPE=TEXT&lt;br /&gt;
The second param must be Filedata= uploaded file, TYPE=FILE&lt;br /&gt;
The third param is optional PathData= path to uploaded file, default c:\temp\, TYPE=HIDDEN&lt;br /&gt;
The forth param is optional RedirectPage= name of asp who receive the results, TYPE=HIDDEN&lt;br /&gt;
Add others params at the end with INPUT tag.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Uerror.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Patching a NEOSYS program ==&lt;br /&gt;
&lt;br /&gt;
The patch provided will tell you the program name and contain either a whole replacement program text or just some changed lines which you will have to find and edit.&lt;br /&gt;
&lt;br /&gt;
You will need to know the file name which may be provided along with the patch or you can find it using the following code in maintenance mode:&lt;br /&gt;
&lt;br /&gt;
 ED VOC programname&lt;br /&gt;
&lt;br /&gt;
ED VOC XYZ tells you what program name is executed and from what file, when you type the command XYZ. Normally the program name is the same as the command.&lt;br /&gt;
&lt;br /&gt;
The file name will normally be BP for agency programs, GBP for general programs or ABP for finance programs.&lt;br /&gt;
&lt;br /&gt;
NEOSYS programs are stored in files just like records of ordinary database files. You can edit either with &amp;quot;ED filename programname&amp;quot; or &amp;quot;TED filename programname&amp;quot;. TED is better for editing source code.&lt;br /&gt;
&lt;br /&gt;
===Installing patch in live database===&lt;br /&gt;
&lt;br /&gt;
In the rare case that the programmer asks Support to install the patch directly on LIVE dataset, start by typing the following command in maintenance mode before commencing:&lt;br /&gt;
&lt;br /&gt;
 UTIL&lt;br /&gt;
&lt;br /&gt;
Follow the instructions mentioned in the [[Troubleshooting_NEOSYS_Generally#Installing_patch_in_test_database| next section]], but skip the instruction to TEST the patched program in test dataset.&lt;br /&gt;
&lt;br /&gt;
The instruction to INSTALL the patched program MUST be followed BEFORE testing the patch in live dataset. Otherwise the changes will not get reflected.&lt;br /&gt;
&lt;br /&gt;
===Installing patch in test database===&lt;br /&gt;
&lt;br /&gt;
1. EDIT the program source code.&lt;br /&gt;
&lt;br /&gt;
 TED programname&lt;br /&gt;
&lt;br /&gt;
Either cut and paste to modify the whole program or edit the program text according to the patch/instructions provided.&lt;br /&gt;
&lt;br /&gt;
Save and close the program source code.&lt;br /&gt;
&lt;br /&gt;
2. COMPILE it. If you get errors then check your edits are correct and recompile otherwise return the patch to programming.&lt;br /&gt;
&lt;br /&gt;
  COMPILE filename programname&lt;br /&gt;
&lt;br /&gt;
3. TEST it. Ensure the patched program now works in TEST database.&lt;br /&gt;
&lt;br /&gt;
4. INSTALL the patched program in the LIVE database by typing one of the following command depending on the filename that you patched.&lt;br /&gt;
&lt;br /&gt;
 COPYGBP programname&lt;br /&gt;
 COPYABP programname&lt;br /&gt;
 COPYBP programname&lt;br /&gt;
&lt;br /&gt;
== Patching NEOSYS dictionaries ==&lt;br /&gt;
&lt;br /&gt;
A patch to a dictionary applies immediately when you save it and to all datasets regardless of which dataset you work in.&lt;br /&gt;
&lt;br /&gt;
You need:&lt;br /&gt;
&lt;br /&gt;
#the file name eg INVOICES&lt;br /&gt;
#the item name (column name) eg  DATETIME_AMENDED&lt;br /&gt;
#10 lines of data similar to the example below.&lt;br /&gt;
#if the item is an S type dictionary, then either the whole, or only the amended part, of the source code of the dictionary.&lt;br /&gt;
&lt;br /&gt;
 ED DICT INVOICES DATETIME_AMENDED&lt;br /&gt;
&lt;br /&gt;
TYPE everything below exactly on the corresponding line numbers except lines 3 and very commonly line 8, as these lines may contain multiple values separated by a superscript 2 (²). Line numbers in the below screen are only for illustrative purpose. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  ╔═══════════════════════════┤DATETIME_AMENDED├═════════════════════════╗&lt;br /&gt;
 1║S                                                                     ║&lt;br /&gt;
 2║                                                                      ║&lt;br /&gt;
 3║DateTime²Amended                                                      ║&lt;br /&gt;
 4║S                                                                     ║&lt;br /&gt;
 5║                                                                      ║&lt;br /&gt;
 6║                                                                      ║&lt;br /&gt;
 7║[DATETIME]                                                            ║&lt;br /&gt;
 8║updated=@record&amp;lt;28&amp;gt;²created=@record&amp;lt;31,1&amp;gt;²@ans=&#039;&#039;²if created and num(c║..actually this line continues off the screen to the right&lt;br /&gt;
 9║R                                                                     ║&lt;br /&gt;
10║10                                                                    ║&lt;br /&gt;
11║                                                                      ║&lt;br /&gt;
  :                                                                      :&lt;br /&gt;
  :                                                                      :&lt;br /&gt;
  ╚══════════════════════════════════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Ctrl+E on lines 3 or 8 in order to enter sub-lines. &lt;br /&gt;
&lt;br /&gt;
The multiple values (on line 3 and 8) separated by a superscript 2 (²) automatically appear when sub-lines are entered.&lt;br /&gt;
&lt;br /&gt;
For line 8, you will need to cut and paste the lines of below program to the Ctrl+E screen: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔═════════════════════════┤Field 8 of DATETIME_AMENDED├════════════════════════╗&lt;br /&gt;
║updated=@record&amp;lt;28&amp;gt;                                                           ║&lt;br /&gt;
║created=@record&amp;lt;31,1&amp;gt;                                                         ║&lt;br /&gt;
║@ans=&#039;&#039;                                                                       ║&lt;br /&gt;
║if created and num(created) and num(updated) then                             ║&lt;br /&gt;
║ createdsecs=field(created,&#039;.&#039;,1)*86400+field(created,&#039;.&#039;,2)                  ║&lt;br /&gt;
║ updatedsecs=field(updated,&#039;.&#039;,1)*86400+field(updated,&#039;.&#039;,2)                  ║&lt;br /&gt;
║ if abs(updatedsecs-createdsecs)&amp;gt;120 then                                     ║&lt;br /&gt;
║  @ans=updated                                                                ║&lt;br /&gt;
║  end                                                                         ║&lt;br /&gt;
║ end                                                                          ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
╚══════════════════════════════════════════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you save and exit the Ctrl+E screen, you will see the sublines separated by superscript 2 appear in one line in the ED screen. &lt;br /&gt;
&lt;br /&gt;
Similarly, for line 3, you need to enter its sub-lines in Ctrl+E screen.&lt;br /&gt;
&lt;br /&gt;
To ensure indenting remains nice (although indenting is not important and can be messed up without causing any problem) then copy the double bars at the front of the lines (if available, otherwise insert some char in position 1 of each line perhaps) and then remove them after you paste ... or just edit until the indenting is correct if you really want to.&lt;br /&gt;
&lt;br /&gt;
Press F9 and/or Esc to save and/or exit from Ctrl+E screen&lt;br /&gt;
&lt;br /&gt;
Press F9 and/or Esc to save and/or exit from ED&lt;br /&gt;
&lt;br /&gt;
== Searching XML files ==&lt;br /&gt;
&lt;br /&gt;
Use the grep command in Cygwin terminal to search files especially when you are investigating the NEOSYS Logs. &lt;br /&gt;
&lt;br /&gt;
Use the following command while searching for a file in any directory&lt;br /&gt;
&lt;br /&gt;
 grep string path/file&lt;br /&gt;
&lt;br /&gt;
 grep -i -a string path/file  (use -i to ignore upper/lower case characters in the string and -a to treat the file type=text and display the matching text)&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;string&amp;quot; is the text to be searched, &amp;quot;file&amp;quot; is the type of file you are looking for and &amp;quot;path&amp;quot; is the path of the directory you are looking into. Use &amp;quot;&amp;quot; when having spaces in your string.&lt;br /&gt;
&lt;br /&gt;
e.g when searching in NEOSYS logs the year/month/date is specified in the file name, so if you are looking for a file in year 2016 in the month of Feb, use&lt;br /&gt;
&lt;br /&gt;
 grep XXXX path/1602*&lt;br /&gt;
&lt;br /&gt;
In the above command *(asterisk) is a wildcard used to match characters in the file name.&lt;br /&gt;
&lt;br /&gt;
Sample below of grep command and its output where it is searching for &amp;quot;Dior&amp;quot; in 2016 march logs.&lt;br /&gt;
 $ grep -i Dior /cygdrive/d/hosts/test/logs/test/2016/1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 Binary file path/16030301.XML matches&lt;br /&gt;
&lt;br /&gt;
Use the commands below to display the search string and required number of lines that come either after or before the search string, depending on what you enter in your command. It helps to get more information from files especially when you only know few words and the other information around the searched string also gets displayed. &lt;br /&gt;
&lt;br /&gt;
 grep -A NUM string file (NUM lines after the searched text get displayed)&lt;br /&gt;
&lt;br /&gt;
 grep -B NUM string file (NUM lines before the searched text get displayed)&lt;br /&gt;
&lt;br /&gt;
See the examples and their respective outputs below, (Note: there is no space between -A and NUM):&lt;br /&gt;
&lt;br /&gt;
 $ grep -A2 -i &amp;quot;Dior&amp;quot; 1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 Binary file 16022101.XML matches&lt;br /&gt;
 Binary file 16022901.XML matches&lt;br /&gt;
&lt;br /&gt;
 $ grep -A2 -a &amp;quot;Dior&amp;quot; 1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 16030301.XML:&amp;lt;DataOut&amp;gt;DIOR%FEPOI%FE&#039;&#039;&#039;Dior&#039;&#039;&#039; Poison%FE%FE%FE%FE%FEDubai,    UAE%FE%FE%FE%FEN%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEN%FE%FE%FE17584.43592%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FENEOSYS%FE17584.43592%FE94_200_49_146%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEpaulson&amp;lt;/DataOut&amp;gt;&amp;lt;/Message&amp;gt;&lt;br /&gt;
 --&lt;br /&gt;
 16030301.XML:&amp;lt;DataOut&amp;gt;DIOR%FEPOI%FE&#039;&#039;&#039;Dior&#039;&#039;&#039; Poison%FE%FE%FE%FE%FEDubai,   UAE%FE%FE%FE%FEN%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEN%FE%FE%FE17584.43592%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FENEOSYS%FE17584.43592%FE94_200_49_146%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEpaulson&amp;lt;/DataOut&amp;gt;&amp;lt;/Message&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some more examples of grep below:&lt;br /&gt;
&lt;br /&gt;
 Use the command below when searching with more than one search string&amp;lt;br&amp;gt;&lt;br /&gt;
 grep -a string1 *|grep string2&lt;br /&gt;
&lt;br /&gt;
 grep -B2 -a Processing 160329*|grep -v DataIn|grep -v Message|less&amp;lt;br&amp;gt;&lt;br /&gt;
 where user wants the output to show lines containing string &amp;quot;Processing&amp;quot; and exclude lines containing string &amp;quot;DataIn&amp;quot; and &amp;quot;Message&amp;quot;, |less displays the output in a new screen.&lt;br /&gt;
&lt;br /&gt;
== Managing the queue of reports being delivered by email ==&lt;br /&gt;
&lt;br /&gt;
In maintenance mode.&lt;br /&gt;
&lt;br /&gt;
=== Listing ===&lt;br /&gt;
&lt;br /&gt;
 LIST DOCUMENTS WITH SCHEDULED_ONCE&lt;br /&gt;
&lt;br /&gt;
=== Clearing ===&lt;br /&gt;
&lt;br /&gt;
 SELECT DOCUMENTS WITH SCHEDULED_ONCE&lt;br /&gt;
 DELETE DOCUMENTS&lt;br /&gt;
&lt;br /&gt;
== Removing non essential files on win3 ==&lt;br /&gt;
Non essential files getting accumulated over time can take up a lot of space on the hard disk resulting in low free space on the server. NEOSYS Client Monitoring system alerts about the issue for win3 server as it monitors the Disk Space of both C &amp;amp; D drive. To fix it Support team will have to create free space on the server.&lt;br /&gt;
&lt;br /&gt;
Making space on the server is time taking and requires patience as you need to go through all the files/folders looking for non essential files. Do not make any assumptions for not looking into a folder.&lt;br /&gt;
&lt;br /&gt;
Non essential files are the ones without which we can work properly and will continue to work in future.&lt;br /&gt;
&lt;br /&gt;
To make space on the server, Support team should follow the below steps:&lt;br /&gt;
&lt;br /&gt;
#Look into the drive for which nagios is alerting and dig into all the folders.&lt;br /&gt;
#Right click Folder &amp;gt; Properties &amp;gt; Size on Disk, to find out the size of a folder.&lt;br /&gt;
#On d drive majority of the space is taken by d:\hosts and d:\data.bak folder and on c drive it&#039;s taken up by the important windows/cygwin folders.&lt;br /&gt;
#The space distribution will give you an idea about which folders to target that can give you lot of space on clean up.&lt;br /&gt;
#Following are the non essential files/folders which can create a lot of space on removal. Use your intelligence and presence of mind while deleting files/folders because once deleted the information is lost forever.&lt;br /&gt;
#*Folder: d\data.bak. Check for stopped client&#039;s backups and delete if present.&lt;br /&gt;
#*Folder: d\hosts\clientname\logs (where clientname stands for all the client folders in hosts) Look into logs prior to the current year and the year before and delete them.&lt;br /&gt;
#*Folder: d\hosts\clientname\downloads. The folder might contain lot of old versions of neosys.exe files, just keep the two latest ones and delete the rest. Do this for all clients except test installation because Support maintains all the old versions of neosys.exe in it.&lt;br /&gt;
#*Folder: d\hosts\old. Remove the Stopped Clients installation folder older than 1 year.&lt;br /&gt;
#*Apart from above folders look for random backup.zip files present in c/d drive. This happens when Support restores data from a zip file and forgets to delete it after the restore.&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Troubleshooting_NEOSYS_Generally&amp;diff=2684</id>
		<title>Troubleshooting NEOSYS Generally</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Troubleshooting_NEOSYS_Generally&amp;diff=2684"/>
		<updated>2016-05-16T12:43:34Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Removing non essential files on win3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Solving failure to start a NEOSYS server due to disk failure message ==&lt;br /&gt;
=== Problem ===&lt;br /&gt;
During a reboot process (which maybe due to a Windows update or even done by a support personnel) the NEOSYS server gets hung on the startup and shows a message &amp;quot;Boot Failure - Abort, Retry&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
=== Temporary solution ===&lt;br /&gt;
This typically happens due to the USB being plugged into the server and the boot sequence being wrong - i.e. the server trying to boot from the USB first and fails. The immediate solution would be to unplug the USB and ask the client to reboot the server again and upon successfully rebooting the system, plug the USB back again.&lt;br /&gt;
&lt;br /&gt;
=== Permanent solution ===&lt;br /&gt;
The above problem will occur every time the computer is rebooted, so you need to immediately talk to the IT Administrator of the client and ask them to rectify the boot sequence to make it boot first from the CD ROM, then the HDD and last the USB.&lt;br /&gt;
&amp;lt;BR&amp;gt;Allowing &amp;quot;Boot from USB&amp;quot; causes a severe risk of infection by boot sector viruses since the first infected USB device inserted WILL infect the server immediately as anti-virus programs are not active during boot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting the &amp;quot;Database not available&amp;quot; error message == &lt;br /&gt;
=== Problem explained ===&lt;br /&gt;
This error appears when you try to login to NEOSYS after you enter your username and password and click the Login button.&lt;br /&gt;
&lt;br /&gt;
[[image:database_unavailable.jpg]]&lt;br /&gt;
&lt;br /&gt;
Error message : &lt;br /&gt;
&lt;br /&gt;
 Cannot login because : &lt;br /&gt;
 Error :  The (database code) database is not available right now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the error message appears post login i.e. when users are working on the system then check if processes are free to run user request.&lt;br /&gt;
&lt;br /&gt;
[[image:not_available.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Solution explained ===&lt;br /&gt;
# Determine if the processes are running. If they are running and you still get the same message that means that either the processes have [[Troubleshooting_NEOSYS_Generally#Troubleshooting_Hung_processes|hung]] and need to be [[Troubleshooting_NEOSYS_Generally#How_to_kill_hung_NEOSYS_processes|killed]]. Or the processes are busy to run user requests and a new process needs to be started. &lt;br /&gt;
# If the processes are not visible on the destop, it is possible that they are running in the background and have hung for some reason. Check the windows task manager to see if any ‘ntvdm’ process is running and [[Troubleshooting_NEOSYS_Generally#If_NEOSYS_processes_are_not_visible_on_the_server_desktop|fix hung processes]].&lt;br /&gt;
# If there is no trace of any process running, that means the process probably did not start at the scheduled time. Refer to the &#039;Hung Process Reports&#039; to verify this claim. &lt;br /&gt;
# If the process had not hung, then the server might have restarted due to a power failure or a windows update and the administrator user had not logged in post the scheduled startup time of 6AM. To determine this cause, investigate in the Windows Event Viewer Log file.&lt;br /&gt;
# You can now start up the process by clicking on the respective desktop icons.&lt;br /&gt;
# Also check if the backup took place successfully or not. If not take a manual backup.&lt;br /&gt;
# Look into the logs at the date/time stated for the last transaction processed to investigate why process got hung.See [[Troubleshooting_NEOSYS_Generally#Inspecting_Database_LOGS_Folder| Inspecting logs]] for more information on logs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;quot;user not authorised to login from a location&amp;quot; error message ==&lt;br /&gt;
[[image:IPerror.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error message:&#039;&#039;&#039;&lt;br /&gt;
 xxx is not authorised to login form the location (IP Number. xx.xx.xx.xx)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution Explained:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Check the URL used and follow the steps below to check if it is correct and email the user accordingly.&lt;br /&gt;
#If the Client installation is hosted on NEOSYS server then users can use only https link to access NEOSYS.&lt;br /&gt;
#*Check with the client&#039;s management if this particular IP is their public IP.&lt;br /&gt;
#*Add IP on management confirmation (Refer to [[Procedures#Handling_User_Requests_to_add_an_IP_or_range_of_IPs_to_access_NEOSYS|Handling User Requests to add IP/IPs ]] ) &lt;br /&gt;
#In case of Client hosted server, users should access NEOSYS via LAN using the http link.&lt;br /&gt;
#*There can be exceptional cases where user needs to access NEOSYS outside the office Network e.g a client installation with two companies at different locations and NEOSYS installed at one. In this case Support will have to add the IP number of the second company so that users can access NEOSYS.&amp;lt;br&amp;gt;But before you even suggest to add the IP, get the request from their management saying that the IP number is another office location and needs to be added. (Refer to [[Procedures#Handling_User_Requests_to_add_an_IP_or_range_of_IPs_to_access_NEOSYS|Handling User Requests to add IP/IPs ]] )&lt;br /&gt;
&lt;br /&gt;
== Handling damaged files ==&lt;br /&gt;
&lt;br /&gt;
[[Handling damaged files]]&lt;br /&gt;
&lt;br /&gt;
=== Checking for corrupt database files ===&lt;br /&gt;
Login to NEOSYS Maintenance. This can be done when users are online.&lt;br /&gt;
&lt;br /&gt;
Press F5&lt;br /&gt;
&lt;br /&gt;
 CHK.FILES&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
 CHK.FILES filename&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Sizelock while performing chk.files &#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Fixing sizelock errors should not be done while other users are online to the same database.&lt;br /&gt;
&lt;br /&gt;
Sizelock errors are not critical and will be fixed automatically during the nightly backup.&lt;br /&gt;
&lt;br /&gt;
Sizelock errors occur if a program or process that is selecting records from a file is aborted in some abnormal way.&lt;br /&gt;
&lt;br /&gt;
Error message:&lt;br /&gt;
&lt;br /&gt;
 These Files/Tables have a Sizelock Value of 2 or greater. &lt;br /&gt;
 Tag/Select the Files/Tables to be Fixed.&lt;br /&gt;
 Press F9 to fix selected files&lt;br /&gt;
&lt;br /&gt;
Press F9 to proceed with fixing the selected files or press ESC to continue with chk.files without fixing sizelock as it gets automatically fixed during the nightly backup. &lt;br /&gt;
&lt;br /&gt;
Refer to the [http://techwiki.neosys.com/index.php/Backup_and_Restore#Error_Message:_Size_Lock Sizelock errors in backup emails] for more information.&lt;br /&gt;
&lt;br /&gt;
[[file:sizelock.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Determining Database File Name from Operating System File Name ===&lt;br /&gt;
&lt;br /&gt;
To assess the potential damage and possible remedial measures you need to know the database file name. If the message only refers to the operating system file name you need to follow this procedure to determine the database file name.&lt;br /&gt;
&lt;br /&gt;
Once you have the database file name you can use CHK.FILES XXXXXXX to check if corrupt or not and various other procedures to fix the corruption.&lt;br /&gt;
&lt;br /&gt;
Remember that fixing the corrupt data does not solve the overall problem. The *cause* of the corruption must be identified and eliminated otherwise the problem may reoccur and in a more serious form perhaps with unrecoverable loss of data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╒═══════════════════════════════════TCL - 2══════════════════════════════════╕&lt;br /&gt;
│                                                                            │&lt;br /&gt;
│ :list FILES WITH ALL CONTAINING &#039;REV76481&#039;                                 │&lt;br /&gt;
│                                                                            │&lt;br /&gt;
╘════════════════════════════════════════════════════════════════════════════╛&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:DBfilenamefromOSfilename.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Finding out when and by whom a record was deleted ==&lt;br /&gt;
&lt;br /&gt;
In most cases, NEOSYS does not allow users to delete records and instead keeps a record of everything. In some cases however, things are deleted and the only way to get full details about the deletion is to search the logs. This is cumbersome, but there is a quick way to find out when, and by whom, a record was deleted. Prior to NEOSYS software versions dated Mar 2014, and deletions done before the same date, this procedure will only tell you when the record was deleted - but not who deleted it. Knowing exactly when it was deleted will nevertheless help you to search the logs for full details.&lt;br /&gt;
&lt;br /&gt;
In maintenance mode F5&lt;br /&gt;
&lt;br /&gt;
 ED SHADOW DELETED*filename*key&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 ED SHADOW DELETED*BATCHES*L*JOU*2*U&lt;br /&gt;
&lt;br /&gt;
Journals are stored in the BATCHES file. The key of an unposted batch is x*y*999*U where x is the company code, y is the journal type code, 999 is UNPOSTED batch number and U is just U to indicate unposted batches. Note that unposted batches are normally deleted at the time they are posted - ie converted to posted batches.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔══════════════════════════┤DELETED*BATCHES*L*JOU*2*U├═════════════════════════╗&lt;br /&gt;
║16831.60706                                                                   ║&lt;br /&gt;
║BRUCEL                                                                        ║&lt;br /&gt;
║╒═══════════════════════════════════TCL - 6══════════════════════════════════╕║&lt;br /&gt;
║│                                                                            │║&lt;br /&gt;
║│ :EVAL PRINT 16831.60706 &#039;[DATETIME]&#039;                                       │║&lt;br /&gt;
║│                                                                            │║&lt;br /&gt;
║╘════════════════════════════════════════════════════════════════════════════╛║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you see the number (in this case 16831.60706) you can convert it to a time and date by typing something like&lt;br /&gt;
&lt;br /&gt;
 PRINT 16831.60706 &#039;[DATETIME]&#039;&lt;br /&gt;
&lt;br /&gt;
Using this date and time you can search the logs more effectively to find out who did the deletion and in what circumstances.&lt;br /&gt;
&lt;br /&gt;
== Assessing Database Size per File ==&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
 &lt;br /&gt;
 LIST FILES BY BY-DSND SIZE VOLUME.NAME SIZE&lt;br /&gt;
 &lt;br /&gt;
This will include all files not just those in the actual dataset in DATA\* folders.&lt;br /&gt;
&lt;br /&gt;
== Fixing slow speed ==&lt;br /&gt;
=== [[Benchmarking NEOSYS]] ===&lt;br /&gt;
=== Investigating CPU 100% using Windows Task Manager ===&lt;br /&gt;
Email, to support, a screen-shot of task manager APPLICATIONS, PROCESSES and PERFORMANCE screens MAXIMIZED TO SHOW AS MUCH AS POSSIBLE. &lt;br /&gt;
&lt;br /&gt;
(Sort the processes to show ntvdm, waiting.exe and high cpu% processes clearly)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steps:&#039;&#039;&#039;&lt;br /&gt;
#Right Click on Windows Taskbar and click on Start Task Manager &amp;lt;br&amp;gt; [[image:starttaskmanager.jpg]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
#Click on Processes and then click on CPU &amp;lt;br&amp;gt;&#039;&#039;&#039;Note - The HIGH cpu% processes which should usually be the &amp;quot;process&amp;quot; called &amp;quot;System Idle Process&amp;quot; &#039;&#039;&#039;&amp;lt;br&amp;gt;[[image:cpu100percent1.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Click on the Performance Tab &amp;lt;br&amp;gt; &#039;&#039;&#039;Note - PF Usage should typically be much less than Physical Memory otherwise there is insufficient real memory in the server to handle the load&#039;&#039;&#039; &amp;lt;br&amp;gt; [[image:cpu100percent3.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Click on Application Tab then Right Click on a NEOSYS Process and Click on Bring to Front &amp;lt;br&amp;gt;&#039;&#039;&#039;See what the NEOSYS Process is doing &amp;lt;br&amp;gt; [[image:cpu100percent2.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Right Click on a NEOSYS Process and Click on Go to Processes &amp;lt;br&amp;gt;&#039;&#039;&#039;Note the cpu% ntvdm process &amp;lt;br&amp;gt;[[image:cpu100percent2_2.jpg]]&amp;lt;br&amp;gt;  &lt;br /&gt;
#Normally NEOSYS application screens say &amp;quot;LISTENING&amp;quot; in the bottom line and those applications should have very low cpu%&amp;lt;br&amp;gt;[[image:normalneosysprocess.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Look at the difference between the screen of running NEOSYS processes (applications actually) which are idle (listening for requests) and active (processing a request from a user)&lt;br /&gt;
#Note the number of cpus or cpu threads in the server from the performance screen graphics&amp;lt;br&amp;gt;[[image:performance-taskmgr-cputhread.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Take screen-shots of any and ALL hung or long running processes (NEOSYS application screens) and email them to support. Even small details on the screens and user names, the user names may give clues to what problem caused the hanging.A Typical Hung NEOSYS process will look like this: &amp;lt;br&amp;gt; [[image:hungneosysprocess.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
#Once all hung/long processes are closed then CPU should be low and not near 100%. If it is still 100% then check all high cpu% processes and send a screen-shot of processes sorted to show the high cpu% process names to support.&lt;br /&gt;
&lt;br /&gt;
=== Solving server CPU% is 100 and all users are extremely slow/stopped ===&lt;br /&gt;
&lt;br /&gt;
Get the screenshots of Task Manager and ALL processes on the server, the objective is to assess the true issue. No need to get the screens not in use obviously but you can send a parallel screen shot for them if you want to be pedantic or even a comment will do.&lt;br /&gt;
&lt;br /&gt;
==== Too few CPUs/threads for the number of users ====&lt;br /&gt;
In Windows task manager normally, you should see one ntvdm.exe and one waiting.exe process per NEOSYS process (application). A standard installation has three NEOSYS processes per main database and plus one per test database. This is configured in Support Menu, Configuration File.&lt;br /&gt;
&lt;br /&gt;
If there are MORE ntvdm processes than you expect from the configuration file, then perhaps NEOSYS is auto starting new NEOSYS processes to try and cater for a high number of concurrent users.&lt;br /&gt;
&lt;br /&gt;
If the number of concurrent NEOSYS processes significantly exceeds the number of cpus/hyperthreads available in the server then processing for everybody can become so slow for everybody and almost no work gets done.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Stop NEOSYS creating new NEOSYS processes automatically. Create a text file with the first and only line as AUTOSTART=NO in the neosys\neosys folder something like this.&lt;br /&gt;
&lt;br /&gt;
notepad d:\neosys\neosys\NET.CFG&lt;br /&gt;
&lt;br /&gt;
AUTOSTART=NO&lt;br /&gt;
&lt;br /&gt;
== How do I troubleshoot email not received? ==&lt;br /&gt;
&lt;br /&gt;
[[Troubleshooting email not received]]&lt;br /&gt;
&lt;br /&gt;
== Fixing permissions errors while logging in ==&lt;br /&gt;
 &lt;br /&gt;
=== Problem ===&lt;br /&gt;
 &lt;br /&gt;
While logging in, you get the following error message:&lt;br /&gt;
[[Image:login_error_message.jpg]]&lt;br /&gt;
 &lt;br /&gt;
=== Solution ===&lt;br /&gt;
 &lt;br /&gt;
Add the internet guest account to the security list of the data folder with the default permission of list/read/write&lt;br /&gt;
 &lt;br /&gt;
Make sure the read&amp;amp;execute permission is removed&lt;br /&gt;
[[Image:permissions_on_data.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fixing the &#039;HTTP Error 500.0 - Internal Server Error&#039; while logging in on IE on a Windows Vista system ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
After configuring IIS on Windows Vista you will get this error message while trying to login into NEOSYS from Internet Explorer:&lt;br /&gt;
&lt;br /&gt;
 HTTP Error 500.0 - Internal Server Error&lt;br /&gt;
 Description: This application is running in an application pool that uses the Integrated .NET  &lt;br /&gt;
 mode. This is the preferred mode for running ASP.NET applications on the current and future &lt;br /&gt;
 version of IIS.&lt;br /&gt;
 &lt;br /&gt;
 In this mode, the application using client impersonation configured with &amp;lt;identity &lt;br /&gt;
 impersonate=&amp;quot;true&amp;quot; /&amp;gt; may not behave correctly. Client impersonation is not available in early &lt;br /&gt;
 ASP.NET request processing stages and may lead modules in those stages to execute with process &lt;br /&gt;
 identity instead.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
You can move the application to an application pool that uses the Classic .NET mode by using the following from a command line window (the window must be running as Administrator) &lt;br /&gt;
&lt;br /&gt;
 %systemroot%\system32\inetsrv\APPCMD.EXE set app &amp;quot;Default Web Site/neosys&amp;quot; /applicationPool:&amp;quot;Classic .NET AppPool&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can use any other application pool on your system that is running in the Classic .NET mode. You can also use the IIS Administration tool to move this application to another application pool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fixing the &#039;Class Not Registered&#039; error message while logging in ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
While logging into NEOSYS, you will get a popup window giving an error message saying &#039;Class Not Registered - Server Error&#039;. Typically, you will encounter this error with XP Pro IIS 5.1. As usual, there&#039;s way to solve it, however the root cause of this is still unknown.&lt;br /&gt;
&lt;br /&gt;
Anyway, you will get the proper message in the event log:&lt;br /&gt;
&lt;br /&gt;
 Event Type: Warning&lt;br /&gt;
 Event Source: W3SVC&lt;br /&gt;
 Event Category: None&lt;br /&gt;
 Event ID: 36&lt;br /&gt;
 Description: The server failed to load application &#039;/LM/W3SVC/1/ROOT/NEOSYS.&lt;br /&gt;
 The error was &#039;Class not registered&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
So, what do you do ? This problem is related to Component Services, and when you open Component Services MMC, you will most probably  get  Error Code 8004E00F COM + was unable to talk to Microsoft Distributed Transaction Coordinator. So, fix the COM+ services first by using the following KB from Microsoft (PRB: Cannot Expand &amp;quot;My Computer&amp;quot; in Component Services MMC Snap-In http://support.microsoft.com/?id=301919):&lt;br /&gt;
&lt;br /&gt;
To resolve this problem, reinstall Component Services as follows: WARNING: &lt;br /&gt;
# Open registry editor, locate HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3, and then delete this key.  &lt;br /&gt;
# From the Start menu, point to Settings, click Control Panel, and then click Add/Remove Programs.  &lt;br /&gt;
# Click Add/Remove Windows Components. &lt;br /&gt;
# Proceed through the wizard, and accept all of the defaults (including IIS)&lt;br /&gt;
# Restart the computer.&lt;br /&gt;
&lt;br /&gt;
If the above didn&#039;t solve it, and you still receive the &#039;Class not registered&#039; error message, then you need to recreate the IIS packages in COM+, try&lt;br /&gt;
&lt;br /&gt;
# Delete IIS related package in Component Services MMC&lt;br /&gt;
# IIS In-Process Applications &lt;br /&gt;
# IIS Out-of-Process Pooled Applications &lt;br /&gt;
# IIS Utilities&lt;br /&gt;
&lt;br /&gt;
Next, if you still get the message, try following before re-install IIS if you can&#039;t find Distributed Transaction Coordinator in your Services console.&lt;br /&gt;
&lt;br /&gt;
Launch command prompt and run the following command.&lt;br /&gt;
# msdtc -install&lt;br /&gt;
# net start msdtc&lt;br /&gt;
&lt;br /&gt;
Then try re-install IIS.&lt;br /&gt;
&lt;br /&gt;
This should solve the problem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enabling File Security option on Win XP Professional ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
&lt;br /&gt;
In the Properties of any folders, the Security option does not show, hence you cannot modify the Read, Write options.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
The solution would be to untick the &#039;Simple File Sharing&#039; option from  Tools &amp;gt; Folder Options &amp;gt; View:&lt;br /&gt;
[[Image:simplefilesharingoff.jpg]]&lt;br /&gt;
&lt;br /&gt;
== %00%00%00%00 Errors ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SYSTEM ERROR in line 162. Amount &amp;quot;-2698.00AED&amp;quot; or base &amp;quot;%00%00%00%00&amp;quot; has been wrongly generated   &lt;br /&gt;
GET NEOSYS SUPPORT. DO NOT ATTEMPT TO CORRECT MANUALLY    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Solution ===&lt;br /&gt;
%00%00%00%00 indicates an internal error that NEOSYS programmer has to fix. It is usually random and can be hard to replicate unlike almost all other NEOSYS errors which usually replicate reliably once you find the cause.&lt;br /&gt;
&lt;br /&gt;
== B703 Errors ==&lt;br /&gt;
&lt;br /&gt;
The B703 error is usually always related to something too big for NEOSYS to handle. &lt;br /&gt;
&lt;br /&gt;
These are the only B errors that NEOSYS cant always permanently prevent by fixing the software.&lt;br /&gt;
&lt;br /&gt;
== Internet Explorer Menu, View, Text Size doesnt change font size as expected ==&lt;br /&gt;
&lt;br /&gt;
Cause: This is because the font size is now user definable in NEOSYS and View, Text Size does not override predefined font sizes.&lt;br /&gt;
&lt;br /&gt;
Solution: If you are using Internet Explorer 7 you can scale the screen (including the font size  using ctrl + and ctrl - keyboard shortcuts or the font size button on the bottom right hand side of the window. &lt;br /&gt;
&lt;br /&gt;
You can adjust the font size on the User Details form when you login although this permanently applies to all forms not just the one that you are on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uploaded jpg files fail to display in internet explorer ==&lt;br /&gt;
&lt;br /&gt;
Some large jpg files &amp;gt; 2Mb cannot be viewed in internet explorer despite being viewable in image preview, ms paint and other viewers/editors. It is not an issue caused by uploading or downloading the files.&lt;br /&gt;
&lt;br /&gt;
These file appear to have been created on Photoshop CS Macintosh and may be a special type of uncompressed jpg used for production quality files.&lt;br /&gt;
&lt;br /&gt;
=== Partial solution ===&lt;br /&gt;
Before uploading the files, open them in some editor like MS Paint (right click, edit) and save them. However this results in a loss of quality. Perhaps there is some program that can convert these files to a format understandable by Internet explorer without any loss of quality.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;This document is currently read only&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
The user attempting to modify this document does not have the authorization key to do so.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
Inform the user that he is not authorised to modify the document and give him the list of users within his company who are authorised to do so.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;You have attempted to write to a read-only file&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
=== Message ===&lt;br /&gt;
&lt;br /&gt;
Error while writing data.&lt;br /&gt;
You have attempted to write to a read-only file.&lt;br /&gt;
- or -&lt;br /&gt;
access to the file has been denied by the operating system.&lt;br /&gt;
(operating system file name: &amp;quot;..\DATA\ADLINEC\ADAGENCY\REV76467.OV00012618&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
It is almost certainly due to some third party backup or other maintenance software opening the NEOSYS database files when it shouldn&#039;t e.g. badly configured third party backup scheduled to backup NEOSYS while NEOSYS is still running. Note that the exact filename varies each time.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
This can be a serious error that causes damaged files in NEOSYS especially if the filename ends in .OV. Use the usual methods of checking for damaged files e.g. do a backup which also looks for damaged files BUT DO NOT OVERWRITE THE LATEST BACKUP SINCE IT MAY BE REQUIRED for restoration. Then fix the damaged files using the usual methods e.g. by rebuilding/using&lt;br /&gt;
FIXFILE or restoring databases. For more info check [[Handling damaged files|Handling damaged files]]&lt;br /&gt;
&lt;br /&gt;
=== Prevention ===&lt;br /&gt;
&lt;br /&gt;
Remove the third party backup or other maintenance software or reschedule it to run at a time that NEOSYS is shutdown. Removal of software may require hunting through the windows process list for unexpected programs running.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting Hung processes==&lt;br /&gt;
&lt;br /&gt;
=== Investigating hung NEOSYS processes ===&lt;br /&gt;
&lt;br /&gt;
To find out some information about what the hung processes are suffering from, do the following:&lt;br /&gt;
&lt;br /&gt;
When no important clients working (eg first thing in the morning) then request a shutdown of all NEOSYS processes. This should will leave only the hung processes open.&lt;br /&gt;
&lt;br /&gt;
Then find what NEOSYS files are open as follows:&lt;br /&gt;
&lt;br /&gt;
run Sysinternal&#039;s &amp;quot;Process Explorer&amp;quot; (from Start, Programs or procexp.exe from desktop)&lt;br /&gt;
&lt;br /&gt;
find, handle&lt;br /&gt;
&lt;br /&gt;
 d:\&lt;br /&gt;
&lt;br /&gt;
submit the complete list (maybe more than one page) to support for records&lt;br /&gt;
&lt;br /&gt;
[[Image:invhungprocess.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Troubleshooting_NEOSYS_Generally#Investigating_CPU_100.25_using_Windows_Task_Manager|Investigating CPU 100% using Windows Task Manager]]  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Troubleshooting_NEOSYS_Generally#Solving_server_CPU.25_is_100_and_all_users_are_extremely_slow.2Fstopped|Solving server CPU% is 100 and all users are extremely slow/stopped]] ===&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Fatal Error in Rev Restart&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
[[image:fatal.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Error message: “Abort, Retry, Fail” ===&lt;br /&gt;
==== Problem ====&lt;br /&gt;
The following messages may come on older versions of NEOSYS if there is a problem with the USB media inserted for backup.&lt;br /&gt;
&lt;br /&gt;
[[image:usberror.jpg]]&lt;br /&gt;
&lt;br /&gt;
This results in “NEOSYS has not checked in” message on Nagios since it hangs during the monitoring update and locks all other processes from monitoring too.&lt;br /&gt;
&lt;br /&gt;
General failure writing drive F&lt;br /&gt;
Abort, Retry, Fail?&lt;br /&gt;
&lt;br /&gt;
Not read reading drive F&lt;br /&gt;
Abort, Retry, Fail?&lt;br /&gt;
&lt;br /&gt;
Pressing A or F results in the problem happening again in about a minute, perhaps on a different process.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Temporary solution is to do “Safely remove hardware” from the windows notification area. Using “Eject” from My Computer will not work.&lt;br /&gt;
&lt;br /&gt;
Permanent solution is to replace the defective USB memory stick. Sometime reformatting is sufficient.&lt;br /&gt;
&lt;br /&gt;
Upgrading NEOSYS will probably stop the defective media from causing NEOSYS to hang but the USB will still be useless for backup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Read error in the operating system file&amp;quot; ===&lt;br /&gt;
==== Problem ====&lt;br /&gt;
Nagios reports a hung process and on the server a process has the following message popup.&lt;br /&gt;
&lt;br /&gt;
 Read error in the operating system file &amp;quot;..\DATA\PT0833\ACCOUNTS\REV20049&lt;br /&gt;
 The file does not exist or the filename is&lt;br /&gt;
 not valid for the operating system.&lt;br /&gt;
&lt;br /&gt;
[[Image:readerrorintheoperatingsystemfile.png]]&lt;br /&gt;
&lt;br /&gt;
==== Cause ====&lt;br /&gt;
Some non-NEOSYS program is directly accessing the NEOSYS database files while NEOSYS processes are running and using the files as well.&lt;br /&gt;
&lt;br /&gt;
*Client IT staff using a backup program to perform backup without ensuring that NEOSYS processes are shutdown.&lt;br /&gt;
*A NEOSYS rsync process taking longer than expected due to new USB.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Kill the NEOSYS process eg with the X button. It is advisable NOT to let it run further while it cannot properly access one of its files.&lt;br /&gt;
&lt;br /&gt;
==== Prevention ====&lt;br /&gt;
Remove the third party program or arrange for it to operate only while NEOSYS processes are shutdown eg from 3am-6am.&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Not enough string space - Out of Memory&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
==== Message ====&lt;br /&gt;
&lt;br /&gt;
‘RTP27’ Line 1. [B29] Not enough string space – Out of Memory.&lt;br /&gt;
&lt;br /&gt;
Not enough memory to execute Debugger; current program aborted.&lt;br /&gt;
Press any key to continue&lt;br /&gt;
&lt;br /&gt;
[[Image:out_of_memory.jpg]]&lt;br /&gt;
&lt;br /&gt;
==== Cause ====&lt;br /&gt;
Unknown perhaps related to some large document or report&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Ask users for any hanging transactions.&lt;br /&gt;
None other than closing and starting another process.&lt;br /&gt;
&lt;br /&gt;
Also refer [[Troubleshooting NEOSYS Generally#Enabling EMS memory on Window 2003|Enabling EMS memory on Window 2003]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: B521 ===&lt;br /&gt;
&lt;br /&gt;
[[Image:B521.jpg]] &lt;br /&gt;
&lt;br /&gt;
 Another user is currently updating indexes. &lt;br /&gt;
 Waiting to make your updates...&lt;br /&gt;
 If you interrupt this process,&lt;br /&gt;
 you may have to rebuild all the indexes&lt;br /&gt;
&lt;br /&gt;
B521 message is usually temporary and goes away by itself. If it does not then, as the text of the B521 message makes clear, some OTHER process is holding up the system, preventing the process with B521 message from continuing.&lt;br /&gt;
&lt;br /&gt;
B521 message is a symptom of other problem so it does not itself have some one simple solution. You must find which other process or issue is causing the hold up and solve whatever problem is causing the hold up, which could be anything.&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot; NTVDM encountered a hard error &amp;quot;  ===&lt;br /&gt;
&lt;br /&gt;
The following error message appears:&lt;br /&gt;
&lt;br /&gt;
[[Image:ntvdm.jpg]]&lt;br /&gt;
&lt;br /&gt;
 NTVDM encountered a hard error&lt;br /&gt;
&lt;br /&gt;
==== Solution  ====&lt;br /&gt;
 &lt;br /&gt;
This error is caused by missing or corrupt Windows system files (i.e. command.com, autoexec.nt and config.nt). The solution is to run a program called XP FIX which will reinstall these missing files. You can download it form http://www.visualtour.com/downloads/xp_fix.exe&lt;br /&gt;
&lt;br /&gt;
Sometimes even after running the XP FIX program the error still appears. Then you need to copy all the files under C:/windows/repair to C:/windows/system32 and in the autoexec.nt and config.nt put REM before any lines there which don&#039;t have it.&lt;br /&gt;
&lt;br /&gt;
====Possible fix for some NTVDM errors ====&lt;br /&gt;
&lt;br /&gt;
===== Error message ===== &lt;br /&gt;
&lt;br /&gt;
[[Image:Ntvdm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
 NTVDM has encountered a System error.&lt;br /&gt;
 The system cannot find the file specified.&lt;br /&gt;
 Choose close to terminate the application.&lt;br /&gt;
&lt;br /&gt;
=====Possible solution===== &lt;br /&gt;
&lt;br /&gt;
#Change the TEMP and TMP environment variables to C:\WINDOWS\TEMP. This should be for the user that runs NEOSYS processes - normally administrator.&lt;br /&gt;
#Close all NEOSYS processes &lt;br /&gt;
#Logout/Login again&lt;br /&gt;
#Restart NEOSYS processes&lt;br /&gt;
&lt;br /&gt;
[[image:Ntvdmsoln.png]]&lt;br /&gt;
&lt;br /&gt;
===== Check solution done properly ===== &lt;br /&gt;
&lt;br /&gt;
You can check that by typing ECHO %TEMP% and ECHO %TMP% at a console prompt after logging out and in again. &lt;br /&gt;
&lt;br /&gt;
Note that windows will actually set the windows environment variables to something like C:\WINDOWS\TEMP\2 for some unknown reason. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
d:\hosts&amp;gt;ECHO %temp% &lt;br /&gt;
C:\WINDOWS\TEMP\2 &lt;br /&gt;
&lt;br /&gt;
d:\hosts&amp;gt;ECHO %tmp% &lt;br /&gt;
C:\WINDOWS\TEMP\2 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Error message: [[Troubleshooting_NEOSYS_Generally#Troubleshooting_the_.22Database_not_available.22_error_message|&amp;quot;Database not available&amp;quot; post login]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: [[Backup_and_Restore#Error_Message:_.22Cannot_backup.2Frestore_because_PROCESS1_PROCESS2_.28etc.29_is.2Fare_online.22_message|&amp;quot;Cannot backup/restore because PROCESS1 PROCESS2 (etc) is/are online&amp;quot;]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How to kill hung NEOSYS processes ===&lt;br /&gt;
 &lt;br /&gt;
NOTE WELL: If you kill actively working NEOSYS processes (those which are &amp;quot;listening&amp;quot; and not hung/crashed) there is a reasonable chance that the database will be damaged and might need a restore losing possibly large amounts of work.&lt;br /&gt;
 &lt;br /&gt;
==== If NEOSYS processes are visible on the server desktop ====&lt;br /&gt;
 &lt;br /&gt;
Look for processes which don&#039;t have &amp;quot;Listening ...&amp;quot; on the last but one line. The times on the left hand side are frozen as at the time of the hang.&lt;br /&gt;
 &lt;br /&gt;
You can then click the X to kill the process and confirm that this is OK.&lt;br /&gt;
 &lt;br /&gt;
Example of a NEOSYS process that has hung due to a software error resulting in a failure to handle a complex query with a lot of brand codes.&lt;br /&gt;
&lt;br /&gt;
[[Image:hungprocess.jpg]]&lt;br /&gt;
 &lt;br /&gt;
==== If NEOSYS processes are not visible on the server desktop ====&lt;br /&gt;
&lt;br /&gt;
NEOSYS processes are most of the time visible on the desktop (i.e. the black dos windows) in Windows 2003 OS, except in the case that the process has been scheduled to start on computer restart and no one has logged into the server. In this case it would be running in the background. TODO&lt;br /&gt;
&lt;br /&gt;
You can check if there are any hung processes from the NEOSYS Support Menu, List of Database Processes. &lt;br /&gt;
[[Image:databaseprocesseslist.jpg]]&lt;br /&gt;
&lt;br /&gt;
In this case you should follow the below instructions - however all of them need to be done within 30 seconds of starting the first instruction to avoid inconvenience to the users. It is recommend that you keep relevant windows open before proceeding with the same:&lt;br /&gt;
&lt;br /&gt;
#Shutdown NEOSYS by TEMPORARILY putting a file called GLOBAL.END in the parent directory of NEOSYS (if there is already a GLOBAL.END.TEMP file then rename it to GLOBAL.END). Leaving the file there would prevent NEOSYS from starting up again. Shutting down NEOSYS from the Support menu will not work because of the hung processes.&lt;br /&gt;
#Use Windows Task Manager to kill all the NTVDM processes - assuming that you have closed all the visible NEOSYS processes, then the NTVDM processes in the task manager would be the hung one.&lt;br /&gt;
#Delete GLOBAL.END or rename it to GLOBAL.END.TEMP&lt;br /&gt;
#Restart the processes back again. If there are many datasets then you need to restart them all well within the 30 seconds period.&lt;br /&gt;
#*Restarting a process is not noticed by users.&lt;br /&gt;
&lt;br /&gt;
In case of Patsalides, where we have a thousand datasets which start &amp;quot;on demand&amp;quot; i.e. usually on login; all you need to do is start one dataset which will restart all the other datasets &amp;quot;on demand&amp;quot;. If there is no response within 30 seconds then one of the running datasets will start it up so there appears to be a 30 second delay when you login to one of the thousand datasets the first time on any one day.&lt;br /&gt;
&lt;br /&gt;
=== Temporary workarounds for hung NEOSYS processes ===&lt;br /&gt;
Until the error in the software is fixed users can often get their results by simplifying their requirements. For example select individual clients instead of selecting all the brands for a particular client. If the user has repeated his request (in forlorn hope that it would work finally) then the number of working NEOSYS processes will drop causing severe slowdown for other users and complete stop if all the NEOSYS processes hang.&lt;br /&gt;
&lt;br /&gt;
== Fixing &amp;quot; You do not have sufficient privilege to access this file &amp;quot;  ==&lt;br /&gt;
&lt;br /&gt;
This error message may come up while NEOSYS process startup.&lt;br /&gt;
&lt;br /&gt;
Solution: Close the window and look for NEOSYS processes. In case there is no process, start the NEOSYS process.&lt;br /&gt;
&lt;br /&gt;
[[image:Errormsg.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing &#039;NEOSYS process which opens up in a notepad instead of Microsoft Windows Based Script Host (i.e. DOS window)&#039;==&lt;br /&gt;
&lt;br /&gt;
The NEOSYS process (cmd file) might open up in a notepad, instead of the usual black colour DOS window. This may happen if a JavaScript file is opened using a notepad. Please be very CAREFUL when accessing a .JS and .JSE file and double check that the default program remains wscript.exe. The issue can be fixed by the following:&lt;br /&gt;
&lt;br /&gt;
# Check if Windows Script 5.6/5.7 is installed, IF NOT download and install it from the Microsoft Website.&lt;br /&gt;
# Go to any folder, click on Tools &amp;gt; Folder Options &amp;gt; File Types and find the .JS and .JSE and change the default program to wscript.exe (from windows&amp;gt;system32)&lt;br /&gt;
&lt;br /&gt;
== Fixing a &#039;Could not start&#039; error on Scheduled Tasks in Windows Server 2000 SP4 ==&lt;br /&gt;
&lt;br /&gt;
This error occurs because of a change that is made to the data that is stored in the credentials database when you install Windows 2000 SP4. Hence installing SP4 causes the the data that is stored in the credentials database to get converted to an SP4-compatible format. A registry key is configured to indicate that the data has been converted to the SP4 format.&lt;br /&gt;
&lt;br /&gt;
Hence the Scheduled Tasks do not work sometimes. However the Scheduled Tasks works fine sometimes, but when you uninstall SP4, it does not work.&lt;br /&gt;
&lt;br /&gt;
The best solution is to:&lt;br /&gt;
&lt;br /&gt;
# Incase Scheduled Tasks do not work after installing SP4, then uninstall SP4 and it should be fine.&lt;br /&gt;
# Incase Scheduled Tasks works after installing SP4, and later after uninstalling SP4, it does not work, then install SP4 and it should be fine.&lt;br /&gt;
&lt;br /&gt;
== Checking for server or NEOSYS crashes ==&lt;br /&gt;
 &lt;br /&gt;
#NEOSYS Maintenance Mode&lt;br /&gt;
#General Menu, Setup, Processes&lt;br /&gt;
#Select the dates and the option Detailed&lt;br /&gt;
 &lt;br /&gt;
This report shows a list of dates and times that NEOSYS logged in but did not log out properly.&lt;br /&gt;
 &lt;br /&gt;
Ignore the very latest entries since they represent the current NEOSYS processes. For example, if you have four NEOSYS processes running at the time that you get the report (including any in maintenance mode) then you can ignore the last four entries.&lt;br /&gt;
 &lt;br /&gt;
The date and time shows for each process that has failed to shutdown correctly when the process logged in. Versions of NEOSYS from January 2008 will also show the date and time that each crashed NEOSYS process was last active (heartbeat) so that the time of failure can be known.&lt;br /&gt;
 &lt;br /&gt;
If you see a bunch of NEOSYS processes all started up at around the same time but all failed to shutdown correctly then the cause will be a server failure - usually power failure.&lt;br /&gt;
 &lt;br /&gt;
Isolated one-off failures will be related to individual NEOSYS process crashes - most commonly caused by one of the following:&lt;br /&gt;
 &lt;br /&gt;
#NEOSYS hanging to due to software failure&lt;br /&gt;
#Manually exiting a NEOSYS process on the server either by pressing Ctrl+Alt+Del or clicking the &amp;quot;X&amp;quot; close icon/box and ignoring the warning&lt;br /&gt;
#Random server failures eg memory, disk etc&lt;br /&gt;
 &lt;br /&gt;
Example:&lt;br /&gt;
 &lt;br /&gt;
 LOGIN 22/12/2007 06:02 NEOSYS SERVER ADAGENCY         Current workstation &lt;br /&gt;
 LOGIN 23/12/2007 06:00 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 06:01 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 06:02 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:52 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:52 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:53 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:00 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:01 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:02 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 13:51 NEOSYS SERVER NEOSYS         Current user session  &lt;br /&gt;
&lt;br /&gt;
Interpretation:&lt;br /&gt;
 &lt;br /&gt;
The first four entries indicate that all four NEOSYS processes started at 06am were suddenly killed probably by power failure&lt;br /&gt;
 &lt;br /&gt;
The next four entries indicate that NEOSYS was restarted at around 08:52 and all these processes were AGAIN killed probably by power failure&lt;br /&gt;
 &lt;br /&gt;
The last four entries can be ignored because there were four NEOSYS processes running at the time that the report was generated&lt;br /&gt;
&lt;br /&gt;
== Searching for word/number in the database files using maintenance mode ==&lt;br /&gt;
&lt;br /&gt;
You can search for any word/number in the database files of NEOSYS, using the following command line:&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 FIND FILENAME WORDWITHOUTANYSPACES&lt;br /&gt;
 &lt;br /&gt;
 For eg:&lt;br /&gt;
 FIND CURRENCIES 1.1&lt;br /&gt;
 (here you are searching for the number 1.1 in the currencies file) You CANNOT search for a phrase ie include spaces like this.&lt;br /&gt;
 &lt;br /&gt;
 Or you can also type:&lt;br /&gt;
 FIND FILENAME &amp;lt;enter&amp;gt;&lt;br /&gt;
 and it will ask you what you want do to search. You can enter an exact phrase with spaces.&lt;br /&gt;
&lt;br /&gt;
Incase you do not know the filenames, you can enter the following command to see all the filenames in the system:&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 LF&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting a Service Unavailable message on Internet Explorer when opening up NEOSYS ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&lt;br /&gt;
The following error message appears in Internet Explorer when you try to open up NEOSYS:&lt;br /&gt;
&lt;br /&gt;
 Service Unavailable&lt;br /&gt;
&lt;br /&gt;
=== Solution  ===&lt;br /&gt;
 &lt;br /&gt;
Open the IIS Manager, right click Web Sites and select properties:&lt;br /&gt;
[[Image:serviceunavailable1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Switch to the Service Tab and tick the &amp;quot;Run WWW Service in IIS 5.0 Isolation Mode&amp;quot;.&lt;br /&gt;
[[Image:serviceunavailable2.jpg]]&lt;br /&gt;
&lt;br /&gt;
You will be asked for Restart of IIS. Click yes to restart IIS. If you are not asked just restart IIS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Inspecting IIS log files ==&lt;br /&gt;
&lt;br /&gt;
At a windows command prompt:&lt;br /&gt;
&lt;br /&gt;
 c:&lt;br /&gt;
 cd \Windows\system32\LogFiles\W3SVC1&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 %SystemDrive%&lt;br /&gt;
 cd %SystemRoot%&lt;br /&gt;
 cd system32\LogFiles\W3SVC1&lt;br /&gt;
&lt;br /&gt;
then (substituting the ip number you are interested in)&lt;br /&gt;
&lt;br /&gt;
 find &amp;quot;192.168.1.55&amp;quot; *|sort&amp;gt;temp.log&lt;br /&gt;
&lt;br /&gt;
Open temp.log in Excel and use Tools, Data, Text to Columns to split into columns using options &amp;quot;Delimited&amp;quot; and check split on Space.&lt;br /&gt;
&lt;br /&gt;
Autowidth all columns by clicking on the top left box just outside the data to the left of column A and above column 1 then double click the column separator to the right of column &amp;quot;A&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note that times and dates are in UTC/GMT so you have to add/subtract your timezone offset to get local times.&lt;br /&gt;
&lt;br /&gt;
==Inspecting Database LOGS Folder==&lt;br /&gt;
LOGS folder in NEOSYS installation folder carries records of all changes done in the database which includes adding and removal of data.&lt;br /&gt;
&lt;br /&gt;
Log file is an XML document which should be viewed in Notepad. Each XML document represents commands executed by each NEOSYS process started each day.&lt;br /&gt;
&lt;br /&gt;
The NEOSYS log files e.g. 15123103.xml are created by the database processes. If the database is not available according to the website then no entry will appear in that log. The request will appear in the IIS website log but that log is nothing to do with database processes.&lt;br /&gt;
&lt;br /&gt;
=== Understanding Log Entries ===&lt;br /&gt;
Inspecting and searching through Logs file allows NEOSYS staff to answer clients queries like &amp;quot;Who deleted schedule XXXX&amp;quot; etc.&lt;br /&gt;
&lt;br /&gt;
While going through the log file you may come across a request &amp;quot;EXECUTE GENERAL GETTASKS NOT&amp;quot;, this request is concerned with getting a list of tasks that the user is *not* allowed to do.&lt;br /&gt;
&lt;br /&gt;
To read and understand the log file with more ease, copy the portion of the log file required to be analyzed into another text editor.&lt;br /&gt;
&lt;br /&gt;
The text that appears as %FE, %FE1, %FE2, etc. are basically separators.&lt;br /&gt;
*First replace FE0%, FE1%, FE2%, etc. with a separator like &amp;quot;--&amp;quot;. There can be occurrences of &amp;quot;%FE&amp;quot; along with some valuable information like &amp;quot;17290&amp;quot;, so replacing &amp;quot;%FE1&amp;quot; in &amp;quot;%FE17290&amp;quot; would lead to loss of information.&lt;br /&gt;
*Then replace %FE with a bigger separator like &amp;quot;===&amp;quot;.&lt;br /&gt;
*Replace other entries like %FCB and then %FC and so on with similar separators.&lt;br /&gt;
*In the end there may be few &amp;quot;FE&amp;quot; remaining, replace these with a separator like &amp;quot;-&amp;quot;.&lt;br /&gt;
*The remaining &amp;quot;%&amp;quot; characters MUST be intelligently replaced with a separator like &amp;quot; &amp;quot; (space), because it can either be an actual &amp;quot;%&amp;quot; or it can be a residue from &amp;quot;%FE&amp;quot;, &amp;quot;%FE1&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
Once replacing all these characters is done, the log file will be more easily readable and vital information will be clearer. &lt;br /&gt;
&lt;br /&gt;
In the log file, you may find numbers like 17290, 17195, etc. These numbers denote dates selected or entered by the NEOSYS user. These are basically the number of days from 31st December 1967 till the date chosen by the user. For example, to convert 17290 to actual date, 31/12/1967 + 17290 = 3/5/2015. So the actual date is 3rd May 2015.&lt;br /&gt;
&lt;br /&gt;
To convert these numbers to dates using maintenance mode, refer to the article [http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Finding_out_when_and_by_whom_a_record_was_deleted Finding out when and by whom a record was deleted]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:NEOSYS Logs.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing NEOSYS processes that do not auto start / Recovering from incorrect advanced date or time ==&lt;br /&gt;
This solution is applicable to live database processes only. Test database processes don’t auto-start any other processes.&lt;br /&gt;
&lt;br /&gt;
=== Problem explained ===&lt;br /&gt;
After starting up the 1st process, the rest of the processes don&#039;t start up.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
The possible cause for this could be that the system date/time might have been changed - either manually or by the auto synchronization. Do the following checks in the sequence of order:&lt;br /&gt;
&lt;br /&gt;
# Check for any *.$* files (* after dollar sign should show a number, the highest being the latest one). If it shows OK, then proceed ahead.&lt;br /&gt;
# Check for any .end files and delete it to rename to .end.temp&lt;br /&gt;
# Check the System Event Viewer log for any 520 or 577 error message (refer http://128.175.24.251/forensics/timechange.htm). Also check for any out of sequence / ahead of today date or time.&lt;br /&gt;
# In case of no 520 or 577 error message, go to Administrative Tools &amp;gt; Local Security Policy &amp;gt; Local Policies &amp;gt; Audit Policy &amp;gt; Audit Privilege use - make sure that Success and Failure are selected under this (this will ensure that future changes to the date/time are recorded in the System Log).&lt;br /&gt;
# In NEOSYS maintenance mode - F5 ED PROCESSES %UPDATE% - and see what it says, incase of any text (only text, not numbers) there, that means that for sure the system date has been changed. To fix this, exit the editor by pressing the ESCAPE key and then type DELETE PROCESSES &amp;quot;%UPDATE%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Fixing NEOSYS maintenance mode not starting up == &lt;br /&gt;
&lt;br /&gt;
Problem :- While trying to start maintenance mode, the maintenance window closes automatically within a split second.&lt;br /&gt;
&lt;br /&gt;
Solution :- Delete the read-only file REVBOOT file (under d:/neosys/neosys folder). REVBOOT file is recreated when you start maintenance mode.&lt;br /&gt;
&lt;br /&gt;
== Recognising and Solving Low Memory Problems ==&lt;br /&gt;
&lt;br /&gt;
Quick Note: Installing a server class operating system on a workstation class computer with the intention of NEOSYS serving a heavy load is likely to cause problems with low memory.&lt;br /&gt;
&lt;br /&gt;
Quick Fix: Disable *ALL* non-essential features in the power-on setup menu.&lt;br /&gt;
&lt;br /&gt;
=== Effects ===&lt;br /&gt;
&lt;br /&gt;
It is speculated but not proven that low memory may cause NEOSYS to fail by hanging, causing damaged files etc.&lt;br /&gt;
&lt;br /&gt;
=== Checking ===&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 MEMORY&lt;br /&gt;
&lt;br /&gt;
On server class machines it should say somewhere around 350Kb to 370Kb Free&lt;br /&gt;
&lt;br /&gt;
Some server class machines have around 330Kb and sometimes even less with no reported problems&lt;br /&gt;
&lt;br /&gt;
The actual effect of low memory is supposed to make NEOSYS slower and perhaps cause hanging and damaged files however this has not been proven in an specific case so far.&lt;br /&gt;
&lt;br /&gt;
On workstation class machines it may often say around 280Kb to 300Kb.&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
Although there is plenty of real memory in virtually all computers now, NEOSYS runs in the legacy 16 bit virtual memory space of a windows mode called NTVDM. This is limited to 1Mb plus 4Mb of EMS memory.&lt;br /&gt;
&lt;br /&gt;
The 1Mb memory space is shared with:&lt;br /&gt;
&lt;br /&gt;
#Various non-essential windows drivers which NEOSYS automatically disables them in autoexec.nt&lt;br /&gt;
#Various plug and play hardware device drivers for the various adapters in the computer like video, network adapters and various other items that NEOSYS is unable to disable.&lt;br /&gt;
&lt;br /&gt;
In a server class computer the hardware device drivers are usually minimally present in the 1Mb base memory and do not therefore DOESNT a low memory situation for NEOSYS.&lt;br /&gt;
&lt;br /&gt;
In workstation class computers there are often many hardware device drivers present in the 1Mb base memory and this DOES causes a low memory situation for NEOSYS.&lt;br /&gt;
&lt;br /&gt;
When NEOSYS is installed on workstation class computers with XP there is usually not a heavy load expectation and therefore the low memory does not cause a problem.&lt;br /&gt;
&lt;br /&gt;
If Windows Server OS is installed on a workstation class computer NEOSYS may well be expected to serve a heavy load with limited amounts of memory.&lt;br /&gt;
&lt;br /&gt;
Workstation class computers: hardware drivers present and EMS is installed in low memory (0000-9FFF) causing low memory for NEOSYS and possible inability to &lt;br /&gt;
&lt;br /&gt;
Server class computers: Usually few hardware drivers are present in high part (A000-FFFF) of the 1Mb base memory and EMS is able to occupy the high memory leaving the low part (0000-9FFFF) of the 1Mb memory free for NEOSYS. You can find out how much memory is available to NEOSYS and whether EMS is occuping high or low memory using the following sections.&lt;br /&gt;
&lt;br /&gt;
=== Fixing Low Memory ===&lt;br /&gt;
&lt;br /&gt;
Start, Run, notepad c:\windows\system32\autoexec.nt&lt;br /&gt;
&lt;br /&gt;
Every time NEOSYS starts it tries to make some changes as follow:&lt;br /&gt;
&lt;br /&gt;
#replaces all lines in C:/WINDOWS/SYSTEM32/AUTOEXEC.NT starting with &#039;lh &#039; to start with &#039;rem NEOSYS LH &#039; instead.&lt;br /&gt;
#changes the line in C:/WINDOWS/SYSTEM32/CONFIG.NT &amp;quot;files=...&amp;quot; to &amp;quot;FILES=200&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The replacement is case sensitive triggered on &#039;lh&#039; and &#039;files&#039; so if you manually edit the files and remove the rem or change the number of files and leave the LH and FILES in uppercase then NEOSYS will NOT make further changes. This allows you to do manual amendments to the files without NEOSYS overwriting them.&lt;br /&gt;
&lt;br /&gt;
Check that NEOSYS has successfully disabled all the drivers in the lines starting with LH.&lt;br /&gt;
&lt;br /&gt;
They should be commented out (prefixed) with REM or REM NEOSYS as follows.&lt;br /&gt;
&lt;br /&gt;
After making changes reopen NEOSYS in maintenance mode to use the MEMORY and WHO commands again.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REM Install CD ROM extensions&lt;br /&gt;
REM NEOSYS LH %SystemRoot%\system32\mscdexnt.exe&lt;br /&gt;
&lt;br /&gt;
REM Install network redirector (load before dosx.exe)&lt;br /&gt;
REM NEOSYS LH %SystemRoot%\system32\redir&lt;br /&gt;
&lt;br /&gt;
REM Install DPMI support&lt;br /&gt;
REM NEOSYS LH %SYSTEMROOT%\SYSTEM32\DOSX&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Low Memory Issues in Windows 2003 server can be fixed using instructions mentioned at [http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Enabling_EMS_memory_on_Window_2003 Fixing Low Memory in Windows 2003 Server]&lt;br /&gt;
&lt;br /&gt;
=== Allowing DOS programs that require DOSX to run on the same computer as NEOSYS ===&lt;br /&gt;
&lt;br /&gt;
The automatic commenting out DOSX by NEOSYS will prevent some other DOS-like programs from running. If NEOSYS is on dedicated server then there should be no other such programs to fail. However, if you must allow DOS-like programs to work as well as NEOSYS you can do the following configuration:&lt;br /&gt;
&lt;br /&gt;
#leave or restore the original AUTOEXEC.NT and CONFIG.NT files where they are&lt;br /&gt;
#copy them to another folder eg neosys folder&lt;br /&gt;
#make the necessary REM changes there by hand&lt;br /&gt;
#right click the NEOSYS\NEOSYS\AREV.PIF and select properties&lt;br /&gt;
#change the location of the AUTOEXEC.NT and CONFIG.NT files in the following location&lt;br /&gt;
&lt;br /&gt;
[[image:pifsettings.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Checking EMS Memory Configuration ===&lt;br /&gt;
&lt;br /&gt;
==== Inspection ====&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 WHO&lt;br /&gt;
&lt;br /&gt;
 press the up arrow to get to the last part/page&lt;br /&gt;
&lt;br /&gt;
===== Example of Typical Server EMS Memory =====&lt;br /&gt;
[[image:serveremm.jpg]]&lt;br /&gt;
&lt;br /&gt;
===== Example of Typical Workstation EMS Memory =====&lt;br /&gt;
[[image:workstationemm.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Correction====&lt;br /&gt;
&lt;br /&gt;
No easy way&lt;br /&gt;
&lt;br /&gt;
Removal of hardware adapters designed for workstations instead of servers eg graphics cards and network cards.&lt;br /&gt;
&lt;br /&gt;
Many of the devices may be located on the motherboard and not relocatable except possibly by BIOS configuration or special manufacturer information.&lt;br /&gt;
&lt;br /&gt;
Use windows device manager, View: Resources by Connection, Open the Memory item and look for items between 000A0000 up to 000FFFFF that might give you a clue as to what hardware could be removed or reconfigured. Actually only 000C0000 to 000FFFFF is candidate for EMS memory since 000A000-000BFFFF is mandatory video memory in all systems.&lt;br /&gt;
&lt;br /&gt;
[[image:devicemanager.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing issue where NEOSYS processes do not start-up at all or start-up and close immediately ==&lt;br /&gt;
&lt;br /&gt;
# Find if a file with the name global.end exists in the root directory of the NEOSYS installation. Eg D:\global.end . If you find such a file, rename it to global.end.temp - for more information on global.end and what it does refer to [[Administering_NEOSYS_Server#Closing_NEOSYS_Services|Closing NEOSYS Services]]&lt;br /&gt;
# If the above didn&#039;t fix the problem and NEOSYS still does not start, do a windows search for the entire NEOSYS folder for *.end (i.e. any file ending with .end extension). You may find a (databasecode).end file in D:\neosys\neosys folder which is created by the NEOSYS program during backup at 1 am and later on removed automatically. In this case NEOSYS program might have crashed during the backup and left this file behind. (databasecode).end files prevent other other NEOSYS processes starting up on the database while exclusive processes (like backup) are being done.&lt;br /&gt;
&lt;br /&gt;
In case the above didn&#039;t fix the problem then escalate to the programmer immediately.&lt;br /&gt;
&lt;br /&gt;
=== Solving &amp;quot;Control Record&amp;quot; error in maintenance mode ===&lt;br /&gt;
&lt;br /&gt;
If processes dont start after you log into maintenance mode and you get an error message&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔════[FS152]═══════════════════════════════════════╗&lt;br /&gt;
║          The control record &amp;quot;RECORDS&amp;quot;            ║&lt;br /&gt;
║           is too long to be saved.               ║&lt;br /&gt;
║   The current record length is 65539 characters. ║&lt;br /&gt;
║                                                  ║&lt;br /&gt;
║               &amp;lt; Press any key &amp;gt;                  ║&lt;br /&gt;
╚══════════════════════════════════════════════════╝  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[File:Record1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1&#039;&#039;&#039;. Press space to get rid of the error message and you should then get this menu&lt;br /&gt;
&lt;br /&gt;
[[File:Record2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2&#039;&#039;&#039;. Press F5 and run this command (case sensitive)&lt;br /&gt;
&lt;br /&gt;
 DICT DEFINITIONS&lt;br /&gt;
&lt;br /&gt;
or Press Alt+S and run this command (case sensitive)&lt;br /&gt;
&lt;br /&gt;
 EXECUTE DICT DEFINITIONS&lt;br /&gt;
&lt;br /&gt;
[[File:Record3.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3&#039;&#039;&#039;. Press Shift+F3 to get the following message&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔══[B202]══════════════════════════════════╗&lt;br /&gt;
║            &amp;quot;DEFINITIONS&amp;quot; has             ║&lt;br /&gt;
║          &amp;quot;QUICKDEX&amp;quot; installed            ║&lt;br /&gt;
║                                          ║&lt;br /&gt;
║ Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N]  ║&lt;br /&gt;
║                                          ║&lt;br /&gt;
║ &amp;lt;Y                                      &amp;gt;║&lt;br /&gt;
╚══════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4&#039;&#039;&#039;. Press Enter to choose Yes.&lt;br /&gt;
&lt;br /&gt;
[[File:Record4.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5.&#039;&#039;&#039;Restart NEOSYS to see if the problem has been solved&lt;br /&gt;
&lt;br /&gt;
== Solving “page not found” when downloading some file types after uploading them successfully ==&lt;br /&gt;
=== One by One ===&lt;br /&gt;
&lt;br /&gt;
Windows web server will not download file types that it is unaware of. You can enable the download of new file types one by one as follows.&lt;br /&gt;
&lt;br /&gt;
This process is tedious and error-prone if you have to add many type.&lt;br /&gt;
&lt;br /&gt;
#Computer Management&lt;br /&gt;
#Services and Applications&lt;br /&gt;
#IIS properties&lt;br /&gt;
#Mime Types&lt;br /&gt;
#Add&lt;br /&gt;
&lt;br /&gt;
=== Many ===&lt;br /&gt;
&lt;br /&gt;
Window Server 2003 is unaware of all the Office 2007+ file types. To add all Office 2007+ file types at once do the following:&lt;br /&gt;
&lt;br /&gt;
Stop IIS&lt;br /&gt;
&lt;br /&gt;
 iisreset /stop&lt;br /&gt;
&lt;br /&gt;
Open the list of mime types&lt;br /&gt;
&lt;br /&gt;
*Start, Run, notepad C:\WINDOWS\system32\inetsrv\MetaBase.xml&lt;br /&gt;
&lt;br /&gt;
Search the file for “xlsx” and quit the editor if already inserted.&lt;br /&gt;
&lt;br /&gt;
Otherwise, find the following line,&lt;br /&gt;
&lt;br /&gt;
  .xml,text/xml&lt;br /&gt;
&lt;br /&gt;
and insert after that line the following lines. They do not need to be indented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.docm,application/vnd.ms-word.document.macroEnabled.12&lt;br /&gt;
.docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document&lt;br /&gt;
.dotm,application/vnd.ms-word.template.macroEnabled.12&lt;br /&gt;
.dotx,application/vnd.openxmlformats-officedocument.wordprocessingml.template&lt;br /&gt;
.potm,application/vnd.ms-powerpoint.template.macroEnabled.12&lt;br /&gt;
.potx,application/vnd.openxmlformats-officedocument.presentationml.template&lt;br /&gt;
.ppam,application/vnd.ms-powerpoint.addin.macroEnabled.12&lt;br /&gt;
.ppsm,application/vnd.ms-powerpoint.slideshow.macroEnabled.12&lt;br /&gt;
.ppsx,application/vnd.openxmlformats-officedocument.presentationml.slideshow&lt;br /&gt;
.pptm,application/vnd.ms-powerpoint.presentation.macroEnabled.12&lt;br /&gt;
.pptx,application/vnd.openxmlformats-officedocument.presentationml.presentation&lt;br /&gt;
.xlam,application/vnd.ms-excel.addin.macroEnabled.12&lt;br /&gt;
.xlsb,application/vnd.ms-excel.sheet.binary.macroEnabled.12&lt;br /&gt;
.xlsm,application/vnd.ms-excel.sheet.macroEnabled.12&lt;br /&gt;
.xlsx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet&lt;br /&gt;
.xltm,application/vnd.ms-excel.template.macroEnabled.12&lt;br /&gt;
.xltx,application/vnd.openxmlformats-officedocument.spreadsheetml.template&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save the file with File and Exit&lt;br /&gt;
&lt;br /&gt;
Restart IIS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Handling Neosys Automatic Upgrade Error Messages ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
We will receive an email from the NEOSYS client installation with the following message:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;UPGRADEN.EXE&amp;quot; does not have expected exe MZ signature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
This message is a note that the NEOSYS automatic update procedure failed to download an upgrade file correctly.&lt;br /&gt;
This happens sometimes due to network issues but can be ignored because the file will be probably be correctly downloaded on the next automatic update check.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This message is only informative to help with any problem with the automatic upgrade procedure and may be removed in a later version of neosys (currently Oct 2012)&lt;br /&gt;
&lt;br /&gt;
== Testing https connection ==&lt;br /&gt;
&lt;br /&gt;
The following procedure tests that the https server is operational and not blocked by firewall etc. It does not detect certificate errors.&lt;br /&gt;
&lt;br /&gt;
From a windows command prompt use the following telnet command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
telnet clientname.hosts.neosys.com 4430&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
#4430 is the usual NEOSYS http port but replace it by whatever port is actually used for NEOSYS https on the system being tested. If there are multiple https installations on a particular server then different ports are probably used&lt;br /&gt;
#Replace clientname.hosts.neosys.com with the normal https login domain name of the client for whom we want to check the https service&lt;br /&gt;
&lt;br /&gt;
Normal behavior is that it should open a black screen. Pressing Enter or any key returns the _ character. (Close the window using the [X] since there is no keyboard command to do so)&lt;br /&gt;
&lt;br /&gt;
Hanging means that there is some connectivity issue (firewall/ip/server not running/https not installed etc)&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;quot;page not found&amp;quot; error while using https ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#The https service stops working and gives &amp;quot;Page not found&amp;quot; error.&lt;br /&gt;
#The https connection tests fine using telnet (see article above)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#Reinstall https using the usual procedure (currently using selfssl)&lt;br /&gt;
#Email clients, requesting to reinstall the new security certificate by following the instructions for [http://userwiki.neosys.com/index.php/Setting_up_and_Configuring_NEOSYS_Generally#Fixing_HTTPS_certificate_error_when_logging_in_from_an_external_link_using_IE8.2C_IE9_and_IE10 Internet Explorer] or [http://userwiki.neosys.com/index.php/Configuring_Safari_for_MAC_OS#Fixing_HTTPS_certificate_error_when_logging_in_using_an_external_link_using_MAC_Operating_System Safari] browser.&lt;br /&gt;
&lt;br /&gt;
== Installing &amp;quot;QUICKDEX&amp;quot; on some files ==&lt;br /&gt;
&amp;quot;Quickdex&amp;quot; is a type of index that keeps an alphabetical order on small files. In some maintenance procedures you may be asked to &amp;quot;install Quickdex&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For example to add a quickdex to the UNITS file.&lt;br /&gt;
&lt;br /&gt;
Maintenance mode press F5&lt;br /&gt;
&lt;br /&gt;
 DICT UNITS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=================Dictionary=================┐&lt;br /&gt;
│                                            │&lt;br /&gt;
│  File name      UNITS                      │&lt;br /&gt;
│  Field name     .........................  │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Dict type                                 │&lt;br /&gt;
│  Single/Multi                              │&lt;br /&gt;
│  Data type                                 │&lt;br /&gt;
│  Output format                             │&lt;br /&gt;
│  Validation patterns                       │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Position              Key part            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Column heading                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Justification     Display length          │&lt;br /&gt;
│  Description                               │&lt;br /&gt;
│                                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
L============================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Shift+F3.&lt;br /&gt;
&lt;br /&gt;
If it says &amp;quot;Do you want to remove ...&amp;quot; then Quickdex has already been installed and you should not continue. Press Esc to cancel, then Esc to quit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[B202]==================================┐&lt;br /&gt;
│                                         │&lt;br /&gt;
│               &amp;quot;UNITS&amp;quot; has               │&lt;br /&gt;
│          &amp;quot;QUICKDEX&amp;quot; installed.          │&lt;br /&gt;
│                                         │&lt;br /&gt;
│ Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N] │&lt;br /&gt;
│                                         │&lt;br /&gt;
│&amp;lt;Y                                      &amp;gt;│&lt;br /&gt;
L=========================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise it should say &amp;quot;Do you want to install ...&amp;quot;. Press Enter to accept.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[W963]============================┐&lt;br /&gt;
│                                   │&lt;br /&gt;
│     Do you want to install a      │&lt;br /&gt;
│ Quickdex or Rightdex index? [Q/R] │&lt;br /&gt;
│                                   │&lt;br /&gt;
│&amp;lt;Q                                &amp;gt;│&lt;br /&gt;
L===================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It should then say &amp;quot;Do you want to update ...&amp;quot;. Press Enter to accept.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[W901]========================================┐&lt;br /&gt;
│                                               │&lt;br /&gt;
│           The &amp;quot;UNITS&amp;quot; file has had            │&lt;br /&gt;
│ the &amp;quot;QUICKDEX&amp;quot; modifying filing system added. │&lt;br /&gt;
│        There are 0 records in &amp;quot;UNITS&amp;quot;.        │&lt;br /&gt;
│                                               │&lt;br /&gt;
│    Do you want to update &amp;quot;QUICKDEX&amp;quot;? [Y/N]    │&lt;br /&gt;
│                                               │&lt;br /&gt;
│&amp;lt;Y                                            &amp;gt;│&lt;br /&gt;
L===============================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards it should return to the initial screen. Press Esc to quit.&lt;br /&gt;
&lt;br /&gt;
== Solving NEOSYS smtp server failure ==&lt;br /&gt;
In case the neosys smtp server fails then we can just use the client&#039;s smtp server.&lt;br /&gt;
&lt;br /&gt;
The following information is required from the client&#039;s smtp server configuration:&lt;br /&gt;
#hostname&lt;br /&gt;
#username&lt;br /&gt;
#password&lt;br /&gt;
#port no. (most likely = 25)&lt;br /&gt;
&lt;br /&gt;
These details should be entered in the &#039;&#039;&#039;System Configuration File&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
[[image:SYSCFGFILE-SMTP.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Strange characters in maintenance mode ==&lt;br /&gt;
While in Maintenance mode, pressing keys on keyboard gives strange characters. Even Enter and Esc don’t work. &lt;br /&gt;
&lt;br /&gt;
This problem has been seen using RDP on:&lt;br /&gt;
*Window Server 2003 Web Edition&lt;br /&gt;
*Windows Server 2003 R2 SP2&lt;br /&gt;
&lt;br /&gt;
[[image:strangecharmaint.jpg]] &lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
#Go to Windows -&amp;gt; control panel&lt;br /&gt;
#Go to Regional and Language Options &lt;br /&gt;
#Click on Languages tab then click on Details &amp;lt;br&amp;gt; [[image:lang1.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
#Click on Settings Tab and Change default input language to English (United States)&amp;lt;br&amp;gt;(or perhaps something else depending on rdp keyboard) &amp;lt;br&amp;gt; [[image:lang2.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== NEOSYS processes do not start after Windows Update  ==&lt;br /&gt;
&lt;br /&gt;
===Problem===&lt;br /&gt;
Scheduled Task to start the NEOSYS processes fail on Servers with Windows 2008 after Windows update. Support will have to log into the server to start the processes manually&lt;br /&gt;
Message on the Schedule Task displays &amp;quot; The operation being requested was not performed because the user has not logged on to the network. The specified service does not exit &amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[image:sti.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Solution===&lt;br /&gt;
&lt;br /&gt;
For clients who cannot tolerate manual intervention after server reboots for any reason (e.g.need to start work before NEOSYS support is available or on NEOSYS support weekends), tick &amp;quot;highest privileges&amp;quot; and &amp;quot;run whether the user is logged in or not&amp;quot;. This approach means that NEOSYS processes which are started by the windows scheduled task are not visible on the desktop and run hidden in the background and only listed in task manager, so avoid this approach on small clients (only few users). Avoiding this approach will also serve to act as an indicator of server restarts.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting NEOSYS remote support port forwarding ==&lt;br /&gt;
This assumes that you have already “port forwarded” tcp port 19580 from your public internet router to the NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
=== Tst 0 - Check if SSH is working on the NEOSYS Server ===&lt;br /&gt;
Type in the following command in command prompt:&lt;br /&gt;
 telnet 127.0.0.1 19580&lt;br /&gt;
&lt;br /&gt;
IF ALL OK you will see the following:&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-03.jpg]] &lt;br /&gt;
&lt;br /&gt;
=== Test 1 - Check if SSH is basically working on NEOSYS server over the LAN ===&lt;br /&gt;
You must know and use the NEOSYS SERVER LAN IP to do this.&lt;br /&gt;
&lt;br /&gt;
 telnet ???.???.???.??? 19580&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-01.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
If you have the WRONG SERVER LAN IP or NEOSYS server SSH is NOT working then it will hang for about 15 seconds and then say “Could not open connection to host …”&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-02.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
OR IF ALL OK you will see the following:&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-03.jpg]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Press Enter to Exit&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-04.jpg]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Test 2 - Check if can connect to the NEOSYS ssh from OUTSIDE the office  ===&lt;br /&gt;
From any internet connected computer OUTSIDE the office test if you can connect to NEOSYS ssh service. You cannot do this test from inside the office.&lt;br /&gt;
&lt;br /&gt;
You need to know the public ip or domain name of the router. If the router IP is dynamic then NEOSYS sets up dynamic name server so instead of a static ip number you will have a domain name something like clientxyz.redirectme.net.&lt;br /&gt;
&lt;br /&gt;
Enter the command .. using YOUR public internet IP number (NOT the LAN ip number) or the dynamic domain name.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-05.jpg]]  &lt;br /&gt;
&lt;br /&gt;
If everything is working OK you will get a black screen as follows. You will NOT get the “SSH-2.0-OpenSSH-4.7” banner” because NEOSYS ssh remote support is restricted to connect ONLY from LAN ip nos and NEOSYS office ip nos.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-06.jpg]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you press Enter a few times then the cursor will just go down. You have click the [X] to close the window.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-07.jpg]]  &lt;br /&gt;
&lt;br /&gt;
=== Test 3 - Check that the ssh connection from step 2 was rejected  ===&lt;br /&gt;
On the NEOSYS server, check the Windows Application log to verify that an SSH connection was rejected.&lt;br /&gt;
&lt;br /&gt;
The rejected ip number will be of the system outside the office that you performed the test from.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-08.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Sample Email: Solving port 19580 port forwarding issues ===&lt;br /&gt;
&lt;br /&gt;
Some IT people know how to troubleshoot port forwarding issues but others are mostly just power users who can configure a home router. If the IT person is in the second category then it is quicker for NEOSYS support to offer to configure their router from the NEOSYS server using Teamviewer. Ideally NEOSYS should not be doing client IT work but if client IT allows NEOSYS access to their router then NEOSYS support can make a brief attempt to do the configuration. If the issue is still unresolved then request the client to get a professional IT network expert to do the job and inform them that NEOSYS will not be able to provide them any support till connectivity is fixed. Below is a letter advising a more skilled person to check connections using telnet which is a low level test.&lt;br /&gt;
&lt;br /&gt;
You can usually determine the NEOSYS server LAN IP number from Nagios. If so then adjust the email text appropriately.&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Dear XYZ,&lt;br /&gt;
&lt;br /&gt;
It is highly critical to fix the connectivity with the NEOSYS server because NEOSYS will not be able to provide any support until&lt;br /&gt;
connectivity is fixed. User support issues will be delayed and remain unresolved if you do not fix this issue URGENTLY.&lt;br /&gt;
&lt;br /&gt;
At the moment there is no connection from the internet via your router to the NEOSYS server and when we do the following, &lt;br /&gt;
we get no connection. &lt;br /&gt;
&lt;br /&gt;
   telnet CLIENTNAME.support.neosys.com 19580&lt;br /&gt;
&lt;br /&gt;
Normally it should connect and presents a black screen (saying SSH something after pressing Enter) which we close.&lt;br /&gt;
&lt;br /&gt;
Please check that you can connect to the NEOSYS server internally by using the NEOSYS server IP address in the following command on any&lt;br /&gt;
computer in your LAN.&lt;br /&gt;
&lt;br /&gt;
    telnet 192.168.?.? 19580&lt;br /&gt;
&lt;br /&gt;
If you can connect to the NEOSYS server internally then please check port forwarding.&lt;br /&gt;
&lt;br /&gt;
Additionally check the following:&lt;br /&gt;
1. Has your router IP changed?&lt;br /&gt;
2. Has your server’s LAN IP changed and are you forwarding to the correct LAN IP?&lt;br /&gt;
3. Is the configuration really correct?&lt;br /&gt;
4. Check router logs for clues&lt;br /&gt;
5. Check NAT settings in the router&lt;br /&gt;
&lt;br /&gt;
For troubleshooting steps refer Troubleshooting NEOSYS remote support&lt;br /&gt;
http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Troubleshooting_NEOSYS_remote_support_port_forwarding&lt;br /&gt;
&lt;br /&gt;
If the problem still persists, please get a professional IT network expert to fix the issue.&lt;br /&gt;
&lt;br /&gt;
Best Regards,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Port mapping restricted by Source IP ===&lt;br /&gt;
&lt;br /&gt;
On NEOSYS router, port forwarding has been setup only for specific source IP addresses. This means you will not be able to establish a TCP connection to NEOSYS server unless your server&#039;s outbound IP is mapped to the NEOSYS router. In other words unless the outbound i.e source IP/port of your server has been granted access on the NEOSYS router for all incoming connections you will not be able to make connections to NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
Outbound IP is used whenever a server tries to make a connection to another server outside its network. On the other hand a server receives all incoming connections using it&#039;s Inbound IP.&lt;br /&gt;
&lt;br /&gt;
Therefore to setup ssh connection from a new Client server to NEOSYS server we need to grant access to its outbound IP on the NEOSYS router. See [[Troubleshooting_NEOSYS_Generally#If_Telnet_does_not_work | link]] to find the outbound server IP/ports of the server.&lt;br /&gt;
&lt;br /&gt;
== Solving “Cant login … INVALID DATA PATH … permission denied” ==&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&lt;br /&gt;
[[image:error-invalid-data-path-1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error Text:&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 Cannot login because:&lt;br /&gt;
 ERROR: INVALID DATA PATH&lt;br /&gt;
 “D:\HOSTS\HOSTNAME\DATA\HOSTNAME\~8746345.1$” Permission Denied&lt;br /&gt;
&lt;br /&gt;
=== Problem Explained ===&lt;br /&gt;
When installing NEOSYS on an existing “non-clean” Windows installation, the standard NEOSYS installation procedure can result in failure to login if the standard windows folder permissions have been modified.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
The solution is to grant IIS permission to write in the \neosys\DATA folder and subfolders as follows:&lt;br /&gt;
#First add the IUSR_XXXXXXX user to the list of users. (XXXXXXXX is the server name and therefore varies per server) as follows:&lt;br /&gt;
#*Right Click on DATA Folder and click on Properties&lt;br /&gt;
#*Click on Security Tab -&amp;gt; Add -&amp;gt; Advanced&lt;br /&gt;
#*Click on Find Now, Select the IUSR_XXXXXXX user and Click on OK&amp;lt;br&amp;gt;[[image:error-invalid-data-path-2.jpg]]&amp;lt;br&amp;gt;[[image:error-invalid-data-path-3.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Second, for the newly added IUSR (IIS user) change the permissions as follows:&lt;br /&gt;
#*&#039;&#039;&#039;REMOVE&#039;&#039;&#039; the read and execute permission (for security, IIS should be unable to execute things that it might have uploaded)&lt;br /&gt;
#*&#039;&#039;&#039;ADD&#039;&#039;&#039; the write permission &amp;lt;br&amp;gt;[[image:error-invalid-data-path-4.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Login should now be possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== NEOSYS process window displays message &amp;quot;Upgrade Downloading&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
[[image:upgradedownloading.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Problem Explained ===&lt;br /&gt;
NEOSYS thinks it sees an new neosys2.exe upgrade file on the location http://www.neosys.com/support/neosys2.exe which is accessed by http so attempts to download it.&lt;br /&gt;
&lt;br /&gt;
Http proxies and various internet issues can cause incorrect info to be sent and there is actually no upgrade available. In this case, eventually it realizes that it cant find an appropriate and it stops. &lt;br /&gt;
&lt;br /&gt;
You don’t have to worry about this case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Enabling EMS memory on Window 2003 ==&lt;br /&gt;
&lt;br /&gt;
Normally EMS memory is provided by Windows 2003 but this can vary depending on the server hardware/bios configuration&lt;br /&gt;
&lt;br /&gt;
If you get the following messages on Windows 2003&lt;br /&gt;
&lt;br /&gt;
#Backup File Size is 0&lt;br /&gt;
#RTP27. [B28] Not enough String Space – Out of Memory&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
On servers that had no problem previously, the problem is caused by a windows update in Oct 2012 that disables standard Windows EMS memory.&lt;br /&gt;
&lt;br /&gt;
The patch is issued by Microsoft on 9 Oct 2012 but the installation date in the server depends on when the update was actually installed.&lt;br /&gt;
&lt;br /&gt;
http://support.microsoft.com/kb/2724197&lt;br /&gt;
&lt;br /&gt;
=== Solution 1 - maximum performance ===&lt;br /&gt;
&lt;br /&gt;
To re-enable standard windows EMS on older slower servers or servers where NEOSYS performance must be maximized.&lt;br /&gt;
&lt;br /&gt;
The following link contains instructions how to remove the offending windows update&lt;br /&gt;
&lt;br /&gt;
It also shows how to prevent it being reinstalled automatically by Windows.&lt;br /&gt;
&lt;br /&gt;
http://www.columbia.edu/~em36/wpdos/emsxp.html&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to prevent it being reinstalled again automatically&lt;br /&gt;
&lt;br /&gt;
=== Solution 2 – ease of installation ===&lt;br /&gt;
&lt;br /&gt;
This option can also be used if Window 2003 is unable to provide EMS memory for example when the server hardware/bios configuration prevents it.&lt;br /&gt;
&lt;br /&gt;
Install EMSMAGIC in the same way as for Windows server 2008&lt;br /&gt;
&lt;br /&gt;
EMSMAGIC has higher memory consumption and makes NEOSYS processes slower so it is better to use Solution 1 above if NEOSYS performance is an issue.&lt;br /&gt;
&lt;br /&gt;
== Fixing no output file in XXX YYY Issue ==&lt;br /&gt;
&lt;br /&gt;
===Error Message===&lt;br /&gt;
&lt;br /&gt;
[[File:Nooutputfile.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Problem Explained===&lt;br /&gt;
&lt;br /&gt;
The message “No output file in XXX YYY” can appear at several instances in NEOSYS, most often when generating reports or documents. &lt;br /&gt;
&lt;br /&gt;
This problem is usually caused by software error and it indicates that the NEOSYS server responded without any output and without any message. &lt;br /&gt;
&lt;br /&gt;
===Solution===&lt;br /&gt;
1) Find proof to check if the data required for the report actually exists. This way we can eliminate lack of data as a cause for this error.&lt;br /&gt;
&lt;br /&gt;
2) Check to see if a similar issue has been fixed in latest version of NEOSYS.&lt;br /&gt;
&lt;br /&gt;
3) Document HOW and WHERE the problem can be duplicated by NEOSYS programmers to identify and correct the software.&lt;br /&gt;
&lt;br /&gt;
An example of this error can be found at [[Troubleshooting_NEOSYS_Media_System#Error:_No_output_file_in_MEDIAPROXY_SCHEDULEPRINT|No Output File in MEDIAPROXY SCHEDULEPRINT]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting Internet Connections ==&lt;br /&gt;
&lt;br /&gt;
===Cannot Connect===&lt;br /&gt;
&lt;br /&gt;
While investigating as to why users are not able to access NEOSYS or http://www.neosys.com/ ,you can check which ISP the connection issue is on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;whois ipno&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inspect very carefully to get clues as to which ISP and which AREA of the ISP the problematic ip numbers are and which do NOT have problems&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting TCP/IP Connections ===&lt;br /&gt;
&lt;br /&gt;
====Telnet check====&lt;br /&gt;
&amp;lt;pre&amp;gt; telnet &amp;lt;hostname&amp;gt; 19580  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====If Telnet does not work====&lt;br /&gt;
In case telnet does not work, login to the remote host server to investigate the issue. Run the following command simultaneously while doing Telnet from client server to the remote host to check if the TCP packets are reaching the Remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tcpdump -v &#039;src host client-domain-name/ip&#039; &lt;br /&gt;
tcpdump -v portno &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To check if packets are sent from the client server to the remote host, you can run the following command simultaneously while trying to ssh to the remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;netstat -an &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also check if the outbound ports are open from which you are trying to establish the TCP connection to the remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;telnet portquiz.net portno &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The outbound IP addresses at times can be different from the public IP of the Client server so be sure that the public IP of the client server is the same as its source IP (which represents an incoming connection from Client to Remote server). One way to find the source IP of the Client server is sending an email from Client server to &amp;quot;support@neosys.com&amp;quot;. On receiving the email in Thunderbird, select the email and press Ctrl+u. A new window Opens giving full details of the email received. The third &amp;quot;Received :from&amp;quot; gives the IP of the source.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting DNS failure ===&lt;br /&gt;
&lt;br /&gt;
NEOSYS clients routers are usually configured to use their ISP DNS service and the ISP DNS service is supposed to contact one of NEOSYS&#039;s DNS servers to convert server names like hosts.neosys.com into IP numbers. Misconfiguration of clients routers or problems in the ISP DNS server may cause CANNOT CONNECT problems. Often the connect fails quickly and immediately since if a name cannot be converted to an ip number then the connection cannot even be attempted and therefore there is little or no timeout to wait through.&lt;br /&gt;
&lt;br /&gt;
NEOSYS.COM name servers are listed publically and obtained by whois command.&lt;br /&gt;
&lt;br /&gt;
 whois neosys.com&lt;br /&gt;
&lt;br /&gt;
 Name Server: DNS1.EASYDNS.COM&lt;br /&gt;
 Name Server: DNS2.EASYDNS.NET&lt;br /&gt;
 Name Server: DNS3.EASYDNS.ORG&lt;br /&gt;
 Name Server: NS12.ZONEEDIT.COM&lt;br /&gt;
 Name Server: NS18.ZONEEDIT.COM&lt;br /&gt;
&lt;br /&gt;
In order to contact NEOSYS DNS servers the ISP&#039;s have to use a global DNS to obtain the ip addresses of NEOSYS DNS servers given the host names of NEOSYS DNS servers given in the whois info&lt;br /&gt;
&lt;br /&gt;
Here is an example of DU testing NEOSYS DNS servers. The NEOSYS DNS server ip addresses are listed in the Destination column.&lt;br /&gt;
&lt;br /&gt;
[[File:internet.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If one DNS server is down or unreachable REGARDLESS OF REASON, the ISP is supposed to use the other DNS servers. It is impossible for all NEOSYS DNS servers to be unreachable except in gross disconnection from the internet of the ISP since it is effectively impossible that all NEOSYS DNS servers which are carefully spread around the internet, to be unreachable.&lt;br /&gt;
&lt;br /&gt;
In the above test one of the NEOSYS DNS servers is unreachable but all the others are reachable therefore DU should have no problem providing DNS service to its clients.&lt;br /&gt;
&lt;br /&gt;
ISP are often worse at providing DNS server than the famous GOOGLE DNS servers, so re configuring client router to use GOOGLE DNS servers is a way to prove that the problem lies with the ISP&#039;s DNS service&lt;br /&gt;
&lt;br /&gt;
=== Additional test for troubleshooting problems with uploading ===&lt;br /&gt;
&lt;br /&gt;
====Verifying that upload.dll can run====&lt;br /&gt;
&lt;br /&gt;
This isnt a complete test of everything. It just checks if the upload program can be run by the web server. It doesnt check if uploads work or the image directory is correctly configured with the right permissions and uploads can actually be done.&lt;br /&gt;
&lt;br /&gt;
===== Error Message =====&lt;br /&gt;
&lt;br /&gt;
... to be added when discovered ...&lt;br /&gt;
&lt;br /&gt;
===== Test =====&lt;br /&gt;
&lt;br /&gt;
Test HTTP if accessible by LAN; Test HTTPS is accessible by Internet; Test both if both are available.&lt;br /&gt;
&lt;br /&gt;
On the server type the following into a browser&lt;br /&gt;
&lt;br /&gt;
LAN/HTTP:&lt;br /&gt;
&lt;br /&gt;
 http://localhost/neosys/neosys/dll/upload.dll&lt;br /&gt;
&lt;br /&gt;
WAN/HTTPS:&lt;br /&gt;
&lt;br /&gt;
 https://localhost:9999/neosys/dll/upload.dll&lt;br /&gt;
&lt;br /&gt;
===== Expected Result =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Upload Error. !&lt;br /&gt;
Please call me from a form !!!&lt;br /&gt;
The first param must be Filename= name of the uploaded file, TYPE=TEXT&lt;br /&gt;
The second param must be Filedata= uploaded file, TYPE=FILE&lt;br /&gt;
The third param is optional PathData= path to uploaded file, default c:\temp\, TYPE=HIDDEN&lt;br /&gt;
The forth param is optional RedirectPage= name of asp who receive the results, TYPE=HIDDEN&lt;br /&gt;
Add others params at the end with INPUT tag.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Uerror.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Patching a NEOSYS program ==&lt;br /&gt;
&lt;br /&gt;
The patch provided will tell you the program name and contain either a whole replacement program text or just some changed lines which you will have to find and edit.&lt;br /&gt;
&lt;br /&gt;
You will need to know the file name which may be provided along with the patch or you can find it using the following code in maintenance mode:&lt;br /&gt;
&lt;br /&gt;
 ED VOC programname&lt;br /&gt;
&lt;br /&gt;
ED VOC XYZ tells you what program name is executed and from what file, when you type the command XYZ. Normally the program name is the same as the command.&lt;br /&gt;
&lt;br /&gt;
The file name will normally be BP for agency programs, GBP for general programs or ABP for finance programs.&lt;br /&gt;
&lt;br /&gt;
NEOSYS programs are stored in files just like records of ordinary database files. You can edit either with &amp;quot;ED filename programname&amp;quot; or &amp;quot;TED filename programname&amp;quot;. TED is better for editing source code.&lt;br /&gt;
&lt;br /&gt;
===Installing patch in live database===&lt;br /&gt;
&lt;br /&gt;
In the rare case that the programmer asks Support to install the patch directly on LIVE dataset, start by typing the following command in maintenance mode before commencing:&lt;br /&gt;
&lt;br /&gt;
 UTIL&lt;br /&gt;
&lt;br /&gt;
Follow the instructions mentioned in the [[Troubleshooting_NEOSYS_Generally#Installing_patch_in_test_database| next section]], but skip the instruction to TEST the patched program in test dataset.&lt;br /&gt;
&lt;br /&gt;
The instruction to INSTALL the patched program MUST be followed BEFORE testing the patch in live dataset. Otherwise the changes will not get reflected.&lt;br /&gt;
&lt;br /&gt;
===Installing patch in test database===&lt;br /&gt;
&lt;br /&gt;
1. EDIT the program source code.&lt;br /&gt;
&lt;br /&gt;
 TED programname&lt;br /&gt;
&lt;br /&gt;
Either cut and paste to modify the whole program or edit the program text according to the patch/instructions provided.&lt;br /&gt;
&lt;br /&gt;
Save and close the program source code.&lt;br /&gt;
&lt;br /&gt;
2. COMPILE it. If you get errors then check your edits are correct and recompile otherwise return the patch to programming.&lt;br /&gt;
&lt;br /&gt;
  COMPILE filename programname&lt;br /&gt;
&lt;br /&gt;
3. TEST it. Ensure the patched program now works in TEST database.&lt;br /&gt;
&lt;br /&gt;
4. INSTALL the patched program in the LIVE database by typing one of the following command depending on the filename that you patched.&lt;br /&gt;
&lt;br /&gt;
 COPYGBP programname&lt;br /&gt;
 COPYABP programname&lt;br /&gt;
 COPYBP programname&lt;br /&gt;
&lt;br /&gt;
== Patching NEOSYS dictionaries ==&lt;br /&gt;
&lt;br /&gt;
A patch to a dictionary applies immediately when you save it and to all datasets regardless of which dataset you work in.&lt;br /&gt;
&lt;br /&gt;
You need:&lt;br /&gt;
&lt;br /&gt;
#the file name eg INVOICES&lt;br /&gt;
#the item name (column name) eg  DATETIME_AMENDED&lt;br /&gt;
#10 lines of data similar to the example below.&lt;br /&gt;
#if the item is an S type dictionary, then either the whole, or only the amended part, of the source code of the dictionary.&lt;br /&gt;
&lt;br /&gt;
 ED DICT INVOICES DATETIME_AMENDED&lt;br /&gt;
&lt;br /&gt;
TYPE everything below exactly on the corresponding line numbers except lines 3 and very commonly line 8, as these lines may contain multiple values separated by a superscript 2 (²). Line numbers in the below screen are only for illustrative purpose. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  ╔═══════════════════════════┤DATETIME_AMENDED├═════════════════════════╗&lt;br /&gt;
 1║S                                                                     ║&lt;br /&gt;
 2║                                                                      ║&lt;br /&gt;
 3║DateTime²Amended                                                      ║&lt;br /&gt;
 4║S                                                                     ║&lt;br /&gt;
 5║                                                                      ║&lt;br /&gt;
 6║                                                                      ║&lt;br /&gt;
 7║[DATETIME]                                                            ║&lt;br /&gt;
 8║updated=@record&amp;lt;28&amp;gt;²created=@record&amp;lt;31,1&amp;gt;²@ans=&#039;&#039;²if created and num(c║..actually this line continues off the screen to the right&lt;br /&gt;
 9║R                                                                     ║&lt;br /&gt;
10║10                                                                    ║&lt;br /&gt;
11║                                                                      ║&lt;br /&gt;
  :                                                                      :&lt;br /&gt;
  :                                                                      :&lt;br /&gt;
  ╚══════════════════════════════════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Ctrl+E on lines 3 or 8 in order to enter sub-lines. &lt;br /&gt;
&lt;br /&gt;
The multiple values (on line 3 and 8) separated by a superscript 2 (²) automatically appear when sub-lines are entered.&lt;br /&gt;
&lt;br /&gt;
For line 8, you will need to cut and paste the lines of below program to the Ctrl+E screen: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔═════════════════════════┤Field 8 of DATETIME_AMENDED├════════════════════════╗&lt;br /&gt;
║updated=@record&amp;lt;28&amp;gt;                                                           ║&lt;br /&gt;
║created=@record&amp;lt;31,1&amp;gt;                                                         ║&lt;br /&gt;
║@ans=&#039;&#039;                                                                       ║&lt;br /&gt;
║if created and num(created) and num(updated) then                             ║&lt;br /&gt;
║ createdsecs=field(created,&#039;.&#039;,1)*86400+field(created,&#039;.&#039;,2)                  ║&lt;br /&gt;
║ updatedsecs=field(updated,&#039;.&#039;,1)*86400+field(updated,&#039;.&#039;,2)                  ║&lt;br /&gt;
║ if abs(updatedsecs-createdsecs)&amp;gt;120 then                                     ║&lt;br /&gt;
║  @ans=updated                                                                ║&lt;br /&gt;
║  end                                                                         ║&lt;br /&gt;
║ end                                                                          ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
╚══════════════════════════════════════════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you save and exit the Ctrl+E screen, you will see the sublines separated by superscript 2 appear in one line in the ED screen. &lt;br /&gt;
&lt;br /&gt;
Similarly, for line 3, you need to enter its sub-lines in Ctrl+E screen.&lt;br /&gt;
&lt;br /&gt;
To ensure indenting remains nice (although indenting is not important and can be messed up without causing any problem) then copy the double bars at the front of the lines (if available, otherwise insert some char in position 1 of each line perhaps) and then remove them after you paste ... or just edit until the indenting is correct if you really want to.&lt;br /&gt;
&lt;br /&gt;
Press F9 and/or Esc to save and/or exit from Ctrl+E screen&lt;br /&gt;
&lt;br /&gt;
Press F9 and/or Esc to save and/or exit from ED&lt;br /&gt;
&lt;br /&gt;
== Searching XML files ==&lt;br /&gt;
&lt;br /&gt;
Use the grep command in Cygwin terminal to search files especially when you are investigating the NEOSYS Logs. &lt;br /&gt;
&lt;br /&gt;
Use the following command while searching for a file in any directory&lt;br /&gt;
&lt;br /&gt;
 grep string path/file&lt;br /&gt;
&lt;br /&gt;
 grep -i -a string path/file  (use -i to ignore upper/lower case characters in the string and -a to treat the file type=text and display the matching text)&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;string&amp;quot; is the text to be searched, &amp;quot;file&amp;quot; is the type of file you are looking for and &amp;quot;path&amp;quot; is the path of the directory you are looking into. Use &amp;quot;&amp;quot; when having spaces in your string.&lt;br /&gt;
&lt;br /&gt;
e.g when searching in NEOSYS logs the year/month/date is specified in the file name, so if you are looking for a file in year 2016 in the month of Feb, use&lt;br /&gt;
&lt;br /&gt;
 grep XXXX path/1602*&lt;br /&gt;
&lt;br /&gt;
In the above command *(asterisk) is a wildcard used to match characters in the file name.&lt;br /&gt;
&lt;br /&gt;
Sample below of grep command and its output where it is searching for &amp;quot;Dior&amp;quot; in 2016 march logs.&lt;br /&gt;
 $ grep -i Dior /cygdrive/d/hosts/test/logs/test/2016/1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 Binary file path/16030301.XML matches&lt;br /&gt;
&lt;br /&gt;
Use the commands below to display the search string and required number of lines that come either after or before the search string, depending on what you enter in your command. It helps to get more information from files especially when you only know few words and the other information around the searched string also gets displayed. &lt;br /&gt;
&lt;br /&gt;
 grep -A NUM string file (NUM lines after the searched text get displayed)&lt;br /&gt;
&lt;br /&gt;
 grep -B NUM string file (NUM lines before the searched text get displayed)&lt;br /&gt;
&lt;br /&gt;
See the examples and their respective outputs below, (Note: there is no space between -A and NUM):&lt;br /&gt;
&lt;br /&gt;
 $ grep -A2 -i &amp;quot;Dior&amp;quot; 1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 Binary file 16022101.XML matches&lt;br /&gt;
 Binary file 16022901.XML matches&lt;br /&gt;
&lt;br /&gt;
 $ grep -A2 -a &amp;quot;Dior&amp;quot; 1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 16030301.XML:&amp;lt;DataOut&amp;gt;DIOR%FEPOI%FE&#039;&#039;&#039;Dior&#039;&#039;&#039; Poison%FE%FE%FE%FE%FEDubai,    UAE%FE%FE%FE%FEN%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEN%FE%FE%FE17584.43592%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FENEOSYS%FE17584.43592%FE94_200_49_146%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEpaulson&amp;lt;/DataOut&amp;gt;&amp;lt;/Message&amp;gt;&lt;br /&gt;
 --&lt;br /&gt;
 16030301.XML:&amp;lt;DataOut&amp;gt;DIOR%FEPOI%FE&#039;&#039;&#039;Dior&#039;&#039;&#039; Poison%FE%FE%FE%FE%FEDubai,   UAE%FE%FE%FE%FEN%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEN%FE%FE%FE17584.43592%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FENEOSYS%FE17584.43592%FE94_200_49_146%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEpaulson&amp;lt;/DataOut&amp;gt;&amp;lt;/Message&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some more examples of grep below:&lt;br /&gt;
&lt;br /&gt;
 Use the command below when searching with more than one search string&amp;lt;br&amp;gt;&lt;br /&gt;
 grep -a string1 *|grep string2&lt;br /&gt;
&lt;br /&gt;
 grep -B2 -a Processing 160329*|grep -v DataIn|grep -v Message|less&amp;lt;br&amp;gt;&lt;br /&gt;
 where user wants the output to show lines containing string &amp;quot;Processing&amp;quot; and exclude lines containing string &amp;quot;DataIn&amp;quot; and &amp;quot;Message&amp;quot;, |less displays the output in a new screen.&lt;br /&gt;
&lt;br /&gt;
== Managing the queue of reports being delivered by email ==&lt;br /&gt;
&lt;br /&gt;
In maintenance mode.&lt;br /&gt;
&lt;br /&gt;
=== Listing ===&lt;br /&gt;
&lt;br /&gt;
 LIST DOCUMENTS WITH SCHEDULED_ONCE&lt;br /&gt;
&lt;br /&gt;
=== Clearing ===&lt;br /&gt;
&lt;br /&gt;
 SELECT DOCUMENTS WITH SCHEDULED_ONCE&lt;br /&gt;
 DELETE DOCUMENTS&lt;br /&gt;
&lt;br /&gt;
== Removing non essential files on win3 ==&lt;br /&gt;
Non essential files getting accumulated over time can take up a lot of space on the hard disk resulting in low free space on the server. NEOSYS Client Monitoring system alerts about the issue for win3 server as it monitors the Disk Space of both C &amp;amp; D drive. To fix it Support team will have to create free space on the server.&lt;br /&gt;
&lt;br /&gt;
Making space on the server is time taking and requires patience as you need to go through all the files/folders looking for non essential files. Do not make any assumptions for not looking into a folder.&lt;br /&gt;
&lt;br /&gt;
Non essential files are the ones without which we can work properly and will continue to work in future.&lt;br /&gt;
&lt;br /&gt;
To make space on the server, Support team should follow the below steps:&lt;br /&gt;
&lt;br /&gt;
#Look into the drive for which nagios is alerting and dig into all the folders.&lt;br /&gt;
#Right click Folder &amp;gt; Properties &amp;gt; Size on Disk, to find out the size of a folder.&lt;br /&gt;
#On d drive majority of the space is taken by d:\hosts and d:\data.bak folder and on c drive it&#039;s taken up by the important windows/cygwin folders.&lt;br /&gt;
#The space distribution will give you an idea about which folders to target that can give you lot of space on clean up.&lt;br /&gt;
#Following are the non essential files/folders which can create a lot of space on removal. Use your intelligence and presence of mind while deleting files/folders because once deleted the information is lost forever.&lt;br /&gt;
#*Folder: d\data.bak. Check for stopped client&#039;s backups and delete if present.&lt;br /&gt;
#*Folder: d\hosts\clientname\logs. where clientname stands for all the client folders in hosts. Look into logs prior to the current year and the year before and delete them.&lt;br /&gt;
#*Folder: d\hosts\clientname\downloads. The folder might contain lot of old versions of neosys.exe files, just keep the two latest ones and delete the rest. Do this for all clients except test installation because Support maintains all the old versions of neosys.exe in it.&lt;br /&gt;
#*Folder: d\hosts\old. Remove the Stopped Client folders older than 1 year.&lt;br /&gt;
#*Apart from above folders look for random backup.zip files present in c/d drive. This happens when Support restores data from a zip file and forgets to delete it after the restore.&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Troubleshooting_NEOSYS_Generally&amp;diff=2683</id>
		<title>Troubleshooting NEOSYS Generally</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Troubleshooting_NEOSYS_Generally&amp;diff=2683"/>
		<updated>2016-05-15T12:22:24Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Removing non essential files on win3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Solving failure to start a NEOSYS server due to disk failure message ==&lt;br /&gt;
=== Problem ===&lt;br /&gt;
During a reboot process (which maybe due to a Windows update or even done by a support personnel) the NEOSYS server gets hung on the startup and shows a message &amp;quot;Boot Failure - Abort, Retry&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
=== Temporary solution ===&lt;br /&gt;
This typically happens due to the USB being plugged into the server and the boot sequence being wrong - i.e. the server trying to boot from the USB first and fails. The immediate solution would be to unplug the USB and ask the client to reboot the server again and upon successfully rebooting the system, plug the USB back again.&lt;br /&gt;
&lt;br /&gt;
=== Permanent solution ===&lt;br /&gt;
The above problem will occur every time the computer is rebooted, so you need to immediately talk to the IT Administrator of the client and ask them to rectify the boot sequence to make it boot first from the CD ROM, then the HDD and last the USB.&lt;br /&gt;
&amp;lt;BR&amp;gt;Allowing &amp;quot;Boot from USB&amp;quot; causes a severe risk of infection by boot sector viruses since the first infected USB device inserted WILL infect the server immediately as anti-virus programs are not active during boot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting the &amp;quot;Database not available&amp;quot; error message == &lt;br /&gt;
=== Problem explained ===&lt;br /&gt;
This error appears when you try to login to NEOSYS after you enter your username and password and click the Login button.&lt;br /&gt;
&lt;br /&gt;
[[image:database_unavailable.jpg]]&lt;br /&gt;
&lt;br /&gt;
Error message : &lt;br /&gt;
&lt;br /&gt;
 Cannot login because : &lt;br /&gt;
 Error :  The (database code) database is not available right now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the error message appears post login i.e. when users are working on the system then check if processes are free to run user request.&lt;br /&gt;
&lt;br /&gt;
[[image:not_available.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Solution explained ===&lt;br /&gt;
# Determine if the processes are running. If they are running and you still get the same message that means that either the processes have [[Troubleshooting_NEOSYS_Generally#Troubleshooting_Hung_processes|hung]] and need to be [[Troubleshooting_NEOSYS_Generally#How_to_kill_hung_NEOSYS_processes|killed]]. Or the processes are busy to run user requests and a new process needs to be started. &lt;br /&gt;
# If the processes are not visible on the destop, it is possible that they are running in the background and have hung for some reason. Check the windows task manager to see if any ‘ntvdm’ process is running and [[Troubleshooting_NEOSYS_Generally#If_NEOSYS_processes_are_not_visible_on_the_server_desktop|fix hung processes]].&lt;br /&gt;
# If there is no trace of any process running, that means the process probably did not start at the scheduled time. Refer to the &#039;Hung Process Reports&#039; to verify this claim. &lt;br /&gt;
# If the process had not hung, then the server might have restarted due to a power failure or a windows update and the administrator user had not logged in post the scheduled startup time of 6AM. To determine this cause, investigate in the Windows Event Viewer Log file.&lt;br /&gt;
# You can now start up the process by clicking on the respective desktop icons.&lt;br /&gt;
# Also check if the backup took place successfully or not. If not take a manual backup.&lt;br /&gt;
# Look into the logs at the date/time stated for the last transaction processed to investigate why process got hung.See [[Troubleshooting_NEOSYS_Generally#Inspecting_Database_LOGS_Folder| Inspecting logs]] for more information on logs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;quot;user not authorised to login from a location&amp;quot; error message ==&lt;br /&gt;
[[image:IPerror.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error message:&#039;&#039;&#039;&lt;br /&gt;
 xxx is not authorised to login form the location (IP Number. xx.xx.xx.xx)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution Explained:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Check the URL used and follow the steps below to check if it is correct and email the user accordingly.&lt;br /&gt;
#If the Client installation is hosted on NEOSYS server then users can use only https link to access NEOSYS.&lt;br /&gt;
#*Check with the client&#039;s management if this particular IP is their public IP.&lt;br /&gt;
#*Add IP on management confirmation (Refer to [[Procedures#Handling_User_Requests_to_add_an_IP_or_range_of_IPs_to_access_NEOSYS|Handling User Requests to add IP/IPs ]] ) &lt;br /&gt;
#In case of Client hosted server, users should access NEOSYS via LAN using the http link.&lt;br /&gt;
#*There can be exceptional cases where user needs to access NEOSYS outside the office Network e.g a client installation with two companies at different locations and NEOSYS installed at one. In this case Support will have to add the IP number of the second company so that users can access NEOSYS.&amp;lt;br&amp;gt;But before you even suggest to add the IP, get the request from their management saying that the IP number is another office location and needs to be added. (Refer to [[Procedures#Handling_User_Requests_to_add_an_IP_or_range_of_IPs_to_access_NEOSYS|Handling User Requests to add IP/IPs ]] )&lt;br /&gt;
&lt;br /&gt;
== Handling damaged files ==&lt;br /&gt;
&lt;br /&gt;
[[Handling damaged files]]&lt;br /&gt;
&lt;br /&gt;
=== Checking for corrupt database files ===&lt;br /&gt;
Login to NEOSYS Maintenance. This can be done when users are online.&lt;br /&gt;
&lt;br /&gt;
Press F5&lt;br /&gt;
&lt;br /&gt;
 CHK.FILES&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
 CHK.FILES filename&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Sizelock while performing chk.files &#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Fixing sizelock errors should not be done while other users are online to the same database.&lt;br /&gt;
&lt;br /&gt;
Sizelock errors are not critical and will be fixed automatically during the nightly backup.&lt;br /&gt;
&lt;br /&gt;
Sizelock errors occur if a program or process that is selecting records from a file is aborted in some abnormal way.&lt;br /&gt;
&lt;br /&gt;
Error message:&lt;br /&gt;
&lt;br /&gt;
 These Files/Tables have a Sizelock Value of 2 or greater. &lt;br /&gt;
 Tag/Select the Files/Tables to be Fixed.&lt;br /&gt;
 Press F9 to fix selected files&lt;br /&gt;
&lt;br /&gt;
Press F9 to proceed with fixing the selected files or press ESC to continue with chk.files without fixing sizelock as it gets automatically fixed during the nightly backup. &lt;br /&gt;
&lt;br /&gt;
Refer to the [http://techwiki.neosys.com/index.php/Backup_and_Restore#Error_Message:_Size_Lock Sizelock errors in backup emails] for more information.&lt;br /&gt;
&lt;br /&gt;
[[file:sizelock.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Determining Database File Name from Operating System File Name ===&lt;br /&gt;
&lt;br /&gt;
To assess the potential damage and possible remedial measures you need to know the database file name. If the message only refers to the operating system file name you need to follow this procedure to determine the database file name.&lt;br /&gt;
&lt;br /&gt;
Once you have the database file name you can use CHK.FILES XXXXXXX to check if corrupt or not and various other procedures to fix the corruption.&lt;br /&gt;
&lt;br /&gt;
Remember that fixing the corrupt data does not solve the overall problem. The *cause* of the corruption must be identified and eliminated otherwise the problem may reoccur and in a more serious form perhaps with unrecoverable loss of data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╒═══════════════════════════════════TCL - 2══════════════════════════════════╕&lt;br /&gt;
│                                                                            │&lt;br /&gt;
│ :list FILES WITH ALL CONTAINING &#039;REV76481&#039;                                 │&lt;br /&gt;
│                                                                            │&lt;br /&gt;
╘════════════════════════════════════════════════════════════════════════════╛&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:DBfilenamefromOSfilename.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Finding out when and by whom a record was deleted ==&lt;br /&gt;
&lt;br /&gt;
In most cases, NEOSYS does not allow users to delete records and instead keeps a record of everything. In some cases however, things are deleted and the only way to get full details about the deletion is to search the logs. This is cumbersome, but there is a quick way to find out when, and by whom, a record was deleted. Prior to NEOSYS software versions dated Mar 2014, and deletions done before the same date, this procedure will only tell you when the record was deleted - but not who deleted it. Knowing exactly when it was deleted will nevertheless help you to search the logs for full details.&lt;br /&gt;
&lt;br /&gt;
In maintenance mode F5&lt;br /&gt;
&lt;br /&gt;
 ED SHADOW DELETED*filename*key&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 ED SHADOW DELETED*BATCHES*L*JOU*2*U&lt;br /&gt;
&lt;br /&gt;
Journals are stored in the BATCHES file. The key of an unposted batch is x*y*999*U where x is the company code, y is the journal type code, 999 is UNPOSTED batch number and U is just U to indicate unposted batches. Note that unposted batches are normally deleted at the time they are posted - ie converted to posted batches.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔══════════════════════════┤DELETED*BATCHES*L*JOU*2*U├═════════════════════════╗&lt;br /&gt;
║16831.60706                                                                   ║&lt;br /&gt;
║BRUCEL                                                                        ║&lt;br /&gt;
║╒═══════════════════════════════════TCL - 6══════════════════════════════════╕║&lt;br /&gt;
║│                                                                            │║&lt;br /&gt;
║│ :EVAL PRINT 16831.60706 &#039;[DATETIME]&#039;                                       │║&lt;br /&gt;
║│                                                                            │║&lt;br /&gt;
║╘════════════════════════════════════════════════════════════════════════════╛║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you see the number (in this case 16831.60706) you can convert it to a time and date by typing something like&lt;br /&gt;
&lt;br /&gt;
 PRINT 16831.60706 &#039;[DATETIME]&#039;&lt;br /&gt;
&lt;br /&gt;
Using this date and time you can search the logs more effectively to find out who did the deletion and in what circumstances.&lt;br /&gt;
&lt;br /&gt;
== Assessing Database Size per File ==&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
 &lt;br /&gt;
 LIST FILES BY BY-DSND SIZE VOLUME.NAME SIZE&lt;br /&gt;
 &lt;br /&gt;
This will include all files not just those in the actual dataset in DATA\* folders.&lt;br /&gt;
&lt;br /&gt;
== Fixing slow speed ==&lt;br /&gt;
=== [[Benchmarking NEOSYS]] ===&lt;br /&gt;
=== Investigating CPU 100% using Windows Task Manager ===&lt;br /&gt;
Email, to support, a screen-shot of task manager APPLICATIONS, PROCESSES and PERFORMANCE screens MAXIMIZED TO SHOW AS MUCH AS POSSIBLE. &lt;br /&gt;
&lt;br /&gt;
(Sort the processes to show ntvdm, waiting.exe and high cpu% processes clearly)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steps:&#039;&#039;&#039;&lt;br /&gt;
#Right Click on Windows Taskbar and click on Start Task Manager &amp;lt;br&amp;gt; [[image:starttaskmanager.jpg]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
#Click on Processes and then click on CPU &amp;lt;br&amp;gt;&#039;&#039;&#039;Note - The HIGH cpu% processes which should usually be the &amp;quot;process&amp;quot; called &amp;quot;System Idle Process&amp;quot; &#039;&#039;&#039;&amp;lt;br&amp;gt;[[image:cpu100percent1.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Click on the Performance Tab &amp;lt;br&amp;gt; &#039;&#039;&#039;Note - PF Usage should typically be much less than Physical Memory otherwise there is insufficient real memory in the server to handle the load&#039;&#039;&#039; &amp;lt;br&amp;gt; [[image:cpu100percent3.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Click on Application Tab then Right Click on a NEOSYS Process and Click on Bring to Front &amp;lt;br&amp;gt;&#039;&#039;&#039;See what the NEOSYS Process is doing &amp;lt;br&amp;gt; [[image:cpu100percent2.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Right Click on a NEOSYS Process and Click on Go to Processes &amp;lt;br&amp;gt;&#039;&#039;&#039;Note the cpu% ntvdm process &amp;lt;br&amp;gt;[[image:cpu100percent2_2.jpg]]&amp;lt;br&amp;gt;  &lt;br /&gt;
#Normally NEOSYS application screens say &amp;quot;LISTENING&amp;quot; in the bottom line and those applications should have very low cpu%&amp;lt;br&amp;gt;[[image:normalneosysprocess.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Look at the difference between the screen of running NEOSYS processes (applications actually) which are idle (listening for requests) and active (processing a request from a user)&lt;br /&gt;
#Note the number of cpus or cpu threads in the server from the performance screen graphics&amp;lt;br&amp;gt;[[image:performance-taskmgr-cputhread.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Take screen-shots of any and ALL hung or long running processes (NEOSYS application screens) and email them to support. Even small details on the screens and user names, the user names may give clues to what problem caused the hanging.A Typical Hung NEOSYS process will look like this: &amp;lt;br&amp;gt; [[image:hungneosysprocess.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
#Once all hung/long processes are closed then CPU should be low and not near 100%. If it is still 100% then check all high cpu% processes and send a screen-shot of processes sorted to show the high cpu% process names to support.&lt;br /&gt;
&lt;br /&gt;
=== Solving server CPU% is 100 and all users are extremely slow/stopped ===&lt;br /&gt;
&lt;br /&gt;
Get the screenshots of Task Manager and ALL processes on the server, the objective is to assess the true issue. No need to get the screens not in use obviously but you can send a parallel screen shot for them if you want to be pedantic or even a comment will do.&lt;br /&gt;
&lt;br /&gt;
==== Too few CPUs/threads for the number of users ====&lt;br /&gt;
In Windows task manager normally, you should see one ntvdm.exe and one waiting.exe process per NEOSYS process (application). A standard installation has three NEOSYS processes per main database and plus one per test database. This is configured in Support Menu, Configuration File.&lt;br /&gt;
&lt;br /&gt;
If there are MORE ntvdm processes than you expect from the configuration file, then perhaps NEOSYS is auto starting new NEOSYS processes to try and cater for a high number of concurrent users.&lt;br /&gt;
&lt;br /&gt;
If the number of concurrent NEOSYS processes significantly exceeds the number of cpus/hyperthreads available in the server then processing for everybody can become so slow for everybody and almost no work gets done.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Stop NEOSYS creating new NEOSYS processes automatically. Create a text file with the first and only line as AUTOSTART=NO in the neosys\neosys folder something like this.&lt;br /&gt;
&lt;br /&gt;
notepad d:\neosys\neosys\NET.CFG&lt;br /&gt;
&lt;br /&gt;
AUTOSTART=NO&lt;br /&gt;
&lt;br /&gt;
== How do I troubleshoot email not received? ==&lt;br /&gt;
&lt;br /&gt;
[[Troubleshooting email not received]]&lt;br /&gt;
&lt;br /&gt;
== Fixing permissions errors while logging in ==&lt;br /&gt;
 &lt;br /&gt;
=== Problem ===&lt;br /&gt;
 &lt;br /&gt;
While logging in, you get the following error message:&lt;br /&gt;
[[Image:login_error_message.jpg]]&lt;br /&gt;
 &lt;br /&gt;
=== Solution ===&lt;br /&gt;
 &lt;br /&gt;
Add the internet guest account to the security list of the data folder with the default permission of list/read/write&lt;br /&gt;
 &lt;br /&gt;
Make sure the read&amp;amp;execute permission is removed&lt;br /&gt;
[[Image:permissions_on_data.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fixing the &#039;HTTP Error 500.0 - Internal Server Error&#039; while logging in on IE on a Windows Vista system ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
After configuring IIS on Windows Vista you will get this error message while trying to login into NEOSYS from Internet Explorer:&lt;br /&gt;
&lt;br /&gt;
 HTTP Error 500.0 - Internal Server Error&lt;br /&gt;
 Description: This application is running in an application pool that uses the Integrated .NET  &lt;br /&gt;
 mode. This is the preferred mode for running ASP.NET applications on the current and future &lt;br /&gt;
 version of IIS.&lt;br /&gt;
 &lt;br /&gt;
 In this mode, the application using client impersonation configured with &amp;lt;identity &lt;br /&gt;
 impersonate=&amp;quot;true&amp;quot; /&amp;gt; may not behave correctly. Client impersonation is not available in early &lt;br /&gt;
 ASP.NET request processing stages and may lead modules in those stages to execute with process &lt;br /&gt;
 identity instead.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
You can move the application to an application pool that uses the Classic .NET mode by using the following from a command line window (the window must be running as Administrator) &lt;br /&gt;
&lt;br /&gt;
 %systemroot%\system32\inetsrv\APPCMD.EXE set app &amp;quot;Default Web Site/neosys&amp;quot; /applicationPool:&amp;quot;Classic .NET AppPool&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can use any other application pool on your system that is running in the Classic .NET mode. You can also use the IIS Administration tool to move this application to another application pool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fixing the &#039;Class Not Registered&#039; error message while logging in ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
While logging into NEOSYS, you will get a popup window giving an error message saying &#039;Class Not Registered - Server Error&#039;. Typically, you will encounter this error with XP Pro IIS 5.1. As usual, there&#039;s way to solve it, however the root cause of this is still unknown.&lt;br /&gt;
&lt;br /&gt;
Anyway, you will get the proper message in the event log:&lt;br /&gt;
&lt;br /&gt;
 Event Type: Warning&lt;br /&gt;
 Event Source: W3SVC&lt;br /&gt;
 Event Category: None&lt;br /&gt;
 Event ID: 36&lt;br /&gt;
 Description: The server failed to load application &#039;/LM/W3SVC/1/ROOT/NEOSYS.&lt;br /&gt;
 The error was &#039;Class not registered&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
So, what do you do ? This problem is related to Component Services, and when you open Component Services MMC, you will most probably  get  Error Code 8004E00F COM + was unable to talk to Microsoft Distributed Transaction Coordinator. So, fix the COM+ services first by using the following KB from Microsoft (PRB: Cannot Expand &amp;quot;My Computer&amp;quot; in Component Services MMC Snap-In http://support.microsoft.com/?id=301919):&lt;br /&gt;
&lt;br /&gt;
To resolve this problem, reinstall Component Services as follows: WARNING: &lt;br /&gt;
# Open registry editor, locate HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3, and then delete this key.  &lt;br /&gt;
# From the Start menu, point to Settings, click Control Panel, and then click Add/Remove Programs.  &lt;br /&gt;
# Click Add/Remove Windows Components. &lt;br /&gt;
# Proceed through the wizard, and accept all of the defaults (including IIS)&lt;br /&gt;
# Restart the computer.&lt;br /&gt;
&lt;br /&gt;
If the above didn&#039;t solve it, and you still receive the &#039;Class not registered&#039; error message, then you need to recreate the IIS packages in COM+, try&lt;br /&gt;
&lt;br /&gt;
# Delete IIS related package in Component Services MMC&lt;br /&gt;
# IIS In-Process Applications &lt;br /&gt;
# IIS Out-of-Process Pooled Applications &lt;br /&gt;
# IIS Utilities&lt;br /&gt;
&lt;br /&gt;
Next, if you still get the message, try following before re-install IIS if you can&#039;t find Distributed Transaction Coordinator in your Services console.&lt;br /&gt;
&lt;br /&gt;
Launch command prompt and run the following command.&lt;br /&gt;
# msdtc -install&lt;br /&gt;
# net start msdtc&lt;br /&gt;
&lt;br /&gt;
Then try re-install IIS.&lt;br /&gt;
&lt;br /&gt;
This should solve the problem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enabling File Security option on Win XP Professional ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
&lt;br /&gt;
In the Properties of any folders, the Security option does not show, hence you cannot modify the Read, Write options.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
The solution would be to untick the &#039;Simple File Sharing&#039; option from  Tools &amp;gt; Folder Options &amp;gt; View:&lt;br /&gt;
[[Image:simplefilesharingoff.jpg]]&lt;br /&gt;
&lt;br /&gt;
== %00%00%00%00 Errors ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SYSTEM ERROR in line 162. Amount &amp;quot;-2698.00AED&amp;quot; or base &amp;quot;%00%00%00%00&amp;quot; has been wrongly generated   &lt;br /&gt;
GET NEOSYS SUPPORT. DO NOT ATTEMPT TO CORRECT MANUALLY    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Solution ===&lt;br /&gt;
%00%00%00%00 indicates an internal error that NEOSYS programmer has to fix. It is usually random and can be hard to replicate unlike almost all other NEOSYS errors which usually replicate reliably once you find the cause.&lt;br /&gt;
&lt;br /&gt;
== B703 Errors ==&lt;br /&gt;
&lt;br /&gt;
The B703 error is usually always related to something too big for NEOSYS to handle. &lt;br /&gt;
&lt;br /&gt;
These are the only B errors that NEOSYS cant always permanently prevent by fixing the software.&lt;br /&gt;
&lt;br /&gt;
== Internet Explorer Menu, View, Text Size doesnt change font size as expected ==&lt;br /&gt;
&lt;br /&gt;
Cause: This is because the font size is now user definable in NEOSYS and View, Text Size does not override predefined font sizes.&lt;br /&gt;
&lt;br /&gt;
Solution: If you are using Internet Explorer 7 you can scale the screen (including the font size  using ctrl + and ctrl - keyboard shortcuts or the font size button on the bottom right hand side of the window. &lt;br /&gt;
&lt;br /&gt;
You can adjust the font size on the User Details form when you login although this permanently applies to all forms not just the one that you are on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uploaded jpg files fail to display in internet explorer ==&lt;br /&gt;
&lt;br /&gt;
Some large jpg files &amp;gt; 2Mb cannot be viewed in internet explorer despite being viewable in image preview, ms paint and other viewers/editors. It is not an issue caused by uploading or downloading the files.&lt;br /&gt;
&lt;br /&gt;
These file appear to have been created on Photoshop CS Macintosh and may be a special type of uncompressed jpg used for production quality files.&lt;br /&gt;
&lt;br /&gt;
=== Partial solution ===&lt;br /&gt;
Before uploading the files, open them in some editor like MS Paint (right click, edit) and save them. However this results in a loss of quality. Perhaps there is some program that can convert these files to a format understandable by Internet explorer without any loss of quality.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;This document is currently read only&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
The user attempting to modify this document does not have the authorization key to do so.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
Inform the user that he is not authorised to modify the document and give him the list of users within his company who are authorised to do so.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;You have attempted to write to a read-only file&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
=== Message ===&lt;br /&gt;
&lt;br /&gt;
Error while writing data.&lt;br /&gt;
You have attempted to write to a read-only file.&lt;br /&gt;
- or -&lt;br /&gt;
access to the file has been denied by the operating system.&lt;br /&gt;
(operating system file name: &amp;quot;..\DATA\ADLINEC\ADAGENCY\REV76467.OV00012618&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
It is almost certainly due to some third party backup or other maintenance software opening the NEOSYS database files when it shouldn&#039;t e.g. badly configured third party backup scheduled to backup NEOSYS while NEOSYS is still running. Note that the exact filename varies each time.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
This can be a serious error that causes damaged files in NEOSYS especially if the filename ends in .OV. Use the usual methods of checking for damaged files e.g. do a backup which also looks for damaged files BUT DO NOT OVERWRITE THE LATEST BACKUP SINCE IT MAY BE REQUIRED for restoration. Then fix the damaged files using the usual methods e.g. by rebuilding/using&lt;br /&gt;
FIXFILE or restoring databases. For more info check [[Handling damaged files|Handling damaged files]]&lt;br /&gt;
&lt;br /&gt;
=== Prevention ===&lt;br /&gt;
&lt;br /&gt;
Remove the third party backup or other maintenance software or reschedule it to run at a time that NEOSYS is shutdown. Removal of software may require hunting through the windows process list for unexpected programs running.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting Hung processes==&lt;br /&gt;
&lt;br /&gt;
=== Investigating hung NEOSYS processes ===&lt;br /&gt;
&lt;br /&gt;
To find out some information about what the hung processes are suffering from, do the following:&lt;br /&gt;
&lt;br /&gt;
When no important clients working (eg first thing in the morning) then request a shutdown of all NEOSYS processes. This should will leave only the hung processes open.&lt;br /&gt;
&lt;br /&gt;
Then find what NEOSYS files are open as follows:&lt;br /&gt;
&lt;br /&gt;
run Sysinternal&#039;s &amp;quot;Process Explorer&amp;quot; (from Start, Programs or procexp.exe from desktop)&lt;br /&gt;
&lt;br /&gt;
find, handle&lt;br /&gt;
&lt;br /&gt;
 d:\&lt;br /&gt;
&lt;br /&gt;
submit the complete list (maybe more than one page) to support for records&lt;br /&gt;
&lt;br /&gt;
[[Image:invhungprocess.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Troubleshooting_NEOSYS_Generally#Investigating_CPU_100.25_using_Windows_Task_Manager|Investigating CPU 100% using Windows Task Manager]]  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Troubleshooting_NEOSYS_Generally#Solving_server_CPU.25_is_100_and_all_users_are_extremely_slow.2Fstopped|Solving server CPU% is 100 and all users are extremely slow/stopped]] ===&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Fatal Error in Rev Restart&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
[[image:fatal.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Error message: “Abort, Retry, Fail” ===&lt;br /&gt;
==== Problem ====&lt;br /&gt;
The following messages may come on older versions of NEOSYS if there is a problem with the USB media inserted for backup.&lt;br /&gt;
&lt;br /&gt;
[[image:usberror.jpg]]&lt;br /&gt;
&lt;br /&gt;
This results in “NEOSYS has not checked in” message on Nagios since it hangs during the monitoring update and locks all other processes from monitoring too.&lt;br /&gt;
&lt;br /&gt;
General failure writing drive F&lt;br /&gt;
Abort, Retry, Fail?&lt;br /&gt;
&lt;br /&gt;
Not read reading drive F&lt;br /&gt;
Abort, Retry, Fail?&lt;br /&gt;
&lt;br /&gt;
Pressing A or F results in the problem happening again in about a minute, perhaps on a different process.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Temporary solution is to do “Safely remove hardware” from the windows notification area. Using “Eject” from My Computer will not work.&lt;br /&gt;
&lt;br /&gt;
Permanent solution is to replace the defective USB memory stick. Sometime reformatting is sufficient.&lt;br /&gt;
&lt;br /&gt;
Upgrading NEOSYS will probably stop the defective media from causing NEOSYS to hang but the USB will still be useless for backup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Read error in the operating system file&amp;quot; ===&lt;br /&gt;
==== Problem ====&lt;br /&gt;
Nagios reports a hung process and on the server a process has the following message popup.&lt;br /&gt;
&lt;br /&gt;
 Read error in the operating system file &amp;quot;..\DATA\PT0833\ACCOUNTS\REV20049&lt;br /&gt;
 The file does not exist or the filename is&lt;br /&gt;
 not valid for the operating system.&lt;br /&gt;
&lt;br /&gt;
[[Image:readerrorintheoperatingsystemfile.png]]&lt;br /&gt;
&lt;br /&gt;
==== Cause ====&lt;br /&gt;
Some non-NEOSYS program is directly accessing the NEOSYS database files while NEOSYS processes are running and using the files as well.&lt;br /&gt;
&lt;br /&gt;
*Client IT staff using a backup program to perform backup without ensuring that NEOSYS processes are shutdown.&lt;br /&gt;
*A NEOSYS rsync process taking longer than expected due to new USB.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Kill the NEOSYS process eg with the X button. It is advisable NOT to let it run further while it cannot properly access one of its files.&lt;br /&gt;
&lt;br /&gt;
==== Prevention ====&lt;br /&gt;
Remove the third party program or arrange for it to operate only while NEOSYS processes are shutdown eg from 3am-6am.&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Not enough string space - Out of Memory&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
==== Message ====&lt;br /&gt;
&lt;br /&gt;
‘RTP27’ Line 1. [B29] Not enough string space – Out of Memory.&lt;br /&gt;
&lt;br /&gt;
Not enough memory to execute Debugger; current program aborted.&lt;br /&gt;
Press any key to continue&lt;br /&gt;
&lt;br /&gt;
[[Image:out_of_memory.jpg]]&lt;br /&gt;
&lt;br /&gt;
==== Cause ====&lt;br /&gt;
Unknown perhaps related to some large document or report&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Ask users for any hanging transactions.&lt;br /&gt;
None other than closing and starting another process.&lt;br /&gt;
&lt;br /&gt;
Also refer [[Troubleshooting NEOSYS Generally#Enabling EMS memory on Window 2003|Enabling EMS memory on Window 2003]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: B521 ===&lt;br /&gt;
&lt;br /&gt;
[[Image:B521.jpg]] &lt;br /&gt;
&lt;br /&gt;
 Another user is currently updating indexes. &lt;br /&gt;
 Waiting to make your updates...&lt;br /&gt;
 If you interrupt this process,&lt;br /&gt;
 you may have to rebuild all the indexes&lt;br /&gt;
&lt;br /&gt;
B521 message is usually temporary and goes away by itself. If it does not then, as the text of the B521 message makes clear, some OTHER process is holding up the system, preventing the process with B521 message from continuing.&lt;br /&gt;
&lt;br /&gt;
B521 message is a symptom of other problem so it does not itself have some one simple solution. You must find which other process or issue is causing the hold up and solve whatever problem is causing the hold up, which could be anything.&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot; NTVDM encountered a hard error &amp;quot;  ===&lt;br /&gt;
&lt;br /&gt;
The following error message appears:&lt;br /&gt;
&lt;br /&gt;
[[Image:ntvdm.jpg]]&lt;br /&gt;
&lt;br /&gt;
 NTVDM encountered a hard error&lt;br /&gt;
&lt;br /&gt;
==== Solution  ====&lt;br /&gt;
 &lt;br /&gt;
This error is caused by missing or corrupt Windows system files (i.e. command.com, autoexec.nt and config.nt). The solution is to run a program called XP FIX which will reinstall these missing files. You can download it form http://www.visualtour.com/downloads/xp_fix.exe&lt;br /&gt;
&lt;br /&gt;
Sometimes even after running the XP FIX program the error still appears. Then you need to copy all the files under C:/windows/repair to C:/windows/system32 and in the autoexec.nt and config.nt put REM before any lines there which don&#039;t have it.&lt;br /&gt;
&lt;br /&gt;
====Possible fix for some NTVDM errors ====&lt;br /&gt;
&lt;br /&gt;
===== Error message ===== &lt;br /&gt;
&lt;br /&gt;
[[Image:Ntvdm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
 NTVDM has encountered a System error.&lt;br /&gt;
 The system cannot find the file specified.&lt;br /&gt;
 Choose close to terminate the application.&lt;br /&gt;
&lt;br /&gt;
=====Possible solution===== &lt;br /&gt;
&lt;br /&gt;
#Change the TEMP and TMP environment variables to C:\WINDOWS\TEMP. This should be for the user that runs NEOSYS processes - normally administrator.&lt;br /&gt;
#Close all NEOSYS processes &lt;br /&gt;
#Logout/Login again&lt;br /&gt;
#Restart NEOSYS processes&lt;br /&gt;
&lt;br /&gt;
[[image:Ntvdmsoln.png]]&lt;br /&gt;
&lt;br /&gt;
===== Check solution done properly ===== &lt;br /&gt;
&lt;br /&gt;
You can check that by typing ECHO %TEMP% and ECHO %TMP% at a console prompt after logging out and in again. &lt;br /&gt;
&lt;br /&gt;
Note that windows will actually set the windows environment variables to something like C:\WINDOWS\TEMP\2 for some unknown reason. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
d:\hosts&amp;gt;ECHO %temp% &lt;br /&gt;
C:\WINDOWS\TEMP\2 &lt;br /&gt;
&lt;br /&gt;
d:\hosts&amp;gt;ECHO %tmp% &lt;br /&gt;
C:\WINDOWS\TEMP\2 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Error message: [[Troubleshooting_NEOSYS_Generally#Troubleshooting_the_.22Database_not_available.22_error_message|&amp;quot;Database not available&amp;quot; post login]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: [[Backup_and_Restore#Error_Message:_.22Cannot_backup.2Frestore_because_PROCESS1_PROCESS2_.28etc.29_is.2Fare_online.22_message|&amp;quot;Cannot backup/restore because PROCESS1 PROCESS2 (etc) is/are online&amp;quot;]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How to kill hung NEOSYS processes ===&lt;br /&gt;
 &lt;br /&gt;
NOTE WELL: If you kill actively working NEOSYS processes (those which are &amp;quot;listening&amp;quot; and not hung/crashed) there is a reasonable chance that the database will be damaged and might need a restore losing possibly large amounts of work.&lt;br /&gt;
 &lt;br /&gt;
==== If NEOSYS processes are visible on the server desktop ====&lt;br /&gt;
 &lt;br /&gt;
Look for processes which don&#039;t have &amp;quot;Listening ...&amp;quot; on the last but one line. The times on the left hand side are frozen as at the time of the hang.&lt;br /&gt;
 &lt;br /&gt;
You can then click the X to kill the process and confirm that this is OK.&lt;br /&gt;
 &lt;br /&gt;
Example of a NEOSYS process that has hung due to a software error resulting in a failure to handle a complex query with a lot of brand codes.&lt;br /&gt;
&lt;br /&gt;
[[Image:hungprocess.jpg]]&lt;br /&gt;
 &lt;br /&gt;
==== If NEOSYS processes are not visible on the server desktop ====&lt;br /&gt;
&lt;br /&gt;
NEOSYS processes are most of the time visible on the desktop (i.e. the black dos windows) in Windows 2003 OS, except in the case that the process has been scheduled to start on computer restart and no one has logged into the server. In this case it would be running in the background. TODO&lt;br /&gt;
&lt;br /&gt;
You can check if there are any hung processes from the NEOSYS Support Menu, List of Database Processes. &lt;br /&gt;
[[Image:databaseprocesseslist.jpg]]&lt;br /&gt;
&lt;br /&gt;
In this case you should follow the below instructions - however all of them need to be done within 30 seconds of starting the first instruction to avoid inconvenience to the users. It is recommend that you keep relevant windows open before proceeding with the same:&lt;br /&gt;
&lt;br /&gt;
#Shutdown NEOSYS by TEMPORARILY putting a file called GLOBAL.END in the parent directory of NEOSYS (if there is already a GLOBAL.END.TEMP file then rename it to GLOBAL.END). Leaving the file there would prevent NEOSYS from starting up again. Shutting down NEOSYS from the Support menu will not work because of the hung processes.&lt;br /&gt;
#Use Windows Task Manager to kill all the NTVDM processes - assuming that you have closed all the visible NEOSYS processes, then the NTVDM processes in the task manager would be the hung one.&lt;br /&gt;
#Delete GLOBAL.END or rename it to GLOBAL.END.TEMP&lt;br /&gt;
#Restart the processes back again. If there are many datasets then you need to restart them all well within the 30 seconds period.&lt;br /&gt;
#*Restarting a process is not noticed by users.&lt;br /&gt;
&lt;br /&gt;
In case of Patsalides, where we have a thousand datasets which start &amp;quot;on demand&amp;quot; i.e. usually on login; all you need to do is start one dataset which will restart all the other datasets &amp;quot;on demand&amp;quot;. If there is no response within 30 seconds then one of the running datasets will start it up so there appears to be a 30 second delay when you login to one of the thousand datasets the first time on any one day.&lt;br /&gt;
&lt;br /&gt;
=== Temporary workarounds for hung NEOSYS processes ===&lt;br /&gt;
Until the error in the software is fixed users can often get their results by simplifying their requirements. For example select individual clients instead of selecting all the brands for a particular client. If the user has repeated his request (in forlorn hope that it would work finally) then the number of working NEOSYS processes will drop causing severe slowdown for other users and complete stop if all the NEOSYS processes hang.&lt;br /&gt;
&lt;br /&gt;
== Fixing &amp;quot; You do not have sufficient privilege to access this file &amp;quot;  ==&lt;br /&gt;
&lt;br /&gt;
This error message may come up while NEOSYS process startup.&lt;br /&gt;
&lt;br /&gt;
Solution: Close the window and look for NEOSYS processes. In case there is no process, start the NEOSYS process.&lt;br /&gt;
&lt;br /&gt;
[[image:Errormsg.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing &#039;NEOSYS process which opens up in a notepad instead of Microsoft Windows Based Script Host (i.e. DOS window)&#039;==&lt;br /&gt;
&lt;br /&gt;
The NEOSYS process (cmd file) might open up in a notepad, instead of the usual black colour DOS window. This may happen if a JavaScript file is opened using a notepad. Please be very CAREFUL when accessing a .JS and .JSE file and double check that the default program remains wscript.exe. The issue can be fixed by the following:&lt;br /&gt;
&lt;br /&gt;
# Check if Windows Script 5.6/5.7 is installed, IF NOT download and install it from the Microsoft Website.&lt;br /&gt;
# Go to any folder, click on Tools &amp;gt; Folder Options &amp;gt; File Types and find the .JS and .JSE and change the default program to wscript.exe (from windows&amp;gt;system32)&lt;br /&gt;
&lt;br /&gt;
== Fixing a &#039;Could not start&#039; error on Scheduled Tasks in Windows Server 2000 SP4 ==&lt;br /&gt;
&lt;br /&gt;
This error occurs because of a change that is made to the data that is stored in the credentials database when you install Windows 2000 SP4. Hence installing SP4 causes the the data that is stored in the credentials database to get converted to an SP4-compatible format. A registry key is configured to indicate that the data has been converted to the SP4 format.&lt;br /&gt;
&lt;br /&gt;
Hence the Scheduled Tasks do not work sometimes. However the Scheduled Tasks works fine sometimes, but when you uninstall SP4, it does not work.&lt;br /&gt;
&lt;br /&gt;
The best solution is to:&lt;br /&gt;
&lt;br /&gt;
# Incase Scheduled Tasks do not work after installing SP4, then uninstall SP4 and it should be fine.&lt;br /&gt;
# Incase Scheduled Tasks works after installing SP4, and later after uninstalling SP4, it does not work, then install SP4 and it should be fine.&lt;br /&gt;
&lt;br /&gt;
== Checking for server or NEOSYS crashes ==&lt;br /&gt;
 &lt;br /&gt;
#NEOSYS Maintenance Mode&lt;br /&gt;
#General Menu, Setup, Processes&lt;br /&gt;
#Select the dates and the option Detailed&lt;br /&gt;
 &lt;br /&gt;
This report shows a list of dates and times that NEOSYS logged in but did not log out properly.&lt;br /&gt;
 &lt;br /&gt;
Ignore the very latest entries since they represent the current NEOSYS processes. For example, if you have four NEOSYS processes running at the time that you get the report (including any in maintenance mode) then you can ignore the last four entries.&lt;br /&gt;
 &lt;br /&gt;
The date and time shows for each process that has failed to shutdown correctly when the process logged in. Versions of NEOSYS from January 2008 will also show the date and time that each crashed NEOSYS process was last active (heartbeat) so that the time of failure can be known.&lt;br /&gt;
 &lt;br /&gt;
If you see a bunch of NEOSYS processes all started up at around the same time but all failed to shutdown correctly then the cause will be a server failure - usually power failure.&lt;br /&gt;
 &lt;br /&gt;
Isolated one-off failures will be related to individual NEOSYS process crashes - most commonly caused by one of the following:&lt;br /&gt;
 &lt;br /&gt;
#NEOSYS hanging to due to software failure&lt;br /&gt;
#Manually exiting a NEOSYS process on the server either by pressing Ctrl+Alt+Del or clicking the &amp;quot;X&amp;quot; close icon/box and ignoring the warning&lt;br /&gt;
#Random server failures eg memory, disk etc&lt;br /&gt;
 &lt;br /&gt;
Example:&lt;br /&gt;
 &lt;br /&gt;
 LOGIN 22/12/2007 06:02 NEOSYS SERVER ADAGENCY         Current workstation &lt;br /&gt;
 LOGIN 23/12/2007 06:00 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 06:01 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 06:02 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:52 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:52 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:53 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:00 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:01 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:02 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 13:51 NEOSYS SERVER NEOSYS         Current user session  &lt;br /&gt;
&lt;br /&gt;
Interpretation:&lt;br /&gt;
 &lt;br /&gt;
The first four entries indicate that all four NEOSYS processes started at 06am were suddenly killed probably by power failure&lt;br /&gt;
 &lt;br /&gt;
The next four entries indicate that NEOSYS was restarted at around 08:52 and all these processes were AGAIN killed probably by power failure&lt;br /&gt;
 &lt;br /&gt;
The last four entries can be ignored because there were four NEOSYS processes running at the time that the report was generated&lt;br /&gt;
&lt;br /&gt;
== Searching for word/number in the database files using maintenance mode ==&lt;br /&gt;
&lt;br /&gt;
You can search for any word/number in the database files of NEOSYS, using the following command line:&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 FIND FILENAME WORDWITHOUTANYSPACES&lt;br /&gt;
 &lt;br /&gt;
 For eg:&lt;br /&gt;
 FIND CURRENCIES 1.1&lt;br /&gt;
 (here you are searching for the number 1.1 in the currencies file) You CANNOT search for a phrase ie include spaces like this.&lt;br /&gt;
 &lt;br /&gt;
 Or you can also type:&lt;br /&gt;
 FIND FILENAME &amp;lt;enter&amp;gt;&lt;br /&gt;
 and it will ask you what you want do to search. You can enter an exact phrase with spaces.&lt;br /&gt;
&lt;br /&gt;
Incase you do not know the filenames, you can enter the following command to see all the filenames in the system:&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 LF&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting a Service Unavailable message on Internet Explorer when opening up NEOSYS ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&lt;br /&gt;
The following error message appears in Internet Explorer when you try to open up NEOSYS:&lt;br /&gt;
&lt;br /&gt;
 Service Unavailable&lt;br /&gt;
&lt;br /&gt;
=== Solution  ===&lt;br /&gt;
 &lt;br /&gt;
Open the IIS Manager, right click Web Sites and select properties:&lt;br /&gt;
[[Image:serviceunavailable1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Switch to the Service Tab and tick the &amp;quot;Run WWW Service in IIS 5.0 Isolation Mode&amp;quot;.&lt;br /&gt;
[[Image:serviceunavailable2.jpg]]&lt;br /&gt;
&lt;br /&gt;
You will be asked for Restart of IIS. Click yes to restart IIS. If you are not asked just restart IIS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Inspecting IIS log files ==&lt;br /&gt;
&lt;br /&gt;
At a windows command prompt:&lt;br /&gt;
&lt;br /&gt;
 c:&lt;br /&gt;
 cd \Windows\system32\LogFiles\W3SVC1&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 %SystemDrive%&lt;br /&gt;
 cd %SystemRoot%&lt;br /&gt;
 cd system32\LogFiles\W3SVC1&lt;br /&gt;
&lt;br /&gt;
then (substituting the ip number you are interested in)&lt;br /&gt;
&lt;br /&gt;
 find &amp;quot;192.168.1.55&amp;quot; *|sort&amp;gt;temp.log&lt;br /&gt;
&lt;br /&gt;
Open temp.log in Excel and use Tools, Data, Text to Columns to split into columns using options &amp;quot;Delimited&amp;quot; and check split on Space.&lt;br /&gt;
&lt;br /&gt;
Autowidth all columns by clicking on the top left box just outside the data to the left of column A and above column 1 then double click the column separator to the right of column &amp;quot;A&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note that times and dates are in UTC/GMT so you have to add/subtract your timezone offset to get local times.&lt;br /&gt;
&lt;br /&gt;
==Inspecting Database LOGS Folder==&lt;br /&gt;
LOGS folder in NEOSYS installation folder carries records of all changes done in the database which includes adding and removal of data.&lt;br /&gt;
&lt;br /&gt;
Log file is an XML document which should be viewed in Notepad. Each XML document represents commands executed by each NEOSYS process started each day.&lt;br /&gt;
&lt;br /&gt;
The NEOSYS log files e.g. 15123103.xml are created by the database processes. If the database is not available according to the website then no entry will appear in that log. The request will appear in the IIS website log but that log is nothing to do with database processes.&lt;br /&gt;
&lt;br /&gt;
=== Understanding Log Entries ===&lt;br /&gt;
Inspecting and searching through Logs file allows NEOSYS staff to answer clients queries like &amp;quot;Who deleted schedule XXXX&amp;quot; etc.&lt;br /&gt;
&lt;br /&gt;
While going through the log file you may come across a request &amp;quot;EXECUTE GENERAL GETTASKS NOT&amp;quot;, this request is concerned with getting a list of tasks that the user is *not* allowed to do.&lt;br /&gt;
&lt;br /&gt;
To read and understand the log file with more ease, copy the portion of the log file required to be analyzed into another text editor.&lt;br /&gt;
&lt;br /&gt;
The text that appears as %FE, %FE1, %FE2, etc. are basically separators.&lt;br /&gt;
*First replace FE0%, FE1%, FE2%, etc. with a separator like &amp;quot;--&amp;quot;. There can be occurrences of &amp;quot;%FE&amp;quot; along with some valuable information like &amp;quot;17290&amp;quot;, so replacing &amp;quot;%FE1&amp;quot; in &amp;quot;%FE17290&amp;quot; would lead to loss of information.&lt;br /&gt;
*Then replace %FE with a bigger separator like &amp;quot;===&amp;quot;.&lt;br /&gt;
*Replace other entries like %FCB and then %FC and so on with similar separators.&lt;br /&gt;
*In the end there may be few &amp;quot;FE&amp;quot; remaining, replace these with a separator like &amp;quot;-&amp;quot;.&lt;br /&gt;
*The remaining &amp;quot;%&amp;quot; characters MUST be intelligently replaced with a separator like &amp;quot; &amp;quot; (space), because it can either be an actual &amp;quot;%&amp;quot; or it can be a residue from &amp;quot;%FE&amp;quot;, &amp;quot;%FE1&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
Once replacing all these characters is done, the log file will be more easily readable and vital information will be clearer. &lt;br /&gt;
&lt;br /&gt;
In the log file, you may find numbers like 17290, 17195, etc. These numbers denote dates selected or entered by the NEOSYS user. These are basically the number of days from 31st December 1967 till the date chosen by the user. For example, to convert 17290 to actual date, 31/12/1967 + 17290 = 3/5/2015. So the actual date is 3rd May 2015.&lt;br /&gt;
&lt;br /&gt;
To convert these numbers to dates using maintenance mode, refer to the article [http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Finding_out_when_and_by_whom_a_record_was_deleted Finding out when and by whom a record was deleted]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:NEOSYS Logs.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing NEOSYS processes that do not auto start / Recovering from incorrect advanced date or time ==&lt;br /&gt;
This solution is applicable to live database processes only. Test database processes don’t auto-start any other processes.&lt;br /&gt;
&lt;br /&gt;
=== Problem explained ===&lt;br /&gt;
After starting up the 1st process, the rest of the processes don&#039;t start up.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
The possible cause for this could be that the system date/time might have been changed - either manually or by the auto synchronization. Do the following checks in the sequence of order:&lt;br /&gt;
&lt;br /&gt;
# Check for any *.$* files (* after dollar sign should show a number, the highest being the latest one). If it shows OK, then proceed ahead.&lt;br /&gt;
# Check for any .end files and delete it to rename to .end.temp&lt;br /&gt;
# Check the System Event Viewer log for any 520 or 577 error message (refer http://128.175.24.251/forensics/timechange.htm). Also check for any out of sequence / ahead of today date or time.&lt;br /&gt;
# In case of no 520 or 577 error message, go to Administrative Tools &amp;gt; Local Security Policy &amp;gt; Local Policies &amp;gt; Audit Policy &amp;gt; Audit Privilege use - make sure that Success and Failure are selected under this (this will ensure that future changes to the date/time are recorded in the System Log).&lt;br /&gt;
# In NEOSYS maintenance mode - F5 ED PROCESSES %UPDATE% - and see what it says, incase of any text (only text, not numbers) there, that means that for sure the system date has been changed. To fix this, exit the editor by pressing the ESCAPE key and then type DELETE PROCESSES &amp;quot;%UPDATE%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Fixing NEOSYS maintenance mode not starting up == &lt;br /&gt;
&lt;br /&gt;
Problem :- While trying to start maintenance mode, the maintenance window closes automatically within a split second.&lt;br /&gt;
&lt;br /&gt;
Solution :- Delete the read-only file REVBOOT file (under d:/neosys/neosys folder). REVBOOT file is recreated when you start maintenance mode.&lt;br /&gt;
&lt;br /&gt;
== Recognising and Solving Low Memory Problems ==&lt;br /&gt;
&lt;br /&gt;
Quick Note: Installing a server class operating system on a workstation class computer with the intention of NEOSYS serving a heavy load is likely to cause problems with low memory.&lt;br /&gt;
&lt;br /&gt;
Quick Fix: Disable *ALL* non-essential features in the power-on setup menu.&lt;br /&gt;
&lt;br /&gt;
=== Effects ===&lt;br /&gt;
&lt;br /&gt;
It is speculated but not proven that low memory may cause NEOSYS to fail by hanging, causing damaged files etc.&lt;br /&gt;
&lt;br /&gt;
=== Checking ===&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 MEMORY&lt;br /&gt;
&lt;br /&gt;
On server class machines it should say somewhere around 350Kb to 370Kb Free&lt;br /&gt;
&lt;br /&gt;
Some server class machines have around 330Kb and sometimes even less with no reported problems&lt;br /&gt;
&lt;br /&gt;
The actual effect of low memory is supposed to make NEOSYS slower and perhaps cause hanging and damaged files however this has not been proven in an specific case so far.&lt;br /&gt;
&lt;br /&gt;
On workstation class machines it may often say around 280Kb to 300Kb.&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
Although there is plenty of real memory in virtually all computers now, NEOSYS runs in the legacy 16 bit virtual memory space of a windows mode called NTVDM. This is limited to 1Mb plus 4Mb of EMS memory.&lt;br /&gt;
&lt;br /&gt;
The 1Mb memory space is shared with:&lt;br /&gt;
&lt;br /&gt;
#Various non-essential windows drivers which NEOSYS automatically disables them in autoexec.nt&lt;br /&gt;
#Various plug and play hardware device drivers for the various adapters in the computer like video, network adapters and various other items that NEOSYS is unable to disable.&lt;br /&gt;
&lt;br /&gt;
In a server class computer the hardware device drivers are usually minimally present in the 1Mb base memory and do not therefore DOESNT a low memory situation for NEOSYS.&lt;br /&gt;
&lt;br /&gt;
In workstation class computers there are often many hardware device drivers present in the 1Mb base memory and this DOES causes a low memory situation for NEOSYS.&lt;br /&gt;
&lt;br /&gt;
When NEOSYS is installed on workstation class computers with XP there is usually not a heavy load expectation and therefore the low memory does not cause a problem.&lt;br /&gt;
&lt;br /&gt;
If Windows Server OS is installed on a workstation class computer NEOSYS may well be expected to serve a heavy load with limited amounts of memory.&lt;br /&gt;
&lt;br /&gt;
Workstation class computers: hardware drivers present and EMS is installed in low memory (0000-9FFF) causing low memory for NEOSYS and possible inability to &lt;br /&gt;
&lt;br /&gt;
Server class computers: Usually few hardware drivers are present in high part (A000-FFFF) of the 1Mb base memory and EMS is able to occupy the high memory leaving the low part (0000-9FFFF) of the 1Mb memory free for NEOSYS. You can find out how much memory is available to NEOSYS and whether EMS is occuping high or low memory using the following sections.&lt;br /&gt;
&lt;br /&gt;
=== Fixing Low Memory ===&lt;br /&gt;
&lt;br /&gt;
Start, Run, notepad c:\windows\system32\autoexec.nt&lt;br /&gt;
&lt;br /&gt;
Every time NEOSYS starts it tries to make some changes as follow:&lt;br /&gt;
&lt;br /&gt;
#replaces all lines in C:/WINDOWS/SYSTEM32/AUTOEXEC.NT starting with &#039;lh &#039; to start with &#039;rem NEOSYS LH &#039; instead.&lt;br /&gt;
#changes the line in C:/WINDOWS/SYSTEM32/CONFIG.NT &amp;quot;files=...&amp;quot; to &amp;quot;FILES=200&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The replacement is case sensitive triggered on &#039;lh&#039; and &#039;files&#039; so if you manually edit the files and remove the rem or change the number of files and leave the LH and FILES in uppercase then NEOSYS will NOT make further changes. This allows you to do manual amendments to the files without NEOSYS overwriting them.&lt;br /&gt;
&lt;br /&gt;
Check that NEOSYS has successfully disabled all the drivers in the lines starting with LH.&lt;br /&gt;
&lt;br /&gt;
They should be commented out (prefixed) with REM or REM NEOSYS as follows.&lt;br /&gt;
&lt;br /&gt;
After making changes reopen NEOSYS in maintenance mode to use the MEMORY and WHO commands again.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REM Install CD ROM extensions&lt;br /&gt;
REM NEOSYS LH %SystemRoot%\system32\mscdexnt.exe&lt;br /&gt;
&lt;br /&gt;
REM Install network redirector (load before dosx.exe)&lt;br /&gt;
REM NEOSYS LH %SystemRoot%\system32\redir&lt;br /&gt;
&lt;br /&gt;
REM Install DPMI support&lt;br /&gt;
REM NEOSYS LH %SYSTEMROOT%\SYSTEM32\DOSX&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Low Memory Issues in Windows 2003 server can be fixed using instructions mentioned at [http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Enabling_EMS_memory_on_Window_2003 Fixing Low Memory in Windows 2003 Server]&lt;br /&gt;
&lt;br /&gt;
=== Allowing DOS programs that require DOSX to run on the same computer as NEOSYS ===&lt;br /&gt;
&lt;br /&gt;
The automatic commenting out DOSX by NEOSYS will prevent some other DOS-like programs from running. If NEOSYS is on dedicated server then there should be no other such programs to fail. However, if you must allow DOS-like programs to work as well as NEOSYS you can do the following configuration:&lt;br /&gt;
&lt;br /&gt;
#leave or restore the original AUTOEXEC.NT and CONFIG.NT files where they are&lt;br /&gt;
#copy them to another folder eg neosys folder&lt;br /&gt;
#make the necessary REM changes there by hand&lt;br /&gt;
#right click the NEOSYS\NEOSYS\AREV.PIF and select properties&lt;br /&gt;
#change the location of the AUTOEXEC.NT and CONFIG.NT files in the following location&lt;br /&gt;
&lt;br /&gt;
[[image:pifsettings.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Checking EMS Memory Configuration ===&lt;br /&gt;
&lt;br /&gt;
==== Inspection ====&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 WHO&lt;br /&gt;
&lt;br /&gt;
 press the up arrow to get to the last part/page&lt;br /&gt;
&lt;br /&gt;
===== Example of Typical Server EMS Memory =====&lt;br /&gt;
[[image:serveremm.jpg]]&lt;br /&gt;
&lt;br /&gt;
===== Example of Typical Workstation EMS Memory =====&lt;br /&gt;
[[image:workstationemm.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Correction====&lt;br /&gt;
&lt;br /&gt;
No easy way&lt;br /&gt;
&lt;br /&gt;
Removal of hardware adapters designed for workstations instead of servers eg graphics cards and network cards.&lt;br /&gt;
&lt;br /&gt;
Many of the devices may be located on the motherboard and not relocatable except possibly by BIOS configuration or special manufacturer information.&lt;br /&gt;
&lt;br /&gt;
Use windows device manager, View: Resources by Connection, Open the Memory item and look for items between 000A0000 up to 000FFFFF that might give you a clue as to what hardware could be removed or reconfigured. Actually only 000C0000 to 000FFFFF is candidate for EMS memory since 000A000-000BFFFF is mandatory video memory in all systems.&lt;br /&gt;
&lt;br /&gt;
[[image:devicemanager.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing issue where NEOSYS processes do not start-up at all or start-up and close immediately ==&lt;br /&gt;
&lt;br /&gt;
# Find if a file with the name global.end exists in the root directory of the NEOSYS installation. Eg D:\global.end . If you find such a file, rename it to global.end.temp - for more information on global.end and what it does refer to [[Administering_NEOSYS_Server#Closing_NEOSYS_Services|Closing NEOSYS Services]]&lt;br /&gt;
# If the above didn&#039;t fix the problem and NEOSYS still does not start, do a windows search for the entire NEOSYS folder for *.end (i.e. any file ending with .end extension). You may find a (databasecode).end file in D:\neosys\neosys folder which is created by the NEOSYS program during backup at 1 am and later on removed automatically. In this case NEOSYS program might have crashed during the backup and left this file behind. (databasecode).end files prevent other other NEOSYS processes starting up on the database while exclusive processes (like backup) are being done.&lt;br /&gt;
&lt;br /&gt;
In case the above didn&#039;t fix the problem then escalate to the programmer immediately.&lt;br /&gt;
&lt;br /&gt;
=== Solving &amp;quot;Control Record&amp;quot; error in maintenance mode ===&lt;br /&gt;
&lt;br /&gt;
If processes dont start after you log into maintenance mode and you get an error message&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔════[FS152]═══════════════════════════════════════╗&lt;br /&gt;
║          The control record &amp;quot;RECORDS&amp;quot;            ║&lt;br /&gt;
║           is too long to be saved.               ║&lt;br /&gt;
║   The current record length is 65539 characters. ║&lt;br /&gt;
║                                                  ║&lt;br /&gt;
║               &amp;lt; Press any key &amp;gt;                  ║&lt;br /&gt;
╚══════════════════════════════════════════════════╝  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[File:Record1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1&#039;&#039;&#039;. Press space to get rid of the error message and you should then get this menu&lt;br /&gt;
&lt;br /&gt;
[[File:Record2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2&#039;&#039;&#039;. Press F5 and run this command (case sensitive)&lt;br /&gt;
&lt;br /&gt;
 DICT DEFINITIONS&lt;br /&gt;
&lt;br /&gt;
or Press Alt+S and run this command (case sensitive)&lt;br /&gt;
&lt;br /&gt;
 EXECUTE DICT DEFINITIONS&lt;br /&gt;
&lt;br /&gt;
[[File:Record3.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3&#039;&#039;&#039;. Press Shift+F3 to get the following message&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔══[B202]══════════════════════════════════╗&lt;br /&gt;
║            &amp;quot;DEFINITIONS&amp;quot; has             ║&lt;br /&gt;
║          &amp;quot;QUICKDEX&amp;quot; installed            ║&lt;br /&gt;
║                                          ║&lt;br /&gt;
║ Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N]  ║&lt;br /&gt;
║                                          ║&lt;br /&gt;
║ &amp;lt;Y                                      &amp;gt;║&lt;br /&gt;
╚══════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4&#039;&#039;&#039;. Press Enter to choose Yes.&lt;br /&gt;
&lt;br /&gt;
[[File:Record4.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5.&#039;&#039;&#039;Restart NEOSYS to see if the problem has been solved&lt;br /&gt;
&lt;br /&gt;
== Solving “page not found” when downloading some file types after uploading them successfully ==&lt;br /&gt;
=== One by One ===&lt;br /&gt;
&lt;br /&gt;
Windows web server will not download file types that it is unaware of. You can enable the download of new file types one by one as follows.&lt;br /&gt;
&lt;br /&gt;
This process is tedious and error-prone if you have to add many type.&lt;br /&gt;
&lt;br /&gt;
#Computer Management&lt;br /&gt;
#Services and Applications&lt;br /&gt;
#IIS properties&lt;br /&gt;
#Mime Types&lt;br /&gt;
#Add&lt;br /&gt;
&lt;br /&gt;
=== Many ===&lt;br /&gt;
&lt;br /&gt;
Window Server 2003 is unaware of all the Office 2007+ file types. To add all Office 2007+ file types at once do the following:&lt;br /&gt;
&lt;br /&gt;
Stop IIS&lt;br /&gt;
&lt;br /&gt;
 iisreset /stop&lt;br /&gt;
&lt;br /&gt;
Open the list of mime types&lt;br /&gt;
&lt;br /&gt;
*Start, Run, notepad C:\WINDOWS\system32\inetsrv\MetaBase.xml&lt;br /&gt;
&lt;br /&gt;
Search the file for “xlsx” and quit the editor if already inserted.&lt;br /&gt;
&lt;br /&gt;
Otherwise, find the following line,&lt;br /&gt;
&lt;br /&gt;
  .xml,text/xml&lt;br /&gt;
&lt;br /&gt;
and insert after that line the following lines. They do not need to be indented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.docm,application/vnd.ms-word.document.macroEnabled.12&lt;br /&gt;
.docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document&lt;br /&gt;
.dotm,application/vnd.ms-word.template.macroEnabled.12&lt;br /&gt;
.dotx,application/vnd.openxmlformats-officedocument.wordprocessingml.template&lt;br /&gt;
.potm,application/vnd.ms-powerpoint.template.macroEnabled.12&lt;br /&gt;
.potx,application/vnd.openxmlformats-officedocument.presentationml.template&lt;br /&gt;
.ppam,application/vnd.ms-powerpoint.addin.macroEnabled.12&lt;br /&gt;
.ppsm,application/vnd.ms-powerpoint.slideshow.macroEnabled.12&lt;br /&gt;
.ppsx,application/vnd.openxmlformats-officedocument.presentationml.slideshow&lt;br /&gt;
.pptm,application/vnd.ms-powerpoint.presentation.macroEnabled.12&lt;br /&gt;
.pptx,application/vnd.openxmlformats-officedocument.presentationml.presentation&lt;br /&gt;
.xlam,application/vnd.ms-excel.addin.macroEnabled.12&lt;br /&gt;
.xlsb,application/vnd.ms-excel.sheet.binary.macroEnabled.12&lt;br /&gt;
.xlsm,application/vnd.ms-excel.sheet.macroEnabled.12&lt;br /&gt;
.xlsx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet&lt;br /&gt;
.xltm,application/vnd.ms-excel.template.macroEnabled.12&lt;br /&gt;
.xltx,application/vnd.openxmlformats-officedocument.spreadsheetml.template&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save the file with File and Exit&lt;br /&gt;
&lt;br /&gt;
Restart IIS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Handling Neosys Automatic Upgrade Error Messages ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
We will receive an email from the NEOSYS client installation with the following message:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;UPGRADEN.EXE&amp;quot; does not have expected exe MZ signature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
This message is a note that the NEOSYS automatic update procedure failed to download an upgrade file correctly.&lt;br /&gt;
This happens sometimes due to network issues but can be ignored because the file will be probably be correctly downloaded on the next automatic update check.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This message is only informative to help with any problem with the automatic upgrade procedure and may be removed in a later version of neosys (currently Oct 2012)&lt;br /&gt;
&lt;br /&gt;
== Testing https connection ==&lt;br /&gt;
&lt;br /&gt;
The following procedure tests that the https server is operational and not blocked by firewall etc. It does not detect certificate errors.&lt;br /&gt;
&lt;br /&gt;
From a windows command prompt use the following telnet command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
telnet clientname.hosts.neosys.com 4430&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
#4430 is the usual NEOSYS http port but replace it by whatever port is actually used for NEOSYS https on the system being tested. If there are multiple https installations on a particular server then different ports are probably used&lt;br /&gt;
#Replace clientname.hosts.neosys.com with the normal https login domain name of the client for whom we want to check the https service&lt;br /&gt;
&lt;br /&gt;
Normal behavior is that it should open a black screen. Pressing Enter or any key returns the _ character. (Close the window using the [X] since there is no keyboard command to do so)&lt;br /&gt;
&lt;br /&gt;
Hanging means that there is some connectivity issue (firewall/ip/server not running/https not installed etc)&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;quot;page not found&amp;quot; error while using https ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#The https service stops working and gives &amp;quot;Page not found&amp;quot; error.&lt;br /&gt;
#The https connection tests fine using telnet (see article above)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#Reinstall https using the usual procedure (currently using selfssl)&lt;br /&gt;
#Email clients, requesting to reinstall the new security certificate by following the instructions for [http://userwiki.neosys.com/index.php/Setting_up_and_Configuring_NEOSYS_Generally#Fixing_HTTPS_certificate_error_when_logging_in_from_an_external_link_using_IE8.2C_IE9_and_IE10 Internet Explorer] or [http://userwiki.neosys.com/index.php/Configuring_Safari_for_MAC_OS#Fixing_HTTPS_certificate_error_when_logging_in_using_an_external_link_using_MAC_Operating_System Safari] browser.&lt;br /&gt;
&lt;br /&gt;
== Installing &amp;quot;QUICKDEX&amp;quot; on some files ==&lt;br /&gt;
&amp;quot;Quickdex&amp;quot; is a type of index that keeps an alphabetical order on small files. In some maintenance procedures you may be asked to &amp;quot;install Quickdex&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For example to add a quickdex to the UNITS file.&lt;br /&gt;
&lt;br /&gt;
Maintenance mode press F5&lt;br /&gt;
&lt;br /&gt;
 DICT UNITS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=================Dictionary=================┐&lt;br /&gt;
│                                            │&lt;br /&gt;
│  File name      UNITS                      │&lt;br /&gt;
│  Field name     .........................  │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Dict type                                 │&lt;br /&gt;
│  Single/Multi                              │&lt;br /&gt;
│  Data type                                 │&lt;br /&gt;
│  Output format                             │&lt;br /&gt;
│  Validation patterns                       │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Position              Key part            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Column heading                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Justification     Display length          │&lt;br /&gt;
│  Description                               │&lt;br /&gt;
│                                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
L============================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Shift+F3.&lt;br /&gt;
&lt;br /&gt;
If it says &amp;quot;Do you want to remove ...&amp;quot; then Quickdex has already been installed and you should not continue. Press Esc to cancel, then Esc to quit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[B202]==================================┐&lt;br /&gt;
│                                         │&lt;br /&gt;
│               &amp;quot;UNITS&amp;quot; has               │&lt;br /&gt;
│          &amp;quot;QUICKDEX&amp;quot; installed.          │&lt;br /&gt;
│                                         │&lt;br /&gt;
│ Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N] │&lt;br /&gt;
│                                         │&lt;br /&gt;
│&amp;lt;Y                                      &amp;gt;│&lt;br /&gt;
L=========================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise it should say &amp;quot;Do you want to install ...&amp;quot;. Press Enter to accept.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[W963]============================┐&lt;br /&gt;
│                                   │&lt;br /&gt;
│     Do you want to install a      │&lt;br /&gt;
│ Quickdex or Rightdex index? [Q/R] │&lt;br /&gt;
│                                   │&lt;br /&gt;
│&amp;lt;Q                                &amp;gt;│&lt;br /&gt;
L===================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It should then say &amp;quot;Do you want to update ...&amp;quot;. Press Enter to accept.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[W901]========================================┐&lt;br /&gt;
│                                               │&lt;br /&gt;
│           The &amp;quot;UNITS&amp;quot; file has had            │&lt;br /&gt;
│ the &amp;quot;QUICKDEX&amp;quot; modifying filing system added. │&lt;br /&gt;
│        There are 0 records in &amp;quot;UNITS&amp;quot;.        │&lt;br /&gt;
│                                               │&lt;br /&gt;
│    Do you want to update &amp;quot;QUICKDEX&amp;quot;? [Y/N]    │&lt;br /&gt;
│                                               │&lt;br /&gt;
│&amp;lt;Y                                            &amp;gt;│&lt;br /&gt;
L===============================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards it should return to the initial screen. Press Esc to quit.&lt;br /&gt;
&lt;br /&gt;
== Solving NEOSYS smtp server failure ==&lt;br /&gt;
In case the neosys smtp server fails then we can just use the client&#039;s smtp server.&lt;br /&gt;
&lt;br /&gt;
The following information is required from the client&#039;s smtp server configuration:&lt;br /&gt;
#hostname&lt;br /&gt;
#username&lt;br /&gt;
#password&lt;br /&gt;
#port no. (most likely = 25)&lt;br /&gt;
&lt;br /&gt;
These details should be entered in the &#039;&#039;&#039;System Configuration File&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
[[image:SYSCFGFILE-SMTP.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Strange characters in maintenance mode ==&lt;br /&gt;
While in Maintenance mode, pressing keys on keyboard gives strange characters. Even Enter and Esc don’t work. &lt;br /&gt;
&lt;br /&gt;
This problem has been seen using RDP on:&lt;br /&gt;
*Window Server 2003 Web Edition&lt;br /&gt;
*Windows Server 2003 R2 SP2&lt;br /&gt;
&lt;br /&gt;
[[image:strangecharmaint.jpg]] &lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
#Go to Windows -&amp;gt; control panel&lt;br /&gt;
#Go to Regional and Language Options &lt;br /&gt;
#Click on Languages tab then click on Details &amp;lt;br&amp;gt; [[image:lang1.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
#Click on Settings Tab and Change default input language to English (United States)&amp;lt;br&amp;gt;(or perhaps something else depending on rdp keyboard) &amp;lt;br&amp;gt; [[image:lang2.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== NEOSYS processes do not start after Windows Update  ==&lt;br /&gt;
&lt;br /&gt;
===Problem===&lt;br /&gt;
Scheduled Task to start the NEOSYS processes fail on Servers with Windows 2008 after Windows update. Support will have to log into the server to start the processes manually&lt;br /&gt;
Message on the Schedule Task displays &amp;quot; The operation being requested was not performed because the user has not logged on to the network. The specified service does not exit &amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[image:sti.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Solution===&lt;br /&gt;
&lt;br /&gt;
For clients who cannot tolerate manual intervention after server reboots for any reason (e.g.need to start work before NEOSYS support is available or on NEOSYS support weekends), tick &amp;quot;highest privileges&amp;quot; and &amp;quot;run whether the user is logged in or not&amp;quot;. This approach means that NEOSYS processes which are started by the windows scheduled task are not visible on the desktop and run hidden in the background and only listed in task manager, so avoid this approach on small clients (only few users). Avoiding this approach will also serve to act as an indicator of server restarts.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting NEOSYS remote support port forwarding ==&lt;br /&gt;
This assumes that you have already “port forwarded” tcp port 19580 from your public internet router to the NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
=== Tst 0 - Check if SSH is working on the NEOSYS Server ===&lt;br /&gt;
Type in the following command in command prompt:&lt;br /&gt;
 telnet 127.0.0.1 19580&lt;br /&gt;
&lt;br /&gt;
IF ALL OK you will see the following:&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-03.jpg]] &lt;br /&gt;
&lt;br /&gt;
=== Test 1 - Check if SSH is basically working on NEOSYS server over the LAN ===&lt;br /&gt;
You must know and use the NEOSYS SERVER LAN IP to do this.&lt;br /&gt;
&lt;br /&gt;
 telnet ???.???.???.??? 19580&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-01.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
If you have the WRONG SERVER LAN IP or NEOSYS server SSH is NOT working then it will hang for about 15 seconds and then say “Could not open connection to host …”&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-02.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
OR IF ALL OK you will see the following:&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-03.jpg]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Press Enter to Exit&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-04.jpg]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Test 2 - Check if can connect to the NEOSYS ssh from OUTSIDE the office  ===&lt;br /&gt;
From any internet connected computer OUTSIDE the office test if you can connect to NEOSYS ssh service. You cannot do this test from inside the office.&lt;br /&gt;
&lt;br /&gt;
You need to know the public ip or domain name of the router. If the router IP is dynamic then NEOSYS sets up dynamic name server so instead of a static ip number you will have a domain name something like clientxyz.redirectme.net.&lt;br /&gt;
&lt;br /&gt;
Enter the command .. using YOUR public internet IP number (NOT the LAN ip number) or the dynamic domain name.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-05.jpg]]  &lt;br /&gt;
&lt;br /&gt;
If everything is working OK you will get a black screen as follows. You will NOT get the “SSH-2.0-OpenSSH-4.7” banner” because NEOSYS ssh remote support is restricted to connect ONLY from LAN ip nos and NEOSYS office ip nos.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-06.jpg]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you press Enter a few times then the cursor will just go down. You have click the [X] to close the window.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-07.jpg]]  &lt;br /&gt;
&lt;br /&gt;
=== Test 3 - Check that the ssh connection from step 2 was rejected  ===&lt;br /&gt;
On the NEOSYS server, check the Windows Application log to verify that an SSH connection was rejected.&lt;br /&gt;
&lt;br /&gt;
The rejected ip number will be of the system outside the office that you performed the test from.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-08.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Sample Email: Solving port 19580 port forwarding issues ===&lt;br /&gt;
&lt;br /&gt;
Some IT people know how to troubleshoot port forwarding issues but others are mostly just power users who can configure a home router. If the IT person is in the second category then it is quicker for NEOSYS support to offer to configure their router from the NEOSYS server using Teamviewer. Ideally NEOSYS should not be doing client IT work but if client IT allows NEOSYS access to their router then NEOSYS support can make a brief attempt to do the configuration. If the issue is still unresolved then request the client to get a professional IT network expert to do the job and inform them that NEOSYS will not be able to provide them any support till connectivity is fixed. Below is a letter advising a more skilled person to check connections using telnet which is a low level test.&lt;br /&gt;
&lt;br /&gt;
You can usually determine the NEOSYS server LAN IP number from Nagios. If so then adjust the email text appropriately.&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Dear XYZ,&lt;br /&gt;
&lt;br /&gt;
It is highly critical to fix the connectivity with the NEOSYS server because NEOSYS will not be able to provide any support until&lt;br /&gt;
connectivity is fixed. User support issues will be delayed and remain unresolved if you do not fix this issue URGENTLY.&lt;br /&gt;
&lt;br /&gt;
At the moment there is no connection from the internet via your router to the NEOSYS server and when we do the following, &lt;br /&gt;
we get no connection. &lt;br /&gt;
&lt;br /&gt;
   telnet CLIENTNAME.support.neosys.com 19580&lt;br /&gt;
&lt;br /&gt;
Normally it should connect and presents a black screen (saying SSH something after pressing Enter) which we close.&lt;br /&gt;
&lt;br /&gt;
Please check that you can connect to the NEOSYS server internally by using the NEOSYS server IP address in the following command on any&lt;br /&gt;
computer in your LAN.&lt;br /&gt;
&lt;br /&gt;
    telnet 192.168.?.? 19580&lt;br /&gt;
&lt;br /&gt;
If you can connect to the NEOSYS server internally then please check port forwarding.&lt;br /&gt;
&lt;br /&gt;
Additionally check the following:&lt;br /&gt;
1. Has your router IP changed?&lt;br /&gt;
2. Has your server’s LAN IP changed and are you forwarding to the correct LAN IP?&lt;br /&gt;
3. Is the configuration really correct?&lt;br /&gt;
4. Check router logs for clues&lt;br /&gt;
5. Check NAT settings in the router&lt;br /&gt;
&lt;br /&gt;
For troubleshooting steps refer Troubleshooting NEOSYS remote support&lt;br /&gt;
http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Troubleshooting_NEOSYS_remote_support_port_forwarding&lt;br /&gt;
&lt;br /&gt;
If the problem still persists, please get a professional IT network expert to fix the issue.&lt;br /&gt;
&lt;br /&gt;
Best Regards,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Port mapping restricted by Source IP ===&lt;br /&gt;
&lt;br /&gt;
On NEOSYS router, port forwarding has been setup only for specific source IP addresses. This means you will not be able to establish a TCP connection to NEOSYS server unless your server&#039;s outbound IP is mapped to the NEOSYS router. In other words unless the outbound i.e source IP/port of your server has been granted access on the NEOSYS router for all incoming connections you will not be able to make connections to NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
Outbound IP is used whenever a server tries to make a connection to another server outside its network. On the other hand a server receives all incoming connections using it&#039;s Inbound IP.&lt;br /&gt;
&lt;br /&gt;
Therefore to setup ssh connection from a new Client server to NEOSYS server we need to grant access to its outbound IP on the NEOSYS router. See [[Troubleshooting_NEOSYS_Generally#If_Telnet_does_not_work | link]] to find the outbound server IP/ports of the server.&lt;br /&gt;
&lt;br /&gt;
== Solving “Cant login … INVALID DATA PATH … permission denied” ==&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&lt;br /&gt;
[[image:error-invalid-data-path-1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error Text:&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 Cannot login because:&lt;br /&gt;
 ERROR: INVALID DATA PATH&lt;br /&gt;
 “D:\HOSTS\HOSTNAME\DATA\HOSTNAME\~8746345.1$” Permission Denied&lt;br /&gt;
&lt;br /&gt;
=== Problem Explained ===&lt;br /&gt;
When installing NEOSYS on an existing “non-clean” Windows installation, the standard NEOSYS installation procedure can result in failure to login if the standard windows folder permissions have been modified.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
The solution is to grant IIS permission to write in the \neosys\DATA folder and subfolders as follows:&lt;br /&gt;
#First add the IUSR_XXXXXXX user to the list of users. (XXXXXXXX is the server name and therefore varies per server) as follows:&lt;br /&gt;
#*Right Click on DATA Folder and click on Properties&lt;br /&gt;
#*Click on Security Tab -&amp;gt; Add -&amp;gt; Advanced&lt;br /&gt;
#*Click on Find Now, Select the IUSR_XXXXXXX user and Click on OK&amp;lt;br&amp;gt;[[image:error-invalid-data-path-2.jpg]]&amp;lt;br&amp;gt;[[image:error-invalid-data-path-3.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Second, for the newly added IUSR (IIS user) change the permissions as follows:&lt;br /&gt;
#*&#039;&#039;&#039;REMOVE&#039;&#039;&#039; the read and execute permission (for security, IIS should be unable to execute things that it might have uploaded)&lt;br /&gt;
#*&#039;&#039;&#039;ADD&#039;&#039;&#039; the write permission &amp;lt;br&amp;gt;[[image:error-invalid-data-path-4.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Login should now be possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== NEOSYS process window displays message &amp;quot;Upgrade Downloading&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
[[image:upgradedownloading.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Problem Explained ===&lt;br /&gt;
NEOSYS thinks it sees an new neosys2.exe upgrade file on the location http://www.neosys.com/support/neosys2.exe which is accessed by http so attempts to download it.&lt;br /&gt;
&lt;br /&gt;
Http proxies and various internet issues can cause incorrect info to be sent and there is actually no upgrade available. In this case, eventually it realizes that it cant find an appropriate and it stops. &lt;br /&gt;
&lt;br /&gt;
You don’t have to worry about this case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Enabling EMS memory on Window 2003 ==&lt;br /&gt;
&lt;br /&gt;
Normally EMS memory is provided by Windows 2003 but this can vary depending on the server hardware/bios configuration&lt;br /&gt;
&lt;br /&gt;
If you get the following messages on Windows 2003&lt;br /&gt;
&lt;br /&gt;
#Backup File Size is 0&lt;br /&gt;
#RTP27. [B28] Not enough String Space – Out of Memory&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
On servers that had no problem previously, the problem is caused by a windows update in Oct 2012 that disables standard Windows EMS memory.&lt;br /&gt;
&lt;br /&gt;
The patch is issued by Microsoft on 9 Oct 2012 but the installation date in the server depends on when the update was actually installed.&lt;br /&gt;
&lt;br /&gt;
http://support.microsoft.com/kb/2724197&lt;br /&gt;
&lt;br /&gt;
=== Solution 1 - maximum performance ===&lt;br /&gt;
&lt;br /&gt;
To re-enable standard windows EMS on older slower servers or servers where NEOSYS performance must be maximized.&lt;br /&gt;
&lt;br /&gt;
The following link contains instructions how to remove the offending windows update&lt;br /&gt;
&lt;br /&gt;
It also shows how to prevent it being reinstalled automatically by Windows.&lt;br /&gt;
&lt;br /&gt;
http://www.columbia.edu/~em36/wpdos/emsxp.html&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to prevent it being reinstalled again automatically&lt;br /&gt;
&lt;br /&gt;
=== Solution 2 – ease of installation ===&lt;br /&gt;
&lt;br /&gt;
This option can also be used if Window 2003 is unable to provide EMS memory for example when the server hardware/bios configuration prevents it.&lt;br /&gt;
&lt;br /&gt;
Install EMSMAGIC in the same way as for Windows server 2008&lt;br /&gt;
&lt;br /&gt;
EMSMAGIC has higher memory consumption and makes NEOSYS processes slower so it is better to use Solution 1 above if NEOSYS performance is an issue.&lt;br /&gt;
&lt;br /&gt;
== Fixing no output file in XXX YYY Issue ==&lt;br /&gt;
&lt;br /&gt;
===Error Message===&lt;br /&gt;
&lt;br /&gt;
[[File:Nooutputfile.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Problem Explained===&lt;br /&gt;
&lt;br /&gt;
The message “No output file in XXX YYY” can appear at several instances in NEOSYS, most often when generating reports or documents. &lt;br /&gt;
&lt;br /&gt;
This problem is usually caused by software error and it indicates that the NEOSYS server responded without any output and without any message. &lt;br /&gt;
&lt;br /&gt;
===Solution===&lt;br /&gt;
1) Find proof to check if the data required for the report actually exists. This way we can eliminate lack of data as a cause for this error.&lt;br /&gt;
&lt;br /&gt;
2) Check to see if a similar issue has been fixed in latest version of NEOSYS.&lt;br /&gt;
&lt;br /&gt;
3) Document HOW and WHERE the problem can be duplicated by NEOSYS programmers to identify and correct the software.&lt;br /&gt;
&lt;br /&gt;
An example of this error can be found at [[Troubleshooting_NEOSYS_Media_System#Error:_No_output_file_in_MEDIAPROXY_SCHEDULEPRINT|No Output File in MEDIAPROXY SCHEDULEPRINT]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting Internet Connections ==&lt;br /&gt;
&lt;br /&gt;
===Cannot Connect===&lt;br /&gt;
&lt;br /&gt;
While investigating as to why users are not able to access NEOSYS or http://www.neosys.com/ ,you can check which ISP the connection issue is on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;whois ipno&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inspect very carefully to get clues as to which ISP and which AREA of the ISP the problematic ip numbers are and which do NOT have problems&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting TCP/IP Connections ===&lt;br /&gt;
&lt;br /&gt;
====Telnet check====&lt;br /&gt;
&amp;lt;pre&amp;gt; telnet &amp;lt;hostname&amp;gt; 19580  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====If Telnet does not work====&lt;br /&gt;
In case telnet does not work, login to the remote host server to investigate the issue. Run the following command simultaneously while doing Telnet from client server to the remote host to check if the TCP packets are reaching the Remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tcpdump -v &#039;src host client-domain-name/ip&#039; &lt;br /&gt;
tcpdump -v portno &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To check if packets are sent from the client server to the remote host, you can run the following command simultaneously while trying to ssh to the remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;netstat -an &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also check if the outbound ports are open from which you are trying to establish the TCP connection to the remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;telnet portquiz.net portno &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The outbound IP addresses at times can be different from the public IP of the Client server so be sure that the public IP of the client server is the same as its source IP (which represents an incoming connection from Client to Remote server). One way to find the source IP of the Client server is sending an email from Client server to &amp;quot;support@neosys.com&amp;quot;. On receiving the email in Thunderbird, select the email and press Ctrl+u. A new window Opens giving full details of the email received. The third &amp;quot;Received :from&amp;quot; gives the IP of the source.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting DNS failure ===&lt;br /&gt;
&lt;br /&gt;
NEOSYS clients routers are usually configured to use their ISP DNS service and the ISP DNS service is supposed to contact one of NEOSYS&#039;s DNS servers to convert server names like hosts.neosys.com into IP numbers. Misconfiguration of clients routers or problems in the ISP DNS server may cause CANNOT CONNECT problems. Often the connect fails quickly and immediately since if a name cannot be converted to an ip number then the connection cannot even be attempted and therefore there is little or no timeout to wait through.&lt;br /&gt;
&lt;br /&gt;
NEOSYS.COM name servers are listed publically and obtained by whois command.&lt;br /&gt;
&lt;br /&gt;
 whois neosys.com&lt;br /&gt;
&lt;br /&gt;
 Name Server: DNS1.EASYDNS.COM&lt;br /&gt;
 Name Server: DNS2.EASYDNS.NET&lt;br /&gt;
 Name Server: DNS3.EASYDNS.ORG&lt;br /&gt;
 Name Server: NS12.ZONEEDIT.COM&lt;br /&gt;
 Name Server: NS18.ZONEEDIT.COM&lt;br /&gt;
&lt;br /&gt;
In order to contact NEOSYS DNS servers the ISP&#039;s have to use a global DNS to obtain the ip addresses of NEOSYS DNS servers given the host names of NEOSYS DNS servers given in the whois info&lt;br /&gt;
&lt;br /&gt;
Here is an example of DU testing NEOSYS DNS servers. The NEOSYS DNS server ip addresses are listed in the Destination column.&lt;br /&gt;
&lt;br /&gt;
[[File:internet.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If one DNS server is down or unreachable REGARDLESS OF REASON, the ISP is supposed to use the other DNS servers. It is impossible for all NEOSYS DNS servers to be unreachable except in gross disconnection from the internet of the ISP since it is effectively impossible that all NEOSYS DNS servers which are carefully spread around the internet, to be unreachable.&lt;br /&gt;
&lt;br /&gt;
In the above test one of the NEOSYS DNS servers is unreachable but all the others are reachable therefore DU should have no problem providing DNS service to its clients.&lt;br /&gt;
&lt;br /&gt;
ISP are often worse at providing DNS server than the famous GOOGLE DNS servers, so re configuring client router to use GOOGLE DNS servers is a way to prove that the problem lies with the ISP&#039;s DNS service&lt;br /&gt;
&lt;br /&gt;
=== Additional test for troubleshooting problems with uploading ===&lt;br /&gt;
&lt;br /&gt;
====Verifying that upload.dll can run====&lt;br /&gt;
&lt;br /&gt;
This isnt a complete test of everything. It just checks if the upload program can be run by the web server. It doesnt check if uploads work or the image directory is correctly configured with the right permissions and uploads can actually be done.&lt;br /&gt;
&lt;br /&gt;
===== Error Message =====&lt;br /&gt;
&lt;br /&gt;
... to be added when discovered ...&lt;br /&gt;
&lt;br /&gt;
===== Test =====&lt;br /&gt;
&lt;br /&gt;
Test HTTP if accessible by LAN; Test HTTPS is accessible by Internet; Test both if both are available.&lt;br /&gt;
&lt;br /&gt;
On the server type the following into a browser&lt;br /&gt;
&lt;br /&gt;
LAN/HTTP:&lt;br /&gt;
&lt;br /&gt;
 http://localhost/neosys/neosys/dll/upload.dll&lt;br /&gt;
&lt;br /&gt;
WAN/HTTPS:&lt;br /&gt;
&lt;br /&gt;
 https://localhost:9999/neosys/dll/upload.dll&lt;br /&gt;
&lt;br /&gt;
===== Expected Result =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Upload Error. !&lt;br /&gt;
Please call me from a form !!!&lt;br /&gt;
The first param must be Filename= name of the uploaded file, TYPE=TEXT&lt;br /&gt;
The second param must be Filedata= uploaded file, TYPE=FILE&lt;br /&gt;
The third param is optional PathData= path to uploaded file, default c:\temp\, TYPE=HIDDEN&lt;br /&gt;
The forth param is optional RedirectPage= name of asp who receive the results, TYPE=HIDDEN&lt;br /&gt;
Add others params at the end with INPUT tag.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Uerror.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Patching a NEOSYS program ==&lt;br /&gt;
&lt;br /&gt;
The patch provided will tell you the program name and contain either a whole replacement program text or just some changed lines which you will have to find and edit.&lt;br /&gt;
&lt;br /&gt;
You will need to know the file name which may be provided along with the patch or you can find it using the following code in maintenance mode:&lt;br /&gt;
&lt;br /&gt;
 ED VOC programname&lt;br /&gt;
&lt;br /&gt;
ED VOC XYZ tells you what program name is executed and from what file, when you type the command XYZ. Normally the program name is the same as the command.&lt;br /&gt;
&lt;br /&gt;
The file name will normally be BP for agency programs, GBP for general programs or ABP for finance programs.&lt;br /&gt;
&lt;br /&gt;
NEOSYS programs are stored in files just like records of ordinary database files. You can edit either with &amp;quot;ED filename programname&amp;quot; or &amp;quot;TED filename programname&amp;quot;. TED is better for editing source code.&lt;br /&gt;
&lt;br /&gt;
===Installing patch in live database===&lt;br /&gt;
&lt;br /&gt;
In the rare case that the programmer asks Support to install the patch directly on LIVE dataset, start by typing the following command in maintenance mode before commencing:&lt;br /&gt;
&lt;br /&gt;
 UTIL&lt;br /&gt;
&lt;br /&gt;
Follow the instructions mentioned in the [[Troubleshooting_NEOSYS_Generally#Installing_patch_in_test_database| next section]], but skip the instruction to TEST the patched program in test dataset.&lt;br /&gt;
&lt;br /&gt;
The instruction to INSTALL the patched program MUST be followed BEFORE testing the patch in live dataset. Otherwise the changes will not get reflected.&lt;br /&gt;
&lt;br /&gt;
===Installing patch in test database===&lt;br /&gt;
&lt;br /&gt;
1. EDIT the program source code.&lt;br /&gt;
&lt;br /&gt;
 TED programname&lt;br /&gt;
&lt;br /&gt;
Either cut and paste to modify the whole program or edit the program text according to the patch/instructions provided.&lt;br /&gt;
&lt;br /&gt;
Save and close the program source code.&lt;br /&gt;
&lt;br /&gt;
2. COMPILE it. If you get errors then check your edits are correct and recompile otherwise return the patch to programming.&lt;br /&gt;
&lt;br /&gt;
  COMPILE filename programname&lt;br /&gt;
&lt;br /&gt;
3. TEST it. Ensure the patched program now works in TEST database.&lt;br /&gt;
&lt;br /&gt;
4. INSTALL the patched program in the LIVE database by typing one of the following command depending on the filename that you patched.&lt;br /&gt;
&lt;br /&gt;
 COPYGBP programname&lt;br /&gt;
 COPYABP programname&lt;br /&gt;
 COPYBP programname&lt;br /&gt;
&lt;br /&gt;
== Patching NEOSYS dictionaries ==&lt;br /&gt;
&lt;br /&gt;
A patch to a dictionary applies immediately when you save it and to all datasets regardless of which dataset you work in.&lt;br /&gt;
&lt;br /&gt;
You need:&lt;br /&gt;
&lt;br /&gt;
#the file name eg INVOICES&lt;br /&gt;
#the item name (column name) eg  DATETIME_AMENDED&lt;br /&gt;
#10 lines of data similar to the example below.&lt;br /&gt;
#if the item is an S type dictionary, then either the whole, or only the amended part, of the source code of the dictionary.&lt;br /&gt;
&lt;br /&gt;
 ED DICT INVOICES DATETIME_AMENDED&lt;br /&gt;
&lt;br /&gt;
TYPE everything below exactly on the corresponding line numbers except lines 3 and very commonly line 8, as these lines may contain multiple values separated by a superscript 2 (²). Line numbers in the below screen are only for illustrative purpose. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  ╔═══════════════════════════┤DATETIME_AMENDED├═════════════════════════╗&lt;br /&gt;
 1║S                                                                     ║&lt;br /&gt;
 2║                                                                      ║&lt;br /&gt;
 3║DateTime²Amended                                                      ║&lt;br /&gt;
 4║S                                                                     ║&lt;br /&gt;
 5║                                                                      ║&lt;br /&gt;
 6║                                                                      ║&lt;br /&gt;
 7║[DATETIME]                                                            ║&lt;br /&gt;
 8║updated=@record&amp;lt;28&amp;gt;²created=@record&amp;lt;31,1&amp;gt;²@ans=&#039;&#039;²if created and num(c║..actually this line continues off the screen to the right&lt;br /&gt;
 9║R                                                                     ║&lt;br /&gt;
10║10                                                                    ║&lt;br /&gt;
11║                                                                      ║&lt;br /&gt;
  :                                                                      :&lt;br /&gt;
  :                                                                      :&lt;br /&gt;
  ╚══════════════════════════════════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Ctrl+E on lines 3 or 8 in order to enter sub-lines. &lt;br /&gt;
&lt;br /&gt;
The multiple values (on line 3 and 8) separated by a superscript 2 (²) automatically appear when sub-lines are entered.&lt;br /&gt;
&lt;br /&gt;
For line 8, you will need to cut and paste the lines of below program to the Ctrl+E screen: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔═════════════════════════┤Field 8 of DATETIME_AMENDED├════════════════════════╗&lt;br /&gt;
║updated=@record&amp;lt;28&amp;gt;                                                           ║&lt;br /&gt;
║created=@record&amp;lt;31,1&amp;gt;                                                         ║&lt;br /&gt;
║@ans=&#039;&#039;                                                                       ║&lt;br /&gt;
║if created and num(created) and num(updated) then                             ║&lt;br /&gt;
║ createdsecs=field(created,&#039;.&#039;,1)*86400+field(created,&#039;.&#039;,2)                  ║&lt;br /&gt;
║ updatedsecs=field(updated,&#039;.&#039;,1)*86400+field(updated,&#039;.&#039;,2)                  ║&lt;br /&gt;
║ if abs(updatedsecs-createdsecs)&amp;gt;120 then                                     ║&lt;br /&gt;
║  @ans=updated                                                                ║&lt;br /&gt;
║  end                                                                         ║&lt;br /&gt;
║ end                                                                          ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
╚══════════════════════════════════════════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you save and exit the Ctrl+E screen, you will see the sublines separated by superscript 2 appear in one line in the ED screen. &lt;br /&gt;
&lt;br /&gt;
Similarly, for line 3, you need to enter its sub-lines in Ctrl+E screen.&lt;br /&gt;
&lt;br /&gt;
To ensure indenting remains nice (although indenting is not important and can be messed up without causing any problem) then copy the double bars at the front of the lines (if available, otherwise insert some char in position 1 of each line perhaps) and then remove them after you paste ... or just edit until the indenting is correct if you really want to.&lt;br /&gt;
&lt;br /&gt;
Press F9 and/or Esc to save and/or exit from Ctrl+E screen&lt;br /&gt;
&lt;br /&gt;
Press F9 and/or Esc to save and/or exit from ED&lt;br /&gt;
&lt;br /&gt;
== Searching XML files ==&lt;br /&gt;
&lt;br /&gt;
Use the grep command in Cygwin terminal to search files especially when you are investigating the NEOSYS Logs. &lt;br /&gt;
&lt;br /&gt;
Use the following command while searching for a file in any directory&lt;br /&gt;
&lt;br /&gt;
 grep string path/file&lt;br /&gt;
&lt;br /&gt;
 grep -i -a string path/file  (use -i to ignore upper/lower case characters in the string and -a to treat the file type=text and display the matching text)&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;string&amp;quot; is the text to be searched, &amp;quot;file&amp;quot; is the type of file you are looking for and &amp;quot;path&amp;quot; is the path of the directory you are looking into. Use &amp;quot;&amp;quot; when having spaces in your string.&lt;br /&gt;
&lt;br /&gt;
e.g when searching in NEOSYS logs the year/month/date is specified in the file name, so if you are looking for a file in year 2016 in the month of Feb, use&lt;br /&gt;
&lt;br /&gt;
 grep XXXX path/1602*&lt;br /&gt;
&lt;br /&gt;
In the above command *(asterisk) is a wildcard used to match characters in the file name.&lt;br /&gt;
&lt;br /&gt;
Sample below of grep command and its output where it is searching for &amp;quot;Dior&amp;quot; in 2016 march logs.&lt;br /&gt;
 $ grep -i Dior /cygdrive/d/hosts/test/logs/test/2016/1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 Binary file path/16030301.XML matches&lt;br /&gt;
&lt;br /&gt;
Use the commands below to display the search string and required number of lines that come either after or before the search string, depending on what you enter in your command. It helps to get more information from files especially when you only know few words and the other information around the searched string also gets displayed. &lt;br /&gt;
&lt;br /&gt;
 grep -A NUM string file (NUM lines after the searched text get displayed)&lt;br /&gt;
&lt;br /&gt;
 grep -B NUM string file (NUM lines before the searched text get displayed)&lt;br /&gt;
&lt;br /&gt;
See the examples and their respective outputs below, (Note: there is no space between -A and NUM):&lt;br /&gt;
&lt;br /&gt;
 $ grep -A2 -i &amp;quot;Dior&amp;quot; 1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 Binary file 16022101.XML matches&lt;br /&gt;
 Binary file 16022901.XML matches&lt;br /&gt;
&lt;br /&gt;
 $ grep -A2 -a &amp;quot;Dior&amp;quot; 1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 16030301.XML:&amp;lt;DataOut&amp;gt;DIOR%FEPOI%FE&#039;&#039;&#039;Dior&#039;&#039;&#039; Poison%FE%FE%FE%FE%FEDubai,    UAE%FE%FE%FE%FEN%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEN%FE%FE%FE17584.43592%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FENEOSYS%FE17584.43592%FE94_200_49_146%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEpaulson&amp;lt;/DataOut&amp;gt;&amp;lt;/Message&amp;gt;&lt;br /&gt;
 --&lt;br /&gt;
 16030301.XML:&amp;lt;DataOut&amp;gt;DIOR%FEPOI%FE&#039;&#039;&#039;Dior&#039;&#039;&#039; Poison%FE%FE%FE%FE%FEDubai,   UAE%FE%FE%FE%FEN%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEN%FE%FE%FE17584.43592%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FENEOSYS%FE17584.43592%FE94_200_49_146%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEpaulson&amp;lt;/DataOut&amp;gt;&amp;lt;/Message&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some more examples of grep below:&lt;br /&gt;
&lt;br /&gt;
 Use the command below when searching with more than one search string&amp;lt;br&amp;gt;&lt;br /&gt;
 grep -a string1 *|grep string2&lt;br /&gt;
&lt;br /&gt;
 grep -B2 -a Processing 160329*|grep -v DataIn|grep -v Message|less&amp;lt;br&amp;gt;&lt;br /&gt;
 where user wants the output to show lines containing string &amp;quot;Processing&amp;quot; and exclude lines containing string &amp;quot;DataIn&amp;quot; and &amp;quot;Message&amp;quot;, |less displays the output in a new screen.&lt;br /&gt;
&lt;br /&gt;
== Managing the queue of reports being delivered by email ==&lt;br /&gt;
&lt;br /&gt;
In maintenance mode.&lt;br /&gt;
&lt;br /&gt;
=== Listing ===&lt;br /&gt;
&lt;br /&gt;
 LIST DOCUMENTS WITH SCHEDULED_ONCE&lt;br /&gt;
&lt;br /&gt;
=== Clearing ===&lt;br /&gt;
&lt;br /&gt;
 SELECT DOCUMENTS WITH SCHEDULED_ONCE&lt;br /&gt;
 DELETE DOCUMENTS&lt;br /&gt;
&lt;br /&gt;
== Removing non essential files on win3 ==&lt;br /&gt;
Non essential files getting accumulated over time can take up a lot of space on the hard disk resulting in low free space on the server. NEOSYS Client Monitoring system alerts about the issue for win3 server as it monitors the Disk Space of both C &amp;amp; D drive. To fix it Support team will have to create free space on the server.&lt;br /&gt;
&lt;br /&gt;
Making space on the server is time taking and requires patience as you need to go through all the files/folders looking for non essential files. Do not make any assumptions for not looking into a folder.&lt;br /&gt;
&lt;br /&gt;
Non essential files are the ones without which we can work properly and will continue to work in future.&lt;br /&gt;
&lt;br /&gt;
To make space on the server, Support team should follow the below steps:&lt;br /&gt;
&lt;br /&gt;
#Look into the drive for which nagios is alerting and dig into all the folders.&lt;br /&gt;
#Right click Folder &amp;gt; Properties &amp;gt; Size on Disk, to find out the size of a folder.&lt;br /&gt;
#On d drive majority of the space is taken by d:\hosts and d:\data.bak folder and on c drive it&#039;s taken up by the important windows/cygwin folders.&lt;br /&gt;
#The space distribution will give you an idea about which folders to target that can give you lot of space on clean up.&lt;br /&gt;
#Following are the non essential files/folders which can create a lot of space on removal. Use your intelligence and presence of mind while deleting files/folders because once deleted the information is lost forever.&lt;br /&gt;
#*Folder: d\data.bak. Check for stopped client&#039;s backups and delete if present.&lt;br /&gt;
#*Folder: d\hosts\clientname\logs. where clientname stands for all the client folders in hosts. Look for logs prior to the current and previous years and delete them.&lt;br /&gt;
#*Folder: d\hosts\clientname\downloads. The folder might contain lot of old versions of neosys.exe files, just keep the two latest ones and delete the rest. Do this for all clients except test installation because Support maintains all the previous versions of neosys.exe in it.&lt;br /&gt;
#*Folder: d\hosts\old. Remove the Stopped Client folders older than 1 year.&lt;br /&gt;
#*Apart from above folders look for random backup.zip files present in c/d drive. This happens when Support restores data from a zip file and forgets to delete it after the restore.&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Troubleshooting_NEOSYS_Generally&amp;diff=2680</id>
		<title>Troubleshooting NEOSYS Generally</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Troubleshooting_NEOSYS_Generally&amp;diff=2680"/>
		<updated>2016-05-15T08:51:39Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Removing non essential files on win3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Solving failure to start a NEOSYS server due to disk failure message ==&lt;br /&gt;
=== Problem ===&lt;br /&gt;
During a reboot process (which maybe due to a Windows update or even done by a support personnel) the NEOSYS server gets hung on the startup and shows a message &amp;quot;Boot Failure - Abort, Retry&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
=== Temporary solution ===&lt;br /&gt;
This typically happens due to the USB being plugged into the server and the boot sequence being wrong - i.e. the server trying to boot from the USB first and fails. The immediate solution would be to unplug the USB and ask the client to reboot the server again and upon successfully rebooting the system, plug the USB back again.&lt;br /&gt;
&lt;br /&gt;
=== Permanent solution ===&lt;br /&gt;
The above problem will occur every time the computer is rebooted, so you need to immediately talk to the IT Administrator of the client and ask them to rectify the boot sequence to make it boot first from the CD ROM, then the HDD and last the USB.&lt;br /&gt;
&amp;lt;BR&amp;gt;Allowing &amp;quot;Boot from USB&amp;quot; causes a severe risk of infection by boot sector viruses since the first infected USB device inserted WILL infect the server immediately as anti-virus programs are not active during boot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting the &amp;quot;Database not available&amp;quot; error message == &lt;br /&gt;
=== Problem explained ===&lt;br /&gt;
This error appears when you try to login to NEOSYS after you enter your username and password and click the Login button.&lt;br /&gt;
&lt;br /&gt;
[[image:database_unavailable.jpg]]&lt;br /&gt;
&lt;br /&gt;
Error message : &lt;br /&gt;
&lt;br /&gt;
 Cannot login because : &lt;br /&gt;
 Error :  The (database code) database is not available right now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the error message appears post login i.e. when users are working on the system then check if processes are free to run user request.&lt;br /&gt;
&lt;br /&gt;
[[image:not_available.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Solution explained ===&lt;br /&gt;
# Determine if the processes are running. If they are running and you still get the same message that means that either the processes have [[Troubleshooting_NEOSYS_Generally#Troubleshooting_Hung_processes|hung]] and need to be [[Troubleshooting_NEOSYS_Generally#How_to_kill_hung_NEOSYS_processes|killed]]. Or the processes are busy to run user requests and a new process needs to be started. &lt;br /&gt;
# If the processes are not visible on the destop, it is possible that they are running in the background and have hung for some reason. Check the windows task manager to see if any ‘ntvdm’ process is running and [[Troubleshooting_NEOSYS_Generally#If_NEOSYS_processes_are_not_visible_on_the_server_desktop|fix hung processes]].&lt;br /&gt;
# If there is no trace of any process running, that means the process probably did not start at the scheduled time. Refer to the &#039;Hung Process Reports&#039; to verify this claim. &lt;br /&gt;
# If the process had not hung, then the server might have restarted due to a power failure or a windows update and the administrator user had not logged in post the scheduled startup time of 6AM. To determine this cause, investigate in the Windows Event Viewer Log file.&lt;br /&gt;
# You can now start up the process by clicking on the respective desktop icons.&lt;br /&gt;
# Also check if the backup took place successfully or not. If not take a manual backup.&lt;br /&gt;
# Look into the logs at the date/time stated for the last transaction processed to investigate why process got hung.See [[Troubleshooting_NEOSYS_Generally#Inspecting_Database_LOGS_Folder| Inspecting logs]] for more information on logs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;quot;user not authorised to login from a location&amp;quot; error message ==&lt;br /&gt;
[[image:IPerror.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error message:&#039;&#039;&#039;&lt;br /&gt;
 xxx is not authorised to login form the location (IP Number. xx.xx.xx.xx)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution Explained:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Check the URL used and follow the steps below to check if it is correct and email the user accordingly.&lt;br /&gt;
#If the Client installation is hosted on NEOSYS server then users can use only https link to access NEOSYS.&lt;br /&gt;
#*Check with the client&#039;s management if this particular IP is their public IP.&lt;br /&gt;
#*Add IP on management confirmation (Refer to [[Procedures#Handling_User_Requests_to_add_an_IP_or_range_of_IPs_to_access_NEOSYS|Handling User Requests to add IP/IPs ]] ) &lt;br /&gt;
#In case of Client hosted server, users should access NEOSYS via LAN using the http link.&lt;br /&gt;
#*There can be exceptional cases where user needs to access NEOSYS outside the office Network e.g a client installation with two companies at different locations and NEOSYS installed at one. In this case Support will have to add the IP number of the second company so that users can access NEOSYS.&amp;lt;br&amp;gt;But before you even suggest to add the IP, get the request from their management saying that the IP number is another office location and needs to be added. (Refer to [[Procedures#Handling_User_Requests_to_add_an_IP_or_range_of_IPs_to_access_NEOSYS|Handling User Requests to add IP/IPs ]] )&lt;br /&gt;
&lt;br /&gt;
== Handling damaged files ==&lt;br /&gt;
&lt;br /&gt;
[[Handling damaged files]]&lt;br /&gt;
&lt;br /&gt;
=== Checking for corrupt database files ===&lt;br /&gt;
Login to NEOSYS Maintenance. This can be done when users are online.&lt;br /&gt;
&lt;br /&gt;
Press F5&lt;br /&gt;
&lt;br /&gt;
 CHK.FILES&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
 CHK.FILES filename&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Sizelock while performing chk.files &#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Fixing sizelock errors should not be done while other users are online to the same database.&lt;br /&gt;
&lt;br /&gt;
Sizelock errors are not critical and will be fixed automatically during the nightly backup.&lt;br /&gt;
&lt;br /&gt;
Sizelock errors occur if a program or process that is selecting records from a file is aborted in some abnormal way.&lt;br /&gt;
&lt;br /&gt;
Error message:&lt;br /&gt;
&lt;br /&gt;
 These Files/Tables have a Sizelock Value of 2 or greater. &lt;br /&gt;
 Tag/Select the Files/Tables to be Fixed.&lt;br /&gt;
 Press F9 to fix selected files&lt;br /&gt;
&lt;br /&gt;
Press F9 to proceed with fixing the selected files or press ESC to continue with chk.files without fixing sizelock as it gets automatically fixed during the nightly backup. &lt;br /&gt;
&lt;br /&gt;
Refer to the [http://techwiki.neosys.com/index.php/Backup_and_Restore#Error_Message:_Size_Lock Sizelock errors in backup emails] for more information.&lt;br /&gt;
&lt;br /&gt;
[[file:sizelock.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Determining Database File Name from Operating System File Name ===&lt;br /&gt;
&lt;br /&gt;
To assess the potential damage and possible remedial measures you need to know the database file name. If the message only refers to the operating system file name you need to follow this procedure to determine the database file name.&lt;br /&gt;
&lt;br /&gt;
Once you have the database file name you can use CHK.FILES XXXXXXX to check if corrupt or not and various other procedures to fix the corruption.&lt;br /&gt;
&lt;br /&gt;
Remember that fixing the corrupt data does not solve the overall problem. The *cause* of the corruption must be identified and eliminated otherwise the problem may reoccur and in a more serious form perhaps with unrecoverable loss of data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╒═══════════════════════════════════TCL - 2══════════════════════════════════╕&lt;br /&gt;
│                                                                            │&lt;br /&gt;
│ :list FILES WITH ALL CONTAINING &#039;REV76481&#039;                                 │&lt;br /&gt;
│                                                                            │&lt;br /&gt;
╘════════════════════════════════════════════════════════════════════════════╛&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:DBfilenamefromOSfilename.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Finding out when and by whom a record was deleted ==&lt;br /&gt;
&lt;br /&gt;
In most cases, NEOSYS does not allow users to delete records and instead keeps a record of everything. In some cases however, things are deleted and the only way to get full details about the deletion is to search the logs. This is cumbersome, but there is a quick way to find out when, and by whom, a record was deleted. Prior to NEOSYS software versions dated Mar 2014, and deletions done before the same date, this procedure will only tell you when the record was deleted - but not who deleted it. Knowing exactly when it was deleted will nevertheless help you to search the logs for full details.&lt;br /&gt;
&lt;br /&gt;
In maintenance mode F5&lt;br /&gt;
&lt;br /&gt;
 ED SHADOW DELETED*filename*key&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 ED SHADOW DELETED*BATCHES*L*JOU*2*U&lt;br /&gt;
&lt;br /&gt;
Journals are stored in the BATCHES file. The key of an unposted batch is x*y*999*U where x is the company code, y is the journal type code, 999 is UNPOSTED batch number and U is just U to indicate unposted batches. Note that unposted batches are normally deleted at the time they are posted - ie converted to posted batches.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔══════════════════════════┤DELETED*BATCHES*L*JOU*2*U├═════════════════════════╗&lt;br /&gt;
║16831.60706                                                                   ║&lt;br /&gt;
║BRUCEL                                                                        ║&lt;br /&gt;
║╒═══════════════════════════════════TCL - 6══════════════════════════════════╕║&lt;br /&gt;
║│                                                                            │║&lt;br /&gt;
║│ :EVAL PRINT 16831.60706 &#039;[DATETIME]&#039;                                       │║&lt;br /&gt;
║│                                                                            │║&lt;br /&gt;
║╘════════════════════════════════════════════════════════════════════════════╛║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you see the number (in this case 16831.60706) you can convert it to a time and date by typing something like&lt;br /&gt;
&lt;br /&gt;
 PRINT 16831.60706 &#039;[DATETIME]&#039;&lt;br /&gt;
&lt;br /&gt;
Using this date and time you can search the logs more effectively to find out who did the deletion and in what circumstances.&lt;br /&gt;
&lt;br /&gt;
== Assessing Database Size per File ==&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
 &lt;br /&gt;
 LIST FILES BY BY-DSND SIZE VOLUME.NAME SIZE&lt;br /&gt;
 &lt;br /&gt;
This will include all files not just those in the actual dataset in DATA\* folders.&lt;br /&gt;
&lt;br /&gt;
== Fixing slow speed ==&lt;br /&gt;
=== [[Benchmarking NEOSYS]] ===&lt;br /&gt;
=== Investigating CPU 100% using Windows Task Manager ===&lt;br /&gt;
Email, to support, a screen-shot of task manager APPLICATIONS, PROCESSES and PERFORMANCE screens MAXIMIZED TO SHOW AS MUCH AS POSSIBLE. &lt;br /&gt;
&lt;br /&gt;
(Sort the processes to show ntvdm, waiting.exe and high cpu% processes clearly)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steps:&#039;&#039;&#039;&lt;br /&gt;
#Right Click on Windows Taskbar and click on Start Task Manager &amp;lt;br&amp;gt; [[image:starttaskmanager.jpg]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
#Click on Processes and then click on CPU &amp;lt;br&amp;gt;&#039;&#039;&#039;Note - The HIGH cpu% processes which should usually be the &amp;quot;process&amp;quot; called &amp;quot;System Idle Process&amp;quot; &#039;&#039;&#039;&amp;lt;br&amp;gt;[[image:cpu100percent1.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Click on the Performance Tab &amp;lt;br&amp;gt; &#039;&#039;&#039;Note - PF Usage should typically be much less than Physical Memory otherwise there is insufficient real memory in the server to handle the load&#039;&#039;&#039; &amp;lt;br&amp;gt; [[image:cpu100percent3.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Click on Application Tab then Right Click on a NEOSYS Process and Click on Bring to Front &amp;lt;br&amp;gt;&#039;&#039;&#039;See what the NEOSYS Process is doing &amp;lt;br&amp;gt; [[image:cpu100percent2.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Right Click on a NEOSYS Process and Click on Go to Processes &amp;lt;br&amp;gt;&#039;&#039;&#039;Note the cpu% ntvdm process &amp;lt;br&amp;gt;[[image:cpu100percent2_2.jpg]]&amp;lt;br&amp;gt;  &lt;br /&gt;
#Normally NEOSYS application screens say &amp;quot;LISTENING&amp;quot; in the bottom line and those applications should have very low cpu%&amp;lt;br&amp;gt;[[image:normalneosysprocess.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Look at the difference between the screen of running NEOSYS processes (applications actually) which are idle (listening for requests) and active (processing a request from a user)&lt;br /&gt;
#Note the number of cpus or cpu threads in the server from the performance screen graphics&amp;lt;br&amp;gt;[[image:performance-taskmgr-cputhread.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Take screen-shots of any and ALL hung or long running processes (NEOSYS application screens) and email them to support. Even small details on the screens and user names, the user names may give clues to what problem caused the hanging.A Typical Hung NEOSYS process will look like this: &amp;lt;br&amp;gt; [[image:hungneosysprocess.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
#Once all hung/long processes are closed then CPU should be low and not near 100%. If it is still 100% then check all high cpu% processes and send a screen-shot of processes sorted to show the high cpu% process names to support.&lt;br /&gt;
&lt;br /&gt;
=== Solving server CPU% is 100 and all users are extremely slow/stopped ===&lt;br /&gt;
&lt;br /&gt;
Get the screenshots of Task Manager and ALL processes on the server, the objective is to assess the true issue. No need to get the screens not in use obviously but you can send a parallel screen shot for them if you want to be pedantic or even a comment will do.&lt;br /&gt;
&lt;br /&gt;
==== Too few CPUs/threads for the number of users ====&lt;br /&gt;
In Windows task manager normally, you should see one ntvdm.exe and one waiting.exe process per NEOSYS process (application). A standard installation has three NEOSYS processes per main database and plus one per test database. This is configured in Support Menu, Configuration File.&lt;br /&gt;
&lt;br /&gt;
If there are MORE ntvdm processes than you expect from the configuration file, then perhaps NEOSYS is auto starting new NEOSYS processes to try and cater for a high number of concurrent users.&lt;br /&gt;
&lt;br /&gt;
If the number of concurrent NEOSYS processes significantly exceeds the number of cpus/hyperthreads available in the server then processing for everybody can become so slow for everybody and almost no work gets done.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Stop NEOSYS creating new NEOSYS processes automatically. Create a text file with the first and only line as AUTOSTART=NO in the neosys\neosys folder something like this.&lt;br /&gt;
&lt;br /&gt;
notepad d:\neosys\neosys\NET.CFG&lt;br /&gt;
&lt;br /&gt;
AUTOSTART=NO&lt;br /&gt;
&lt;br /&gt;
== How do I troubleshoot email not received? ==&lt;br /&gt;
&lt;br /&gt;
[[Troubleshooting email not received]]&lt;br /&gt;
&lt;br /&gt;
== Fixing permissions errors while logging in ==&lt;br /&gt;
 &lt;br /&gt;
=== Problem ===&lt;br /&gt;
 &lt;br /&gt;
While logging in, you get the following error message:&lt;br /&gt;
[[Image:login_error_message.jpg]]&lt;br /&gt;
 &lt;br /&gt;
=== Solution ===&lt;br /&gt;
 &lt;br /&gt;
Add the internet guest account to the security list of the data folder with the default permission of list/read/write&lt;br /&gt;
 &lt;br /&gt;
Make sure the read&amp;amp;execute permission is removed&lt;br /&gt;
[[Image:permissions_on_data.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fixing the &#039;HTTP Error 500.0 - Internal Server Error&#039; while logging in on IE on a Windows Vista system ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
After configuring IIS on Windows Vista you will get this error message while trying to login into NEOSYS from Internet Explorer:&lt;br /&gt;
&lt;br /&gt;
 HTTP Error 500.0 - Internal Server Error&lt;br /&gt;
 Description: This application is running in an application pool that uses the Integrated .NET  &lt;br /&gt;
 mode. This is the preferred mode for running ASP.NET applications on the current and future &lt;br /&gt;
 version of IIS.&lt;br /&gt;
 &lt;br /&gt;
 In this mode, the application using client impersonation configured with &amp;lt;identity &lt;br /&gt;
 impersonate=&amp;quot;true&amp;quot; /&amp;gt; may not behave correctly. Client impersonation is not available in early &lt;br /&gt;
 ASP.NET request processing stages and may lead modules in those stages to execute with process &lt;br /&gt;
 identity instead.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
You can move the application to an application pool that uses the Classic .NET mode by using the following from a command line window (the window must be running as Administrator) &lt;br /&gt;
&lt;br /&gt;
 %systemroot%\system32\inetsrv\APPCMD.EXE set app &amp;quot;Default Web Site/neosys&amp;quot; /applicationPool:&amp;quot;Classic .NET AppPool&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can use any other application pool on your system that is running in the Classic .NET mode. You can also use the IIS Administration tool to move this application to another application pool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fixing the &#039;Class Not Registered&#039; error message while logging in ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
While logging into NEOSYS, you will get a popup window giving an error message saying &#039;Class Not Registered - Server Error&#039;. Typically, you will encounter this error with XP Pro IIS 5.1. As usual, there&#039;s way to solve it, however the root cause of this is still unknown.&lt;br /&gt;
&lt;br /&gt;
Anyway, you will get the proper message in the event log:&lt;br /&gt;
&lt;br /&gt;
 Event Type: Warning&lt;br /&gt;
 Event Source: W3SVC&lt;br /&gt;
 Event Category: None&lt;br /&gt;
 Event ID: 36&lt;br /&gt;
 Description: The server failed to load application &#039;/LM/W3SVC/1/ROOT/NEOSYS.&lt;br /&gt;
 The error was &#039;Class not registered&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
So, what do you do ? This problem is related to Component Services, and when you open Component Services MMC, you will most probably  get  Error Code 8004E00F COM + was unable to talk to Microsoft Distributed Transaction Coordinator. So, fix the COM+ services first by using the following KB from Microsoft (PRB: Cannot Expand &amp;quot;My Computer&amp;quot; in Component Services MMC Snap-In http://support.microsoft.com/?id=301919):&lt;br /&gt;
&lt;br /&gt;
To resolve this problem, reinstall Component Services as follows: WARNING: &lt;br /&gt;
# Open registry editor, locate HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3, and then delete this key.  &lt;br /&gt;
# From the Start menu, point to Settings, click Control Panel, and then click Add/Remove Programs.  &lt;br /&gt;
# Click Add/Remove Windows Components. &lt;br /&gt;
# Proceed through the wizard, and accept all of the defaults (including IIS)&lt;br /&gt;
# Restart the computer.&lt;br /&gt;
&lt;br /&gt;
If the above didn&#039;t solve it, and you still receive the &#039;Class not registered&#039; error message, then you need to recreate the IIS packages in COM+, try&lt;br /&gt;
&lt;br /&gt;
# Delete IIS related package in Component Services MMC&lt;br /&gt;
# IIS In-Process Applications &lt;br /&gt;
# IIS Out-of-Process Pooled Applications &lt;br /&gt;
# IIS Utilities&lt;br /&gt;
&lt;br /&gt;
Next, if you still get the message, try following before re-install IIS if you can&#039;t find Distributed Transaction Coordinator in your Services console.&lt;br /&gt;
&lt;br /&gt;
Launch command prompt and run the following command.&lt;br /&gt;
# msdtc -install&lt;br /&gt;
# net start msdtc&lt;br /&gt;
&lt;br /&gt;
Then try re-install IIS.&lt;br /&gt;
&lt;br /&gt;
This should solve the problem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enabling File Security option on Win XP Professional ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
&lt;br /&gt;
In the Properties of any folders, the Security option does not show, hence you cannot modify the Read, Write options.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
The solution would be to untick the &#039;Simple File Sharing&#039; option from  Tools &amp;gt; Folder Options &amp;gt; View:&lt;br /&gt;
[[Image:simplefilesharingoff.jpg]]&lt;br /&gt;
&lt;br /&gt;
== %00%00%00%00 Errors ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SYSTEM ERROR in line 162. Amount &amp;quot;-2698.00AED&amp;quot; or base &amp;quot;%00%00%00%00&amp;quot; has been wrongly generated   &lt;br /&gt;
GET NEOSYS SUPPORT. DO NOT ATTEMPT TO CORRECT MANUALLY    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Solution ===&lt;br /&gt;
%00%00%00%00 indicates an internal error that NEOSYS programmer has to fix. It is usually random and can be hard to replicate unlike almost all other NEOSYS errors which usually replicate reliably once you find the cause.&lt;br /&gt;
&lt;br /&gt;
== B703 Errors ==&lt;br /&gt;
&lt;br /&gt;
The B703 error is usually always related to something too big for NEOSYS to handle. &lt;br /&gt;
&lt;br /&gt;
These are the only B errors that NEOSYS cant always permanently prevent by fixing the software.&lt;br /&gt;
&lt;br /&gt;
== Internet Explorer Menu, View, Text Size doesnt change font size as expected ==&lt;br /&gt;
&lt;br /&gt;
Cause: This is because the font size is now user definable in NEOSYS and View, Text Size does not override predefined font sizes.&lt;br /&gt;
&lt;br /&gt;
Solution: If you are using Internet Explorer 7 you can scale the screen (including the font size  using ctrl + and ctrl - keyboard shortcuts or the font size button on the bottom right hand side of the window. &lt;br /&gt;
&lt;br /&gt;
You can adjust the font size on the User Details form when you login although this permanently applies to all forms not just the one that you are on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uploaded jpg files fail to display in internet explorer ==&lt;br /&gt;
&lt;br /&gt;
Some large jpg files &amp;gt; 2Mb cannot be viewed in internet explorer despite being viewable in image preview, ms paint and other viewers/editors. It is not an issue caused by uploading or downloading the files.&lt;br /&gt;
&lt;br /&gt;
These file appear to have been created on Photoshop CS Macintosh and may be a special type of uncompressed jpg used for production quality files.&lt;br /&gt;
&lt;br /&gt;
=== Partial solution ===&lt;br /&gt;
Before uploading the files, open them in some editor like MS Paint (right click, edit) and save them. However this results in a loss of quality. Perhaps there is some program that can convert these files to a format understandable by Internet explorer without any loss of quality.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;This document is currently read only&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
The user attempting to modify this document does not have the authorization key to do so.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
Inform the user that he is not authorised to modify the document and give him the list of users within his company who are authorised to do so.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;You have attempted to write to a read-only file&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
=== Message ===&lt;br /&gt;
&lt;br /&gt;
Error while writing data.&lt;br /&gt;
You have attempted to write to a read-only file.&lt;br /&gt;
- or -&lt;br /&gt;
access to the file has been denied by the operating system.&lt;br /&gt;
(operating system file name: &amp;quot;..\DATA\ADLINEC\ADAGENCY\REV76467.OV00012618&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
It is almost certainly due to some third party backup or other maintenance software opening the NEOSYS database files when it shouldn&#039;t e.g. badly configured third party backup scheduled to backup NEOSYS while NEOSYS is still running. Note that the exact filename varies each time.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
This can be a serious error that causes damaged files in NEOSYS especially if the filename ends in .OV. Use the usual methods of checking for damaged files e.g. do a backup which also looks for damaged files BUT DO NOT OVERWRITE THE LATEST BACKUP SINCE IT MAY BE REQUIRED for restoration. Then fix the damaged files using the usual methods e.g. by rebuilding/using&lt;br /&gt;
FIXFILE or restoring databases. For more info check [[Handling damaged files|Handling damaged files]]&lt;br /&gt;
&lt;br /&gt;
=== Prevention ===&lt;br /&gt;
&lt;br /&gt;
Remove the third party backup or other maintenance software or reschedule it to run at a time that NEOSYS is shutdown. Removal of software may require hunting through the windows process list for unexpected programs running.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting Hung processes==&lt;br /&gt;
&lt;br /&gt;
=== Investigating hung NEOSYS processes ===&lt;br /&gt;
&lt;br /&gt;
To find out some information about what the hung processes are suffering from, do the following:&lt;br /&gt;
&lt;br /&gt;
When no important clients working (eg first thing in the morning) then request a shutdown of all NEOSYS processes. This should will leave only the hung processes open.&lt;br /&gt;
&lt;br /&gt;
Then find what NEOSYS files are open as follows:&lt;br /&gt;
&lt;br /&gt;
run Sysinternal&#039;s &amp;quot;Process Explorer&amp;quot; (from Start, Programs or procexp.exe from desktop)&lt;br /&gt;
&lt;br /&gt;
find, handle&lt;br /&gt;
&lt;br /&gt;
 d:\&lt;br /&gt;
&lt;br /&gt;
submit the complete list (maybe more than one page) to support for records&lt;br /&gt;
&lt;br /&gt;
[[Image:invhungprocess.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Troubleshooting_NEOSYS_Generally#Investigating_CPU_100.25_using_Windows_Task_Manager|Investigating CPU 100% using Windows Task Manager]]  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Troubleshooting_NEOSYS_Generally#Solving_server_CPU.25_is_100_and_all_users_are_extremely_slow.2Fstopped|Solving server CPU% is 100 and all users are extremely slow/stopped]] ===&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Fatal Error in Rev Restart&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
[[image:fatal.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Error message: “Abort, Retry, Fail” ===&lt;br /&gt;
==== Problem ====&lt;br /&gt;
The following messages may come on older versions of NEOSYS if there is a problem with the USB media inserted for backup.&lt;br /&gt;
&lt;br /&gt;
[[image:usberror.jpg]]&lt;br /&gt;
&lt;br /&gt;
This results in “NEOSYS has not checked in” message on Nagios since it hangs during the monitoring update and locks all other processes from monitoring too.&lt;br /&gt;
&lt;br /&gt;
General failure writing drive F&lt;br /&gt;
Abort, Retry, Fail?&lt;br /&gt;
&lt;br /&gt;
Not read reading drive F&lt;br /&gt;
Abort, Retry, Fail?&lt;br /&gt;
&lt;br /&gt;
Pressing A or F results in the problem happening again in about a minute, perhaps on a different process.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Temporary solution is to do “Safely remove hardware” from the windows notification area. Using “Eject” from My Computer will not work.&lt;br /&gt;
&lt;br /&gt;
Permanent solution is to replace the defective USB memory stick. Sometime reformatting is sufficient.&lt;br /&gt;
&lt;br /&gt;
Upgrading NEOSYS will probably stop the defective media from causing NEOSYS to hang but the USB will still be useless for backup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Read error in the operating system file&amp;quot; ===&lt;br /&gt;
==== Problem ====&lt;br /&gt;
Nagios reports a hung process and on the server a process has the following message popup.&lt;br /&gt;
&lt;br /&gt;
 Read error in the operating system file &amp;quot;..\DATA\PT0833\ACCOUNTS\REV20049&lt;br /&gt;
 The file does not exist or the filename is&lt;br /&gt;
 not valid for the operating system.&lt;br /&gt;
&lt;br /&gt;
[[Image:readerrorintheoperatingsystemfile.png]]&lt;br /&gt;
&lt;br /&gt;
==== Cause ====&lt;br /&gt;
Some non-NEOSYS program is directly accessing the NEOSYS database files while NEOSYS processes are running and using the files as well.&lt;br /&gt;
&lt;br /&gt;
*Client IT staff using a backup program to perform backup without ensuring that NEOSYS processes are shutdown.&lt;br /&gt;
*A NEOSYS rsync process taking longer than expected due to new USB.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Kill the NEOSYS process eg with the X button. It is advisable NOT to let it run further while it cannot properly access one of its files.&lt;br /&gt;
&lt;br /&gt;
==== Prevention ====&lt;br /&gt;
Remove the third party program or arrange for it to operate only while NEOSYS processes are shutdown eg from 3am-6am.&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Not enough string space - Out of Memory&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
==== Message ====&lt;br /&gt;
&lt;br /&gt;
‘RTP27’ Line 1. [B29] Not enough string space – Out of Memory.&lt;br /&gt;
&lt;br /&gt;
Not enough memory to execute Debugger; current program aborted.&lt;br /&gt;
Press any key to continue&lt;br /&gt;
&lt;br /&gt;
[[Image:out_of_memory.jpg]]&lt;br /&gt;
&lt;br /&gt;
==== Cause ====&lt;br /&gt;
Unknown perhaps related to some large document or report&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Ask users for any hanging transactions.&lt;br /&gt;
None other than closing and starting another process.&lt;br /&gt;
&lt;br /&gt;
Also refer [[Troubleshooting NEOSYS Generally#Enabling EMS memory on Window 2003|Enabling EMS memory on Window 2003]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: B521 ===&lt;br /&gt;
&lt;br /&gt;
[[Image:B521.jpg]] &lt;br /&gt;
&lt;br /&gt;
 Another user is currently updating indexes. &lt;br /&gt;
 Waiting to make your updates...&lt;br /&gt;
 If you interrupt this process,&lt;br /&gt;
 you may have to rebuild all the indexes&lt;br /&gt;
&lt;br /&gt;
B521 message is usually temporary and goes away by itself. If it does not then, as the text of the B521 message makes clear, some OTHER process is holding up the system, preventing the process with B521 message from continuing.&lt;br /&gt;
&lt;br /&gt;
B521 message is a symptom of other problem so it does not itself have some one simple solution. You must find which other process or issue is causing the hold up and solve whatever problem is causing the hold up, which could be anything.&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot; NTVDM encountered a hard error &amp;quot;  ===&lt;br /&gt;
&lt;br /&gt;
The following error message appears:&lt;br /&gt;
&lt;br /&gt;
[[Image:ntvdm.jpg]]&lt;br /&gt;
&lt;br /&gt;
 NTVDM encountered a hard error&lt;br /&gt;
&lt;br /&gt;
==== Solution  ====&lt;br /&gt;
 &lt;br /&gt;
This error is caused by missing or corrupt Windows system files (i.e. command.com, autoexec.nt and config.nt). The solution is to run a program called XP FIX which will reinstall these missing files. You can download it form http://www.visualtour.com/downloads/xp_fix.exe&lt;br /&gt;
&lt;br /&gt;
Sometimes even after running the XP FIX program the error still appears. Then you need to copy all the files under C:/windows/repair to C:/windows/system32 and in the autoexec.nt and config.nt put REM before any lines there which don&#039;t have it.&lt;br /&gt;
&lt;br /&gt;
====Possible fix for some NTVDM errors ====&lt;br /&gt;
&lt;br /&gt;
===== Error message ===== &lt;br /&gt;
&lt;br /&gt;
[[Image:Ntvdm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
 NTVDM has encountered a System error.&lt;br /&gt;
 The system cannot find the file specified.&lt;br /&gt;
 Choose close to terminate the application.&lt;br /&gt;
&lt;br /&gt;
=====Possible solution===== &lt;br /&gt;
&lt;br /&gt;
#Change the TEMP and TMP environment variables to C:\WINDOWS\TEMP. This should be for the user that runs NEOSYS processes - normally administrator.&lt;br /&gt;
#Close all NEOSYS processes &lt;br /&gt;
#Logout/Login again&lt;br /&gt;
#Restart NEOSYS processes&lt;br /&gt;
&lt;br /&gt;
[[image:Ntvdmsoln.png]]&lt;br /&gt;
&lt;br /&gt;
===== Check solution done properly ===== &lt;br /&gt;
&lt;br /&gt;
You can check that by typing ECHO %TEMP% and ECHO %TMP% at a console prompt after logging out and in again. &lt;br /&gt;
&lt;br /&gt;
Note that windows will actually set the windows environment variables to something like C:\WINDOWS\TEMP\2 for some unknown reason. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
d:\hosts&amp;gt;ECHO %temp% &lt;br /&gt;
C:\WINDOWS\TEMP\2 &lt;br /&gt;
&lt;br /&gt;
d:\hosts&amp;gt;ECHO %tmp% &lt;br /&gt;
C:\WINDOWS\TEMP\2 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Error message: [[Troubleshooting_NEOSYS_Generally#Troubleshooting_the_.22Database_not_available.22_error_message|&amp;quot;Database not available&amp;quot; post login]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: [[Backup_and_Restore#Error_Message:_.22Cannot_backup.2Frestore_because_PROCESS1_PROCESS2_.28etc.29_is.2Fare_online.22_message|&amp;quot;Cannot backup/restore because PROCESS1 PROCESS2 (etc) is/are online&amp;quot;]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How to kill hung NEOSYS processes ===&lt;br /&gt;
 &lt;br /&gt;
NOTE WELL: If you kill actively working NEOSYS processes (those which are &amp;quot;listening&amp;quot; and not hung/crashed) there is a reasonable chance that the database will be damaged and might need a restore losing possibly large amounts of work.&lt;br /&gt;
 &lt;br /&gt;
==== If NEOSYS processes are visible on the server desktop ====&lt;br /&gt;
 &lt;br /&gt;
Look for processes which don&#039;t have &amp;quot;Listening ...&amp;quot; on the last but one line. The times on the left hand side are frozen as at the time of the hang.&lt;br /&gt;
 &lt;br /&gt;
You can then click the X to kill the process and confirm that this is OK.&lt;br /&gt;
 &lt;br /&gt;
Example of a NEOSYS process that has hung due to a software error resulting in a failure to handle a complex query with a lot of brand codes.&lt;br /&gt;
&lt;br /&gt;
[[Image:hungprocess.jpg]]&lt;br /&gt;
 &lt;br /&gt;
==== If NEOSYS processes are not visible on the server desktop ====&lt;br /&gt;
&lt;br /&gt;
NEOSYS processes are most of the time visible on the desktop (i.e. the black dos windows) in Windows 2003 OS, except in the case that the process has been scheduled to start on computer restart and no one has logged into the server. In this case it would be running in the background. TODO&lt;br /&gt;
&lt;br /&gt;
You can check if there are any hung processes from the NEOSYS Support Menu, List of Database Processes. &lt;br /&gt;
[[Image:databaseprocesseslist.jpg]]&lt;br /&gt;
&lt;br /&gt;
In this case you should follow the below instructions - however all of them need to be done within 30 seconds of starting the first instruction to avoid inconvenience to the users. It is recommend that you keep relevant windows open before proceeding with the same:&lt;br /&gt;
&lt;br /&gt;
#Shutdown NEOSYS by TEMPORARILY putting a file called GLOBAL.END in the parent directory of NEOSYS (if there is already a GLOBAL.END.TEMP file then rename it to GLOBAL.END). Leaving the file there would prevent NEOSYS from starting up again. Shutting down NEOSYS from the Support menu will not work because of the hung processes.&lt;br /&gt;
#Use Windows Task Manager to kill all the NTVDM processes - assuming that you have closed all the visible NEOSYS processes, then the NTVDM processes in the task manager would be the hung one.&lt;br /&gt;
#Delete GLOBAL.END or rename it to GLOBAL.END.TEMP&lt;br /&gt;
#Restart the processes back again. If there are many datasets then you need to restart them all well within the 30 seconds period.&lt;br /&gt;
#*Restarting a process is not noticed by users.&lt;br /&gt;
&lt;br /&gt;
In case of Patsalides, where we have a thousand datasets which start &amp;quot;on demand&amp;quot; i.e. usually on login; all you need to do is start one dataset which will restart all the other datasets &amp;quot;on demand&amp;quot;. If there is no response within 30 seconds then one of the running datasets will start it up so there appears to be a 30 second delay when you login to one of the thousand datasets the first time on any one day.&lt;br /&gt;
&lt;br /&gt;
=== Temporary workarounds for hung NEOSYS processes ===&lt;br /&gt;
Until the error in the software is fixed users can often get their results by simplifying their requirements. For example select individual clients instead of selecting all the brands for a particular client. If the user has repeated his request (in forlorn hope that it would work finally) then the number of working NEOSYS processes will drop causing severe slowdown for other users and complete stop if all the NEOSYS processes hang.&lt;br /&gt;
&lt;br /&gt;
== Fixing &amp;quot; You do not have sufficient privilege to access this file &amp;quot;  ==&lt;br /&gt;
&lt;br /&gt;
This error message may come up while NEOSYS process startup.&lt;br /&gt;
&lt;br /&gt;
Solution: Close the window and look for NEOSYS processes. In case there is no process, start the NEOSYS process.&lt;br /&gt;
&lt;br /&gt;
[[image:Errormsg.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing &#039;NEOSYS process which opens up in a notepad instead of Microsoft Windows Based Script Host (i.e. DOS window)&#039;==&lt;br /&gt;
&lt;br /&gt;
The NEOSYS process (cmd file) might open up in a notepad, instead of the usual black colour DOS window. This may happen if a JavaScript file is opened using a notepad. Please be very CAREFUL when accessing a .JS and .JSE file and double check that the default program remains wscript.exe. The issue can be fixed by the following:&lt;br /&gt;
&lt;br /&gt;
# Check if Windows Script 5.6/5.7 is installed, IF NOT download and install it from the Microsoft Website.&lt;br /&gt;
# Go to any folder, click on Tools &amp;gt; Folder Options &amp;gt; File Types and find the .JS and .JSE and change the default program to wscript.exe (from windows&amp;gt;system32)&lt;br /&gt;
&lt;br /&gt;
== Fixing a &#039;Could not start&#039; error on Scheduled Tasks in Windows Server 2000 SP4 ==&lt;br /&gt;
&lt;br /&gt;
This error occurs because of a change that is made to the data that is stored in the credentials database when you install Windows 2000 SP4. Hence installing SP4 causes the the data that is stored in the credentials database to get converted to an SP4-compatible format. A registry key is configured to indicate that the data has been converted to the SP4 format.&lt;br /&gt;
&lt;br /&gt;
Hence the Scheduled Tasks do not work sometimes. However the Scheduled Tasks works fine sometimes, but when you uninstall SP4, it does not work.&lt;br /&gt;
&lt;br /&gt;
The best solution is to:&lt;br /&gt;
&lt;br /&gt;
# Incase Scheduled Tasks do not work after installing SP4, then uninstall SP4 and it should be fine.&lt;br /&gt;
# Incase Scheduled Tasks works after installing SP4, and later after uninstalling SP4, it does not work, then install SP4 and it should be fine.&lt;br /&gt;
&lt;br /&gt;
== Checking for server or NEOSYS crashes ==&lt;br /&gt;
 &lt;br /&gt;
#NEOSYS Maintenance Mode&lt;br /&gt;
#General Menu, Setup, Processes&lt;br /&gt;
#Select the dates and the option Detailed&lt;br /&gt;
 &lt;br /&gt;
This report shows a list of dates and times that NEOSYS logged in but did not log out properly.&lt;br /&gt;
 &lt;br /&gt;
Ignore the very latest entries since they represent the current NEOSYS processes. For example, if you have four NEOSYS processes running at the time that you get the report (including any in maintenance mode) then you can ignore the last four entries.&lt;br /&gt;
 &lt;br /&gt;
The date and time shows for each process that has failed to shutdown correctly when the process logged in. Versions of NEOSYS from January 2008 will also show the date and time that each crashed NEOSYS process was last active (heartbeat) so that the time of failure can be known.&lt;br /&gt;
 &lt;br /&gt;
If you see a bunch of NEOSYS processes all started up at around the same time but all failed to shutdown correctly then the cause will be a server failure - usually power failure.&lt;br /&gt;
 &lt;br /&gt;
Isolated one-off failures will be related to individual NEOSYS process crashes - most commonly caused by one of the following:&lt;br /&gt;
 &lt;br /&gt;
#NEOSYS hanging to due to software failure&lt;br /&gt;
#Manually exiting a NEOSYS process on the server either by pressing Ctrl+Alt+Del or clicking the &amp;quot;X&amp;quot; close icon/box and ignoring the warning&lt;br /&gt;
#Random server failures eg memory, disk etc&lt;br /&gt;
 &lt;br /&gt;
Example:&lt;br /&gt;
 &lt;br /&gt;
 LOGIN 22/12/2007 06:02 NEOSYS SERVER ADAGENCY         Current workstation &lt;br /&gt;
 LOGIN 23/12/2007 06:00 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 06:01 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 06:02 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:52 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:52 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:53 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:00 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:01 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:02 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 13:51 NEOSYS SERVER NEOSYS         Current user session  &lt;br /&gt;
&lt;br /&gt;
Interpretation:&lt;br /&gt;
 &lt;br /&gt;
The first four entries indicate that all four NEOSYS processes started at 06am were suddenly killed probably by power failure&lt;br /&gt;
 &lt;br /&gt;
The next four entries indicate that NEOSYS was restarted at around 08:52 and all these processes were AGAIN killed probably by power failure&lt;br /&gt;
 &lt;br /&gt;
The last four entries can be ignored because there were four NEOSYS processes running at the time that the report was generated&lt;br /&gt;
&lt;br /&gt;
== Searching for word/number in the database files using maintenance mode ==&lt;br /&gt;
&lt;br /&gt;
You can search for any word/number in the database files of NEOSYS, using the following command line:&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 FIND FILENAME WORDWITHOUTANYSPACES&lt;br /&gt;
 &lt;br /&gt;
 For eg:&lt;br /&gt;
 FIND CURRENCIES 1.1&lt;br /&gt;
 (here you are searching for the number 1.1 in the currencies file) You CANNOT search for a phrase ie include spaces like this.&lt;br /&gt;
 &lt;br /&gt;
 Or you can also type:&lt;br /&gt;
 FIND FILENAME &amp;lt;enter&amp;gt;&lt;br /&gt;
 and it will ask you what you want do to search. You can enter an exact phrase with spaces.&lt;br /&gt;
&lt;br /&gt;
Incase you do not know the filenames, you can enter the following command to see all the filenames in the system:&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 LF&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting a Service Unavailable message on Internet Explorer when opening up NEOSYS ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&lt;br /&gt;
The following error message appears in Internet Explorer when you try to open up NEOSYS:&lt;br /&gt;
&lt;br /&gt;
 Service Unavailable&lt;br /&gt;
&lt;br /&gt;
=== Solution  ===&lt;br /&gt;
 &lt;br /&gt;
Open the IIS Manager, right click Web Sites and select properties:&lt;br /&gt;
[[Image:serviceunavailable1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Switch to the Service Tab and tick the &amp;quot;Run WWW Service in IIS 5.0 Isolation Mode&amp;quot;.&lt;br /&gt;
[[Image:serviceunavailable2.jpg]]&lt;br /&gt;
&lt;br /&gt;
You will be asked for Restart of IIS. Click yes to restart IIS. If you are not asked just restart IIS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Inspecting IIS log files ==&lt;br /&gt;
&lt;br /&gt;
At a windows command prompt:&lt;br /&gt;
&lt;br /&gt;
 c:&lt;br /&gt;
 cd \Windows\system32\LogFiles\W3SVC1&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 %SystemDrive%&lt;br /&gt;
 cd %SystemRoot%&lt;br /&gt;
 cd system32\LogFiles\W3SVC1&lt;br /&gt;
&lt;br /&gt;
then (substituting the ip number you are interested in)&lt;br /&gt;
&lt;br /&gt;
 find &amp;quot;192.168.1.55&amp;quot; *|sort&amp;gt;temp.log&lt;br /&gt;
&lt;br /&gt;
Open temp.log in Excel and use Tools, Data, Text to Columns to split into columns using options &amp;quot;Delimited&amp;quot; and check split on Space.&lt;br /&gt;
&lt;br /&gt;
Autowidth all columns by clicking on the top left box just outside the data to the left of column A and above column 1 then double click the column separator to the right of column &amp;quot;A&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note that times and dates are in UTC/GMT so you have to add/subtract your timezone offset to get local times.&lt;br /&gt;
&lt;br /&gt;
==Inspecting Database LOGS Folder==&lt;br /&gt;
LOGS folder in NEOSYS installation folder carries records of all changes done in the database which includes adding and removal of data.&lt;br /&gt;
&lt;br /&gt;
Log file is an XML document which should be viewed in Notepad. Each XML document represents commands executed by each NEOSYS process started each day.&lt;br /&gt;
&lt;br /&gt;
The NEOSYS log files e.g. 15123103.xml are created by the database processes. If the database is not available according to the website then no entry will appear in that log. The request will appear in the IIS website log but that log is nothing to do with database processes.&lt;br /&gt;
&lt;br /&gt;
=== Understanding Log Entries ===&lt;br /&gt;
Inspecting and searching through Logs file allows NEOSYS staff to answer clients queries like &amp;quot;Who deleted schedule XXXX&amp;quot; etc.&lt;br /&gt;
&lt;br /&gt;
While going through the log file you may come across a request &amp;quot;EXECUTE GENERAL GETTASKS NOT&amp;quot;, this request is concerned with getting a list of tasks that the user is *not* allowed to do.&lt;br /&gt;
&lt;br /&gt;
To read and understand the log file with more ease, copy the portion of the log file required to be analyzed into another text editor.&lt;br /&gt;
&lt;br /&gt;
The text that appears as %FE, %FE1, %FE2, etc. are basically separators.&lt;br /&gt;
*First replace FE0%, FE1%, FE2%, etc. with a separator like &amp;quot;--&amp;quot;. There can be occurrences of &amp;quot;%FE&amp;quot; along with some valuable information like &amp;quot;17290&amp;quot;, so replacing &amp;quot;%FE1&amp;quot; in &amp;quot;%FE17290&amp;quot; would lead to loss of information.&lt;br /&gt;
*Then replace %FE with a bigger separator like &amp;quot;===&amp;quot;.&lt;br /&gt;
*Replace other entries like %FCB and then %FC and so on with similar separators.&lt;br /&gt;
*In the end there may be few &amp;quot;FE&amp;quot; remaining, replace these with a separator like &amp;quot;-&amp;quot;.&lt;br /&gt;
*The remaining &amp;quot;%&amp;quot; characters MUST be intelligently replaced with a separator like &amp;quot; &amp;quot; (space), because it can either be an actual &amp;quot;%&amp;quot; or it can be a residue from &amp;quot;%FE&amp;quot;, &amp;quot;%FE1&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
Once replacing all these characters is done, the log file will be more easily readable and vital information will be clearer. &lt;br /&gt;
&lt;br /&gt;
In the log file, you may find numbers like 17290, 17195, etc. These numbers denote dates selected or entered by the NEOSYS user. These are basically the number of days from 31st December 1967 till the date chosen by the user. For example, to convert 17290 to actual date, 31/12/1967 + 17290 = 3/5/2015. So the actual date is 3rd May 2015.&lt;br /&gt;
&lt;br /&gt;
To convert these numbers to dates using maintenance mode, refer to the article [http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Finding_out_when_and_by_whom_a_record_was_deleted Finding out when and by whom a record was deleted]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:NEOSYS Logs.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing NEOSYS processes that do not auto start / Recovering from incorrect advanced date or time ==&lt;br /&gt;
This solution is applicable to live database processes only. Test database processes don’t auto-start any other processes.&lt;br /&gt;
&lt;br /&gt;
=== Problem explained ===&lt;br /&gt;
After starting up the 1st process, the rest of the processes don&#039;t start up.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
The possible cause for this could be that the system date/time might have been changed - either manually or by the auto synchronization. Do the following checks in the sequence of order:&lt;br /&gt;
&lt;br /&gt;
# Check for any *.$* files (* after dollar sign should show a number, the highest being the latest one). If it shows OK, then proceed ahead.&lt;br /&gt;
# Check for any .end files and delete it to rename to .end.temp&lt;br /&gt;
# Check the System Event Viewer log for any 520 or 577 error message (refer http://128.175.24.251/forensics/timechange.htm). Also check for any out of sequence / ahead of today date or time.&lt;br /&gt;
# In case of no 520 or 577 error message, go to Administrative Tools &amp;gt; Local Security Policy &amp;gt; Local Policies &amp;gt; Audit Policy &amp;gt; Audit Privilege use - make sure that Success and Failure are selected under this (this will ensure that future changes to the date/time are recorded in the System Log).&lt;br /&gt;
# In NEOSYS maintenance mode - F5 ED PROCESSES %UPDATE% - and see what it says, incase of any text (only text, not numbers) there, that means that for sure the system date has been changed. To fix this, exit the editor by pressing the ESCAPE key and then type DELETE PROCESSES &amp;quot;%UPDATE%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Fixing NEOSYS maintenance mode not starting up == &lt;br /&gt;
&lt;br /&gt;
Problem :- While trying to start maintenance mode, the maintenance window closes automatically within a split second.&lt;br /&gt;
&lt;br /&gt;
Solution :- Delete the read-only file REVBOOT file (under d:/neosys/neosys folder). REVBOOT file is recreated when you start maintenance mode.&lt;br /&gt;
&lt;br /&gt;
== Recognising and Solving Low Memory Problems ==&lt;br /&gt;
&lt;br /&gt;
Quick Note: Installing a server class operating system on a workstation class computer with the intention of NEOSYS serving a heavy load is likely to cause problems with low memory.&lt;br /&gt;
&lt;br /&gt;
Quick Fix: Disable *ALL* non-essential features in the power-on setup menu.&lt;br /&gt;
&lt;br /&gt;
=== Effects ===&lt;br /&gt;
&lt;br /&gt;
It is speculated but not proven that low memory may cause NEOSYS to fail by hanging, causing damaged files etc.&lt;br /&gt;
&lt;br /&gt;
=== Checking ===&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 MEMORY&lt;br /&gt;
&lt;br /&gt;
On server class machines it should say somewhere around 350Kb to 370Kb Free&lt;br /&gt;
&lt;br /&gt;
Some server class machines have around 330Kb and sometimes even less with no reported problems&lt;br /&gt;
&lt;br /&gt;
The actual effect of low memory is supposed to make NEOSYS slower and perhaps cause hanging and damaged files however this has not been proven in an specific case so far.&lt;br /&gt;
&lt;br /&gt;
On workstation class machines it may often say around 280Kb to 300Kb.&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
Although there is plenty of real memory in virtually all computers now, NEOSYS runs in the legacy 16 bit virtual memory space of a windows mode called NTVDM. This is limited to 1Mb plus 4Mb of EMS memory.&lt;br /&gt;
&lt;br /&gt;
The 1Mb memory space is shared with:&lt;br /&gt;
&lt;br /&gt;
#Various non-essential windows drivers which NEOSYS automatically disables them in autoexec.nt&lt;br /&gt;
#Various plug and play hardware device drivers for the various adapters in the computer like video, network adapters and various other items that NEOSYS is unable to disable.&lt;br /&gt;
&lt;br /&gt;
In a server class computer the hardware device drivers are usually minimally present in the 1Mb base memory and do not therefore DOESNT a low memory situation for NEOSYS.&lt;br /&gt;
&lt;br /&gt;
In workstation class computers there are often many hardware device drivers present in the 1Mb base memory and this DOES causes a low memory situation for NEOSYS.&lt;br /&gt;
&lt;br /&gt;
When NEOSYS is installed on workstation class computers with XP there is usually not a heavy load expectation and therefore the low memory does not cause a problem.&lt;br /&gt;
&lt;br /&gt;
If Windows Server OS is installed on a workstation class computer NEOSYS may well be expected to serve a heavy load with limited amounts of memory.&lt;br /&gt;
&lt;br /&gt;
Workstation class computers: hardware drivers present and EMS is installed in low memory (0000-9FFF) causing low memory for NEOSYS and possible inability to &lt;br /&gt;
&lt;br /&gt;
Server class computers: Usually few hardware drivers are present in high part (A000-FFFF) of the 1Mb base memory and EMS is able to occupy the high memory leaving the low part (0000-9FFFF) of the 1Mb memory free for NEOSYS. You can find out how much memory is available to NEOSYS and whether EMS is occuping high or low memory using the following sections.&lt;br /&gt;
&lt;br /&gt;
=== Fixing Low Memory ===&lt;br /&gt;
&lt;br /&gt;
Start, Run, notepad c:\windows\system32\autoexec.nt&lt;br /&gt;
&lt;br /&gt;
Every time NEOSYS starts it tries to make some changes as follow:&lt;br /&gt;
&lt;br /&gt;
#replaces all lines in C:/WINDOWS/SYSTEM32/AUTOEXEC.NT starting with &#039;lh &#039; to start with &#039;rem NEOSYS LH &#039; instead.&lt;br /&gt;
#changes the line in C:/WINDOWS/SYSTEM32/CONFIG.NT &amp;quot;files=...&amp;quot; to &amp;quot;FILES=200&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The replacement is case sensitive triggered on &#039;lh&#039; and &#039;files&#039; so if you manually edit the files and remove the rem or change the number of files and leave the LH and FILES in uppercase then NEOSYS will NOT make further changes. This allows you to do manual amendments to the files without NEOSYS overwriting them.&lt;br /&gt;
&lt;br /&gt;
Check that NEOSYS has successfully disabled all the drivers in the lines starting with LH.&lt;br /&gt;
&lt;br /&gt;
They should be commented out (prefixed) with REM or REM NEOSYS as follows.&lt;br /&gt;
&lt;br /&gt;
After making changes reopen NEOSYS in maintenance mode to use the MEMORY and WHO commands again.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REM Install CD ROM extensions&lt;br /&gt;
REM NEOSYS LH %SystemRoot%\system32\mscdexnt.exe&lt;br /&gt;
&lt;br /&gt;
REM Install network redirector (load before dosx.exe)&lt;br /&gt;
REM NEOSYS LH %SystemRoot%\system32\redir&lt;br /&gt;
&lt;br /&gt;
REM Install DPMI support&lt;br /&gt;
REM NEOSYS LH %SYSTEMROOT%\SYSTEM32\DOSX&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Low Memory Issues in Windows 2003 server can be fixed using instructions mentioned at [http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Enabling_EMS_memory_on_Window_2003 Fixing Low Memory in Windows 2003 Server]&lt;br /&gt;
&lt;br /&gt;
=== Allowing DOS programs that require DOSX to run on the same computer as NEOSYS ===&lt;br /&gt;
&lt;br /&gt;
The automatic commenting out DOSX by NEOSYS will prevent some other DOS-like programs from running. If NEOSYS is on dedicated server then there should be no other such programs to fail. However, if you must allow DOS-like programs to work as well as NEOSYS you can do the following configuration:&lt;br /&gt;
&lt;br /&gt;
#leave or restore the original AUTOEXEC.NT and CONFIG.NT files where they are&lt;br /&gt;
#copy them to another folder eg neosys folder&lt;br /&gt;
#make the necessary REM changes there by hand&lt;br /&gt;
#right click the NEOSYS\NEOSYS\AREV.PIF and select properties&lt;br /&gt;
#change the location of the AUTOEXEC.NT and CONFIG.NT files in the following location&lt;br /&gt;
&lt;br /&gt;
[[image:pifsettings.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Checking EMS Memory Configuration ===&lt;br /&gt;
&lt;br /&gt;
==== Inspection ====&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 WHO&lt;br /&gt;
&lt;br /&gt;
 press the up arrow to get to the last part/page&lt;br /&gt;
&lt;br /&gt;
===== Example of Typical Server EMS Memory =====&lt;br /&gt;
[[image:serveremm.jpg]]&lt;br /&gt;
&lt;br /&gt;
===== Example of Typical Workstation EMS Memory =====&lt;br /&gt;
[[image:workstationemm.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Correction====&lt;br /&gt;
&lt;br /&gt;
No easy way&lt;br /&gt;
&lt;br /&gt;
Removal of hardware adapters designed for workstations instead of servers eg graphics cards and network cards.&lt;br /&gt;
&lt;br /&gt;
Many of the devices may be located on the motherboard and not relocatable except possibly by BIOS configuration or special manufacturer information.&lt;br /&gt;
&lt;br /&gt;
Use windows device manager, View: Resources by Connection, Open the Memory item and look for items between 000A0000 up to 000FFFFF that might give you a clue as to what hardware could be removed or reconfigured. Actually only 000C0000 to 000FFFFF is candidate for EMS memory since 000A000-000BFFFF is mandatory video memory in all systems.&lt;br /&gt;
&lt;br /&gt;
[[image:devicemanager.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing issue where NEOSYS processes do not start-up at all or start-up and close immediately ==&lt;br /&gt;
&lt;br /&gt;
# Find if a file with the name global.end exists in the root directory of the NEOSYS installation. Eg D:\global.end . If you find such a file, rename it to global.end.temp - for more information on global.end and what it does refer to [[Administering_NEOSYS_Server#Closing_NEOSYS_Services|Closing NEOSYS Services]]&lt;br /&gt;
# If the above didn&#039;t fix the problem and NEOSYS still does not start, do a windows search for the entire NEOSYS folder for *.end (i.e. any file ending with .end extension). You may find a (databasecode).end file in D:\neosys\neosys folder which is created by the NEOSYS program during backup at 1 am and later on removed automatically. In this case NEOSYS program might have crashed during the backup and left this file behind. (databasecode).end files prevent other other NEOSYS processes starting up on the database while exclusive processes (like backup) are being done.&lt;br /&gt;
&lt;br /&gt;
In case the above didn&#039;t fix the problem then escalate to the programmer immediately.&lt;br /&gt;
&lt;br /&gt;
=== Solving &amp;quot;Control Record&amp;quot; error in maintenance mode ===&lt;br /&gt;
&lt;br /&gt;
If processes dont start after you log into maintenance mode and you get an error message&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔════[FS152]═══════════════════════════════════════╗&lt;br /&gt;
║          The control record &amp;quot;RECORDS&amp;quot;            ║&lt;br /&gt;
║           is too long to be saved.               ║&lt;br /&gt;
║   The current record length is 65539 characters. ║&lt;br /&gt;
║                                                  ║&lt;br /&gt;
║               &amp;lt; Press any key &amp;gt;                  ║&lt;br /&gt;
╚══════════════════════════════════════════════════╝  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[File:Record1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1&#039;&#039;&#039;. Press space to get rid of the error message and you should then get this menu&lt;br /&gt;
&lt;br /&gt;
[[File:Record2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2&#039;&#039;&#039;. Press F5 and run this command (case sensitive)&lt;br /&gt;
&lt;br /&gt;
 DICT DEFINITIONS&lt;br /&gt;
&lt;br /&gt;
or Press Alt+S and run this command (case sensitive)&lt;br /&gt;
&lt;br /&gt;
 EXECUTE DICT DEFINITIONS&lt;br /&gt;
&lt;br /&gt;
[[File:Record3.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3&#039;&#039;&#039;. Press Shift+F3 to get the following message&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔══[B202]══════════════════════════════════╗&lt;br /&gt;
║            &amp;quot;DEFINITIONS&amp;quot; has             ║&lt;br /&gt;
║          &amp;quot;QUICKDEX&amp;quot; installed            ║&lt;br /&gt;
║                                          ║&lt;br /&gt;
║ Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N]  ║&lt;br /&gt;
║                                          ║&lt;br /&gt;
║ &amp;lt;Y                                      &amp;gt;║&lt;br /&gt;
╚══════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4&#039;&#039;&#039;. Press Enter to choose Yes.&lt;br /&gt;
&lt;br /&gt;
[[File:Record4.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5.&#039;&#039;&#039;Restart NEOSYS to see if the problem has been solved&lt;br /&gt;
&lt;br /&gt;
== Solving “page not found” when downloading some file types after uploading them successfully ==&lt;br /&gt;
=== One by One ===&lt;br /&gt;
&lt;br /&gt;
Windows web server will not download file types that it is unaware of. You can enable the download of new file types one by one as follows.&lt;br /&gt;
&lt;br /&gt;
This process is tedious and error-prone if you have to add many type.&lt;br /&gt;
&lt;br /&gt;
#Computer Management&lt;br /&gt;
#Services and Applications&lt;br /&gt;
#IIS properties&lt;br /&gt;
#Mime Types&lt;br /&gt;
#Add&lt;br /&gt;
&lt;br /&gt;
=== Many ===&lt;br /&gt;
&lt;br /&gt;
Window Server 2003 is unaware of all the Office 2007+ file types. To add all Office 2007+ file types at once do the following:&lt;br /&gt;
&lt;br /&gt;
Stop IIS&lt;br /&gt;
&lt;br /&gt;
 iisreset /stop&lt;br /&gt;
&lt;br /&gt;
Open the list of mime types&lt;br /&gt;
&lt;br /&gt;
*Start, Run, notepad C:\WINDOWS\system32\inetsrv\MetaBase.xml&lt;br /&gt;
&lt;br /&gt;
Search the file for “xlsx” and quit the editor if already inserted.&lt;br /&gt;
&lt;br /&gt;
Otherwise, find the following line,&lt;br /&gt;
&lt;br /&gt;
  .xml,text/xml&lt;br /&gt;
&lt;br /&gt;
and insert after that line the following lines. They do not need to be indented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.docm,application/vnd.ms-word.document.macroEnabled.12&lt;br /&gt;
.docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document&lt;br /&gt;
.dotm,application/vnd.ms-word.template.macroEnabled.12&lt;br /&gt;
.dotx,application/vnd.openxmlformats-officedocument.wordprocessingml.template&lt;br /&gt;
.potm,application/vnd.ms-powerpoint.template.macroEnabled.12&lt;br /&gt;
.potx,application/vnd.openxmlformats-officedocument.presentationml.template&lt;br /&gt;
.ppam,application/vnd.ms-powerpoint.addin.macroEnabled.12&lt;br /&gt;
.ppsm,application/vnd.ms-powerpoint.slideshow.macroEnabled.12&lt;br /&gt;
.ppsx,application/vnd.openxmlformats-officedocument.presentationml.slideshow&lt;br /&gt;
.pptm,application/vnd.ms-powerpoint.presentation.macroEnabled.12&lt;br /&gt;
.pptx,application/vnd.openxmlformats-officedocument.presentationml.presentation&lt;br /&gt;
.xlam,application/vnd.ms-excel.addin.macroEnabled.12&lt;br /&gt;
.xlsb,application/vnd.ms-excel.sheet.binary.macroEnabled.12&lt;br /&gt;
.xlsm,application/vnd.ms-excel.sheet.macroEnabled.12&lt;br /&gt;
.xlsx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet&lt;br /&gt;
.xltm,application/vnd.ms-excel.template.macroEnabled.12&lt;br /&gt;
.xltx,application/vnd.openxmlformats-officedocument.spreadsheetml.template&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save the file with File and Exit&lt;br /&gt;
&lt;br /&gt;
Restart IIS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Handling Neosys Automatic Upgrade Error Messages ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
We will receive an email from the NEOSYS client installation with the following message:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;UPGRADEN.EXE&amp;quot; does not have expected exe MZ signature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
This message is a note that the NEOSYS automatic update procedure failed to download an upgrade file correctly.&lt;br /&gt;
This happens sometimes due to network issues but can be ignored because the file will be probably be correctly downloaded on the next automatic update check.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This message is only informative to help with any problem with the automatic upgrade procedure and may be removed in a later version of neosys (currently Oct 2012)&lt;br /&gt;
&lt;br /&gt;
== Testing https connection ==&lt;br /&gt;
&lt;br /&gt;
The following procedure tests that the https server is operational and not blocked by firewall etc. It does not detect certificate errors.&lt;br /&gt;
&lt;br /&gt;
From a windows command prompt use the following telnet command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
telnet clientname.hosts.neosys.com 4430&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
#4430 is the usual NEOSYS http port but replace it by whatever port is actually used for NEOSYS https on the system being tested. If there are multiple https installations on a particular server then different ports are probably used&lt;br /&gt;
#Replace clientname.hosts.neosys.com with the normal https login domain name of the client for whom we want to check the https service&lt;br /&gt;
&lt;br /&gt;
Normal behavior is that it should open a black screen. Pressing Enter or any key returns the _ character. (Close the window using the [X] since there is no keyboard command to do so)&lt;br /&gt;
&lt;br /&gt;
Hanging means that there is some connectivity issue (firewall/ip/server not running/https not installed etc)&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;quot;page not found&amp;quot; error while using https ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#The https service stops working and gives &amp;quot;Page not found&amp;quot; error.&lt;br /&gt;
#The https connection tests fine using telnet (see article above)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#Reinstall https using the usual procedure (currently using selfssl)&lt;br /&gt;
#Email clients, requesting to reinstall the new security certificate by following the instructions for [http://userwiki.neosys.com/index.php/Setting_up_and_Configuring_NEOSYS_Generally#Fixing_HTTPS_certificate_error_when_logging_in_from_an_external_link_using_IE8.2C_IE9_and_IE10 Internet Explorer] or [http://userwiki.neosys.com/index.php/Configuring_Safari_for_MAC_OS#Fixing_HTTPS_certificate_error_when_logging_in_using_an_external_link_using_MAC_Operating_System Safari] browser.&lt;br /&gt;
&lt;br /&gt;
== Installing &amp;quot;QUICKDEX&amp;quot; on some files ==&lt;br /&gt;
&amp;quot;Quickdex&amp;quot; is a type of index that keeps an alphabetical order on small files. In some maintenance procedures you may be asked to &amp;quot;install Quickdex&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For example to add a quickdex to the UNITS file.&lt;br /&gt;
&lt;br /&gt;
Maintenance mode press F5&lt;br /&gt;
&lt;br /&gt;
 DICT UNITS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=================Dictionary=================┐&lt;br /&gt;
│                                            │&lt;br /&gt;
│  File name      UNITS                      │&lt;br /&gt;
│  Field name     .........................  │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Dict type                                 │&lt;br /&gt;
│  Single/Multi                              │&lt;br /&gt;
│  Data type                                 │&lt;br /&gt;
│  Output format                             │&lt;br /&gt;
│  Validation patterns                       │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Position              Key part            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Column heading                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Justification     Display length          │&lt;br /&gt;
│  Description                               │&lt;br /&gt;
│                                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
L============================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Shift+F3.&lt;br /&gt;
&lt;br /&gt;
If it says &amp;quot;Do you want to remove ...&amp;quot; then Quickdex has already been installed and you should not continue. Press Esc to cancel, then Esc to quit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[B202]==================================┐&lt;br /&gt;
│                                         │&lt;br /&gt;
│               &amp;quot;UNITS&amp;quot; has               │&lt;br /&gt;
│          &amp;quot;QUICKDEX&amp;quot; installed.          │&lt;br /&gt;
│                                         │&lt;br /&gt;
│ Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N] │&lt;br /&gt;
│                                         │&lt;br /&gt;
│&amp;lt;Y                                      &amp;gt;│&lt;br /&gt;
L=========================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise it should say &amp;quot;Do you want to install ...&amp;quot;. Press Enter to accept.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[W963]============================┐&lt;br /&gt;
│                                   │&lt;br /&gt;
│     Do you want to install a      │&lt;br /&gt;
│ Quickdex or Rightdex index? [Q/R] │&lt;br /&gt;
│                                   │&lt;br /&gt;
│&amp;lt;Q                                &amp;gt;│&lt;br /&gt;
L===================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It should then say &amp;quot;Do you want to update ...&amp;quot;. Press Enter to accept.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[W901]========================================┐&lt;br /&gt;
│                                               │&lt;br /&gt;
│           The &amp;quot;UNITS&amp;quot; file has had            │&lt;br /&gt;
│ the &amp;quot;QUICKDEX&amp;quot; modifying filing system added. │&lt;br /&gt;
│        There are 0 records in &amp;quot;UNITS&amp;quot;.        │&lt;br /&gt;
│                                               │&lt;br /&gt;
│    Do you want to update &amp;quot;QUICKDEX&amp;quot;? [Y/N]    │&lt;br /&gt;
│                                               │&lt;br /&gt;
│&amp;lt;Y                                            &amp;gt;│&lt;br /&gt;
L===============================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards it should return to the initial screen. Press Esc to quit.&lt;br /&gt;
&lt;br /&gt;
== Solving NEOSYS smtp server failure ==&lt;br /&gt;
In case the neosys smtp server fails then we can just use the client&#039;s smtp server.&lt;br /&gt;
&lt;br /&gt;
The following information is required from the client&#039;s smtp server configuration:&lt;br /&gt;
#hostname&lt;br /&gt;
#username&lt;br /&gt;
#password&lt;br /&gt;
#port no. (most likely = 25)&lt;br /&gt;
&lt;br /&gt;
These details should be entered in the &#039;&#039;&#039;System Configuration File&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
[[image:SYSCFGFILE-SMTP.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Strange characters in maintenance mode ==&lt;br /&gt;
While in Maintenance mode, pressing keys on keyboard gives strange characters. Even Enter and Esc don’t work. &lt;br /&gt;
&lt;br /&gt;
This problem has been seen using RDP on:&lt;br /&gt;
*Window Server 2003 Web Edition&lt;br /&gt;
*Windows Server 2003 R2 SP2&lt;br /&gt;
&lt;br /&gt;
[[image:strangecharmaint.jpg]] &lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
#Go to Windows -&amp;gt; control panel&lt;br /&gt;
#Go to Regional and Language Options &lt;br /&gt;
#Click on Languages tab then click on Details &amp;lt;br&amp;gt; [[image:lang1.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
#Click on Settings Tab and Change default input language to English (United States)&amp;lt;br&amp;gt;(or perhaps something else depending on rdp keyboard) &amp;lt;br&amp;gt; [[image:lang2.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== NEOSYS processes do not start after Windows Update  ==&lt;br /&gt;
&lt;br /&gt;
===Problem===&lt;br /&gt;
Scheduled Task to start the NEOSYS processes fail on Servers with Windows 2008 after Windows update. Support will have to log into the server to start the processes manually&lt;br /&gt;
Message on the Schedule Task displays &amp;quot; The operation being requested was not performed because the user has not logged on to the network. The specified service does not exit &amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[image:sti.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Solution===&lt;br /&gt;
&lt;br /&gt;
For clients who cannot tolerate manual intervention after server reboots for any reason (e.g.need to start work before NEOSYS support is available or on NEOSYS support weekends), tick &amp;quot;highest privileges&amp;quot; and &amp;quot;run whether the user is logged in or not&amp;quot;. This approach means that NEOSYS processes which are started by the windows scheduled task are not visible on the desktop and run hidden in the background and only listed in task manager, so avoid this approach on small clients (only few users). Avoiding this approach will also serve to act as an indicator of server restarts.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting NEOSYS remote support port forwarding ==&lt;br /&gt;
This assumes that you have already “port forwarded” tcp port 19580 from your public internet router to the NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
=== Tst 0 - Check if SSH is working on the NEOSYS Server ===&lt;br /&gt;
Type in the following command in command prompt:&lt;br /&gt;
 telnet 127.0.0.1 19580&lt;br /&gt;
&lt;br /&gt;
IF ALL OK you will see the following:&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-03.jpg]] &lt;br /&gt;
&lt;br /&gt;
=== Test 1 - Check if SSH is basically working on NEOSYS server over the LAN ===&lt;br /&gt;
You must know and use the NEOSYS SERVER LAN IP to do this.&lt;br /&gt;
&lt;br /&gt;
 telnet ???.???.???.??? 19580&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-01.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
If you have the WRONG SERVER LAN IP or NEOSYS server SSH is NOT working then it will hang for about 15 seconds and then say “Could not open connection to host …”&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-02.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
OR IF ALL OK you will see the following:&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-03.jpg]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Press Enter to Exit&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-04.jpg]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Test 2 - Check if can connect to the NEOSYS ssh from OUTSIDE the office  ===&lt;br /&gt;
From any internet connected computer OUTSIDE the office test if you can connect to NEOSYS ssh service. You cannot do this test from inside the office.&lt;br /&gt;
&lt;br /&gt;
You need to know the public ip or domain name of the router. If the router IP is dynamic then NEOSYS sets up dynamic name server so instead of a static ip number you will have a domain name something like clientxyz.redirectme.net.&lt;br /&gt;
&lt;br /&gt;
Enter the command .. using YOUR public internet IP number (NOT the LAN ip number) or the dynamic domain name.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-05.jpg]]  &lt;br /&gt;
&lt;br /&gt;
If everything is working OK you will get a black screen as follows. You will NOT get the “SSH-2.0-OpenSSH-4.7” banner” because NEOSYS ssh remote support is restricted to connect ONLY from LAN ip nos and NEOSYS office ip nos.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-06.jpg]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you press Enter a few times then the cursor will just go down. You have click the [X] to close the window.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-07.jpg]]  &lt;br /&gt;
&lt;br /&gt;
=== Test 3 - Check that the ssh connection from step 2 was rejected  ===&lt;br /&gt;
On the NEOSYS server, check the Windows Application log to verify that an SSH connection was rejected.&lt;br /&gt;
&lt;br /&gt;
The rejected ip number will be of the system outside the office that you performed the test from.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-08.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Sample Email: Solving port 19580 port forwarding issues ===&lt;br /&gt;
&lt;br /&gt;
Some IT people know how to troubleshoot port forwarding issues but others are mostly just power users who can configure a home router. If the IT person is in the second category then it is quicker for NEOSYS support to offer to configure their router from the NEOSYS server using Teamviewer. Ideally NEOSYS should not be doing client IT work but if client IT allows NEOSYS access to their router then NEOSYS support can make a brief attempt to do the configuration. If the issue is still unresolved then request the client to get a professional IT network expert to do the job and inform them that NEOSYS will not be able to provide them any support till connectivity is fixed. Below is a letter advising a more skilled person to check connections using telnet which is a low level test.&lt;br /&gt;
&lt;br /&gt;
You can usually determine the NEOSYS server LAN IP number from Nagios. If so then adjust the email text appropriately.&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Dear XYZ,&lt;br /&gt;
&lt;br /&gt;
It is highly critical to fix the connectivity with the NEOSYS server because NEOSYS will not be able to provide any support until&lt;br /&gt;
connectivity is fixed. User support issues will be delayed and remain unresolved if you do not fix this issue URGENTLY.&lt;br /&gt;
&lt;br /&gt;
At the moment there is no connection from the internet via your router to the NEOSYS server and when we do the following, &lt;br /&gt;
we get no connection. &lt;br /&gt;
&lt;br /&gt;
   telnet CLIENTNAME.support.neosys.com 19580&lt;br /&gt;
&lt;br /&gt;
Normally it should connect and presents a black screen (saying SSH something after pressing Enter) which we close.&lt;br /&gt;
&lt;br /&gt;
Please check that you can connect to the NEOSYS server internally by using the NEOSYS server IP address in the following command on any&lt;br /&gt;
computer in your LAN.&lt;br /&gt;
&lt;br /&gt;
    telnet 192.168.?.? 19580&lt;br /&gt;
&lt;br /&gt;
If you can connect to the NEOSYS server internally then please check port forwarding.&lt;br /&gt;
&lt;br /&gt;
Additionally check the following:&lt;br /&gt;
1. Has your router IP changed?&lt;br /&gt;
2. Has your server’s LAN IP changed and are you forwarding to the correct LAN IP?&lt;br /&gt;
3. Is the configuration really correct?&lt;br /&gt;
4. Check router logs for clues&lt;br /&gt;
5. Check NAT settings in the router&lt;br /&gt;
&lt;br /&gt;
For troubleshooting steps refer Troubleshooting NEOSYS remote support&lt;br /&gt;
http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Troubleshooting_NEOSYS_remote_support_port_forwarding&lt;br /&gt;
&lt;br /&gt;
If the problem still persists, please get a professional IT network expert to fix the issue.&lt;br /&gt;
&lt;br /&gt;
Best Regards,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Port mapping restricted by Source IP ===&lt;br /&gt;
&lt;br /&gt;
On NEOSYS router, port forwarding has been setup only for specific source IP addresses. This means you will not be able to establish a TCP connection to NEOSYS server unless your server&#039;s outbound IP is mapped to the NEOSYS router. In other words unless the outbound i.e source IP/port of your server has been granted access on the NEOSYS router for all incoming connections you will not be able to make connections to NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
Outbound IP is used whenever a server tries to make a connection to another server outside its network. On the other hand a server receives all incoming connections using it&#039;s Inbound IP.&lt;br /&gt;
&lt;br /&gt;
Therefore to setup ssh connection from a new Client server to NEOSYS server we need to grant access to its outbound IP on the NEOSYS router. See [[Troubleshooting_NEOSYS_Generally#If_Telnet_does_not_work | link]] to find the outbound server IP/ports of the server.&lt;br /&gt;
&lt;br /&gt;
== Solving “Cant login … INVALID DATA PATH … permission denied” ==&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&lt;br /&gt;
[[image:error-invalid-data-path-1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error Text:&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 Cannot login because:&lt;br /&gt;
 ERROR: INVALID DATA PATH&lt;br /&gt;
 “D:\HOSTS\HOSTNAME\DATA\HOSTNAME\~8746345.1$” Permission Denied&lt;br /&gt;
&lt;br /&gt;
=== Problem Explained ===&lt;br /&gt;
When installing NEOSYS on an existing “non-clean” Windows installation, the standard NEOSYS installation procedure can result in failure to login if the standard windows folder permissions have been modified.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
The solution is to grant IIS permission to write in the \neosys\DATA folder and subfolders as follows:&lt;br /&gt;
#First add the IUSR_XXXXXXX user to the list of users. (XXXXXXXX is the server name and therefore varies per server) as follows:&lt;br /&gt;
#*Right Click on DATA Folder and click on Properties&lt;br /&gt;
#*Click on Security Tab -&amp;gt; Add -&amp;gt; Advanced&lt;br /&gt;
#*Click on Find Now, Select the IUSR_XXXXXXX user and Click on OK&amp;lt;br&amp;gt;[[image:error-invalid-data-path-2.jpg]]&amp;lt;br&amp;gt;[[image:error-invalid-data-path-3.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Second, for the newly added IUSR (IIS user) change the permissions as follows:&lt;br /&gt;
#*&#039;&#039;&#039;REMOVE&#039;&#039;&#039; the read and execute permission (for security, IIS should be unable to execute things that it might have uploaded)&lt;br /&gt;
#*&#039;&#039;&#039;ADD&#039;&#039;&#039; the write permission &amp;lt;br&amp;gt;[[image:error-invalid-data-path-4.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Login should now be possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== NEOSYS process window displays message &amp;quot;Upgrade Downloading&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
[[image:upgradedownloading.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Problem Explained ===&lt;br /&gt;
NEOSYS thinks it sees an new neosys2.exe upgrade file on the location http://www.neosys.com/support/neosys2.exe which is accessed by http so attempts to download it.&lt;br /&gt;
&lt;br /&gt;
Http proxies and various internet issues can cause incorrect info to be sent and there is actually no upgrade available. In this case, eventually it realizes that it cant find an appropriate and it stops. &lt;br /&gt;
&lt;br /&gt;
You don’t have to worry about this case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Enabling EMS memory on Window 2003 ==&lt;br /&gt;
&lt;br /&gt;
Normally EMS memory is provided by Windows 2003 but this can vary depending on the server hardware/bios configuration&lt;br /&gt;
&lt;br /&gt;
If you get the following messages on Windows 2003&lt;br /&gt;
&lt;br /&gt;
#Backup File Size is 0&lt;br /&gt;
#RTP27. [B28] Not enough String Space – Out of Memory&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
On servers that had no problem previously, the problem is caused by a windows update in Oct 2012 that disables standard Windows EMS memory.&lt;br /&gt;
&lt;br /&gt;
The patch is issued by Microsoft on 9 Oct 2012 but the installation date in the server depends on when the update was actually installed.&lt;br /&gt;
&lt;br /&gt;
http://support.microsoft.com/kb/2724197&lt;br /&gt;
&lt;br /&gt;
=== Solution 1 - maximum performance ===&lt;br /&gt;
&lt;br /&gt;
To re-enable standard windows EMS on older slower servers or servers where NEOSYS performance must be maximized.&lt;br /&gt;
&lt;br /&gt;
The following link contains instructions how to remove the offending windows update&lt;br /&gt;
&lt;br /&gt;
It also shows how to prevent it being reinstalled automatically by Windows.&lt;br /&gt;
&lt;br /&gt;
http://www.columbia.edu/~em36/wpdos/emsxp.html&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to prevent it being reinstalled again automatically&lt;br /&gt;
&lt;br /&gt;
=== Solution 2 – ease of installation ===&lt;br /&gt;
&lt;br /&gt;
This option can also be used if Window 2003 is unable to provide EMS memory for example when the server hardware/bios configuration prevents it.&lt;br /&gt;
&lt;br /&gt;
Install EMSMAGIC in the same way as for Windows server 2008&lt;br /&gt;
&lt;br /&gt;
EMSMAGIC has higher memory consumption and makes NEOSYS processes slower so it is better to use Solution 1 above if NEOSYS performance is an issue.&lt;br /&gt;
&lt;br /&gt;
== Fixing no output file in XXX YYY Issue ==&lt;br /&gt;
&lt;br /&gt;
===Error Message===&lt;br /&gt;
&lt;br /&gt;
[[File:Nooutputfile.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Problem Explained===&lt;br /&gt;
&lt;br /&gt;
The message “No output file in XXX YYY” can appear at several instances in NEOSYS, most often when generating reports or documents. &lt;br /&gt;
&lt;br /&gt;
This problem is usually caused by software error and it indicates that the NEOSYS server responded without any output and without any message. &lt;br /&gt;
&lt;br /&gt;
===Solution===&lt;br /&gt;
1) Find proof to check if the data required for the report actually exists. This way we can eliminate lack of data as a cause for this error.&lt;br /&gt;
&lt;br /&gt;
2) Check to see if a similar issue has been fixed in latest version of NEOSYS.&lt;br /&gt;
&lt;br /&gt;
3) Document HOW and WHERE the problem can be duplicated by NEOSYS programmers to identify and correct the software.&lt;br /&gt;
&lt;br /&gt;
An example of this error can be found at [[Troubleshooting_NEOSYS_Media_System#Error:_No_output_file_in_MEDIAPROXY_SCHEDULEPRINT|No Output File in MEDIAPROXY SCHEDULEPRINT]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting Internet Connections ==&lt;br /&gt;
&lt;br /&gt;
===Cannot Connect===&lt;br /&gt;
&lt;br /&gt;
While investigating as to why users are not able to access NEOSYS or http://www.neosys.com/ ,you can check which ISP the connection issue is on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;whois ipno&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inspect very carefully to get clues as to which ISP and which AREA of the ISP the problematic ip numbers are and which do NOT have problems&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting TCP/IP Connections ===&lt;br /&gt;
&lt;br /&gt;
====Telnet check====&lt;br /&gt;
&amp;lt;pre&amp;gt; telnet &amp;lt;hostname&amp;gt; 19580  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====If Telnet does not work====&lt;br /&gt;
In case telnet does not work, login to the remote host server to investigate the issue. Run the following command simultaneously while doing Telnet from client server to the remote host to check if the TCP packets are reaching the Remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tcpdump -v &#039;src host client-domain-name/ip&#039; &lt;br /&gt;
tcpdump -v portno &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To check if packets are sent from the client server to the remote host, you can run the following command simultaneously while trying to ssh to the remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;netstat -an &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also check if the outbound ports are open from which you are trying to establish the TCP connection to the remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;telnet portquiz.net portno &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The outbound IP addresses at times can be different from the public IP of the Client server so be sure that the public IP of the client server is the same as its source IP (which represents an incoming connection from Client to Remote server). One way to find the source IP of the Client server is sending an email from Client server to &amp;quot;support@neosys.com&amp;quot;. On receiving the email in Thunderbird, select the email and press Ctrl+u. A new window Opens giving full details of the email received. The third &amp;quot;Received :from&amp;quot; gives the IP of the source.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting DNS failure ===&lt;br /&gt;
&lt;br /&gt;
NEOSYS clients routers are usually configured to use their ISP DNS service and the ISP DNS service is supposed to contact one of NEOSYS&#039;s DNS servers to convert server names like hosts.neosys.com into IP numbers. Misconfiguration of clients routers or problems in the ISP DNS server may cause CANNOT CONNECT problems. Often the connect fails quickly and immediately since if a name cannot be converted to an ip number then the connection cannot even be attempted and therefore there is little or no timeout to wait through.&lt;br /&gt;
&lt;br /&gt;
NEOSYS.COM name servers are listed publically and obtained by whois command.&lt;br /&gt;
&lt;br /&gt;
 whois neosys.com&lt;br /&gt;
&lt;br /&gt;
 Name Server: DNS1.EASYDNS.COM&lt;br /&gt;
 Name Server: DNS2.EASYDNS.NET&lt;br /&gt;
 Name Server: DNS3.EASYDNS.ORG&lt;br /&gt;
 Name Server: NS12.ZONEEDIT.COM&lt;br /&gt;
 Name Server: NS18.ZONEEDIT.COM&lt;br /&gt;
&lt;br /&gt;
In order to contact NEOSYS DNS servers the ISP&#039;s have to use a global DNS to obtain the ip addresses of NEOSYS DNS servers given the host names of NEOSYS DNS servers given in the whois info&lt;br /&gt;
&lt;br /&gt;
Here is an example of DU testing NEOSYS DNS servers. The NEOSYS DNS server ip addresses are listed in the Destination column.&lt;br /&gt;
&lt;br /&gt;
[[File:internet.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If one DNS server is down or unreachable REGARDLESS OF REASON, the ISP is supposed to use the other DNS servers. It is impossible for all NEOSYS DNS servers to be unreachable except in gross disconnection from the internet of the ISP since it is effectively impossible that all NEOSYS DNS servers which are carefully spread around the internet, to be unreachable.&lt;br /&gt;
&lt;br /&gt;
In the above test one of the NEOSYS DNS servers is unreachable but all the others are reachable therefore DU should have no problem providing DNS service to its clients.&lt;br /&gt;
&lt;br /&gt;
ISP are often worse at providing DNS server than the famous GOOGLE DNS servers, so re configuring client router to use GOOGLE DNS servers is a way to prove that the problem lies with the ISP&#039;s DNS service&lt;br /&gt;
&lt;br /&gt;
=== Additional test for troubleshooting problems with uploading ===&lt;br /&gt;
&lt;br /&gt;
====Verifying that upload.dll can run====&lt;br /&gt;
&lt;br /&gt;
This isnt a complete test of everything. It just checks if the upload program can be run by the web server. It doesnt check if uploads work or the image directory is correctly configured with the right permissions and uploads can actually be done.&lt;br /&gt;
&lt;br /&gt;
===== Error Message =====&lt;br /&gt;
&lt;br /&gt;
... to be added when discovered ...&lt;br /&gt;
&lt;br /&gt;
===== Test =====&lt;br /&gt;
&lt;br /&gt;
Test HTTP if accessible by LAN; Test HTTPS is accessible by Internet; Test both if both are available.&lt;br /&gt;
&lt;br /&gt;
On the server type the following into a browser&lt;br /&gt;
&lt;br /&gt;
LAN/HTTP:&lt;br /&gt;
&lt;br /&gt;
 http://localhost/neosys/neosys/dll/upload.dll&lt;br /&gt;
&lt;br /&gt;
WAN/HTTPS:&lt;br /&gt;
&lt;br /&gt;
 https://localhost:9999/neosys/dll/upload.dll&lt;br /&gt;
&lt;br /&gt;
===== Expected Result =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Upload Error. !&lt;br /&gt;
Please call me from a form !!!&lt;br /&gt;
The first param must be Filename= name of the uploaded file, TYPE=TEXT&lt;br /&gt;
The second param must be Filedata= uploaded file, TYPE=FILE&lt;br /&gt;
The third param is optional PathData= path to uploaded file, default c:\temp\, TYPE=HIDDEN&lt;br /&gt;
The forth param is optional RedirectPage= name of asp who receive the results, TYPE=HIDDEN&lt;br /&gt;
Add others params at the end with INPUT tag.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Uerror.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Patching a NEOSYS program ==&lt;br /&gt;
&lt;br /&gt;
The patch provided will tell you the program name and contain either a whole replacement program text or just some changed lines which you will have to find and edit.&lt;br /&gt;
&lt;br /&gt;
You will need to know the file name which may be provided along with the patch or you can find it using the following code in maintenance mode:&lt;br /&gt;
&lt;br /&gt;
 ED VOC programname&lt;br /&gt;
&lt;br /&gt;
ED VOC XYZ tells you what program name is executed and from what file, when you type the command XYZ. Normally the program name is the same as the command.&lt;br /&gt;
&lt;br /&gt;
The file name will normally be BP for agency programs, GBP for general programs or ABP for finance programs.&lt;br /&gt;
&lt;br /&gt;
NEOSYS programs are stored in files just like records of ordinary database files. You can edit either with &amp;quot;ED filename programname&amp;quot; or &amp;quot;TED filename programname&amp;quot;. TED is better for editing source code.&lt;br /&gt;
&lt;br /&gt;
===Installing patch in live database===&lt;br /&gt;
&lt;br /&gt;
In the rare case that the programmer asks Support to install the patch directly on LIVE dataset, start by typing the following command in maintenance mode before commencing:&lt;br /&gt;
&lt;br /&gt;
 UTIL&lt;br /&gt;
&lt;br /&gt;
Follow the instructions mentioned in the [[Troubleshooting_NEOSYS_Generally#Installing_patch_in_test_database| next section]], but skip the instruction to TEST the patched program in test dataset.&lt;br /&gt;
&lt;br /&gt;
The instruction to INSTALL the patched program MUST be followed BEFORE testing the patch in live dataset. Otherwise the changes will not get reflected.&lt;br /&gt;
&lt;br /&gt;
===Installing patch in test database===&lt;br /&gt;
&lt;br /&gt;
1. EDIT the program source code.&lt;br /&gt;
&lt;br /&gt;
 TED programname&lt;br /&gt;
&lt;br /&gt;
Either cut and paste to modify the whole program or edit the program text according to the patch/instructions provided.&lt;br /&gt;
&lt;br /&gt;
Save and close the program source code.&lt;br /&gt;
&lt;br /&gt;
2. COMPILE it. If you get errors then check your edits are correct and recompile otherwise return the patch to programming.&lt;br /&gt;
&lt;br /&gt;
  COMPILE filename programname&lt;br /&gt;
&lt;br /&gt;
3. TEST it. Ensure the patched program now works in TEST database.&lt;br /&gt;
&lt;br /&gt;
4. INSTALL the patched program in the LIVE database by typing one of the following command depending on the filename that you patched.&lt;br /&gt;
&lt;br /&gt;
 COPYGBP programname&lt;br /&gt;
 COPYABP programname&lt;br /&gt;
 COPYBP programname&lt;br /&gt;
&lt;br /&gt;
== Patching NEOSYS dictionaries ==&lt;br /&gt;
&lt;br /&gt;
A patch to a dictionary applies immediately when you save it and to all datasets regardless of which dataset you work in.&lt;br /&gt;
&lt;br /&gt;
You need:&lt;br /&gt;
&lt;br /&gt;
#the file name eg INVOICES&lt;br /&gt;
#the item name (column name) eg  DATETIME_AMENDED&lt;br /&gt;
#10 lines of data similar to the example below.&lt;br /&gt;
#if the item is an S type dictionary, then either the whole, or only the amended part, of the source code of the dictionary.&lt;br /&gt;
&lt;br /&gt;
 ED DICT INVOICES DATETIME_AMENDED&lt;br /&gt;
&lt;br /&gt;
TYPE everything below exactly on the corresponding line numbers except lines 3 and very commonly line 8, as these lines may contain multiple values separated by a superscript 2 (²). Line numbers in the below screen are only for illustrative purpose. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  ╔═══════════════════════════┤DATETIME_AMENDED├═════════════════════════╗&lt;br /&gt;
 1║S                                                                     ║&lt;br /&gt;
 2║                                                                      ║&lt;br /&gt;
 3║DateTime²Amended                                                      ║&lt;br /&gt;
 4║S                                                                     ║&lt;br /&gt;
 5║                                                                      ║&lt;br /&gt;
 6║                                                                      ║&lt;br /&gt;
 7║[DATETIME]                                                            ║&lt;br /&gt;
 8║updated=@record&amp;lt;28&amp;gt;²created=@record&amp;lt;31,1&amp;gt;²@ans=&#039;&#039;²if created and num(c║..actually this line continues off the screen to the right&lt;br /&gt;
 9║R                                                                     ║&lt;br /&gt;
10║10                                                                    ║&lt;br /&gt;
11║                                                                      ║&lt;br /&gt;
  :                                                                      :&lt;br /&gt;
  :                                                                      :&lt;br /&gt;
  ╚══════════════════════════════════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Ctrl+E on lines 3 or 8 in order to enter sub-lines. &lt;br /&gt;
&lt;br /&gt;
The multiple values (on line 3 and 8) separated by a superscript 2 (²) automatically appear when sub-lines are entered.&lt;br /&gt;
&lt;br /&gt;
For line 8, you will need to cut and paste the lines of below program to the Ctrl+E screen: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔═════════════════════════┤Field 8 of DATETIME_AMENDED├════════════════════════╗&lt;br /&gt;
║updated=@record&amp;lt;28&amp;gt;                                                           ║&lt;br /&gt;
║created=@record&amp;lt;31,1&amp;gt;                                                         ║&lt;br /&gt;
║@ans=&#039;&#039;                                                                       ║&lt;br /&gt;
║if created and num(created) and num(updated) then                             ║&lt;br /&gt;
║ createdsecs=field(created,&#039;.&#039;,1)*86400+field(created,&#039;.&#039;,2)                  ║&lt;br /&gt;
║ updatedsecs=field(updated,&#039;.&#039;,1)*86400+field(updated,&#039;.&#039;,2)                  ║&lt;br /&gt;
║ if abs(updatedsecs-createdsecs)&amp;gt;120 then                                     ║&lt;br /&gt;
║  @ans=updated                                                                ║&lt;br /&gt;
║  end                                                                         ║&lt;br /&gt;
║ end                                                                          ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
╚══════════════════════════════════════════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you save and exit the Ctrl+E screen, you will see the sublines separated by superscript 2 appear in one line in the ED screen. &lt;br /&gt;
&lt;br /&gt;
Similarly, for line 3, you need to enter its sub-lines in Ctrl+E screen.&lt;br /&gt;
&lt;br /&gt;
To ensure indenting remains nice (although indenting is not important and can be messed up without causing any problem) then copy the double bars at the front of the lines (if available, otherwise insert some char in position 1 of each line perhaps) and then remove them after you paste ... or just edit until the indenting is correct if you really want to.&lt;br /&gt;
&lt;br /&gt;
Press F9 and/or Esc to save and/or exit from Ctrl+E screen&lt;br /&gt;
&lt;br /&gt;
Press F9 and/or Esc to save and/or exit from ED&lt;br /&gt;
&lt;br /&gt;
== Searching XML files ==&lt;br /&gt;
&lt;br /&gt;
Use the grep command in Cygwin terminal to search files especially when you are investigating the NEOSYS Logs. &lt;br /&gt;
&lt;br /&gt;
Use the following command while searching for a file in any directory&lt;br /&gt;
&lt;br /&gt;
 grep string path/file&lt;br /&gt;
&lt;br /&gt;
 grep -i -a string path/file  (use -i to ignore upper/lower case characters in the string and -a to treat the file type=text and display the matching text)&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;string&amp;quot; is the text to be searched, &amp;quot;file&amp;quot; is the type of file you are looking for and &amp;quot;path&amp;quot; is the path of the directory you are looking into. Use &amp;quot;&amp;quot; when having spaces in your string.&lt;br /&gt;
&lt;br /&gt;
e.g when searching in NEOSYS logs the year/month/date is specified in the file name, so if you are looking for a file in year 2016 in the month of Feb, use&lt;br /&gt;
&lt;br /&gt;
 grep XXXX path/1602*&lt;br /&gt;
&lt;br /&gt;
In the above command *(asterisk) is a wildcard used to match characters in the file name.&lt;br /&gt;
&lt;br /&gt;
Sample below of grep command and its output where it is searching for &amp;quot;Dior&amp;quot; in 2016 march logs.&lt;br /&gt;
 $ grep -i Dior /cygdrive/d/hosts/test/logs/test/2016/1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 Binary file path/16030301.XML matches&lt;br /&gt;
&lt;br /&gt;
Use the commands below to display the search string and required number of lines that come either after or before the search string, depending on what you enter in your command. It helps to get more information from files especially when you only know few words and the other information around the searched string also gets displayed. &lt;br /&gt;
&lt;br /&gt;
 grep -A NUM string file (NUM lines after the searched text get displayed)&lt;br /&gt;
&lt;br /&gt;
 grep -B NUM string file (NUM lines before the searched text get displayed)&lt;br /&gt;
&lt;br /&gt;
See the examples and their respective outputs below, (Note: there is no space between -A and NUM):&lt;br /&gt;
&lt;br /&gt;
 $ grep -A2 -i &amp;quot;Dior&amp;quot; 1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 Binary file 16022101.XML matches&lt;br /&gt;
 Binary file 16022901.XML matches&lt;br /&gt;
&lt;br /&gt;
 $ grep -A2 -a &amp;quot;Dior&amp;quot; 1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 16030301.XML:&amp;lt;DataOut&amp;gt;DIOR%FEPOI%FE&#039;&#039;&#039;Dior&#039;&#039;&#039; Poison%FE%FE%FE%FE%FEDubai,    UAE%FE%FE%FE%FEN%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEN%FE%FE%FE17584.43592%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FENEOSYS%FE17584.43592%FE94_200_49_146%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEpaulson&amp;lt;/DataOut&amp;gt;&amp;lt;/Message&amp;gt;&lt;br /&gt;
 --&lt;br /&gt;
 16030301.XML:&amp;lt;DataOut&amp;gt;DIOR%FEPOI%FE&#039;&#039;&#039;Dior&#039;&#039;&#039; Poison%FE%FE%FE%FE%FEDubai,   UAE%FE%FE%FE%FEN%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEN%FE%FE%FE17584.43592%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FENEOSYS%FE17584.43592%FE94_200_49_146%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEpaulson&amp;lt;/DataOut&amp;gt;&amp;lt;/Message&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some more examples of grep below:&lt;br /&gt;
&lt;br /&gt;
 Use the command below when searching with more than one search string&amp;lt;br&amp;gt;&lt;br /&gt;
 grep -a string1 *|grep string2&lt;br /&gt;
&lt;br /&gt;
 grep -B2 -a Processing 160329*|grep -v DataIn|grep -v Message|less&amp;lt;br&amp;gt;&lt;br /&gt;
 where user wants the output to show lines containing string &amp;quot;Processing&amp;quot; and exclude lines containing string &amp;quot;DataIn&amp;quot; and &amp;quot;Message&amp;quot;, |less displays the output in a new screen.&lt;br /&gt;
&lt;br /&gt;
== Managing the queue of reports being delivered by email ==&lt;br /&gt;
&lt;br /&gt;
In maintenance mode.&lt;br /&gt;
&lt;br /&gt;
=== Listing ===&lt;br /&gt;
&lt;br /&gt;
 LIST DOCUMENTS WITH SCHEDULED_ONCE&lt;br /&gt;
&lt;br /&gt;
=== Clearing ===&lt;br /&gt;
&lt;br /&gt;
 SELECT DOCUMENTS WITH SCHEDULED_ONCE&lt;br /&gt;
 DELETE DOCUMENTS&lt;br /&gt;
&lt;br /&gt;
== Removing non essential files on win3 ==&lt;br /&gt;
Non essential files get accumulated over time can take up a lot of space on the hard disk resulting in low free space on the server. NEOSYS Client Monitoring system will alert about the issue as it monitors the Disk Space on win3 for both C &amp;amp; D drive. To fix it Support team will have to create free space on the server.&lt;br /&gt;
&lt;br /&gt;
Making space on the server is time taking and requires patience as you need to go through all the files/folders looking for non essential files. Do not make any assumptions for not looking into a folder.&lt;br /&gt;
&lt;br /&gt;
Non essential files are the ones without which we can work properly and will continue to work in future.&lt;br /&gt;
&lt;br /&gt;
To make space on the server, Support team should follow the below steps:&lt;br /&gt;
&lt;br /&gt;
#Look into all folders of the drive for which nagios is alerting.&lt;br /&gt;
#Right click Folder &amp;gt; Properties &amp;gt; Size on Disk, to find out the size of a folder.&lt;br /&gt;
#On d drive majority of the space is taken by d:\hosts and d:\data.bak and on c drive most of the space is taken up by the important windows folders.&lt;br /&gt;
#The space taken by main folders will give you an idea about which folder to target that has lots of data and can give you lot of space on clean up.&lt;br /&gt;
#Following are the non essential files/folders which can create a lot of space on removal. Use your intelligence and presence of mind while deleting files/folders because once deleted the information is lost forever.&lt;br /&gt;
#*Folder: d\data.bak. Check for stopped client&#039;s backups and delete if present.&lt;br /&gt;
#*Folder: d\hosts\clientname\logs. where clientname stands for all the client folders in hosts. Look for logs prior to the current and previous years and delete them.&lt;br /&gt;
#*Folder: d\hosts\clientname\downloads. The folder might contain lot of old versions of neosys.exe files, just keep the two latest ones and delete the rest. Do this for all clients except test installation because Support maintains all the previous versions of neosys.exe in it.&lt;br /&gt;
#*Folder: d\hosts\old. Remove the Stopped Client folders older than 1 year.&lt;br /&gt;
#*Apart from above folders look for random backup.zip files present in c/d drive. This happens when Support restores data from a zip file and forgets to delete it after the restore.&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Troubleshooting_NEOSYS_Generally&amp;diff=2677</id>
		<title>Troubleshooting NEOSYS Generally</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Troubleshooting_NEOSYS_Generally&amp;diff=2677"/>
		<updated>2016-05-12T11:04:47Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Managing the queue of reports being delivered by email */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Solving failure to start a NEOSYS server due to disk failure message ==&lt;br /&gt;
=== Problem ===&lt;br /&gt;
During a reboot process (which maybe due to a Windows update or even done by a support personnel) the NEOSYS server gets hung on the startup and shows a message &amp;quot;Boot Failure - Abort, Retry&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
=== Temporary solution ===&lt;br /&gt;
This typically happens due to the USB being plugged into the server and the boot sequence being wrong - i.e. the server trying to boot from the USB first and fails. The immediate solution would be to unplug the USB and ask the client to reboot the server again and upon successfully rebooting the system, plug the USB back again.&lt;br /&gt;
&lt;br /&gt;
=== Permanent solution ===&lt;br /&gt;
The above problem will occur every time the computer is rebooted, so you need to immediately talk to the IT Administrator of the client and ask them to rectify the boot sequence to make it boot first from the CD ROM, then the HDD and last the USB.&lt;br /&gt;
&amp;lt;BR&amp;gt;Allowing &amp;quot;Boot from USB&amp;quot; causes a severe risk of infection by boot sector viruses since the first infected USB device inserted WILL infect the server immediately as anti-virus programs are not active during boot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting the &amp;quot;Database not available&amp;quot; error message == &lt;br /&gt;
=== Problem explained ===&lt;br /&gt;
This error appears when you try to login to NEOSYS after you enter your username and password and click the Login button.&lt;br /&gt;
&lt;br /&gt;
[[image:database_unavailable.jpg]]&lt;br /&gt;
&lt;br /&gt;
Error message : &lt;br /&gt;
&lt;br /&gt;
 Cannot login because : &lt;br /&gt;
 Error :  The (database code) database is not available right now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the error message appears post login i.e. when users are working on the system then check if processes are free to run user request.&lt;br /&gt;
&lt;br /&gt;
[[image:not_available.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Solution explained ===&lt;br /&gt;
# Determine if the processes are running. If they are running and you still get the same message that means that either the processes have [[Troubleshooting_NEOSYS_Generally#Troubleshooting_Hung_processes|hung]] and need to be [[Troubleshooting_NEOSYS_Generally#How_to_kill_hung_NEOSYS_processes|killed]]. Or the processes are busy to run user requests and a new process needs to be started. &lt;br /&gt;
# If the processes are not visible on the destop, it is possible that they are running in the background and have hung for some reason. Check the windows task manager to see if any ‘ntvdm’ process is running and [[Troubleshooting_NEOSYS_Generally#If_NEOSYS_processes_are_not_visible_on_the_server_desktop|fix hung processes]].&lt;br /&gt;
# If there is no trace of any process running, that means the process probably did not start at the scheduled time. Refer to the &#039;Hung Process Reports&#039; to verify this claim. &lt;br /&gt;
# If the process had not hung, then the server might have restarted due to a power failure or a windows update and the administrator user had not logged in post the scheduled startup time of 6AM. To determine this cause, investigate in the Windows Event Viewer Log file.&lt;br /&gt;
# You can now start up the process by clicking on the respective desktop icons.&lt;br /&gt;
# Also check if the backup took place successfully or not. If not take a manual backup.&lt;br /&gt;
# Look into the logs at the date/time stated for the last transaction processed to investigate why process got hung.See [[Troubleshooting_NEOSYS_Generally#Inspecting_Database_LOGS_Folder| Inspecting logs]] for more information on logs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;quot;user not authorised to login from a location&amp;quot; error message ==&lt;br /&gt;
[[image:IPerror.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error message:&#039;&#039;&#039;&lt;br /&gt;
 xxx is not authorised to login form the location (IP Number. xx.xx.xx.xx)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution Explained:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Check the URL used and follow the steps below to figure out if its correct and email the user accordingly.&lt;br /&gt;
#If the Client installation is hosted on NEOSYS server then users can use only https link to access NEOSYS.&lt;br /&gt;
#*Check with the client&#039;s management if this particular IP is their public IP.&lt;br /&gt;
#*Add IP on management confirmation (Refer to [[Procedures#Handling_User_Requests_to_add_an_IP_or_range_of_IPs_to_access_NEOSYS|Handling User Requests to add IP/IPs ]] ) &lt;br /&gt;
#In case of Client hosted server, users should access NEOSYS via LAN using the http link.&lt;br /&gt;
#*There can be exceptional cases where user needs to access NEOSYS outside the office Network e.g a client installation with two companies at different locations and NEOSYS installed at one. In this case Support will have to add the IP number of the second company so that users can access NEOSYS.&amp;lt;br&amp;gt;But before you even suggest to add the IP, get the request from their management saying that the IP number is another office location and needs to be added. (Refer to [[Procedures#Handling_User_Requests_to_add_an_IP_or_range_of_IPs_to_access_NEOSYS|Handling User Requests to add IP/IPs ]] )&lt;br /&gt;
&lt;br /&gt;
== Handling damaged files ==&lt;br /&gt;
&lt;br /&gt;
[[Handling damaged files]]&lt;br /&gt;
&lt;br /&gt;
=== Checking for corrupt database files ===&lt;br /&gt;
Login to NEOSYS Maintenance. This can be done when users are online.&lt;br /&gt;
&lt;br /&gt;
Press F5&lt;br /&gt;
&lt;br /&gt;
 CHK.FILES&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
 CHK.FILES filename&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Sizelock while performing chk.files &#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Fixing sizelock errors should not be done while other users are online to the same database.&lt;br /&gt;
&lt;br /&gt;
Sizelock errors are not critical and will be fixed automatically during the nightly backup.&lt;br /&gt;
&lt;br /&gt;
Sizelock errors occur if a program or process that is selecting records from a file is aborted in some abnormal way.&lt;br /&gt;
&lt;br /&gt;
Error message:&lt;br /&gt;
&lt;br /&gt;
 These Files/Tables have a Sizelock Value of 2 or greater. &lt;br /&gt;
 Tag/Select the Files/Tables to be Fixed.&lt;br /&gt;
 Press F9 to fix selected files&lt;br /&gt;
&lt;br /&gt;
Press F9 to proceed with fixing the selected files or press ESC to continue with chk.files without fixing sizelock as it gets automatically fixed during the nightly backup. &lt;br /&gt;
&lt;br /&gt;
Refer to the [http://techwiki.neosys.com/index.php/Backup_and_Restore#Error_Message:_Size_Lock Sizelock errors in backup emails] for more information.&lt;br /&gt;
&lt;br /&gt;
[[file:sizelock.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Determining Database File Name from Operating System File Name ===&lt;br /&gt;
&lt;br /&gt;
To assess the potential damage and possible remedial measures you need to know the database file name. If the message only refers to the operating system file name you need to follow this procedure to determine the database file name.&lt;br /&gt;
&lt;br /&gt;
Once you have the database file name you can use CHK.FILES XXXXXXX to check if corrupt or not and various other procedures to fix the corruption.&lt;br /&gt;
&lt;br /&gt;
Remember that fixing the corrupt data does not solve the overall problem. The *cause* of the corruption must be identified and eliminated otherwise the problem may reoccur and in a more serious form perhaps with unrecoverable loss of data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╒═══════════════════════════════════TCL - 2══════════════════════════════════╕&lt;br /&gt;
│                                                                            │&lt;br /&gt;
│ :list FILES WITH ALL CONTAINING &#039;REV76481&#039;                                 │&lt;br /&gt;
│                                                                            │&lt;br /&gt;
╘════════════════════════════════════════════════════════════════════════════╛&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:DBfilenamefromOSfilename.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Finding out when and by whom a record was deleted ==&lt;br /&gt;
&lt;br /&gt;
In most cases, NEOSYS does not allow users to delete records and instead keeps a record of everything. In some cases however, things are deleted and the only way to get full details about the deletion is to search the logs. This is cumbersome, but there is a quick way to find out when, and by whom, a record was deleted. Prior to NEOSYS software versions dated Mar 2014, and deletions done before the same date, this procedure will only tell you when the record was deleted - but not who deleted it. Knowing exactly when it was deleted will nevertheless help you to search the logs for full details.&lt;br /&gt;
&lt;br /&gt;
In maintenance mode F5&lt;br /&gt;
&lt;br /&gt;
 ED SHADOW DELETED*filename*key&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 ED SHADOW DELETED*BATCHES*L*JOU*2*U&lt;br /&gt;
&lt;br /&gt;
Journals are stored in the BATCHES file. The key of an unposted batch is x*y*999*U where x is the company code, y is the journal type code, 999 is UNPOSTED batch number and U is just U to indicate unposted batches. Note that unposted batches are normally deleted at the time they are posted - ie converted to posted batches.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔══════════════════════════┤DELETED*BATCHES*L*JOU*2*U├═════════════════════════╗&lt;br /&gt;
║16831.60706                                                                   ║&lt;br /&gt;
║BRUCEL                                                                        ║&lt;br /&gt;
║╒═══════════════════════════════════TCL - 6══════════════════════════════════╕║&lt;br /&gt;
║│                                                                            │║&lt;br /&gt;
║│ :EVAL PRINT 16831.60706 &#039;[DATETIME]&#039;                                       │║&lt;br /&gt;
║│                                                                            │║&lt;br /&gt;
║╘════════════════════════════════════════════════════════════════════════════╛║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you see the number (in this case 16831.60706) you can convert it to a time and date by typing something like&lt;br /&gt;
&lt;br /&gt;
 PRINT 16831.60706 &#039;[DATETIME]&#039;&lt;br /&gt;
&lt;br /&gt;
Using this date and time you can search the logs more effectively to find out who did the deletion and in what circumstances.&lt;br /&gt;
&lt;br /&gt;
== Assessing Database Size per File ==&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
 &lt;br /&gt;
 LIST FILES BY BY-DSND SIZE VOLUME.NAME SIZE&lt;br /&gt;
 &lt;br /&gt;
This will include all files not just those in the actual dataset in DATA\* folders.&lt;br /&gt;
&lt;br /&gt;
== Fixing slow speed ==&lt;br /&gt;
=== [[Benchmarking NEOSYS]] ===&lt;br /&gt;
=== Investigating CPU 100% using Windows Task Manager ===&lt;br /&gt;
Email, to support, a screen-shot of task manager APPLICATIONS, PROCESSES and PERFORMANCE screens MAXIMIZED TO SHOW AS MUCH AS POSSIBLE. &lt;br /&gt;
&lt;br /&gt;
(Sort the processes to show ntvdm, waiting.exe and high cpu% processes clearly)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steps:&#039;&#039;&#039;&lt;br /&gt;
#Right Click on Windows Taskbar and click on Start Task Manager &amp;lt;br&amp;gt; [[image:starttaskmanager.jpg]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
#Click on Processes and then click on CPU &amp;lt;br&amp;gt;&#039;&#039;&#039;Note - The HIGH cpu% processes which should usually be the &amp;quot;process&amp;quot; called &amp;quot;System Idle Process&amp;quot; &#039;&#039;&#039;&amp;lt;br&amp;gt;[[image:cpu100percent1.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Click on the Performance Tab &amp;lt;br&amp;gt; &#039;&#039;&#039;Note - PF Usage should typically be much less than Physical Memory otherwise there is insufficient real memory in the server to handle the load&#039;&#039;&#039; &amp;lt;br&amp;gt; [[image:cpu100percent3.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Click on Application Tab then Right Click on a NEOSYS Process and Click on Bring to Front &amp;lt;br&amp;gt;&#039;&#039;&#039;See what the NEOSYS Process is doing &amp;lt;br&amp;gt; [[image:cpu100percent2.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Right Click on a NEOSYS Process and Click on Go to Processes &amp;lt;br&amp;gt;&#039;&#039;&#039;Note the cpu% ntvdm process &amp;lt;br&amp;gt;[[image:cpu100percent2_2.jpg]]&amp;lt;br&amp;gt;  &lt;br /&gt;
#Normally NEOSYS application screens say &amp;quot;LISTENING&amp;quot; in the bottom line and those applications should have very low cpu%&amp;lt;br&amp;gt;[[image:normalneosysprocess.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Look at the difference between the screen of running NEOSYS processes (applications actually) which are idle (listening for requests) and active (processing a request from a user)&lt;br /&gt;
#Note the number of cpus or cpu threads in the server from the performance screen graphics&amp;lt;br&amp;gt;[[image:performance-taskmgr-cputhread.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Take screen-shots of any and ALL hung or long running processes (NEOSYS application screens) and email them to support. Even small details on the screens and user names, the user names may give clues to what problem caused the hanging.A Typical Hung NEOSYS process will look like this: &amp;lt;br&amp;gt; [[image:hungneosysprocess.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
#Once all hung/long processes are closed then CPU should be low and not near 100%. If it is still 100% then check all high cpu% processes and send a screen-shot of processes sorted to show the high cpu% process names to support.&lt;br /&gt;
&lt;br /&gt;
=== Solving server CPU% is 100 and all users are extremely slow/stopped ===&lt;br /&gt;
&lt;br /&gt;
Get the screenshots of Task Manager and ALL processes on the server, the objective is to assess the true issue. No need to get the screens not in use obviously but you can send a parallel screen shot for them if you want to be pedantic or even a comment will do.&lt;br /&gt;
&lt;br /&gt;
==== Too few CPUs/threads for the number of users ====&lt;br /&gt;
In Windows task manager normally, you should see one ntvdm.exe and one waiting.exe process per NEOSYS process (application). A standard installation has three NEOSYS processes per main database and plus one per test database. This is configured in Support Menu, Configuration File.&lt;br /&gt;
&lt;br /&gt;
If there are MORE ntvdm processes than you expect from the configuration file, then perhaps NEOSYS is auto starting new NEOSYS processes to try and cater for a high number of concurrent users.&lt;br /&gt;
&lt;br /&gt;
If the number of concurrent NEOSYS processes significantly exceeds the number of cpus/hyperthreads available in the server then processing for everybody can become so slow for everybody and almost no work gets done.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Stop NEOSYS creating new NEOSYS processes automatically. Create a text file with the first and only line as AUTOSTART=NO in the neosys\neosys folder something like this.&lt;br /&gt;
&lt;br /&gt;
notepad d:\neosys\neosys\NET.CFG&lt;br /&gt;
&lt;br /&gt;
AUTOSTART=NO&lt;br /&gt;
&lt;br /&gt;
== How do I troubleshoot email not received? ==&lt;br /&gt;
&lt;br /&gt;
[[Troubleshooting email not received]]&lt;br /&gt;
&lt;br /&gt;
== Fixing permissions errors while logging in ==&lt;br /&gt;
 &lt;br /&gt;
=== Problem ===&lt;br /&gt;
 &lt;br /&gt;
While logging in, you get the following error message:&lt;br /&gt;
[[Image:login_error_message.jpg]]&lt;br /&gt;
 &lt;br /&gt;
=== Solution ===&lt;br /&gt;
 &lt;br /&gt;
Add the internet guest account to the security list of the data folder with the default permission of list/read/write&lt;br /&gt;
 &lt;br /&gt;
Make sure the read&amp;amp;execute permission is removed&lt;br /&gt;
[[Image:permissions_on_data.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fixing the &#039;HTTP Error 500.0 - Internal Server Error&#039; while logging in on IE on a Windows Vista system ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
After configuring IIS on Windows Vista you will get this error message while trying to login into NEOSYS from Internet Explorer:&lt;br /&gt;
&lt;br /&gt;
 HTTP Error 500.0 - Internal Server Error&lt;br /&gt;
 Description: This application is running in an application pool that uses the Integrated .NET  &lt;br /&gt;
 mode. This is the preferred mode for running ASP.NET applications on the current and future &lt;br /&gt;
 version of IIS.&lt;br /&gt;
 &lt;br /&gt;
 In this mode, the application using client impersonation configured with &amp;lt;identity &lt;br /&gt;
 impersonate=&amp;quot;true&amp;quot; /&amp;gt; may not behave correctly. Client impersonation is not available in early &lt;br /&gt;
 ASP.NET request processing stages and may lead modules in those stages to execute with process &lt;br /&gt;
 identity instead.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
You can move the application to an application pool that uses the Classic .NET mode by using the following from a command line window (the window must be running as Administrator) &lt;br /&gt;
&lt;br /&gt;
 %systemroot%\system32\inetsrv\APPCMD.EXE set app &amp;quot;Default Web Site/neosys&amp;quot; /applicationPool:&amp;quot;Classic .NET AppPool&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can use any other application pool on your system that is running in the Classic .NET mode. You can also use the IIS Administration tool to move this application to another application pool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fixing the &#039;Class Not Registered&#039; error message while logging in ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
While logging into NEOSYS, you will get a popup window giving an error message saying &#039;Class Not Registered - Server Error&#039;. Typically, you will encounter this error with XP Pro IIS 5.1. As usual, there&#039;s way to solve it, however the root cause of this is still unknown.&lt;br /&gt;
&lt;br /&gt;
Anyway, you will get the proper message in the event log:&lt;br /&gt;
&lt;br /&gt;
 Event Type: Warning&lt;br /&gt;
 Event Source: W3SVC&lt;br /&gt;
 Event Category: None&lt;br /&gt;
 Event ID: 36&lt;br /&gt;
 Description: The server failed to load application &#039;/LM/W3SVC/1/ROOT/NEOSYS.&lt;br /&gt;
 The error was &#039;Class not registered&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
So, what do you do ? This problem is related to Component Services, and when you open Component Services MMC, you will most probably  get  Error Code 8004E00F COM + was unable to talk to Microsoft Distributed Transaction Coordinator. So, fix the COM+ services first by using the following KB from Microsoft (PRB: Cannot Expand &amp;quot;My Computer&amp;quot; in Component Services MMC Snap-In http://support.microsoft.com/?id=301919):&lt;br /&gt;
&lt;br /&gt;
To resolve this problem, reinstall Component Services as follows: WARNING: &lt;br /&gt;
# Open registry editor, locate HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3, and then delete this key.  &lt;br /&gt;
# From the Start menu, point to Settings, click Control Panel, and then click Add/Remove Programs.  &lt;br /&gt;
# Click Add/Remove Windows Components. &lt;br /&gt;
# Proceed through the wizard, and accept all of the defaults (including IIS)&lt;br /&gt;
# Restart the computer.&lt;br /&gt;
&lt;br /&gt;
If the above didn&#039;t solve it, and you still receive the &#039;Class not registered&#039; error message, then you need to recreate the IIS packages in COM+, try&lt;br /&gt;
&lt;br /&gt;
# Delete IIS related package in Component Services MMC&lt;br /&gt;
# IIS In-Process Applications &lt;br /&gt;
# IIS Out-of-Process Pooled Applications &lt;br /&gt;
# IIS Utilities&lt;br /&gt;
&lt;br /&gt;
Next, if you still get the message, try following before re-install IIS if you can&#039;t find Distributed Transaction Coordinator in your Services console.&lt;br /&gt;
&lt;br /&gt;
Launch command prompt and run the following command.&lt;br /&gt;
# msdtc -install&lt;br /&gt;
# net start msdtc&lt;br /&gt;
&lt;br /&gt;
Then try re-install IIS.&lt;br /&gt;
&lt;br /&gt;
This should solve the problem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enabling File Security option on Win XP Professional ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
&lt;br /&gt;
In the Properties of any folders, the Security option does not show, hence you cannot modify the Read, Write options.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
The solution would be to untick the &#039;Simple File Sharing&#039; option from  Tools &amp;gt; Folder Options &amp;gt; View:&lt;br /&gt;
[[Image:simplefilesharingoff.jpg]]&lt;br /&gt;
&lt;br /&gt;
== %00%00%00%00 Errors ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SYSTEM ERROR in line 162. Amount &amp;quot;-2698.00AED&amp;quot; or base &amp;quot;%00%00%00%00&amp;quot; has been wrongly generated   &lt;br /&gt;
GET NEOSYS SUPPORT. DO NOT ATTEMPT TO CORRECT MANUALLY    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Solution ===&lt;br /&gt;
%00%00%00%00 indicates an internal error that NEOSYS programmer has to fix. It is usually random and can be hard to replicate unlike almost all other NEOSYS errors which usually replicate reliably once you find the cause.&lt;br /&gt;
&lt;br /&gt;
== B703 Errors ==&lt;br /&gt;
&lt;br /&gt;
The B703 error is usually always related to something too big for NEOSYS to handle. &lt;br /&gt;
&lt;br /&gt;
These are the only B errors that NEOSYS cant always permanently prevent by fixing the software.&lt;br /&gt;
&lt;br /&gt;
== Internet Explorer Menu, View, Text Size doesnt change font size as expected ==&lt;br /&gt;
&lt;br /&gt;
Cause: This is because the font size is now user definable in NEOSYS and View, Text Size does not override predefined font sizes.&lt;br /&gt;
&lt;br /&gt;
Solution: If you are using Internet Explorer 7 you can scale the screen (including the font size  using ctrl + and ctrl - keyboard shortcuts or the font size button on the bottom right hand side of the window. &lt;br /&gt;
&lt;br /&gt;
You can adjust the font size on the User Details form when you login although this permanently applies to all forms not just the one that you are on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uploaded jpg files fail to display in internet explorer ==&lt;br /&gt;
&lt;br /&gt;
Some large jpg files &amp;gt; 2Mb cannot be viewed in internet explorer despite being viewable in image preview, ms paint and other viewers/editors. It is not an issue caused by uploading or downloading the files.&lt;br /&gt;
&lt;br /&gt;
These file appear to have been created on Photoshop CS Macintosh and may be a special type of uncompressed jpg used for production quality files.&lt;br /&gt;
&lt;br /&gt;
=== Partial solution ===&lt;br /&gt;
Before uploading the files, open them in some editor like MS Paint (right click, edit) and save them. However this results in a loss of quality. Perhaps there is some program that can convert these files to a format understandable by Internet explorer without any loss of quality.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;This document is currently read only&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
The user attempting to modify this document does not have the authorization key to do so.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
Inform the user that he is not authorised to modify the document and give him the list of users within his company who are authorised to do so.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;You have attempted to write to a read-only file&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
=== Message ===&lt;br /&gt;
&lt;br /&gt;
Error while writing data.&lt;br /&gt;
You have attempted to write to a read-only file.&lt;br /&gt;
- or -&lt;br /&gt;
access to the file has been denied by the operating system.&lt;br /&gt;
(operating system file name: &amp;quot;..\DATA\ADLINEC\ADAGENCY\REV76467.OV00012618&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
It is almost certainly due to some third party backup or other maintenance software opening the NEOSYS database files when it shouldn&#039;t e.g. badly configured third party backup scheduled to backup NEOSYS while NEOSYS is still running. Note that the exact filename varies each time.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
This can be a serious error that causes damaged files in NEOSYS especially if the filename ends in .OV. Use the usual methods of checking for damaged files e.g. do a backup which also looks for damaged files BUT DO NOT OVERWRITE THE LATEST BACKUP SINCE IT MAY BE REQUIRED for restoration. Then fix the damaged files using the usual methods e.g. by rebuilding/using&lt;br /&gt;
FIXFILE or restoring databases. For more info check [[Handling damaged files|Handling damaged files]]&lt;br /&gt;
&lt;br /&gt;
=== Prevention ===&lt;br /&gt;
&lt;br /&gt;
Remove the third party backup or other maintenance software or reschedule it to run at a time that NEOSYS is shutdown. Removal of software may require hunting through the windows process list for unexpected programs running.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting Hung processes==&lt;br /&gt;
&lt;br /&gt;
=== Investigating hung NEOSYS processes ===&lt;br /&gt;
&lt;br /&gt;
To find out some information about what the hung processes are suffering from, do the following:&lt;br /&gt;
&lt;br /&gt;
When no important clients working (eg first thing in the morning) then request a shutdown of all NEOSYS processes. This should will leave only the hung processes open.&lt;br /&gt;
&lt;br /&gt;
Then find what NEOSYS files are open as follows:&lt;br /&gt;
&lt;br /&gt;
run Sysinternal&#039;s &amp;quot;Process Explorer&amp;quot; (from Start, Programs or procexp.exe from desktop)&lt;br /&gt;
&lt;br /&gt;
find, handle&lt;br /&gt;
&lt;br /&gt;
 d:\&lt;br /&gt;
&lt;br /&gt;
submit the complete list (maybe more than one page) to support for records&lt;br /&gt;
&lt;br /&gt;
[[Image:invhungprocess.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Troubleshooting_NEOSYS_Generally#Investigating_CPU_100.25_using_Windows_Task_Manager|Investigating CPU 100% using Windows Task Manager]]  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Troubleshooting_NEOSYS_Generally#Solving_server_CPU.25_is_100_and_all_users_are_extremely_slow.2Fstopped|Solving server CPU% is 100 and all users are extremely slow/stopped]] ===&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Fatal Error in Rev Restart&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
[[image:fatal.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Error message: “Abort, Retry, Fail” ===&lt;br /&gt;
==== Problem ====&lt;br /&gt;
The following messages may come on older versions of NEOSYS if there is a problem with the USB media inserted for backup.&lt;br /&gt;
&lt;br /&gt;
[[image:usberror.jpg]]&lt;br /&gt;
&lt;br /&gt;
This results in “NEOSYS has not checked in” message on Nagios since it hangs during the monitoring update and locks all other processes from monitoring too.&lt;br /&gt;
&lt;br /&gt;
General failure writing drive F&lt;br /&gt;
Abort, Retry, Fail?&lt;br /&gt;
&lt;br /&gt;
Not read reading drive F&lt;br /&gt;
Abort, Retry, Fail?&lt;br /&gt;
&lt;br /&gt;
Pressing A or F results in the problem happening again in about a minute, perhaps on a different process.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Temporary solution is to do “Safely remove hardware” from the windows notification area. Using “Eject” from My Computer will not work.&lt;br /&gt;
&lt;br /&gt;
Permanent solution is to replace the defective USB memory stick. Sometime reformatting is sufficient.&lt;br /&gt;
&lt;br /&gt;
Upgrading NEOSYS will probably stop the defective media from causing NEOSYS to hang but the USB will still be useless for backup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Read error in the operating system file&amp;quot; ===&lt;br /&gt;
==== Problem ====&lt;br /&gt;
Nagios reports a hung process and on the server a process has the following message popup.&lt;br /&gt;
&lt;br /&gt;
 Read error in the operating system file &amp;quot;..\DATA\PT0833\ACCOUNTS\REV20049&lt;br /&gt;
 The file does not exist or the filename is&lt;br /&gt;
 not valid for the operating system.&lt;br /&gt;
&lt;br /&gt;
[[Image:readerrorintheoperatingsystemfile.png]]&lt;br /&gt;
&lt;br /&gt;
==== Cause ====&lt;br /&gt;
Some non-NEOSYS program is directly accessing the NEOSYS database files while NEOSYS processes are running and using the files as well.&lt;br /&gt;
&lt;br /&gt;
*Client IT staff using a backup program to perform backup without ensuring that NEOSYS processes are shutdown.&lt;br /&gt;
*A NEOSYS rsync process taking longer than expected due to new USB.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Kill the NEOSYS process eg with the X button. It is advisable NOT to let it run further while it cannot properly access one of its files.&lt;br /&gt;
&lt;br /&gt;
==== Prevention ====&lt;br /&gt;
Remove the third party program or arrange for it to operate only while NEOSYS processes are shutdown eg from 3am-6am.&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Not enough string space - Out of Memory&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
==== Message ====&lt;br /&gt;
&lt;br /&gt;
‘RTP27’ Line 1. [B29] Not enough string space – Out of Memory.&lt;br /&gt;
&lt;br /&gt;
Not enough memory to execute Debugger; current program aborted.&lt;br /&gt;
Press any key to continue&lt;br /&gt;
&lt;br /&gt;
[[Image:out_of_memory.jpg]]&lt;br /&gt;
&lt;br /&gt;
==== Cause ====&lt;br /&gt;
Unknown perhaps related to some large document or report&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Ask users for any hanging transactions.&lt;br /&gt;
None other than closing and starting another process.&lt;br /&gt;
&lt;br /&gt;
Also refer [[Troubleshooting NEOSYS Generally#Enabling EMS memory on Window 2003|Enabling EMS memory on Window 2003]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: B521 ===&lt;br /&gt;
&lt;br /&gt;
[[Image:B521.jpg]] &lt;br /&gt;
&lt;br /&gt;
 Another user is currently updating indexes. &lt;br /&gt;
 Waiting to make your updates...&lt;br /&gt;
 If you interrupt this process,&lt;br /&gt;
 you may have to rebuild all the indexes&lt;br /&gt;
&lt;br /&gt;
B521 message is usually temporary and goes away by itself. If it does not then, as the text of the B521 message makes clear, some OTHER process is holding up the system, preventing the process with B521 message from continuing.&lt;br /&gt;
&lt;br /&gt;
B521 message is a symptom of other problem so it does not itself have some one simple solution. You must find which other process or issue is causing the hold up and solve whatever problem is causing the hold up, which could be anything.&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot; NTVDM encountered a hard error &amp;quot;  ===&lt;br /&gt;
&lt;br /&gt;
The following error message appears:&lt;br /&gt;
&lt;br /&gt;
[[Image:ntvdm.jpg]]&lt;br /&gt;
&lt;br /&gt;
 NTVDM encountered a hard error&lt;br /&gt;
&lt;br /&gt;
==== Solution  ====&lt;br /&gt;
 &lt;br /&gt;
This error is caused by missing or corrupt Windows system files (i.e. command.com, autoexec.nt and config.nt). The solution is to run a program called XP FIX which will reinstall these missing files. You can download it form http://www.visualtour.com/downloads/xp_fix.exe&lt;br /&gt;
&lt;br /&gt;
Sometimes even after running the XP FIX program the error still appears. Then you need to copy all the files under C:/windows/repair to C:/windows/system32 and in the autoexec.nt and config.nt put REM before any lines there which don&#039;t have it.&lt;br /&gt;
&lt;br /&gt;
====Possible fix for some NTVDM errors ====&lt;br /&gt;
&lt;br /&gt;
===== Error message ===== &lt;br /&gt;
&lt;br /&gt;
[[Image:Ntvdm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
 NTVDM has encountered a System error.&lt;br /&gt;
 The system cannot find the file specified.&lt;br /&gt;
 Choose close to terminate the application.&lt;br /&gt;
&lt;br /&gt;
=====Possible solution===== &lt;br /&gt;
&lt;br /&gt;
#Change the TEMP and TMP environment variables to C:\WINDOWS\TEMP. This should be for the user that runs NEOSYS processes - normally administrator.&lt;br /&gt;
#Close all NEOSYS processes &lt;br /&gt;
#Logout/Login again&lt;br /&gt;
#Restart NEOSYS processes&lt;br /&gt;
&lt;br /&gt;
[[image:Ntvdmsoln.png]]&lt;br /&gt;
&lt;br /&gt;
===== Check solution done properly ===== &lt;br /&gt;
&lt;br /&gt;
You can check that by typing ECHO %TEMP% and ECHO %TMP% at a console prompt after logging out and in again. &lt;br /&gt;
&lt;br /&gt;
Note that windows will actually set the windows environment variables to something like C:\WINDOWS\TEMP\2 for some unknown reason. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
d:\hosts&amp;gt;ECHO %temp% &lt;br /&gt;
C:\WINDOWS\TEMP\2 &lt;br /&gt;
&lt;br /&gt;
d:\hosts&amp;gt;ECHO %tmp% &lt;br /&gt;
C:\WINDOWS\TEMP\2 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Error message: [[Troubleshooting_NEOSYS_Generally#Troubleshooting_the_.22Database_not_available.22_error_message|&amp;quot;Database not available&amp;quot; post login]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: [[Backup_and_Restore#Error_Message:_.22Cannot_backup.2Frestore_because_PROCESS1_PROCESS2_.28etc.29_is.2Fare_online.22_message|&amp;quot;Cannot backup/restore because PROCESS1 PROCESS2 (etc) is/are online&amp;quot;]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How to kill hung NEOSYS processes ===&lt;br /&gt;
 &lt;br /&gt;
NOTE WELL: If you kill actively working NEOSYS processes (those which are &amp;quot;listening&amp;quot; and not hung/crashed) there is a reasonable chance that the database will be damaged and might need a restore losing possibly large amounts of work.&lt;br /&gt;
 &lt;br /&gt;
==== If NEOSYS processes are visible on the server desktop ====&lt;br /&gt;
 &lt;br /&gt;
Look for processes which don&#039;t have &amp;quot;Listening ...&amp;quot; on the last but one line. The times on the left hand side are frozen as at the time of the hang.&lt;br /&gt;
 &lt;br /&gt;
You can then click the X to kill the process and confirm that this is OK.&lt;br /&gt;
 &lt;br /&gt;
Example of a NEOSYS process that has hung due to a software error resulting in a failure to handle a complex query with a lot of brand codes.&lt;br /&gt;
&lt;br /&gt;
[[Image:hungprocess.jpg]]&lt;br /&gt;
 &lt;br /&gt;
==== If NEOSYS processes are not visible on the server desktop ====&lt;br /&gt;
&lt;br /&gt;
NEOSYS processes are most of the time visible on the desktop (i.e. the black dos windows) in Windows 2003 OS, except in the case that the process has been scheduled to start on computer restart and no one has logged into the server. In this case it would be running in the background. TODO&lt;br /&gt;
&lt;br /&gt;
You can check if there are any hung processes from the NEOSYS Support Menu, List of Database Processes. &lt;br /&gt;
[[Image:databaseprocesseslist.jpg]]&lt;br /&gt;
&lt;br /&gt;
In this case you should follow the below instructions - however all of them need to be done within 30 seconds of starting the first instruction to avoid inconvenience to the users. It is recommend that you keep relevant windows open before proceeding with the same:&lt;br /&gt;
&lt;br /&gt;
#Shutdown NEOSYS by TEMPORARILY putting a file called GLOBAL.END in the parent directory of NEOSYS (if there is already a GLOBAL.END.TEMP file then rename it to GLOBAL.END). Leaving the file there would prevent NEOSYS from starting up again. Shutting down NEOSYS from the Support menu will not work because of the hung processes.&lt;br /&gt;
#Use Windows Task Manager to kill all the NTVDM processes - assuming that you have closed all the visible NEOSYS processes, then the NTVDM processes in the task manager would be the hung one.&lt;br /&gt;
#Delete GLOBAL.END or rename it to GLOBAL.END.TEMP&lt;br /&gt;
#Restart the processes back again. If there are many datasets then you need to restart them all well within the 30 seconds period.&lt;br /&gt;
#*Restarting a process is not noticed by users.&lt;br /&gt;
&lt;br /&gt;
In case of Patsalides, where we have a thousand datasets which start &amp;quot;on demand&amp;quot; i.e. usually on login; all you need to do is start one dataset which will restart all the other datasets &amp;quot;on demand&amp;quot;. If there is no response within 30 seconds then one of the running datasets will start it up so there appears to be a 30 second delay when you login to one of the thousand datasets the first time on any one day.&lt;br /&gt;
&lt;br /&gt;
=== Temporary workarounds for hung NEOSYS processes ===&lt;br /&gt;
Until the error in the software is fixed users can often get their results by simplifying their requirements. For example select individual clients instead of selecting all the brands for a particular client. If the user has repeated his request (in forlorn hope that it would work finally) then the number of working NEOSYS processes will drop causing severe slowdown for other users and complete stop if all the NEOSYS processes hang.&lt;br /&gt;
&lt;br /&gt;
== Fixing &amp;quot; You do not have sufficient privilege to access this file &amp;quot;  ==&lt;br /&gt;
&lt;br /&gt;
This error message may come up while NEOSYS process startup.&lt;br /&gt;
&lt;br /&gt;
Solution: Close the window and look for NEOSYS processes. In case there is no process, start the NEOSYS process.&lt;br /&gt;
&lt;br /&gt;
[[image:Errormsg.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing &#039;NEOSYS process which opens up in a notepad instead of Microsoft Windows Based Script Host (i.e. DOS window)&#039;==&lt;br /&gt;
&lt;br /&gt;
The NEOSYS process (cmd file) might open up in a notepad, instead of the usual black colour DOS window. This may happen if a JavaScript file is opened using a notepad. Please be very CAREFUL when accessing a .JS and .JSE file and double check that the default program remains wscript.exe. The issue can be fixed by the following:&lt;br /&gt;
&lt;br /&gt;
# Check if Windows Script 5.6/5.7 is installed, IF NOT download and install it from the Microsoft Website.&lt;br /&gt;
# Go to any folder, click on Tools &amp;gt; Folder Options &amp;gt; File Types and find the .JS and .JSE and change the default program to wscript.exe (from windows&amp;gt;system32)&lt;br /&gt;
&lt;br /&gt;
== Fixing a &#039;Could not start&#039; error on Scheduled Tasks in Windows Server 2000 SP4 ==&lt;br /&gt;
&lt;br /&gt;
This error occurs because of a change that is made to the data that is stored in the credentials database when you install Windows 2000 SP4. Hence installing SP4 causes the the data that is stored in the credentials database to get converted to an SP4-compatible format. A registry key is configured to indicate that the data has been converted to the SP4 format.&lt;br /&gt;
&lt;br /&gt;
Hence the Scheduled Tasks do not work sometimes. However the Scheduled Tasks works fine sometimes, but when you uninstall SP4, it does not work.&lt;br /&gt;
&lt;br /&gt;
The best solution is to:&lt;br /&gt;
&lt;br /&gt;
# Incase Scheduled Tasks do not work after installing SP4, then uninstall SP4 and it should be fine.&lt;br /&gt;
# Incase Scheduled Tasks works after installing SP4, and later after uninstalling SP4, it does not work, then install SP4 and it should be fine.&lt;br /&gt;
&lt;br /&gt;
== Checking for server or NEOSYS crashes ==&lt;br /&gt;
 &lt;br /&gt;
#NEOSYS Maintenance Mode&lt;br /&gt;
#General Menu, Setup, Processes&lt;br /&gt;
#Select the dates and the option Detailed&lt;br /&gt;
 &lt;br /&gt;
This report shows a list of dates and times that NEOSYS logged in but did not log out properly.&lt;br /&gt;
 &lt;br /&gt;
Ignore the very latest entries since they represent the current NEOSYS processes. For example, if you have four NEOSYS processes running at the time that you get the report (including any in maintenance mode) then you can ignore the last four entries.&lt;br /&gt;
 &lt;br /&gt;
The date and time shows for each process that has failed to shutdown correctly when the process logged in. Versions of NEOSYS from January 2008 will also show the date and time that each crashed NEOSYS process was last active (heartbeat) so that the time of failure can be known.&lt;br /&gt;
 &lt;br /&gt;
If you see a bunch of NEOSYS processes all started up at around the same time but all failed to shutdown correctly then the cause will be a server failure - usually power failure.&lt;br /&gt;
 &lt;br /&gt;
Isolated one-off failures will be related to individual NEOSYS process crashes - most commonly caused by one of the following:&lt;br /&gt;
 &lt;br /&gt;
#NEOSYS hanging to due to software failure&lt;br /&gt;
#Manually exiting a NEOSYS process on the server either by pressing Ctrl+Alt+Del or clicking the &amp;quot;X&amp;quot; close icon/box and ignoring the warning&lt;br /&gt;
#Random server failures eg memory, disk etc&lt;br /&gt;
 &lt;br /&gt;
Example:&lt;br /&gt;
 &lt;br /&gt;
 LOGIN 22/12/2007 06:02 NEOSYS SERVER ADAGENCY         Current workstation &lt;br /&gt;
 LOGIN 23/12/2007 06:00 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 06:01 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 06:02 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:52 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:52 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:53 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:00 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:01 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:02 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 13:51 NEOSYS SERVER NEOSYS         Current user session  &lt;br /&gt;
&lt;br /&gt;
Interpretation:&lt;br /&gt;
 &lt;br /&gt;
The first four entries indicate that all four NEOSYS processes started at 06am were suddenly killed probably by power failure&lt;br /&gt;
 &lt;br /&gt;
The next four entries indicate that NEOSYS was restarted at around 08:52 and all these processes were AGAIN killed probably by power failure&lt;br /&gt;
 &lt;br /&gt;
The last four entries can be ignored because there were four NEOSYS processes running at the time that the report was generated&lt;br /&gt;
&lt;br /&gt;
== Searching for word/number in the database files using maintenance mode ==&lt;br /&gt;
&lt;br /&gt;
You can search for any word/number in the database files of NEOSYS, using the following command line:&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 FIND FILENAME WORDWITHOUTANYSPACES&lt;br /&gt;
 &lt;br /&gt;
 For eg:&lt;br /&gt;
 FIND CURRENCIES 1.1&lt;br /&gt;
 (here you are searching for the number 1.1 in the currencies file) You CANNOT search for a phrase ie include spaces like this.&lt;br /&gt;
 &lt;br /&gt;
 Or you can also type:&lt;br /&gt;
 FIND FILENAME &amp;lt;enter&amp;gt;&lt;br /&gt;
 and it will ask you what you want do to search. You can enter an exact phrase with spaces.&lt;br /&gt;
&lt;br /&gt;
Incase you do not know the filenames, you can enter the following command to see all the filenames in the system:&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 LF&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting a Service Unavailable message on Internet Explorer when opening up NEOSYS ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&lt;br /&gt;
The following error message appears in Internet Explorer when you try to open up NEOSYS:&lt;br /&gt;
&lt;br /&gt;
 Service Unavailable&lt;br /&gt;
&lt;br /&gt;
=== Solution  ===&lt;br /&gt;
 &lt;br /&gt;
Open the IIS Manager, right click Web Sites and select properties:&lt;br /&gt;
[[Image:serviceunavailable1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Switch to the Service Tab and tick the &amp;quot;Run WWW Service in IIS 5.0 Isolation Mode&amp;quot;.&lt;br /&gt;
[[Image:serviceunavailable2.jpg]]&lt;br /&gt;
&lt;br /&gt;
You will be asked for Restart of IIS. Click yes to restart IIS. If you are not asked just restart IIS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Inspecting IIS log files ==&lt;br /&gt;
&lt;br /&gt;
At a windows command prompt:&lt;br /&gt;
&lt;br /&gt;
 c:&lt;br /&gt;
 cd \Windows\system32\LogFiles\W3SVC1&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 %SystemDrive%&lt;br /&gt;
 cd %SystemRoot%&lt;br /&gt;
 cd system32\LogFiles\W3SVC1&lt;br /&gt;
&lt;br /&gt;
then (substituting the ip number you are interested in)&lt;br /&gt;
&lt;br /&gt;
 find &amp;quot;192.168.1.55&amp;quot; *|sort&amp;gt;temp.log&lt;br /&gt;
&lt;br /&gt;
Open temp.log in Excel and use Tools, Data, Text to Columns to split into columns using options &amp;quot;Delimited&amp;quot; and check split on Space.&lt;br /&gt;
&lt;br /&gt;
Autowidth all columns by clicking on the top left box just outside the data to the left of column A and above column 1 then double click the column separator to the right of column &amp;quot;A&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note that times and dates are in UTC/GMT so you have to add/subtract your timezone offset to get local times.&lt;br /&gt;
&lt;br /&gt;
==Inspecting Database LOGS Folder==&lt;br /&gt;
LOGS folder in NEOSYS installation folder carries records of all changes done in the database which includes adding and removal of data.&lt;br /&gt;
&lt;br /&gt;
Log file is an XML document which should be viewed in Notepad. Each XML document represents commands executed by each NEOSYS process started each day.&lt;br /&gt;
&lt;br /&gt;
The NEOSYS log files e.g. 15123103.xml are created by the database processes. If the database is not available according to the website then no entry will appear in that log. The request will appear in the IIS website log but that log is nothing to do with database processes.&lt;br /&gt;
&lt;br /&gt;
=== Understanding Log Entries ===&lt;br /&gt;
Inspecting and searching through Logs file allows NEOSYS staff to answer clients queries like &amp;quot;Who deleted schedule XXXX&amp;quot; etc.&lt;br /&gt;
&lt;br /&gt;
While going through the log file you may come across a request &amp;quot;EXECUTE GENERAL GETTASKS NOT&amp;quot;, this request is concerned with getting a list of tasks that the user is *not* allowed to do.&lt;br /&gt;
&lt;br /&gt;
To read and understand the log file with more ease, copy the portion of the log file required to be analyzed into another text editor.&lt;br /&gt;
&lt;br /&gt;
The text that appears as %FE, %FE1, %FE2, etc. are basically separators.&lt;br /&gt;
*First replace FE0%, FE1%, FE2%, etc. with a separator like &amp;quot;--&amp;quot;. There can be occurrences of &amp;quot;%FE&amp;quot; along with some valuable information like &amp;quot;17290&amp;quot;, so replacing &amp;quot;%FE1&amp;quot; in &amp;quot;%FE17290&amp;quot; would lead to loss of information.&lt;br /&gt;
*Then replace %FE with a bigger separator like &amp;quot;===&amp;quot;.&lt;br /&gt;
*Replace other entries like %FCB and then %FC and so on with similar separators.&lt;br /&gt;
*In the end there may be few &amp;quot;FE&amp;quot; remaining, replace these with a separator like &amp;quot;-&amp;quot;.&lt;br /&gt;
*The remaining &amp;quot;%&amp;quot; characters MUST be intelligently replaced with a separator like &amp;quot; &amp;quot; (space), because it can either be an actual &amp;quot;%&amp;quot; or it can be a residue from &amp;quot;%FE&amp;quot;, &amp;quot;%FE1&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
Once replacing all these characters is done, the log file will be more easily readable and vital information will be clearer. &lt;br /&gt;
&lt;br /&gt;
In the log file, you may find numbers like 17290, 17195, etc. These numbers denote dates selected or entered by the NEOSYS user. These are basically the number of days from 31st December 1967 till the date chosen by the user. For example, to convert 17290 to actual date, 31/12/1967 + 17290 = 3/5/2015. So the actual date is 3rd May 2015.&lt;br /&gt;
&lt;br /&gt;
To convert these numbers to dates using maintenance mode, refer to the article [http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Finding_out_when_and_by_whom_a_record_was_deleted Finding out when and by whom a record was deleted]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:NEOSYS Logs.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing NEOSYS processes that do not auto start / Recovering from incorrect advanced date or time ==&lt;br /&gt;
This solution is applicable to live database processes only. Test database processes don’t auto-start any other processes.&lt;br /&gt;
&lt;br /&gt;
=== Problem explained ===&lt;br /&gt;
After starting up the 1st process, the rest of the processes don&#039;t start up.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
The possible cause for this could be that the system date/time might have been changed - either manually or by the auto synchronization. Do the following checks in the sequence of order:&lt;br /&gt;
&lt;br /&gt;
# Check for any *.$* files (* after dollar sign should show a number, the highest being the latest one). If it shows OK, then proceed ahead.&lt;br /&gt;
# Check for any .end files and delete it to rename to .end.temp&lt;br /&gt;
# Check the System Event Viewer log for any 520 or 577 error message (refer http://128.175.24.251/forensics/timechange.htm). Also check for any out of sequence / ahead of today date or time.&lt;br /&gt;
# In case of no 520 or 577 error message, go to Administrative Tools &amp;gt; Local Security Policy &amp;gt; Local Policies &amp;gt; Audit Policy &amp;gt; Audit Privilege use - make sure that Success and Failure are selected under this (this will ensure that future changes to the date/time are recorded in the System Log).&lt;br /&gt;
# In NEOSYS maintenance mode - F5 ED PROCESSES %UPDATE% - and see what it says, incase of any text (only text, not numbers) there, that means that for sure the system date has been changed. To fix this, exit the editor by pressing the ESCAPE key and then type DELETE PROCESSES &amp;quot;%UPDATE%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Fixing NEOSYS maintenance mode not starting up == &lt;br /&gt;
&lt;br /&gt;
Problem :- While trying to start maintenance mode, the maintenance window closes automatically within a split second.&lt;br /&gt;
&lt;br /&gt;
Solution :- Delete the read-only file REVBOOT file (under d:/neosys/neosys folder). REVBOOT file is recreated when you start maintenance mode.&lt;br /&gt;
&lt;br /&gt;
== Recognising and Solving Low Memory Problems ==&lt;br /&gt;
&lt;br /&gt;
Quick Note: Installing a server class operating system on a workstation class computer with the intention of NEOSYS serving a heavy load is likely to cause problems with low memory.&lt;br /&gt;
&lt;br /&gt;
Quick Fix: Disable *ALL* non-essential features in the power-on setup menu.&lt;br /&gt;
&lt;br /&gt;
=== Effects ===&lt;br /&gt;
&lt;br /&gt;
It is speculated but not proven that low memory may cause NEOSYS to fail by hanging, causing damaged files etc.&lt;br /&gt;
&lt;br /&gt;
=== Checking ===&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 MEMORY&lt;br /&gt;
&lt;br /&gt;
On server class machines it should say somewhere around 350Kb to 370Kb Free&lt;br /&gt;
&lt;br /&gt;
Some server class machines have around 330Kb and sometimes even less with no reported problems&lt;br /&gt;
&lt;br /&gt;
The actual effect of low memory is supposed to make NEOSYS slower and perhaps cause hanging and damaged files however this has not been proven in an specific case so far.&lt;br /&gt;
&lt;br /&gt;
On workstation class machines it may often say around 280Kb to 300Kb.&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
Although there is plenty of real memory in virtually all computers now, NEOSYS runs in the legacy 16 bit virtual memory space of a windows mode called NTVDM. This is limited to 1Mb plus 4Mb of EMS memory.&lt;br /&gt;
&lt;br /&gt;
The 1Mb memory space is shared with:&lt;br /&gt;
&lt;br /&gt;
#Various non-essential windows drivers which NEOSYS automatically disables them in autoexec.nt&lt;br /&gt;
#Various plug and play hardware device drivers for the various adapters in the computer like video, network adapters and various other items that NEOSYS is unable to disable.&lt;br /&gt;
&lt;br /&gt;
In a server class computer the hardware device drivers are usually minimally present in the 1Mb base memory and do not therefore DOESNT a low memory situation for NEOSYS.&lt;br /&gt;
&lt;br /&gt;
In workstation class computers there are often many hardware device drivers present in the 1Mb base memory and this DOES causes a low memory situation for NEOSYS.&lt;br /&gt;
&lt;br /&gt;
When NEOSYS is installed on workstation class computers with XP there is usually not a heavy load expectation and therefore the low memory does not cause a problem.&lt;br /&gt;
&lt;br /&gt;
If Windows Server OS is installed on a workstation class computer NEOSYS may well be expected to serve a heavy load with limited amounts of memory.&lt;br /&gt;
&lt;br /&gt;
Workstation class computers: hardware drivers present and EMS is installed in low memory (0000-9FFF) causing low memory for NEOSYS and possible inability to &lt;br /&gt;
&lt;br /&gt;
Server class computers: Usually few hardware drivers are present in high part (A000-FFFF) of the 1Mb base memory and EMS is able to occupy the high memory leaving the low part (0000-9FFFF) of the 1Mb memory free for NEOSYS. You can find out how much memory is available to NEOSYS and whether EMS is occuping high or low memory using the following sections.&lt;br /&gt;
&lt;br /&gt;
=== Fixing Low Memory ===&lt;br /&gt;
&lt;br /&gt;
Start, Run, notepad c:\windows\system32\autoexec.nt&lt;br /&gt;
&lt;br /&gt;
Every time NEOSYS starts it tries to make some changes as follow:&lt;br /&gt;
&lt;br /&gt;
#replaces all lines in C:/WINDOWS/SYSTEM32/AUTOEXEC.NT starting with &#039;lh &#039; to start with &#039;rem NEOSYS LH &#039; instead.&lt;br /&gt;
#changes the line in C:/WINDOWS/SYSTEM32/CONFIG.NT &amp;quot;files=...&amp;quot; to &amp;quot;FILES=200&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The replacement is case sensitive triggered on &#039;lh&#039; and &#039;files&#039; so if you manually edit the files and remove the rem or change the number of files and leave the LH and FILES in uppercase then NEOSYS will NOT make further changes. This allows you to do manual amendments to the files without NEOSYS overwriting them.&lt;br /&gt;
&lt;br /&gt;
Check that NEOSYS has successfully disabled all the drivers in the lines starting with LH.&lt;br /&gt;
&lt;br /&gt;
They should be commented out (prefixed) with REM or REM NEOSYS as follows.&lt;br /&gt;
&lt;br /&gt;
After making changes reopen NEOSYS in maintenance mode to use the MEMORY and WHO commands again.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REM Install CD ROM extensions&lt;br /&gt;
REM NEOSYS LH %SystemRoot%\system32\mscdexnt.exe&lt;br /&gt;
&lt;br /&gt;
REM Install network redirector (load before dosx.exe)&lt;br /&gt;
REM NEOSYS LH %SystemRoot%\system32\redir&lt;br /&gt;
&lt;br /&gt;
REM Install DPMI support&lt;br /&gt;
REM NEOSYS LH %SYSTEMROOT%\SYSTEM32\DOSX&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Low Memory Issues in Windows 2003 server can be fixed using instructions mentioned at [http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Enabling_EMS_memory_on_Window_2003 Fixing Low Memory in Windows 2003 Server]&lt;br /&gt;
&lt;br /&gt;
=== Allowing DOS programs that require DOSX to run on the same computer as NEOSYS ===&lt;br /&gt;
&lt;br /&gt;
The automatic commenting out DOSX by NEOSYS will prevent some other DOS-like programs from running. If NEOSYS is on dedicated server then there should be no other such programs to fail. However, if you must allow DOS-like programs to work as well as NEOSYS you can do the following configuration:&lt;br /&gt;
&lt;br /&gt;
#leave or restore the original AUTOEXEC.NT and CONFIG.NT files where they are&lt;br /&gt;
#copy them to another folder eg neosys folder&lt;br /&gt;
#make the necessary REM changes there by hand&lt;br /&gt;
#right click the NEOSYS\NEOSYS\AREV.PIF and select properties&lt;br /&gt;
#change the location of the AUTOEXEC.NT and CONFIG.NT files in the following location&lt;br /&gt;
&lt;br /&gt;
[[image:pifsettings.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Checking EMS Memory Configuration ===&lt;br /&gt;
&lt;br /&gt;
==== Inspection ====&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 WHO&lt;br /&gt;
&lt;br /&gt;
 press the up arrow to get to the last part/page&lt;br /&gt;
&lt;br /&gt;
===== Example of Typical Server EMS Memory =====&lt;br /&gt;
[[image:serveremm.jpg]]&lt;br /&gt;
&lt;br /&gt;
===== Example of Typical Workstation EMS Memory =====&lt;br /&gt;
[[image:workstationemm.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Correction====&lt;br /&gt;
&lt;br /&gt;
No easy way&lt;br /&gt;
&lt;br /&gt;
Removal of hardware adapters designed for workstations instead of servers eg graphics cards and network cards.&lt;br /&gt;
&lt;br /&gt;
Many of the devices may be located on the motherboard and not relocatable except possibly by BIOS configuration or special manufacturer information.&lt;br /&gt;
&lt;br /&gt;
Use windows device manager, View: Resources by Connection, Open the Memory item and look for items between 000A0000 up to 000FFFFF that might give you a clue as to what hardware could be removed or reconfigured. Actually only 000C0000 to 000FFFFF is candidate for EMS memory since 000A000-000BFFFF is mandatory video memory in all systems.&lt;br /&gt;
&lt;br /&gt;
[[image:devicemanager.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing issue where NEOSYS processes do not start-up at all or start-up and close immediately ==&lt;br /&gt;
&lt;br /&gt;
# Find if a file with the name global.end exists in the root directory of the NEOSYS installation. Eg D:\global.end . If you find such a file, rename it to global.end.temp - for more information on global.end and what it does refer to [[Administering_NEOSYS_Server#Closing_NEOSYS_Services|Closing NEOSYS Services]]&lt;br /&gt;
# If the above didn&#039;t fix the problem and NEOSYS still does not start, do a windows search for the entire NEOSYS folder for *.end (i.e. any file ending with .end extension). You may find a (databasecode).end file in D:\neosys\neosys folder which is created by the NEOSYS program during backup at 1 am and later on removed automatically. In this case NEOSYS program might have crashed during the backup and left this file behind. (databasecode).end files prevent other other NEOSYS processes starting up on the database while exclusive processes (like backup) are being done.&lt;br /&gt;
&lt;br /&gt;
In case the above didn&#039;t fix the problem then escalate to the programmer immediately.&lt;br /&gt;
&lt;br /&gt;
=== Solving &amp;quot;Control Record&amp;quot; error in maintenance mode ===&lt;br /&gt;
&lt;br /&gt;
If processes dont start after you log into maintenance mode and you get an error message&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔════[FS152]═══════════════════════════════════════╗&lt;br /&gt;
║          The control record &amp;quot;RECORDS&amp;quot;            ║&lt;br /&gt;
║           is too long to be saved.               ║&lt;br /&gt;
║   The current record length is 65539 characters. ║&lt;br /&gt;
║                                                  ║&lt;br /&gt;
║               &amp;lt; Press any key &amp;gt;                  ║&lt;br /&gt;
╚══════════════════════════════════════════════════╝  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[File:Record1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1&#039;&#039;&#039;. Press space to get rid of the error message and you should then get this menu&lt;br /&gt;
&lt;br /&gt;
[[File:Record2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2&#039;&#039;&#039;. Press F5 and run this command (case sensitive)&lt;br /&gt;
&lt;br /&gt;
 DICT DEFINITIONS&lt;br /&gt;
&lt;br /&gt;
or Press Alt+S and run this command (case sensitive)&lt;br /&gt;
&lt;br /&gt;
 EXECUTE DICT DEFINITIONS&lt;br /&gt;
&lt;br /&gt;
[[File:Record3.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3&#039;&#039;&#039;. Press Shift+F3 to get the following message&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔══[B202]══════════════════════════════════╗&lt;br /&gt;
║            &amp;quot;DEFINITIONS&amp;quot; has             ║&lt;br /&gt;
║          &amp;quot;QUICKDEX&amp;quot; installed            ║&lt;br /&gt;
║                                          ║&lt;br /&gt;
║ Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N]  ║&lt;br /&gt;
║                                          ║&lt;br /&gt;
║ &amp;lt;Y                                      &amp;gt;║&lt;br /&gt;
╚══════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4&#039;&#039;&#039;. Press Enter to choose Yes.&lt;br /&gt;
&lt;br /&gt;
[[File:Record4.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5.&#039;&#039;&#039;Restart NEOSYS to see if the problem has been solved&lt;br /&gt;
&lt;br /&gt;
== Solving “page not found” when downloading some file types after uploading them successfully ==&lt;br /&gt;
=== One by One ===&lt;br /&gt;
&lt;br /&gt;
Windows web server will not download file types that it is unaware of. You can enable the download of new file types one by one as follows.&lt;br /&gt;
&lt;br /&gt;
This process is tedious and error-prone if you have to add many type.&lt;br /&gt;
&lt;br /&gt;
#Computer Management&lt;br /&gt;
#Services and Applications&lt;br /&gt;
#IIS properties&lt;br /&gt;
#Mime Types&lt;br /&gt;
#Add&lt;br /&gt;
&lt;br /&gt;
=== Many ===&lt;br /&gt;
&lt;br /&gt;
Window Server 2003 is unaware of all the Office 2007+ file types. To add all Office 2007+ file types at once do the following:&lt;br /&gt;
&lt;br /&gt;
Stop IIS&lt;br /&gt;
&lt;br /&gt;
 iisreset /stop&lt;br /&gt;
&lt;br /&gt;
Open the list of mime types&lt;br /&gt;
&lt;br /&gt;
*Start, Run, notepad C:\WINDOWS\system32\inetsrv\MetaBase.xml&lt;br /&gt;
&lt;br /&gt;
Search the file for “xlsx” and quit the editor if already inserted.&lt;br /&gt;
&lt;br /&gt;
Otherwise, find the following line,&lt;br /&gt;
&lt;br /&gt;
  .xml,text/xml&lt;br /&gt;
&lt;br /&gt;
and insert after that line the following lines. They do not need to be indented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.docm,application/vnd.ms-word.document.macroEnabled.12&lt;br /&gt;
.docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document&lt;br /&gt;
.dotm,application/vnd.ms-word.template.macroEnabled.12&lt;br /&gt;
.dotx,application/vnd.openxmlformats-officedocument.wordprocessingml.template&lt;br /&gt;
.potm,application/vnd.ms-powerpoint.template.macroEnabled.12&lt;br /&gt;
.potx,application/vnd.openxmlformats-officedocument.presentationml.template&lt;br /&gt;
.ppam,application/vnd.ms-powerpoint.addin.macroEnabled.12&lt;br /&gt;
.ppsm,application/vnd.ms-powerpoint.slideshow.macroEnabled.12&lt;br /&gt;
.ppsx,application/vnd.openxmlformats-officedocument.presentationml.slideshow&lt;br /&gt;
.pptm,application/vnd.ms-powerpoint.presentation.macroEnabled.12&lt;br /&gt;
.pptx,application/vnd.openxmlformats-officedocument.presentationml.presentation&lt;br /&gt;
.xlam,application/vnd.ms-excel.addin.macroEnabled.12&lt;br /&gt;
.xlsb,application/vnd.ms-excel.sheet.binary.macroEnabled.12&lt;br /&gt;
.xlsm,application/vnd.ms-excel.sheet.macroEnabled.12&lt;br /&gt;
.xlsx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet&lt;br /&gt;
.xltm,application/vnd.ms-excel.template.macroEnabled.12&lt;br /&gt;
.xltx,application/vnd.openxmlformats-officedocument.spreadsheetml.template&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save the file with File and Exit&lt;br /&gt;
&lt;br /&gt;
Restart IIS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Handling Neosys Automatic Upgrade Error Messages ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
We will receive an email from the NEOSYS client installation with the following message:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;UPGRADEN.EXE&amp;quot; does not have expected exe MZ signature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
This message is a note that the NEOSYS automatic update procedure failed to download an upgrade file correctly.&lt;br /&gt;
This happens sometimes due to network issues but can be ignored because the file will be probably be correctly downloaded on the next automatic update check.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This message is only informative to help with any problem with the automatic upgrade procedure and may be removed in a later version of neosys (currently Oct 2012)&lt;br /&gt;
&lt;br /&gt;
== Testing https connection ==&lt;br /&gt;
&lt;br /&gt;
The following procedure tests that the https server is operational and not blocked by firewall etc. It does not detect certificate errors.&lt;br /&gt;
&lt;br /&gt;
From a windows command prompt use the following telnet command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
telnet clientname.hosts.neosys.com 4430&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
#4430 is the usual NEOSYS http port but replace it by whatever port is actually used for NEOSYS https on the system being tested. If there are multiple https installations on a particular server then different ports are probably used&lt;br /&gt;
#Replace clientname.hosts.neosys.com with the normal https login domain name of the client for whom we want to check the https service&lt;br /&gt;
&lt;br /&gt;
Normal behavior is that it should open a black screen. Pressing Enter or any key returns the _ character. (Close the window using the [X] since there is no keyboard command to do so)&lt;br /&gt;
&lt;br /&gt;
Hanging means that there is some connectivity issue (firewall/ip/server not running/https not installed etc)&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;quot;page not found&amp;quot; error while using https ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#The https service stops working and gives &amp;quot;Page not found&amp;quot; error.&lt;br /&gt;
#The https connection tests fine using telnet (see article above)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#Reinstall https using the usual procedure (currently using selfssl)&lt;br /&gt;
#Email clients, requesting to reinstall the new security certificate by following the instructions for [http://userwiki.neosys.com/index.php/Setting_up_and_Configuring_NEOSYS_Generally#Fixing_HTTPS_certificate_error_when_logging_in_from_an_external_link_using_IE8.2C_IE9_and_IE10 Internet Explorer] or [http://userwiki.neosys.com/index.php/Configuring_Safari_for_MAC_OS#Fixing_HTTPS_certificate_error_when_logging_in_using_an_external_link_using_MAC_Operating_System Safari] browser.&lt;br /&gt;
&lt;br /&gt;
== Installing &amp;quot;QUICKDEX&amp;quot; on some files ==&lt;br /&gt;
&amp;quot;Quickdex&amp;quot; is a type of index that keeps an alphabetical order on small files. In some maintenance procedures you may be asked to &amp;quot;install Quickdex&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For example to add a quickdex to the UNITS file.&lt;br /&gt;
&lt;br /&gt;
Maintenance mode press F5&lt;br /&gt;
&lt;br /&gt;
 DICT UNITS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=================Dictionary=================┐&lt;br /&gt;
│                                            │&lt;br /&gt;
│  File name      UNITS                      │&lt;br /&gt;
│  Field name     .........................  │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Dict type                                 │&lt;br /&gt;
│  Single/Multi                              │&lt;br /&gt;
│  Data type                                 │&lt;br /&gt;
│  Output format                             │&lt;br /&gt;
│  Validation patterns                       │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Position              Key part            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Column heading                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Justification     Display length          │&lt;br /&gt;
│  Description                               │&lt;br /&gt;
│                                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
L============================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Shift+F3.&lt;br /&gt;
&lt;br /&gt;
If it says &amp;quot;Do you want to remove ...&amp;quot; then Quickdex has already been installed and you should not continue. Press Esc to cancel, then Esc to quit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[B202]==================================┐&lt;br /&gt;
│                                         │&lt;br /&gt;
│               &amp;quot;UNITS&amp;quot; has               │&lt;br /&gt;
│          &amp;quot;QUICKDEX&amp;quot; installed.          │&lt;br /&gt;
│                                         │&lt;br /&gt;
│ Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N] │&lt;br /&gt;
│                                         │&lt;br /&gt;
│&amp;lt;Y                                      &amp;gt;│&lt;br /&gt;
L=========================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise it should say &amp;quot;Do you want to install ...&amp;quot;. Press Enter to accept.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[W963]============================┐&lt;br /&gt;
│                                   │&lt;br /&gt;
│     Do you want to install a      │&lt;br /&gt;
│ Quickdex or Rightdex index? [Q/R] │&lt;br /&gt;
│                                   │&lt;br /&gt;
│&amp;lt;Q                                &amp;gt;│&lt;br /&gt;
L===================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It should then say &amp;quot;Do you want to update ...&amp;quot;. Press Enter to accept.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[W901]========================================┐&lt;br /&gt;
│                                               │&lt;br /&gt;
│           The &amp;quot;UNITS&amp;quot; file has had            │&lt;br /&gt;
│ the &amp;quot;QUICKDEX&amp;quot; modifying filing system added. │&lt;br /&gt;
│        There are 0 records in &amp;quot;UNITS&amp;quot;.        │&lt;br /&gt;
│                                               │&lt;br /&gt;
│    Do you want to update &amp;quot;QUICKDEX&amp;quot;? [Y/N]    │&lt;br /&gt;
│                                               │&lt;br /&gt;
│&amp;lt;Y                                            &amp;gt;│&lt;br /&gt;
L===============================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards it should return to the initial screen. Press Esc to quit.&lt;br /&gt;
&lt;br /&gt;
== Solving NEOSYS smtp server failure ==&lt;br /&gt;
In case the neosys smtp server fails then we can just use the client&#039;s smtp server.&lt;br /&gt;
&lt;br /&gt;
The following information is required from the client&#039;s smtp server configuration:&lt;br /&gt;
#hostname&lt;br /&gt;
#username&lt;br /&gt;
#password&lt;br /&gt;
#port no. (most likely = 25)&lt;br /&gt;
&lt;br /&gt;
These details should be entered in the &#039;&#039;&#039;System Configuration File&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
[[image:SYSCFGFILE-SMTP.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Strange characters in maintenance mode ==&lt;br /&gt;
While in Maintenance mode, pressing keys on keyboard gives strange characters. Even Enter and Esc don’t work. &lt;br /&gt;
&lt;br /&gt;
This problem has been seen using RDP on:&lt;br /&gt;
*Window Server 2003 Web Edition&lt;br /&gt;
*Windows Server 2003 R2 SP2&lt;br /&gt;
&lt;br /&gt;
[[image:strangecharmaint.jpg]] &lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
#Go to Windows -&amp;gt; control panel&lt;br /&gt;
#Go to Regional and Language Options &lt;br /&gt;
#Click on Languages tab then click on Details &amp;lt;br&amp;gt; [[image:lang1.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
#Click on Settings Tab and Change default input language to English (United States)&amp;lt;br&amp;gt;(or perhaps something else depending on rdp keyboard) &amp;lt;br&amp;gt; [[image:lang2.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== NEOSYS processes do not start after Windows Update  ==&lt;br /&gt;
&lt;br /&gt;
===Problem===&lt;br /&gt;
Scheduled Task to start the NEOSYS processes fail on Servers with Windows 2008 after Windows update. Support will have to log into the server to start the processes manually&lt;br /&gt;
Message on the Schedule Task displays &amp;quot; The operation being requested was not performed because the user has not logged on to the network. The specified service does not exit &amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[image:sti.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Solution===&lt;br /&gt;
&lt;br /&gt;
For clients who cannot tolerate manual intervention after server reboots for any reason (e.g.need to start work before NEOSYS support is available or on NEOSYS support weekends), tick &amp;quot;highest privileges&amp;quot; and &amp;quot;run whether the user is logged in or not&amp;quot;. This approach means that NEOSYS processes which are started by the windows scheduled task are not visible on the desktop and run hidden in the background and only listed in task manager, so avoid this approach on small clients (only few users). Avoiding this approach will also serve to act as an indicator of server restarts.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting NEOSYS remote support port forwarding ==&lt;br /&gt;
This assumes that you have already “port forwarded” tcp port 19580 from your public internet router to the NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
=== Tst 0 - Check if SSH is working on the NEOSYS Server ===&lt;br /&gt;
Type in the following command in command prompt:&lt;br /&gt;
 telnet 127.0.0.1 19580&lt;br /&gt;
&lt;br /&gt;
IF ALL OK you will see the following:&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-03.jpg]] &lt;br /&gt;
&lt;br /&gt;
=== Test 1 - Check if SSH is basically working on NEOSYS server over the LAN ===&lt;br /&gt;
You must know and use the NEOSYS SERVER LAN IP to do this.&lt;br /&gt;
&lt;br /&gt;
 telnet ???.???.???.??? 19580&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-01.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
If you have the WRONG SERVER LAN IP or NEOSYS server SSH is NOT working then it will hang for about 15 seconds and then say “Could not open connection to host …”&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-02.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
OR IF ALL OK you will see the following:&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-03.jpg]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Press Enter to Exit&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-04.jpg]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Test 2 - Check if can connect to the NEOSYS ssh from OUTSIDE the office  ===&lt;br /&gt;
From any internet connected computer OUTSIDE the office test if you can connect to NEOSYS ssh service. You cannot do this test from inside the office.&lt;br /&gt;
&lt;br /&gt;
You need to know the public ip or domain name of the router. If the router IP is dynamic then NEOSYS sets up dynamic name server so instead of a static ip number you will have a domain name something like clientxyz.redirectme.net.&lt;br /&gt;
&lt;br /&gt;
Enter the command .. using YOUR public internet IP number (NOT the LAN ip number) or the dynamic domain name.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-05.jpg]]  &lt;br /&gt;
&lt;br /&gt;
If everything is working OK you will get a black screen as follows. You will NOT get the “SSH-2.0-OpenSSH-4.7” banner” because NEOSYS ssh remote support is restricted to connect ONLY from LAN ip nos and NEOSYS office ip nos.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-06.jpg]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you press Enter a few times then the cursor will just go down. You have click the [X] to close the window.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-07.jpg]]  &lt;br /&gt;
&lt;br /&gt;
=== Test 3 - Check that the ssh connection from step 2 was rejected  ===&lt;br /&gt;
On the NEOSYS server, check the Windows Application log to verify that an SSH connection was rejected.&lt;br /&gt;
&lt;br /&gt;
The rejected ip number will be of the system outside the office that you performed the test from.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-08.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Sample Email: Solving port 19580 port forwarding issues ===&lt;br /&gt;
&lt;br /&gt;
Some IT people know how to troubleshoot port forwarding issues but others are mostly just power users who can configure a home router. If the IT person is in the second category then it is quicker for NEOSYS support to offer to configure their router from the NEOSYS server using Teamviewer. Ideally NEOSYS should not be doing client IT work but if client IT allows NEOSYS access to their router then NEOSYS support can make a brief attempt to do the configuration. If the issue is still unresolved then request the client to get a professional IT network expert to do the job and inform them that NEOSYS will not be able to provide them any support till connectivity is fixed. Below is a letter advising a more skilled person to check connections using telnet which is a low level test.&lt;br /&gt;
&lt;br /&gt;
You can usually determine the NEOSYS server LAN IP number from Nagios. If so then adjust the email text appropriately.&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Dear XYZ,&lt;br /&gt;
&lt;br /&gt;
It is highly critical to fix the connectivity with the NEOSYS server because NEOSYS will not be able to provide any support until&lt;br /&gt;
connectivity is fixed. User support issues will be delayed and remain unresolved if you do not fix this issue URGENTLY.&lt;br /&gt;
&lt;br /&gt;
At the moment there is no connection from the internet via your router to the NEOSYS server and when we do the following, &lt;br /&gt;
we get no connection. &lt;br /&gt;
&lt;br /&gt;
   telnet CLIENTNAME.support.neosys.com 19580&lt;br /&gt;
&lt;br /&gt;
Normally it should connect and presents a black screen (saying SSH something after pressing Enter) which we close.&lt;br /&gt;
&lt;br /&gt;
Please check that you can connect to the NEOSYS server internally by using the NEOSYS server IP address in the following command on any&lt;br /&gt;
computer in your LAN.&lt;br /&gt;
&lt;br /&gt;
    telnet 192.168.?.? 19580&lt;br /&gt;
&lt;br /&gt;
If you can connect to the NEOSYS server internally then please check port forwarding.&lt;br /&gt;
&lt;br /&gt;
Additionally check the following:&lt;br /&gt;
1. Has your router IP changed?&lt;br /&gt;
2. Has your server’s LAN IP changed and are you forwarding to the correct LAN IP?&lt;br /&gt;
3. Is the configuration really correct?&lt;br /&gt;
4. Check router logs for clues&lt;br /&gt;
5. Check NAT settings in the router&lt;br /&gt;
&lt;br /&gt;
For troubleshooting steps refer Troubleshooting NEOSYS remote support&lt;br /&gt;
http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Troubleshooting_NEOSYS_remote_support_port_forwarding&lt;br /&gt;
&lt;br /&gt;
If the problem still persists, please get a professional IT network expert to fix the issue.&lt;br /&gt;
&lt;br /&gt;
Best Regards,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Port mapping restricted by Source IP ===&lt;br /&gt;
&lt;br /&gt;
On NEOSYS router, port forwarding has been setup only for specific source IP addresses. This means you will not be able to establish a TCP connection to NEOSYS server unless your server&#039;s outbound IP is mapped to the NEOSYS router. In other words unless the outbound i.e source IP/port of your server has been granted access on the NEOSYS router for all incoming connections you will not be able to make connections to NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
Outbound IP is used whenever a server tries to make a connection to another server outside its network. On the other hand a server receives all incoming connections using it&#039;s Inbound IP.&lt;br /&gt;
&lt;br /&gt;
Therefore to setup ssh connection from a new Client server to NEOSYS server we need to grant access to its outbound IP on the NEOSYS router. See [[Troubleshooting_NEOSYS_Generally#If_Telnet_does_not_work | link]] to find the outbound server IP/ports of the server.&lt;br /&gt;
&lt;br /&gt;
== Solving “Cant login … INVALID DATA PATH … permission denied” ==&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&lt;br /&gt;
[[image:error-invalid-data-path-1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error Text:&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 Cannot login because:&lt;br /&gt;
 ERROR: INVALID DATA PATH&lt;br /&gt;
 “D:\HOSTS\HOSTNAME\DATA\HOSTNAME\~8746345.1$” Permission Denied&lt;br /&gt;
&lt;br /&gt;
=== Problem Explained ===&lt;br /&gt;
When installing NEOSYS on an existing “non-clean” Windows installation, the standard NEOSYS installation procedure can result in failure to login if the standard windows folder permissions have been modified.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
The solution is to grant IIS permission to write in the \neosys\DATA folder and subfolders as follows:&lt;br /&gt;
#First add the IUSR_XXXXXXX user to the list of users. (XXXXXXXX is the server name and therefore varies per server) as follows:&lt;br /&gt;
#*Right Click on DATA Folder and click on Properties&lt;br /&gt;
#*Click on Security Tab -&amp;gt; Add -&amp;gt; Advanced&lt;br /&gt;
#*Click on Find Now, Select the IUSR_XXXXXXX user and Click on OK&amp;lt;br&amp;gt;[[image:error-invalid-data-path-2.jpg]]&amp;lt;br&amp;gt;[[image:error-invalid-data-path-3.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Second, for the newly added IUSR (IIS user) change the permissions as follows:&lt;br /&gt;
#*&#039;&#039;&#039;REMOVE&#039;&#039;&#039; the read and execute permission (for security, IIS should be unable to execute things that it might have uploaded)&lt;br /&gt;
#*&#039;&#039;&#039;ADD&#039;&#039;&#039; the write permission &amp;lt;br&amp;gt;[[image:error-invalid-data-path-4.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Login should now be possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== NEOSYS process window displays message &amp;quot;Upgrade Downloading&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
[[image:upgradedownloading.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Problem Explained ===&lt;br /&gt;
NEOSYS thinks it sees an new neosys2.exe upgrade file on the location http://www.neosys.com/support/neosys2.exe which is accessed by http so attempts to download it.&lt;br /&gt;
&lt;br /&gt;
Http proxies and various internet issues can cause incorrect info to be sent and there is actually no upgrade available. In this case, eventually it realizes that it cant find an appropriate and it stops. &lt;br /&gt;
&lt;br /&gt;
You don’t have to worry about this case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Enabling EMS memory on Window 2003 ==&lt;br /&gt;
&lt;br /&gt;
Normally EMS memory is provided by Windows 2003 but this can vary depending on the server hardware/bios configuration&lt;br /&gt;
&lt;br /&gt;
If you get the following messages on Windows 2003&lt;br /&gt;
&lt;br /&gt;
#Backup File Size is 0&lt;br /&gt;
#RTP27. [B28] Not enough String Space – Out of Memory&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
On servers that had no problem previously, the problem is caused by a windows update in Oct 2012 that disables standard Windows EMS memory.&lt;br /&gt;
&lt;br /&gt;
The patch is issued by Microsoft on 9 Oct 2012 but the installation date in the server depends on when the update was actually installed.&lt;br /&gt;
&lt;br /&gt;
http://support.microsoft.com/kb/2724197&lt;br /&gt;
&lt;br /&gt;
=== Solution 1 - maximum performance ===&lt;br /&gt;
&lt;br /&gt;
To re-enable standard windows EMS on older slower servers or servers where NEOSYS performance must be maximized.&lt;br /&gt;
&lt;br /&gt;
The following link contains instructions how to remove the offending windows update&lt;br /&gt;
&lt;br /&gt;
It also shows how to prevent it being reinstalled automatically by Windows.&lt;br /&gt;
&lt;br /&gt;
http://www.columbia.edu/~em36/wpdos/emsxp.html&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to prevent it being reinstalled again automatically&lt;br /&gt;
&lt;br /&gt;
=== Solution 2 – ease of installation ===&lt;br /&gt;
&lt;br /&gt;
This option can also be used if Window 2003 is unable to provide EMS memory for example when the server hardware/bios configuration prevents it.&lt;br /&gt;
&lt;br /&gt;
Install EMSMAGIC in the same way as for Windows server 2008&lt;br /&gt;
&lt;br /&gt;
EMSMAGIC has higher memory consumption and makes NEOSYS processes slower so it is better to use Solution 1 above if NEOSYS performance is an issue.&lt;br /&gt;
&lt;br /&gt;
== Fixing no output file in XXX YYY Issue ==&lt;br /&gt;
&lt;br /&gt;
===Error Message===&lt;br /&gt;
&lt;br /&gt;
[[File:Nooutputfile.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Problem Explained===&lt;br /&gt;
&lt;br /&gt;
The message “No output file in XXX YYY” can appear at several instances in NEOSYS, most often when generating reports or documents. &lt;br /&gt;
&lt;br /&gt;
This problem is usually caused by software error and it indicates that the NEOSYS server responded without any output and without any message. &lt;br /&gt;
&lt;br /&gt;
===Solution===&lt;br /&gt;
1) Find proof to check if the data required for the report actually exists. This way we can eliminate lack of data as a cause for this error.&lt;br /&gt;
&lt;br /&gt;
2) Check to see if a similar issue has been fixed in latest version of NEOSYS.&lt;br /&gt;
&lt;br /&gt;
3) Document HOW and WHERE the problem can be duplicated by NEOSYS programmers to identify and correct the software.&lt;br /&gt;
&lt;br /&gt;
An example of this error can be found at [[Troubleshooting_NEOSYS_Media_System#Error:_No_output_file_in_MEDIAPROXY_SCHEDULEPRINT|No Output File in MEDIAPROXY SCHEDULEPRINT]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting Internet Connections ==&lt;br /&gt;
&lt;br /&gt;
===Cannot Connect===&lt;br /&gt;
&lt;br /&gt;
While investigating as to why users are not able to access NEOSYS or http://www.neosys.com/ ,you can check which ISP the connection issue is on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;whois ipno&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inspect very carefully to get clues as to which ISP and which AREA of the ISP the problematic ip numbers are and which do NOT have problems&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting TCP/IP Connections ===&lt;br /&gt;
&lt;br /&gt;
====Telnet check====&lt;br /&gt;
&amp;lt;pre&amp;gt; telnet &amp;lt;hostname&amp;gt; 19580  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====If Telnet does not work====&lt;br /&gt;
In case telnet does not work, login to the remote host server to investigate the issue. Run the following command simultaneously while doing Telnet from client server to the remote host to check if the TCP packets are reaching the Remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tcpdump -v &#039;src host client-domain-name/ip&#039; &lt;br /&gt;
tcpdump -v portno &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To check if packets are sent from the client server to the remote host, you can run the following command simultaneously while trying to ssh to the remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;netstat -an &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also check if the outbound ports are open from which you are trying to establish the TCP connection to the remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;telnet portquiz.net portno &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The outbound IP addresses at times can be different from the public IP of the Client server so be sure that the public IP of the client server is the same as its source IP (which represents an incoming connection from Client to Remote server). One way to find the source IP of the Client server is sending an email from Client server to &amp;quot;support@neosys.com&amp;quot;. On receiving the email in Thunderbird, select the email and press Ctrl+u. A new window Opens giving full details of the email received. The third &amp;quot;Received :from&amp;quot; gives the IP of the source.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting DNS failure ===&lt;br /&gt;
&lt;br /&gt;
NEOSYS clients routers are usually configured to use their ISP DNS service and the ISP DNS service is supposed to contact one of NEOSYS&#039;s DNS servers to convert server names like hosts.neosys.com into IP numbers. Misconfiguration of clients routers or problems in the ISP DNS server may cause CANNOT CONNECT problems. Often the connect fails quickly and immediately since if a name cannot be converted to an ip number then the connection cannot even be attempted and therefore there is little or no timeout to wait through.&lt;br /&gt;
&lt;br /&gt;
NEOSYS.COM name servers are listed publically and obtained by whois command.&lt;br /&gt;
&lt;br /&gt;
 whois neosys.com&lt;br /&gt;
&lt;br /&gt;
 Name Server: DNS1.EASYDNS.COM&lt;br /&gt;
 Name Server: DNS2.EASYDNS.NET&lt;br /&gt;
 Name Server: DNS3.EASYDNS.ORG&lt;br /&gt;
 Name Server: NS12.ZONEEDIT.COM&lt;br /&gt;
 Name Server: NS18.ZONEEDIT.COM&lt;br /&gt;
&lt;br /&gt;
In order to contact NEOSYS DNS servers the ISP&#039;s have to use a global DNS to obtain the ip addresses of NEOSYS DNS servers given the host names of NEOSYS DNS servers given in the whois info&lt;br /&gt;
&lt;br /&gt;
Here is an example of DU testing NEOSYS DNS servers. The NEOSYS DNS server ip addresses are listed in the Destination column.&lt;br /&gt;
&lt;br /&gt;
[[File:internet.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If one DNS server is down or unreachable REGARDLESS OF REASON, the ISP is supposed to use the other DNS servers. It is impossible for all NEOSYS DNS servers to be unreachable except in gross disconnection from the internet of the ISP since it is effectively impossible that all NEOSYS DNS servers which are carefully spread around the internet, to be unreachable.&lt;br /&gt;
&lt;br /&gt;
In the above test one of the NEOSYS DNS servers is unreachable but all the others are reachable therefore DU should have no problem providing DNS service to its clients.&lt;br /&gt;
&lt;br /&gt;
ISP are often worse at providing DNS server than the famous GOOGLE DNS servers, so re configuring client router to use GOOGLE DNS servers is a way to prove that the problem lies with the ISP&#039;s DNS service&lt;br /&gt;
&lt;br /&gt;
=== Additional test for troubleshooting problems with uploading ===&lt;br /&gt;
&lt;br /&gt;
====Verifying that upload.dll can run====&lt;br /&gt;
&lt;br /&gt;
This isnt a complete test of everything. It just checks if the upload program can be run by the web server. It doesnt check if uploads work or the image directory is correctly configured with the right permissions and uploads can actually be done.&lt;br /&gt;
&lt;br /&gt;
===== Error Message =====&lt;br /&gt;
&lt;br /&gt;
... to be added when discovered ...&lt;br /&gt;
&lt;br /&gt;
===== Test =====&lt;br /&gt;
&lt;br /&gt;
Test HTTP if accessible by LAN; Test HTTPS is accessible by Internet; Test both if both are available.&lt;br /&gt;
&lt;br /&gt;
On the server type the following into a browser&lt;br /&gt;
&lt;br /&gt;
LAN/HTTP:&lt;br /&gt;
&lt;br /&gt;
 http://localhost/neosys/neosys/dll/upload.dll&lt;br /&gt;
&lt;br /&gt;
WAN/HTTPS:&lt;br /&gt;
&lt;br /&gt;
 https://localhost:9999/neosys/dll/upload.dll&lt;br /&gt;
&lt;br /&gt;
===== Expected Result =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Upload Error. !&lt;br /&gt;
Please call me from a form !!!&lt;br /&gt;
The first param must be Filename= name of the uploaded file, TYPE=TEXT&lt;br /&gt;
The second param must be Filedata= uploaded file, TYPE=FILE&lt;br /&gt;
The third param is optional PathData= path to uploaded file, default c:\temp\, TYPE=HIDDEN&lt;br /&gt;
The forth param is optional RedirectPage= name of asp who receive the results, TYPE=HIDDEN&lt;br /&gt;
Add others params at the end with INPUT tag.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Uerror.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Patching a NEOSYS program ==&lt;br /&gt;
&lt;br /&gt;
The patch provided will tell you the program name and contain either a whole replacement program text or just some changed lines which you will have to find and edit.&lt;br /&gt;
&lt;br /&gt;
You will need to know the file name which may be provided along with the patch or you can find it using the following code in maintenance mode:&lt;br /&gt;
&lt;br /&gt;
 ED VOC programname&lt;br /&gt;
&lt;br /&gt;
ED VOC XYZ tells you what program name is executed and from what file, when you type the command XYZ. Normally the program name is the same as the command.&lt;br /&gt;
&lt;br /&gt;
The file name will normally be BP for agency programs, GBP for general programs or ABP for finance programs.&lt;br /&gt;
&lt;br /&gt;
NEOSYS programs are stored in files just like records of ordinary database files. You can edit either with &amp;quot;ED filename programname&amp;quot; or &amp;quot;TED filename programname&amp;quot;. TED is better for editing source code.&lt;br /&gt;
&lt;br /&gt;
===Installing patch in live database===&lt;br /&gt;
&lt;br /&gt;
In the rare case that the programmer asks Support to install the patch directly on LIVE dataset, start by typing the following command in maintenance mode before commencing:&lt;br /&gt;
&lt;br /&gt;
 UTIL&lt;br /&gt;
&lt;br /&gt;
Follow the instructions mentioned in the [[Troubleshooting_NEOSYS_Generally#Installing_patch_in_test_database| next section]], but skip the instruction to TEST the patched program in test dataset.&lt;br /&gt;
&lt;br /&gt;
The instruction to INSTALL the patched program MUST be followed BEFORE testing the patch in live dataset. Otherwise the changes will not get reflected.&lt;br /&gt;
&lt;br /&gt;
===Installing patch in test database===&lt;br /&gt;
&lt;br /&gt;
1. EDIT the program source code.&lt;br /&gt;
&lt;br /&gt;
 TED programname&lt;br /&gt;
&lt;br /&gt;
Either cut and paste to modify the whole program or edit the program text according to the patch/instructions provided.&lt;br /&gt;
&lt;br /&gt;
Save and close the program source code.&lt;br /&gt;
&lt;br /&gt;
2. COMPILE it. If you get errors then check your edits are correct and recompile otherwise return the patch to programming.&lt;br /&gt;
&lt;br /&gt;
  COMPILE filename programname&lt;br /&gt;
&lt;br /&gt;
3. TEST it. Ensure the patched program now works in TEST database.&lt;br /&gt;
&lt;br /&gt;
4. INSTALL the patched program in the LIVE database by typing one of the following command depending on the filename that you patched.&lt;br /&gt;
&lt;br /&gt;
 COPYGBP programname&lt;br /&gt;
 COPYABP programname&lt;br /&gt;
 COPYBP programname&lt;br /&gt;
&lt;br /&gt;
== Patching NEOSYS dictionaries ==&lt;br /&gt;
&lt;br /&gt;
A patch to a dictionary applies immediately when you save it and to all datasets regardless of which dataset you work in.&lt;br /&gt;
&lt;br /&gt;
You need:&lt;br /&gt;
&lt;br /&gt;
#the file name eg INVOICES&lt;br /&gt;
#the item name (column name) eg  DATETIME_AMENDED&lt;br /&gt;
#10 lines of data similar to the example below.&lt;br /&gt;
#if the item is an S type dictionary, then either the whole, or only the amended part, of the source code of the dictionary.&lt;br /&gt;
&lt;br /&gt;
 ED DICT INVOICES DATETIME_AMENDED&lt;br /&gt;
&lt;br /&gt;
TYPE everything below exactly on the corresponding line numbers except lines 3 and very commonly line 8, as these lines may contain multiple values separated by a superscript 2 (²). Line numbers in the below screen are only for illustrative purpose. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  ╔═══════════════════════════┤DATETIME_AMENDED├═════════════════════════╗&lt;br /&gt;
 1║S                                                                     ║&lt;br /&gt;
 2║                                                                      ║&lt;br /&gt;
 3║DateTime²Amended                                                      ║&lt;br /&gt;
 4║S                                                                     ║&lt;br /&gt;
 5║                                                                      ║&lt;br /&gt;
 6║                                                                      ║&lt;br /&gt;
 7║[DATETIME]                                                            ║&lt;br /&gt;
 8║updated=@record&amp;lt;28&amp;gt;²created=@record&amp;lt;31,1&amp;gt;²@ans=&#039;&#039;²if created and num(c║..actually this line continues off the screen to the right&lt;br /&gt;
 9║R                                                                     ║&lt;br /&gt;
10║10                                                                    ║&lt;br /&gt;
11║                                                                      ║&lt;br /&gt;
  :                                                                      :&lt;br /&gt;
  :                                                                      :&lt;br /&gt;
  ╚══════════════════════════════════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Ctrl+E on lines 3 or 8 in order to enter sub-lines. &lt;br /&gt;
&lt;br /&gt;
The multiple values (on line 3 and 8) separated by a superscript 2 (²) automatically appear when sub-lines are entered.&lt;br /&gt;
&lt;br /&gt;
For line 8, you will need to cut and paste the lines of below program to the Ctrl+E screen: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔═════════════════════════┤Field 8 of DATETIME_AMENDED├════════════════════════╗&lt;br /&gt;
║updated=@record&amp;lt;28&amp;gt;                                                           ║&lt;br /&gt;
║created=@record&amp;lt;31,1&amp;gt;                                                         ║&lt;br /&gt;
║@ans=&#039;&#039;                                                                       ║&lt;br /&gt;
║if created and num(created) and num(updated) then                             ║&lt;br /&gt;
║ createdsecs=field(created,&#039;.&#039;,1)*86400+field(created,&#039;.&#039;,2)                  ║&lt;br /&gt;
║ updatedsecs=field(updated,&#039;.&#039;,1)*86400+field(updated,&#039;.&#039;,2)                  ║&lt;br /&gt;
║ if abs(updatedsecs-createdsecs)&amp;gt;120 then                                     ║&lt;br /&gt;
║  @ans=updated                                                                ║&lt;br /&gt;
║  end                                                                         ║&lt;br /&gt;
║ end                                                                          ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
╚══════════════════════════════════════════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you save and exit the Ctrl+E screen, you will see the sublines separated by superscript 2 appear in one line in the ED screen. &lt;br /&gt;
&lt;br /&gt;
Similarly, for line 3, you need to enter its sub-lines in Ctrl+E screen.&lt;br /&gt;
&lt;br /&gt;
To ensure indenting remains nice (although indenting is not important and can be messed up without causing any problem) then copy the double bars at the front of the lines (if available, otherwise insert some char in position 1 of each line perhaps) and then remove them after you paste ... or just edit until the indenting is correct if you really want to.&lt;br /&gt;
&lt;br /&gt;
Press F9 and/or Esc to save and/or exit from Ctrl+E screen&lt;br /&gt;
&lt;br /&gt;
Press F9 and/or Esc to save and/or exit from ED&lt;br /&gt;
&lt;br /&gt;
== Searching XML files ==&lt;br /&gt;
&lt;br /&gt;
Use the grep command in Cygwin terminal to search files especially when you are investigating the NEOSYS Logs. &lt;br /&gt;
&lt;br /&gt;
Use the following command while searching for a file in any directory&lt;br /&gt;
&lt;br /&gt;
 grep string path/file&lt;br /&gt;
&lt;br /&gt;
 grep -i -a string path/file  (use -i to ignore upper/lower case characters in the string and -a to treat the file type=text and display the matching text)&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;string&amp;quot; is the text to be searched, &amp;quot;file&amp;quot; is the type of file you are looking for and &amp;quot;path&amp;quot; is the path of the directory you are looking into. Use &amp;quot;&amp;quot; when having spaces in your string.&lt;br /&gt;
&lt;br /&gt;
e.g when searching in NEOSYS logs the year/month/date is specified in the file name, so if you are looking for a file in year 2016 in the month of Feb, use&lt;br /&gt;
&lt;br /&gt;
 grep XXXX path/1602*&lt;br /&gt;
&lt;br /&gt;
In the above command *(asterisk) is a wildcard used to match characters in the file name.&lt;br /&gt;
&lt;br /&gt;
Sample below of grep command and its output where it is searching for &amp;quot;Dior&amp;quot; in 2016 march logs.&lt;br /&gt;
 $ grep -i Dior /cygdrive/d/hosts/test/logs/test/2016/1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 Binary file path/16030301.XML matches&lt;br /&gt;
&lt;br /&gt;
Use the commands below to display the search string and required number of lines that come either after or before the search string, depending on what you enter in your command. It helps to get more information from files especially when you only know few words and the other information around the searched string also gets displayed. &lt;br /&gt;
&lt;br /&gt;
 grep -A NUM string file (NUM lines after the searched text get displayed)&lt;br /&gt;
&lt;br /&gt;
 grep -B NUM string file (NUM lines before the searched text get displayed)&lt;br /&gt;
&lt;br /&gt;
See the examples and their respective outputs below, (Note: there is no space between -A and NUM):&lt;br /&gt;
&lt;br /&gt;
 $ grep -A2 -i &amp;quot;Dior&amp;quot; 1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 Binary file 16022101.XML matches&lt;br /&gt;
 Binary file 16022901.XML matches&lt;br /&gt;
&lt;br /&gt;
 $ grep -A2 -a &amp;quot;Dior&amp;quot; 1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 16030301.XML:&amp;lt;DataOut&amp;gt;DIOR%FEPOI%FE&#039;&#039;&#039;Dior&#039;&#039;&#039; Poison%FE%FE%FE%FE%FEDubai,    UAE%FE%FE%FE%FEN%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEN%FE%FE%FE17584.43592%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FENEOSYS%FE17584.43592%FE94_200_49_146%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEpaulson&amp;lt;/DataOut&amp;gt;&amp;lt;/Message&amp;gt;&lt;br /&gt;
 --&lt;br /&gt;
 16030301.XML:&amp;lt;DataOut&amp;gt;DIOR%FEPOI%FE&#039;&#039;&#039;Dior&#039;&#039;&#039; Poison%FE%FE%FE%FE%FEDubai,   UAE%FE%FE%FE%FEN%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEN%FE%FE%FE17584.43592%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FENEOSYS%FE17584.43592%FE94_200_49_146%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEpaulson&amp;lt;/DataOut&amp;gt;&amp;lt;/Message&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some more examples of grep below:&lt;br /&gt;
&lt;br /&gt;
 Use the command below when searching with more than one search string&amp;lt;br&amp;gt;&lt;br /&gt;
 grep -a string1 *|grep string2&lt;br /&gt;
&lt;br /&gt;
 grep -B2 -a Processing 160329*|grep -v DataIn|grep -v Message|less&amp;lt;br&amp;gt;&lt;br /&gt;
 where user wants the output to show lines containing string &amp;quot;Processing&amp;quot; and exclude lines containing string &amp;quot;DataIn&amp;quot; and &amp;quot;Message&amp;quot;, |less displays the output in a new screen.&lt;br /&gt;
&lt;br /&gt;
== Managing the queue of reports being delivered by email ==&lt;br /&gt;
&lt;br /&gt;
In maintenance mode.&lt;br /&gt;
&lt;br /&gt;
=== Listing ===&lt;br /&gt;
&lt;br /&gt;
 LIST DOCUMENTS WITH SCHEDULED_ONCE&lt;br /&gt;
&lt;br /&gt;
=== Clearing ===&lt;br /&gt;
&lt;br /&gt;
 SELECT DOCUMENTS WITH SCHEDULED_ONCE&lt;br /&gt;
 DELETE DOCUMENTS&lt;br /&gt;
&lt;br /&gt;
== Removing non essential files on win3 ==&lt;br /&gt;
Non essential files get accumulated over time can take up a lot of space on the hard disk resulting in low free space on the server. NEOSYS Client Monitoring system will alert about the issue as it monitors the Disk Space on win3 for both C &amp;amp; D drive. To fix it Support team will have to create free space on the server.&lt;br /&gt;
&lt;br /&gt;
Making space on the server is time taking and requires patience as you need to go through all the files/folders looking for non essential files.&lt;br /&gt;
&lt;br /&gt;
Non essential files are the ones without which we can work properly and will continue to work in future.&lt;br /&gt;
&lt;br /&gt;
To make space on the server, Support team should follow the below steps:&lt;br /&gt;
&lt;br /&gt;
#Look into all folders on the d drive&lt;br /&gt;
#Right click Folder &amp;gt; Properties &amp;gt; Size on Disk, to find out the size of a folder.&lt;br /&gt;
#Following are the non essential files/folders removing which a lot of space can be created. Use your intelligence and presence of mind while deleting files/folders because once deleted the information is lost forever.&lt;br /&gt;
#*Folder: d\data.bak. Check for stopped client&#039;s backups and delete if present.&lt;br /&gt;
#*Folder: d\hosts\clientname\logs. where clientname stands for all the client folders in hosts. Look for logs prior to the current and previous years and delete them.&lt;br /&gt;
#*Folder: d\hosts\clientname\downloads. The folder might contain lot of old versions of neosys.exe files, just keep the two latest ones and delete the rest. Do this for all clients except test installation because Support maintains all the previous versions of neosys.exe in it.&lt;br /&gt;
#*Folder: d\hosts\old. Remove the Stopped Client folders older than 1 year.&lt;br /&gt;
#*Apart from above folders look for random backup.zip files present in d drive. This happens when Support restores data from a zip file and forgets to delete it after the restore.&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Troubleshooting_NEOSYS_Generally&amp;diff=2673</id>
		<title>Troubleshooting NEOSYS Generally</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Troubleshooting_NEOSYS_Generally&amp;diff=2673"/>
		<updated>2016-05-04T05:35:25Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Searching XML files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Solving failure to start a NEOSYS server due to disk failure message ==&lt;br /&gt;
=== Problem ===&lt;br /&gt;
During a reboot process (which maybe due to a Windows update or even done by a support personnel) the NEOSYS server gets hung on the startup and shows a message &amp;quot;Boot Failure - Abort, Retry&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
=== Temporary solution ===&lt;br /&gt;
This typically happens due to the USB being plugged into the server and the boot sequence being wrong - i.e. the server trying to boot from the USB first and fails. The immediate solution would be to unplug the USB and ask the client to reboot the server again and upon successfully rebooting the system, plug the USB back again.&lt;br /&gt;
&lt;br /&gt;
=== Permanent solution ===&lt;br /&gt;
The above problem will occur every time the computer is rebooted, so you need to immediately talk to the IT Administrator of the client and ask them to rectify the boot sequence to make it boot first from the CD ROM, then the HDD and last the USB.&lt;br /&gt;
&amp;lt;BR&amp;gt;Allowing &amp;quot;Boot from USB&amp;quot; causes a severe risk of infection by boot sector viruses since the first infected USB device inserted WILL infect the server immediately as anti-virus programs are not active during boot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting the &amp;quot;Database not available&amp;quot; error message == &lt;br /&gt;
=== Problem explained ===&lt;br /&gt;
This error appears when you try to login to NEOSYS after you enter your username and password and click the Login button.&lt;br /&gt;
&lt;br /&gt;
[[image:database_unavailable.jpg]]&lt;br /&gt;
&lt;br /&gt;
Error message : &lt;br /&gt;
&lt;br /&gt;
 Cannot login because : &lt;br /&gt;
 Error :  The (database code) database is not available right now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the error message appears post login i.e. when users are working on the system then check if processes are free to run user request.&lt;br /&gt;
&lt;br /&gt;
[[image:not_available.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Solution explained ===&lt;br /&gt;
# Determine if the processes are running. If they are running and you still get the same message that means that either the processes have [[Troubleshooting_NEOSYS_Generally#Troubleshooting_Hung_processes|hung]] and need to be [[Troubleshooting_NEOSYS_Generally#How_to_kill_hung_NEOSYS_processes|killed]]. Or the processes are busy to run user requests and a new process needs to be started. &lt;br /&gt;
# If the processes are not visible on the destop, it is possible that they are running in the background and have hung for some reason. Check the windows task manager to see if any ‘ntvdm’ process is running and [[Troubleshooting_NEOSYS_Generally#If_NEOSYS_processes_are_not_visible_on_the_server_desktop|fix hung processes]].&lt;br /&gt;
# If there is no trace of any process running, that means the process probably did not start at the scheduled time. Refer to the &#039;Hung Process Reports&#039; to verify this claim. &lt;br /&gt;
# If the process had not hung, then the server might have restarted due to a power failure or a windows update and the administrator user had not logged in post the scheduled startup time of 6AM. To determine this cause, investigate in the Windows Event Viewer Log file.&lt;br /&gt;
# You can now start up the process by clicking on the respective desktop icons.&lt;br /&gt;
# Also check if the backup took place successfully or not. If not take a manual backup.&lt;br /&gt;
# Look into the logs at the date/time stated for the last transaction processed to investigate why process got hung.See [[Troubleshooting_NEOSYS_Generally#Inspecting_Database_LOGS_Folder| Inspecting logs]] for more information on logs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;quot;user not authorised to login from a location&amp;quot; error message ==&lt;br /&gt;
[[image:IPerror.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error message:&#039;&#039;&#039;&lt;br /&gt;
 xxx is not authorised to login form the location (IP Number. xx.xx.xx.xx)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution Explained:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Check the URL used and follow the steps below to figure out if its correct and email the user accordingly.&lt;br /&gt;
#If the Client installation is hosted on NEOSYS server then users can use only https link to access NEOSYS.&lt;br /&gt;
#*Check with the client&#039;s management if this particular IP is their public IP.&lt;br /&gt;
#*Add IP on management confirmation (Refer to [[Procedures#Handling_User_Requests_to_add_an_IP_or_range_of_IPs_to_access_NEOSYS|Handling User Requests to add IP/IPs ]] ) &lt;br /&gt;
#In case of Client hosted server, users should access NEOSYS via LAN using the http link.&lt;br /&gt;
#*There can be exceptional cases where user needs to access NEOSYS outside the office Network e.g a client installation with two companies at different locations and NEOSYS installed at one. In this case Support will have to add the IP number of the second company so that users can access NEOSYS.&amp;lt;br&amp;gt;But before you even suggest to add the IP, get the request from their management saying that the IP number is another office location and needs to be added. (Refer to [[Procedures#Handling_User_Requests_to_add_an_IP_or_range_of_IPs_to_access_NEOSYS|Handling User Requests to add IP/IPs ]] )&lt;br /&gt;
&lt;br /&gt;
== Handling damaged files ==&lt;br /&gt;
&lt;br /&gt;
[[Handling damaged files]]&lt;br /&gt;
&lt;br /&gt;
=== Checking for corrupt database files ===&lt;br /&gt;
Login to NEOSYS Maintenance. This can be done when users are online.&lt;br /&gt;
&lt;br /&gt;
Press F5&lt;br /&gt;
&lt;br /&gt;
 CHK.FILES&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
 CHK.FILES filename&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Sizelock while performing chk.files &#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Fixing sizelock errors should not be done while other users are online to the same database.&lt;br /&gt;
&lt;br /&gt;
Sizelock errors are not critical and will be fixed automatically during the nightly backup.&lt;br /&gt;
&lt;br /&gt;
Sizelock errors occur if a program or process that is selecting records from a file is aborted in some abnormal way.&lt;br /&gt;
&lt;br /&gt;
Error message:&lt;br /&gt;
&lt;br /&gt;
 These Files/Tables have a Sizelock Value of 2 or greater. &lt;br /&gt;
 Tag/Select the Files/Tables to be Fixed.&lt;br /&gt;
 Press F9 to fix selected files&lt;br /&gt;
&lt;br /&gt;
Press F9 to proceed with fixing the selected files or press ESC to continue with chk.files without fixing sizelock as it gets automatically fixed during the nightly backup. &lt;br /&gt;
&lt;br /&gt;
Refer to the [http://techwiki.neosys.com/index.php/Backup_and_Restore#Error_Message:_Size_Lock Sizelock errors in backup emails] for more information.&lt;br /&gt;
&lt;br /&gt;
[[file:sizelock.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Determining Database File Name from Operating System File Name ===&lt;br /&gt;
&lt;br /&gt;
To assess the potential damage and possible remedial measures you need to know the database file name. If the message only refers to the operating system file name you need to follow this procedure to determine the database file name.&lt;br /&gt;
&lt;br /&gt;
Once you have the database file name you can use CHK.FILES XXXXXXX to check if corrupt or not and various other procedures to fix the corruption.&lt;br /&gt;
&lt;br /&gt;
Remember that fixing the corrupt data does not solve the overall problem. The *cause* of the corruption must be identified and eliminated otherwise the problem may reoccur and in a more serious form perhaps with unrecoverable loss of data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╒═══════════════════════════════════TCL - 2══════════════════════════════════╕&lt;br /&gt;
│                                                                            │&lt;br /&gt;
│ :list FILES WITH ALL CONTAINING &#039;REV76481&#039;                                 │&lt;br /&gt;
│                                                                            │&lt;br /&gt;
╘════════════════════════════════════════════════════════════════════════════╛&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:DBfilenamefromOSfilename.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Finding out when and by whom a record was deleted ==&lt;br /&gt;
&lt;br /&gt;
In most cases, NEOSYS does not allow users to delete records and instead keeps a record of everything. In some cases however, things are deleted and the only way to get full details about the deletion is to search the logs. This is cumbersome, but there is a quick way to find out when, and by whom, a record was deleted. Prior to NEOSYS software versions dated Mar 2014, and deletions done before the same date, this procedure will only tell you when the record was deleted - but not who deleted it. Knowing exactly when it was deleted will nevertheless help you to search the logs for full details.&lt;br /&gt;
&lt;br /&gt;
In maintenance mode F5&lt;br /&gt;
&lt;br /&gt;
 ED SHADOW DELETED*filename*key&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 ED SHADOW DELETED*BATCHES*L*JOU*2*U&lt;br /&gt;
&lt;br /&gt;
Journals are stored in the BATCHES file. The key of an unposted batch is x*y*999*U where x is the company code, y is the journal type code, 999 is UNPOSTED batch number and U is just U to indicate unposted batches. Note that unposted batches are normally deleted at the time they are posted - ie converted to posted batches.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔══════════════════════════┤DELETED*BATCHES*L*JOU*2*U├═════════════════════════╗&lt;br /&gt;
║16831.60706                                                                   ║&lt;br /&gt;
║BRUCEL                                                                        ║&lt;br /&gt;
║╒═══════════════════════════════════TCL - 6══════════════════════════════════╕║&lt;br /&gt;
║│                                                                            │║&lt;br /&gt;
║│ :EVAL PRINT 16831.60706 &#039;[DATETIME]&#039;                                       │║&lt;br /&gt;
║│                                                                            │║&lt;br /&gt;
║╘════════════════════════════════════════════════════════════════════════════╛║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you see the number (in this case 16831.60706) you can convert it to a time and date by typing something like&lt;br /&gt;
&lt;br /&gt;
 PRINT 16831.60706 &#039;[DATETIME]&#039;&lt;br /&gt;
&lt;br /&gt;
Using this date and time you can search the logs more effectively to find out who did the deletion and in what circumstances.&lt;br /&gt;
&lt;br /&gt;
== Assessing Database Size per File ==&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
 &lt;br /&gt;
 LIST FILES BY BY-DSND SIZE VOLUME.NAME SIZE&lt;br /&gt;
 &lt;br /&gt;
This will include all files not just those in the actual dataset in DATA\* folders.&lt;br /&gt;
&lt;br /&gt;
== Fixing slow speed ==&lt;br /&gt;
=== [[Benchmarking NEOSYS]] ===&lt;br /&gt;
=== Investigating CPU 100% using Windows Task Manager ===&lt;br /&gt;
Email, to support, a screen-shot of task manager APPLICATIONS, PROCESSES and PERFORMANCE screens MAXIMIZED TO SHOW AS MUCH AS POSSIBLE. &lt;br /&gt;
&lt;br /&gt;
(Sort the processes to show ntvdm, waiting.exe and high cpu% processes clearly)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steps:&#039;&#039;&#039;&lt;br /&gt;
#Right Click on Windows Taskbar and click on Start Task Manager &amp;lt;br&amp;gt; [[image:starttaskmanager.jpg]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
#Click on Processes and then click on CPU &amp;lt;br&amp;gt;&#039;&#039;&#039;Note - The HIGH cpu% processes which should usually be the &amp;quot;process&amp;quot; called &amp;quot;System Idle Process&amp;quot; &#039;&#039;&#039;&amp;lt;br&amp;gt;[[image:cpu100percent1.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Click on the Performance Tab &amp;lt;br&amp;gt; &#039;&#039;&#039;Note - PF Usage should typically be much less than Physical Memory otherwise there is insufficient real memory in the server to handle the load&#039;&#039;&#039; &amp;lt;br&amp;gt; [[image:cpu100percent3.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Click on Application Tab then Right Click on a NEOSYS Process and Click on Bring to Front &amp;lt;br&amp;gt;&#039;&#039;&#039;See what the NEOSYS Process is doing &amp;lt;br&amp;gt; [[image:cpu100percent2.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Right Click on a NEOSYS Process and Click on Go to Processes &amp;lt;br&amp;gt;&#039;&#039;&#039;Note the cpu% ntvdm process &amp;lt;br&amp;gt;[[image:cpu100percent2_2.jpg]]&amp;lt;br&amp;gt;  &lt;br /&gt;
#Normally NEOSYS application screens say &amp;quot;LISTENING&amp;quot; in the bottom line and those applications should have very low cpu%&amp;lt;br&amp;gt;[[image:normalneosysprocess.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Look at the difference between the screen of running NEOSYS processes (applications actually) which are idle (listening for requests) and active (processing a request from a user)&lt;br /&gt;
#Note the number of cpus or cpu threads in the server from the performance screen graphics&amp;lt;br&amp;gt;[[image:performance-taskmgr-cputhread.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Take screen-shots of any and ALL hung or long running processes (NEOSYS application screens) and email them to support. Even small details on the screens and user names, the user names may give clues to what problem caused the hanging.A Typical Hung NEOSYS process will look like this: &amp;lt;br&amp;gt; [[image:hungneosysprocess.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
#Once all hung/long processes are closed then CPU should be low and not near 100%. If it is still 100% then check all high cpu% processes and send a screen-shot of processes sorted to show the high cpu% process names to support.&lt;br /&gt;
&lt;br /&gt;
=== Solving server CPU% is 100 and all users are extremely slow/stopped ===&lt;br /&gt;
&lt;br /&gt;
Get the screenshots of Task Manager and ALL processes on the server, the objective is to assess the true issue. No need to get the screens not in use obviously but you can send a parallel screen shot for them if you want to be pedantic or even a comment will do.&lt;br /&gt;
&lt;br /&gt;
==== Too few CPUs/threads for the number of users ====&lt;br /&gt;
In Windows task manager normally, you should see one ntvdm.exe and one waiting.exe process per NEOSYS process (application). A standard installation has three NEOSYS processes per main database and plus one per test database. This is configured in Support Menu, Configuration File.&lt;br /&gt;
&lt;br /&gt;
If there are MORE ntvdm processes than you expect from the configuration file, then perhaps NEOSYS is auto starting new NEOSYS processes to try and cater for a high number of concurrent users.&lt;br /&gt;
&lt;br /&gt;
If the number of concurrent NEOSYS processes significantly exceeds the number of cpus/hyperthreads available in the server then processing for everybody can become so slow for everybody and almost no work gets done.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Stop NEOSYS creating new NEOSYS processes automatically. Create a text file with the first and only line as AUTOSTART=NO in the neosys\neosys folder something like this.&lt;br /&gt;
&lt;br /&gt;
notepad d:\neosys\neosys\NET.CFG&lt;br /&gt;
&lt;br /&gt;
AUTOSTART=NO&lt;br /&gt;
&lt;br /&gt;
== How do I troubleshoot email not received? ==&lt;br /&gt;
&lt;br /&gt;
[[Troubleshooting email not received]]&lt;br /&gt;
&lt;br /&gt;
== Fixing permissions errors while logging in ==&lt;br /&gt;
 &lt;br /&gt;
=== Problem ===&lt;br /&gt;
 &lt;br /&gt;
While logging in, you get the following error message:&lt;br /&gt;
[[Image:login_error_message.jpg]]&lt;br /&gt;
 &lt;br /&gt;
=== Solution ===&lt;br /&gt;
 &lt;br /&gt;
Add the internet guest account to the security list of the data folder with the default permission of list/read/write&lt;br /&gt;
 &lt;br /&gt;
Make sure the read&amp;amp;execute permission is removed&lt;br /&gt;
[[Image:permissions_on_data.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fixing the &#039;HTTP Error 500.0 - Internal Server Error&#039; while logging in on IE on a Windows Vista system ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
After configuring IIS on Windows Vista you will get this error message while trying to login into NEOSYS from Internet Explorer:&lt;br /&gt;
&lt;br /&gt;
 HTTP Error 500.0 - Internal Server Error&lt;br /&gt;
 Description: This application is running in an application pool that uses the Integrated .NET  &lt;br /&gt;
 mode. This is the preferred mode for running ASP.NET applications on the current and future &lt;br /&gt;
 version of IIS.&lt;br /&gt;
 &lt;br /&gt;
 In this mode, the application using client impersonation configured with &amp;lt;identity &lt;br /&gt;
 impersonate=&amp;quot;true&amp;quot; /&amp;gt; may not behave correctly. Client impersonation is not available in early &lt;br /&gt;
 ASP.NET request processing stages and may lead modules in those stages to execute with process &lt;br /&gt;
 identity instead.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
You can move the application to an application pool that uses the Classic .NET mode by using the following from a command line window (the window must be running as Administrator) &lt;br /&gt;
&lt;br /&gt;
 %systemroot%\system32\inetsrv\APPCMD.EXE set app &amp;quot;Default Web Site/neosys&amp;quot; /applicationPool:&amp;quot;Classic .NET AppPool&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can use any other application pool on your system that is running in the Classic .NET mode. You can also use the IIS Administration tool to move this application to another application pool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fixing the &#039;Class Not Registered&#039; error message while logging in ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
While logging into NEOSYS, you will get a popup window giving an error message saying &#039;Class Not Registered - Server Error&#039;. Typically, you will encounter this error with XP Pro IIS 5.1. As usual, there&#039;s way to solve it, however the root cause of this is still unknown.&lt;br /&gt;
&lt;br /&gt;
Anyway, you will get the proper message in the event log:&lt;br /&gt;
&lt;br /&gt;
 Event Type: Warning&lt;br /&gt;
 Event Source: W3SVC&lt;br /&gt;
 Event Category: None&lt;br /&gt;
 Event ID: 36&lt;br /&gt;
 Description: The server failed to load application &#039;/LM/W3SVC/1/ROOT/NEOSYS.&lt;br /&gt;
 The error was &#039;Class not registered&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
So, what do you do ? This problem is related to Component Services, and when you open Component Services MMC, you will most probably  get  Error Code 8004E00F COM + was unable to talk to Microsoft Distributed Transaction Coordinator. So, fix the COM+ services first by using the following KB from Microsoft (PRB: Cannot Expand &amp;quot;My Computer&amp;quot; in Component Services MMC Snap-In http://support.microsoft.com/?id=301919):&lt;br /&gt;
&lt;br /&gt;
To resolve this problem, reinstall Component Services as follows: WARNING: &lt;br /&gt;
# Open registry editor, locate HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3, and then delete this key.  &lt;br /&gt;
# From the Start menu, point to Settings, click Control Panel, and then click Add/Remove Programs.  &lt;br /&gt;
# Click Add/Remove Windows Components. &lt;br /&gt;
# Proceed through the wizard, and accept all of the defaults (including IIS)&lt;br /&gt;
# Restart the computer.&lt;br /&gt;
&lt;br /&gt;
If the above didn&#039;t solve it, and you still receive the &#039;Class not registered&#039; error message, then you need to recreate the IIS packages in COM+, try&lt;br /&gt;
&lt;br /&gt;
# Delete IIS related package in Component Services MMC&lt;br /&gt;
# IIS In-Process Applications &lt;br /&gt;
# IIS Out-of-Process Pooled Applications &lt;br /&gt;
# IIS Utilities&lt;br /&gt;
&lt;br /&gt;
Next, if you still get the message, try following before re-install IIS if you can&#039;t find Distributed Transaction Coordinator in your Services console.&lt;br /&gt;
&lt;br /&gt;
Launch command prompt and run the following command.&lt;br /&gt;
# msdtc -install&lt;br /&gt;
# net start msdtc&lt;br /&gt;
&lt;br /&gt;
Then try re-install IIS.&lt;br /&gt;
&lt;br /&gt;
This should solve the problem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enabling File Security option on Win XP Professional ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
&lt;br /&gt;
In the Properties of any folders, the Security option does not show, hence you cannot modify the Read, Write options.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
The solution would be to untick the &#039;Simple File Sharing&#039; option from  Tools &amp;gt; Folder Options &amp;gt; View:&lt;br /&gt;
[[Image:simplefilesharingoff.jpg]]&lt;br /&gt;
&lt;br /&gt;
== %00%00%00%00 Errors ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SYSTEM ERROR in line 162. Amount &amp;quot;-2698.00AED&amp;quot; or base &amp;quot;%00%00%00%00&amp;quot; has been wrongly generated   &lt;br /&gt;
GET NEOSYS SUPPORT. DO NOT ATTEMPT TO CORRECT MANUALLY    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Solution ===&lt;br /&gt;
%00%00%00%00 indicates an internal error that NEOSYS programmer has to fix. It is usually random and can be hard to replicate unlike almost all other NEOSYS errors which usually replicate reliably once you find the cause.&lt;br /&gt;
&lt;br /&gt;
== B703 Errors ==&lt;br /&gt;
&lt;br /&gt;
The B703 error is usually always related to something too big for NEOSYS to handle. &lt;br /&gt;
&lt;br /&gt;
These are the only B errors that NEOSYS cant always permanently prevent by fixing the software.&lt;br /&gt;
&lt;br /&gt;
== Internet Explorer Menu, View, Text Size doesnt change font size as expected ==&lt;br /&gt;
&lt;br /&gt;
Cause: This is because the font size is now user definable in NEOSYS and View, Text Size does not override predefined font sizes.&lt;br /&gt;
&lt;br /&gt;
Solution: If you are using Internet Explorer 7 you can scale the screen (including the font size  using ctrl + and ctrl - keyboard shortcuts or the font size button on the bottom right hand side of the window. &lt;br /&gt;
&lt;br /&gt;
You can adjust the font size on the User Details form when you login although this permanently applies to all forms not just the one that you are on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uploaded jpg files fail to display in internet explorer ==&lt;br /&gt;
&lt;br /&gt;
Some large jpg files &amp;gt; 2Mb cannot be viewed in internet explorer despite being viewable in image preview, ms paint and other viewers/editors. It is not an issue caused by uploading or downloading the files.&lt;br /&gt;
&lt;br /&gt;
These file appear to have been created on Photoshop CS Macintosh and may be a special type of uncompressed jpg used for production quality files.&lt;br /&gt;
&lt;br /&gt;
=== Partial solution ===&lt;br /&gt;
Before uploading the files, open them in some editor like MS Paint (right click, edit) and save them. However this results in a loss of quality. Perhaps there is some program that can convert these files to a format understandable by Internet explorer without any loss of quality.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;This document is currently read only&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
The user attempting to modify this document does not have the authorization key to do so.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
Inform the user that he is not authorised to modify the document and give him the list of users within his company who are authorised to do so.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;You have attempted to write to a read-only file&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
=== Message ===&lt;br /&gt;
&lt;br /&gt;
Error while writing data.&lt;br /&gt;
You have attempted to write to a read-only file.&lt;br /&gt;
- or -&lt;br /&gt;
access to the file has been denied by the operating system.&lt;br /&gt;
(operating system file name: &amp;quot;..\DATA\ADLINEC\ADAGENCY\REV76467.OV00012618&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
It is almost certainly due to some third party backup or other maintenance software opening the NEOSYS database files when it shouldn&#039;t e.g. badly configured third party backup scheduled to backup NEOSYS while NEOSYS is still running. Note that the exact filename varies each time.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
This can be a serious error that causes damaged files in NEOSYS especially if the filename ends in .OV. Use the usual methods of checking for damaged files e.g. do a backup which also looks for damaged files BUT DO NOT OVERWRITE THE LATEST BACKUP SINCE IT MAY BE REQUIRED for restoration. Then fix the damaged files using the usual methods e.g. by rebuilding/using&lt;br /&gt;
FIXFILE or restoring databases. For more info check [[Handling damaged files|Handling damaged files]]&lt;br /&gt;
&lt;br /&gt;
=== Prevention ===&lt;br /&gt;
&lt;br /&gt;
Remove the third party backup or other maintenance software or reschedule it to run at a time that NEOSYS is shutdown. Removal of software may require hunting through the windows process list for unexpected programs running.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting Hung processes==&lt;br /&gt;
&lt;br /&gt;
=== Investigating hung NEOSYS processes ===&lt;br /&gt;
&lt;br /&gt;
To find out some information about what the hung processes are suffering from, do the following:&lt;br /&gt;
&lt;br /&gt;
When no important clients working (eg first thing in the morning) then request a shutdown of all NEOSYS processes. This should will leave only the hung processes open.&lt;br /&gt;
&lt;br /&gt;
Then find what NEOSYS files are open as follows:&lt;br /&gt;
&lt;br /&gt;
run Sysinternal&#039;s &amp;quot;Process Explorer&amp;quot; (from Start, Programs or procexp.exe from desktop)&lt;br /&gt;
&lt;br /&gt;
find, handle&lt;br /&gt;
&lt;br /&gt;
 d:\&lt;br /&gt;
&lt;br /&gt;
submit the complete list (maybe more than one page) to support for records&lt;br /&gt;
&lt;br /&gt;
[[Image:invhungprocess.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Troubleshooting_NEOSYS_Generally#Investigating_CPU_100.25_using_Windows_Task_Manager|Investigating CPU 100% using Windows Task Manager]]  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Troubleshooting_NEOSYS_Generally#Solving_server_CPU.25_is_100_and_all_users_are_extremely_slow.2Fstopped|Solving server CPU% is 100 and all users are extremely slow/stopped]] ===&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Fatal Error in Rev Restart&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
[[image:fatal.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Error message: “Abort, Retry, Fail” ===&lt;br /&gt;
==== Problem ====&lt;br /&gt;
The following messages may come on older versions of NEOSYS if there is a problem with the USB media inserted for backup.&lt;br /&gt;
&lt;br /&gt;
[[image:usberror.jpg]]&lt;br /&gt;
&lt;br /&gt;
This results in “NEOSYS has not checked in” message on Nagios since it hangs during the monitoring update and locks all other processes from monitoring too.&lt;br /&gt;
&lt;br /&gt;
General failure writing drive F&lt;br /&gt;
Abort, Retry, Fail?&lt;br /&gt;
&lt;br /&gt;
Not read reading drive F&lt;br /&gt;
Abort, Retry, Fail?&lt;br /&gt;
&lt;br /&gt;
Pressing A or F results in the problem happening again in about a minute, perhaps on a different process.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Temporary solution is to do “Safely remove hardware” from the windows notification area. Using “Eject” from My Computer will not work.&lt;br /&gt;
&lt;br /&gt;
Permanent solution is to replace the defective USB memory stick. Sometime reformatting is sufficient.&lt;br /&gt;
&lt;br /&gt;
Upgrading NEOSYS will probably stop the defective media from causing NEOSYS to hang but the USB will still be useless for backup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Read error in the operating system file&amp;quot; ===&lt;br /&gt;
==== Problem ====&lt;br /&gt;
Nagios reports a hung process and on the server a process has the following message popup.&lt;br /&gt;
&lt;br /&gt;
 Read error in the operating system file &amp;quot;..\DATA\PT0833\ACCOUNTS\REV20049&lt;br /&gt;
 The file does not exist or the filename is&lt;br /&gt;
 not valid for the operating system.&lt;br /&gt;
&lt;br /&gt;
[[Image:readerrorintheoperatingsystemfile.png]]&lt;br /&gt;
&lt;br /&gt;
==== Cause ====&lt;br /&gt;
Some non-NEOSYS program is directly accessing the NEOSYS database files while NEOSYS processes are running and using the files as well.&lt;br /&gt;
&lt;br /&gt;
*Client IT staff using a backup program to perform backup without ensuring that NEOSYS processes are shutdown.&lt;br /&gt;
*A NEOSYS rsync process taking longer than expected due to new USB.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Kill the NEOSYS process eg with the X button. It is advisable NOT to let it run further while it cannot properly access one of its files.&lt;br /&gt;
&lt;br /&gt;
==== Prevention ====&lt;br /&gt;
Remove the third party program or arrange for it to operate only while NEOSYS processes are shutdown eg from 3am-6am.&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Not enough string space - Out of Memory&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
==== Message ====&lt;br /&gt;
&lt;br /&gt;
‘RTP27’ Line 1. [B29] Not enough string space – Out of Memory.&lt;br /&gt;
&lt;br /&gt;
Not enough memory to execute Debugger; current program aborted.&lt;br /&gt;
Press any key to continue&lt;br /&gt;
&lt;br /&gt;
[[Image:out_of_memory.jpg]]&lt;br /&gt;
&lt;br /&gt;
==== Cause ====&lt;br /&gt;
Unknown perhaps related to some large document or report&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Ask users for any hanging transactions.&lt;br /&gt;
None other than closing and starting another process.&lt;br /&gt;
&lt;br /&gt;
Also refer [[Troubleshooting NEOSYS Generally#Enabling EMS memory on Window 2003|Enabling EMS memory on Window 2003]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: B521 ===&lt;br /&gt;
&lt;br /&gt;
[[Image:B521.jpg]] &lt;br /&gt;
&lt;br /&gt;
 Another user is currently updating indexes. &lt;br /&gt;
 Waiting to make your updates...&lt;br /&gt;
 If you interrupt this process,&lt;br /&gt;
 you may have to rebuild all the indexes&lt;br /&gt;
&lt;br /&gt;
B521 message is usually temporary and goes away by itself. If it does not then, as the text of the B521 message makes clear, some OTHER process is holding up the system, preventing the process with B521 message from continuing.&lt;br /&gt;
&lt;br /&gt;
B521 message is a symptom of other problem so it does not itself have some one simple solution. You must find which other process or issue is causing the hold up and solve whatever problem is causing the hold up, which could be anything.&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot; NTVDM encountered a hard error &amp;quot;  ===&lt;br /&gt;
&lt;br /&gt;
The following error message appears:&lt;br /&gt;
&lt;br /&gt;
[[Image:ntvdm.jpg]]&lt;br /&gt;
&lt;br /&gt;
 NTVDM encountered a hard error&lt;br /&gt;
&lt;br /&gt;
==== Solution  ====&lt;br /&gt;
 &lt;br /&gt;
This error is caused by missing or corrupt Windows system files (i.e. command.com, autoexec.nt and config.nt). The solution is to run a program called XP FIX which will reinstall these missing files. You can download it form http://www.visualtour.com/downloads/xp_fix.exe&lt;br /&gt;
&lt;br /&gt;
Sometimes even after running the XP FIX program the error still appears. Then you need to copy all the files under C:/windows/repair to C:/windows/system32 and in the autoexec.nt and config.nt put REM before any lines there which don&#039;t have it.&lt;br /&gt;
&lt;br /&gt;
====Possible fix for some NTVDM errors ====&lt;br /&gt;
&lt;br /&gt;
===== Error message ===== &lt;br /&gt;
&lt;br /&gt;
[[Image:Ntvdm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
 NTVDM has encountered a System error.&lt;br /&gt;
 The system cannot find the file specified.&lt;br /&gt;
 Choose close to terminate the application.&lt;br /&gt;
&lt;br /&gt;
=====Possible solution===== &lt;br /&gt;
&lt;br /&gt;
#Change the TEMP and TMP environment variables to C:\WINDOWS\TEMP. This should be for the user that runs NEOSYS processes - normally administrator.&lt;br /&gt;
#Close all NEOSYS processes &lt;br /&gt;
#Logout/Login again&lt;br /&gt;
#Restart NEOSYS processes&lt;br /&gt;
&lt;br /&gt;
[[image:Ntvdmsoln.png]]&lt;br /&gt;
&lt;br /&gt;
===== Check solution done properly ===== &lt;br /&gt;
&lt;br /&gt;
You can check that by typing ECHO %TEMP% and ECHO %TMP% at a console prompt after logging out and in again. &lt;br /&gt;
&lt;br /&gt;
Note that windows will actually set the windows environment variables to something like C:\WINDOWS\TEMP\2 for some unknown reason. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
d:\hosts&amp;gt;ECHO %temp% &lt;br /&gt;
C:\WINDOWS\TEMP\2 &lt;br /&gt;
&lt;br /&gt;
d:\hosts&amp;gt;ECHO %tmp% &lt;br /&gt;
C:\WINDOWS\TEMP\2 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Error message: [[Troubleshooting_NEOSYS_Generally#Troubleshooting_the_.22Database_not_available.22_error_message|&amp;quot;Database not available&amp;quot; post login]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: [[Backup_and_Restore#Error_Message:_.22Cannot_backup.2Frestore_because_PROCESS1_PROCESS2_.28etc.29_is.2Fare_online.22_message|&amp;quot;Cannot backup/restore because PROCESS1 PROCESS2 (etc) is/are online&amp;quot;]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How to kill hung NEOSYS processes ===&lt;br /&gt;
 &lt;br /&gt;
NOTE WELL: If you kill actively working NEOSYS processes (those which are &amp;quot;listening&amp;quot; and not hung/crashed) there is a reasonable chance that the database will be damaged and might need a restore losing possibly large amounts of work.&lt;br /&gt;
 &lt;br /&gt;
==== If NEOSYS processes are visible on the server desktop ====&lt;br /&gt;
 &lt;br /&gt;
Look for processes which don&#039;t have &amp;quot;Listening ...&amp;quot; on the last but one line. The times on the left hand side are frozen as at the time of the hang.&lt;br /&gt;
 &lt;br /&gt;
You can then click the X to kill the process and confirm that this is OK.&lt;br /&gt;
 &lt;br /&gt;
Example of a NEOSYS process that has hung due to a software error resulting in a failure to handle a complex query with a lot of brand codes.&lt;br /&gt;
&lt;br /&gt;
[[Image:hungprocess.jpg]]&lt;br /&gt;
 &lt;br /&gt;
==== If NEOSYS processes are not visible on the server desktop ====&lt;br /&gt;
&lt;br /&gt;
NEOSYS processes are most of the time visible on the desktop (i.e. the black dos windows) in Windows 2003 OS, except in the case that the process has been scheduled to start on computer restart and no one has logged into the server. In this case it would be running in the background. TODO&lt;br /&gt;
&lt;br /&gt;
You can check if there are any hung processes from the NEOSYS Support Menu, List of Database Processes. &lt;br /&gt;
[[Image:databaseprocesseslist.jpg]]&lt;br /&gt;
&lt;br /&gt;
In this case you should follow the below instructions - however all of them need to be done within 30 seconds of starting the first instruction to avoid inconvenience to the users. It is recommend that you keep relevant windows open before proceeding with the same:&lt;br /&gt;
&lt;br /&gt;
#Shutdown NEOSYS by TEMPORARILY putting a file called GLOBAL.END in the parent directory of NEOSYS (if there is already a GLOBAL.END.TEMP file then rename it to GLOBAL.END). Leaving the file there would prevent NEOSYS from starting up again. Shutting down NEOSYS from the Support menu will not work because of the hung processes.&lt;br /&gt;
#Use Windows Task Manager to kill all the NTVDM processes - assuming that you have closed all the visible NEOSYS processes, then the NTVDM processes in the task manager would be the hung one.&lt;br /&gt;
#Delete GLOBAL.END or rename it to GLOBAL.END.TEMP&lt;br /&gt;
#Restart the processes back again. If there are many datasets then you need to restart them all well within the 30 seconds period.&lt;br /&gt;
#*Restarting a process is not noticed by users.&lt;br /&gt;
&lt;br /&gt;
In case of Patsalides, where we have a thousand datasets which start &amp;quot;on demand&amp;quot; i.e. usually on login; all you need to do is start one dataset which will restart all the other datasets &amp;quot;on demand&amp;quot;. If there is no response within 30 seconds then one of the running datasets will start it up so there appears to be a 30 second delay when you login to one of the thousand datasets the first time on any one day.&lt;br /&gt;
&lt;br /&gt;
=== Temporary workarounds for hung NEOSYS processes ===&lt;br /&gt;
Until the error in the software is fixed users can often get their results by simplifying their requirements. For example select individual clients instead of selecting all the brands for a particular client. If the user has repeated his request (in forlorn hope that it would work finally) then the number of working NEOSYS processes will drop causing severe slowdown for other users and complete stop if all the NEOSYS processes hang.&lt;br /&gt;
&lt;br /&gt;
== Fixing &amp;quot; You do not have sufficient privilege to access this file &amp;quot;  ==&lt;br /&gt;
&lt;br /&gt;
This error message may come up while NEOSYS process startup.&lt;br /&gt;
&lt;br /&gt;
Solution: Close the window and look for NEOSYS processes. In case there is no process, start the NEOSYS process.&lt;br /&gt;
&lt;br /&gt;
[[image:Errormsg.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing &#039;NEOSYS process which opens up in a notepad instead of Microsoft Windows Based Script Host (i.e. DOS window)&#039;==&lt;br /&gt;
&lt;br /&gt;
The NEOSYS process (cmd file) might open up in a notepad, instead of the usual black colour DOS window. This may happen if a JavaScript file is opened using a notepad. Please be very CAREFUL when accessing a .JS and .JSE file and double check that the default program remains wscript.exe. The issue can be fixed by the following:&lt;br /&gt;
&lt;br /&gt;
# Check if Windows Script 5.6/5.7 is installed, IF NOT download and install it from the Microsoft Website.&lt;br /&gt;
# Go to any folder, click on Tools &amp;gt; Folder Options &amp;gt; File Types and find the .JS and .JSE and change the default program to wscript.exe (from windows&amp;gt;system32)&lt;br /&gt;
&lt;br /&gt;
== Fixing a &#039;Could not start&#039; error on Scheduled Tasks in Windows Server 2000 SP4 ==&lt;br /&gt;
&lt;br /&gt;
This error occurs because of a change that is made to the data that is stored in the credentials database when you install Windows 2000 SP4. Hence installing SP4 causes the the data that is stored in the credentials database to get converted to an SP4-compatible format. A registry key is configured to indicate that the data has been converted to the SP4 format.&lt;br /&gt;
&lt;br /&gt;
Hence the Scheduled Tasks do not work sometimes. However the Scheduled Tasks works fine sometimes, but when you uninstall SP4, it does not work.&lt;br /&gt;
&lt;br /&gt;
The best solution is to:&lt;br /&gt;
&lt;br /&gt;
# Incase Scheduled Tasks do not work after installing SP4, then uninstall SP4 and it should be fine.&lt;br /&gt;
# Incase Scheduled Tasks works after installing SP4, and later after uninstalling SP4, it does not work, then install SP4 and it should be fine.&lt;br /&gt;
&lt;br /&gt;
== Checking for server or NEOSYS crashes ==&lt;br /&gt;
 &lt;br /&gt;
#NEOSYS Maintenance Mode&lt;br /&gt;
#General Menu, Setup, Processes&lt;br /&gt;
#Select the dates and the option Detailed&lt;br /&gt;
 &lt;br /&gt;
This report shows a list of dates and times that NEOSYS logged in but did not log out properly.&lt;br /&gt;
 &lt;br /&gt;
Ignore the very latest entries since they represent the current NEOSYS processes. For example, if you have four NEOSYS processes running at the time that you get the report (including any in maintenance mode) then you can ignore the last four entries.&lt;br /&gt;
 &lt;br /&gt;
The date and time shows for each process that has failed to shutdown correctly when the process logged in. Versions of NEOSYS from January 2008 will also show the date and time that each crashed NEOSYS process was last active (heartbeat) so that the time of failure can be known.&lt;br /&gt;
 &lt;br /&gt;
If you see a bunch of NEOSYS processes all started up at around the same time but all failed to shutdown correctly then the cause will be a server failure - usually power failure.&lt;br /&gt;
 &lt;br /&gt;
Isolated one-off failures will be related to individual NEOSYS process crashes - most commonly caused by one of the following:&lt;br /&gt;
 &lt;br /&gt;
#NEOSYS hanging to due to software failure&lt;br /&gt;
#Manually exiting a NEOSYS process on the server either by pressing Ctrl+Alt+Del or clicking the &amp;quot;X&amp;quot; close icon/box and ignoring the warning&lt;br /&gt;
#Random server failures eg memory, disk etc&lt;br /&gt;
 &lt;br /&gt;
Example:&lt;br /&gt;
 &lt;br /&gt;
 LOGIN 22/12/2007 06:02 NEOSYS SERVER ADAGENCY         Current workstation &lt;br /&gt;
 LOGIN 23/12/2007 06:00 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 06:01 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 06:02 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:52 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:52 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:53 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:00 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:01 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:02 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 13:51 NEOSYS SERVER NEOSYS         Current user session  &lt;br /&gt;
&lt;br /&gt;
Interpretation:&lt;br /&gt;
 &lt;br /&gt;
The first four entries indicate that all four NEOSYS processes started at 06am were suddenly killed probably by power failure&lt;br /&gt;
 &lt;br /&gt;
The next four entries indicate that NEOSYS was restarted at around 08:52 and all these processes were AGAIN killed probably by power failure&lt;br /&gt;
 &lt;br /&gt;
The last four entries can be ignored because there were four NEOSYS processes running at the time that the report was generated&lt;br /&gt;
&lt;br /&gt;
== Searching for word/number in the database files using maintenance mode ==&lt;br /&gt;
&lt;br /&gt;
You can search for any word/number in the database files of NEOSYS, using the following command line:&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 FIND FILENAME WORDWITHOUTANYSPACES&lt;br /&gt;
 &lt;br /&gt;
 For eg:&lt;br /&gt;
 FIND CURRENCIES 1.1&lt;br /&gt;
 (here you are searching for the number 1.1 in the currencies file) You CANNOT search for a phrase ie include spaces like this.&lt;br /&gt;
 &lt;br /&gt;
 Or you can also type:&lt;br /&gt;
 FIND FILENAME &amp;lt;enter&amp;gt;&lt;br /&gt;
 and it will ask you what you want do to search. You can enter an exact phrase with spaces.&lt;br /&gt;
&lt;br /&gt;
Incase you do not know the filenames, you can enter the following command to see all the filenames in the system:&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 LF&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting a Service Unavailable message on Internet Explorer when opening up NEOSYS ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&lt;br /&gt;
The following error message appears in Internet Explorer when you try to open up NEOSYS:&lt;br /&gt;
&lt;br /&gt;
 Service Unavailable&lt;br /&gt;
&lt;br /&gt;
=== Solution  ===&lt;br /&gt;
 &lt;br /&gt;
Open the IIS Manager, right click Web Sites and select properties:&lt;br /&gt;
[[Image:serviceunavailable1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Switch to the Service Tab and tick the &amp;quot;Run WWW Service in IIS 5.0 Isolation Mode&amp;quot;.&lt;br /&gt;
[[Image:serviceunavailable2.jpg]]&lt;br /&gt;
&lt;br /&gt;
You will be asked for Restart of IIS. Click yes to restart IIS. If you are not asked just restart IIS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Inspecting IIS log files ==&lt;br /&gt;
&lt;br /&gt;
At a windows command prompt:&lt;br /&gt;
&lt;br /&gt;
 c:&lt;br /&gt;
 cd \Windows\system32\LogFiles\W3SVC1&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 %SystemDrive%&lt;br /&gt;
 cd %SystemRoot%&lt;br /&gt;
 cd system32\LogFiles\W3SVC1&lt;br /&gt;
&lt;br /&gt;
then (substituting the ip number you are interested in)&lt;br /&gt;
&lt;br /&gt;
 find &amp;quot;192.168.1.55&amp;quot; *|sort&amp;gt;temp.log&lt;br /&gt;
&lt;br /&gt;
Open temp.log in Excel and use Tools, Data, Text to Columns to split into columns using options &amp;quot;Delimited&amp;quot; and check split on Space.&lt;br /&gt;
&lt;br /&gt;
Autowidth all columns by clicking on the top left box just outside the data to the left of column A and above column 1 then double click the column separator to the right of column &amp;quot;A&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note that times and dates are in UTC/GMT so you have to add/subtract your timezone offset to get local times.&lt;br /&gt;
&lt;br /&gt;
==Inspecting Database LOGS Folder==&lt;br /&gt;
LOGS folder in NEOSYS installation folder carries records of all changes done in the database which includes adding and removal of data.&lt;br /&gt;
&lt;br /&gt;
Log file is an XML document which should be viewed in Notepad. Each XML document represents commands executed by each NEOSYS process started each day.&lt;br /&gt;
&lt;br /&gt;
The NEOSYS log files e.g. 15123103.xml are created by the database processes. If the database is not available according to the website then no entry will appear in that log. The request will appear in the IIS website log but that log is nothing to do with database processes.&lt;br /&gt;
&lt;br /&gt;
=== Understanding Log Entries ===&lt;br /&gt;
Inspecting and searching through Logs file allows NEOSYS staff to answer clients queries like &amp;quot;Who deleted schedule XXXX&amp;quot; etc.&lt;br /&gt;
&lt;br /&gt;
While going through the log file you may come across a request &amp;quot;EXECUTE GENERAL GETTASKS NOT&amp;quot;, this request is concerned with getting a list of tasks that the user is *not* allowed to do.&lt;br /&gt;
&lt;br /&gt;
To read and understand the log file with more ease, copy the portion of the log file required to be analyzed into another text editor.&lt;br /&gt;
&lt;br /&gt;
The text that appears as %FE, %FE1, %FE2, etc. are basically separators.&lt;br /&gt;
*First replace FE0%, FE1%, FE2%, etc. with a separator like &amp;quot;--&amp;quot;. There can be occurrences of &amp;quot;%FE&amp;quot; along with some valuable information like &amp;quot;17290&amp;quot;, so replacing &amp;quot;%FE1&amp;quot; in &amp;quot;%FE17290&amp;quot; would lead to loss of information.&lt;br /&gt;
*Then replace %FE with a bigger separator like &amp;quot;===&amp;quot;.&lt;br /&gt;
*Replace other entries like %FCB and then %FC and so on with similar separators.&lt;br /&gt;
*In the end there may be few &amp;quot;FE&amp;quot; remaining, replace these with a separator like &amp;quot;-&amp;quot;.&lt;br /&gt;
*The remaining &amp;quot;%&amp;quot; characters MUST be intelligently replaced with a separator like &amp;quot; &amp;quot; (space), because it can either be an actual &amp;quot;%&amp;quot; or it can be a residue from &amp;quot;%FE&amp;quot;, &amp;quot;%FE1&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
Once replacing all these characters is done, the log file will be more easily readable and vital information will be clearer. &lt;br /&gt;
&lt;br /&gt;
In the log file, you may find numbers like 17290, 17195, etc. These numbers denote dates selected or entered by the NEOSYS user. These are basically the number of days from 31st December 1967 till the date chosen by the user. For example, to convert 17290 to actual date, 31/12/1967 + 17290 = 3/5/2015. So the actual date is 3rd May 2015.&lt;br /&gt;
&lt;br /&gt;
To convert these numbers to dates using maintenance mode, refer to the article [http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Finding_out_when_and_by_whom_a_record_was_deleted Finding out when and by whom a record was deleted]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:NEOSYS Logs.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing NEOSYS processes that do not auto start / Recovering from incorrect advanced date or time ==&lt;br /&gt;
This solution is applicable to live database processes only. Test database processes don’t auto-start any other processes.&lt;br /&gt;
&lt;br /&gt;
=== Problem explained ===&lt;br /&gt;
After starting up the 1st process, the rest of the processes don&#039;t start up.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
The possible cause for this could be that the system date/time might have been changed - either manually or by the auto synchronization. Do the following checks in the sequence of order:&lt;br /&gt;
&lt;br /&gt;
# Check for any *.$* files (* after dollar sign should show a number, the highest being the latest one). If it shows OK, then proceed ahead.&lt;br /&gt;
# Check for any .end files and delete it to rename to .end.temp&lt;br /&gt;
# Check the System Event Viewer log for any 520 or 577 error message (refer http://128.175.24.251/forensics/timechange.htm). Also check for any out of sequence / ahead of today date or time.&lt;br /&gt;
# In case of no 520 or 577 error message, go to Administrative Tools &amp;gt; Local Security Policy &amp;gt; Local Policies &amp;gt; Audit Policy &amp;gt; Audit Privilege use - make sure that Success and Failure are selected under this (this will ensure that future changes to the date/time are recorded in the System Log).&lt;br /&gt;
# In NEOSYS maintenance mode - F5 ED PROCESSES %UPDATE% - and see what it says, incase of any text (only text, not numbers) there, that means that for sure the system date has been changed. To fix this, exit the editor by pressing the ESCAPE key and then type DELETE PROCESSES &amp;quot;%UPDATE%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Fixing NEOSYS maintenance mode not starting up == &lt;br /&gt;
&lt;br /&gt;
Problem :- While trying to start maintenance mode, the maintenance window closes automatically within a split second.&lt;br /&gt;
&lt;br /&gt;
Solution :- Delete the read-only file REVBOOT file (under d:/neosys/neosys folder). REVBOOT file is recreated when you start maintenance mode.&lt;br /&gt;
&lt;br /&gt;
== Recognising and Solving Low Memory Problems ==&lt;br /&gt;
&lt;br /&gt;
Quick Note: Installing a server class operating system on a workstation class computer with the intention of NEOSYS serving a heavy load is likely to cause problems with low memory.&lt;br /&gt;
&lt;br /&gt;
Quick Fix: Disable *ALL* non-essential features in the power-on setup menu.&lt;br /&gt;
&lt;br /&gt;
=== Effects ===&lt;br /&gt;
&lt;br /&gt;
It is speculated but not proven that low memory may cause NEOSYS to fail by hanging, causing damaged files etc.&lt;br /&gt;
&lt;br /&gt;
=== Checking ===&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 MEMORY&lt;br /&gt;
&lt;br /&gt;
On server class machines it should say somewhere around 350Kb to 370Kb Free&lt;br /&gt;
&lt;br /&gt;
Some server class machines have around 330Kb and sometimes even less with no reported problems&lt;br /&gt;
&lt;br /&gt;
The actual effect of low memory is supposed to make NEOSYS slower and perhaps cause hanging and damaged files however this has not been proven in an specific case so far.&lt;br /&gt;
&lt;br /&gt;
On workstation class machines it may often say around 280Kb to 300Kb.&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
Although there is plenty of real memory in virtually all computers now, NEOSYS runs in the legacy 16 bit virtual memory space of a windows mode called NTVDM. This is limited to 1Mb plus 4Mb of EMS memory.&lt;br /&gt;
&lt;br /&gt;
The 1Mb memory space is shared with:&lt;br /&gt;
&lt;br /&gt;
#Various non-essential windows drivers which NEOSYS automatically disables them in autoexec.nt&lt;br /&gt;
#Various plug and play hardware device drivers for the various adapters in the computer like video, network adapters and various other items that NEOSYS is unable to disable.&lt;br /&gt;
&lt;br /&gt;
In a server class computer the hardware device drivers are usually minimally present in the 1Mb base memory and do not therefore DOESNT a low memory situation for NEOSYS.&lt;br /&gt;
&lt;br /&gt;
In workstation class computers there are often many hardware device drivers present in the 1Mb base memory and this DOES causes a low memory situation for NEOSYS.&lt;br /&gt;
&lt;br /&gt;
When NEOSYS is installed on workstation class computers with XP there is usually not a heavy load expectation and therefore the low memory does not cause a problem.&lt;br /&gt;
&lt;br /&gt;
If Windows Server OS is installed on a workstation class computer NEOSYS may well be expected to serve a heavy load with limited amounts of memory.&lt;br /&gt;
&lt;br /&gt;
Workstation class computers: hardware drivers present and EMS is installed in low memory (0000-9FFF) causing low memory for NEOSYS and possible inability to &lt;br /&gt;
&lt;br /&gt;
Server class computers: Usually few hardware drivers are present in high part (A000-FFFF) of the 1Mb base memory and EMS is able to occupy the high memory leaving the low part (0000-9FFFF) of the 1Mb memory free for NEOSYS. You can find out how much memory is available to NEOSYS and whether EMS is occuping high or low memory using the following sections.&lt;br /&gt;
&lt;br /&gt;
=== Fixing Low Memory ===&lt;br /&gt;
&lt;br /&gt;
Start, Run, notepad c:\windows\system32\autoexec.nt&lt;br /&gt;
&lt;br /&gt;
Every time NEOSYS starts it tries to make some changes as follow:&lt;br /&gt;
&lt;br /&gt;
#replaces all lines in C:/WINDOWS/SYSTEM32/AUTOEXEC.NT starting with &#039;lh &#039; to start with &#039;rem NEOSYS LH &#039; instead.&lt;br /&gt;
#changes the line in C:/WINDOWS/SYSTEM32/CONFIG.NT &amp;quot;files=...&amp;quot; to &amp;quot;FILES=200&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The replacement is case sensitive triggered on &#039;lh&#039; and &#039;files&#039; so if you manually edit the files and remove the rem or change the number of files and leave the LH and FILES in uppercase then NEOSYS will NOT make further changes. This allows you to do manual amendments to the files without NEOSYS overwriting them.&lt;br /&gt;
&lt;br /&gt;
Check that NEOSYS has successfully disabled all the drivers in the lines starting with LH.&lt;br /&gt;
&lt;br /&gt;
They should be commented out (prefixed) with REM or REM NEOSYS as follows.&lt;br /&gt;
&lt;br /&gt;
After making changes reopen NEOSYS in maintenance mode to use the MEMORY and WHO commands again.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REM Install CD ROM extensions&lt;br /&gt;
REM NEOSYS LH %SystemRoot%\system32\mscdexnt.exe&lt;br /&gt;
&lt;br /&gt;
REM Install network redirector (load before dosx.exe)&lt;br /&gt;
REM NEOSYS LH %SystemRoot%\system32\redir&lt;br /&gt;
&lt;br /&gt;
REM Install DPMI support&lt;br /&gt;
REM NEOSYS LH %SYSTEMROOT%\SYSTEM32\DOSX&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Low Memory Issues in Windows 2003 server can be fixed using instructions mentioned at [http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Enabling_EMS_memory_on_Window_2003 Fixing Low Memory in Windows 2003 Server]&lt;br /&gt;
&lt;br /&gt;
=== Allowing DOS programs that require DOSX to run on the same computer as NEOSYS ===&lt;br /&gt;
&lt;br /&gt;
The automatic commenting out DOSX by NEOSYS will prevent some other DOS-like programs from running. If NEOSYS is on dedicated server then there should be no other such programs to fail. However, if you must allow DOS-like programs to work as well as NEOSYS you can do the following configuration:&lt;br /&gt;
&lt;br /&gt;
#leave or restore the original AUTOEXEC.NT and CONFIG.NT files where they are&lt;br /&gt;
#copy them to another folder eg neosys folder&lt;br /&gt;
#make the necessary REM changes there by hand&lt;br /&gt;
#right click the NEOSYS\NEOSYS\AREV.PIF and select properties&lt;br /&gt;
#change the location of the AUTOEXEC.NT and CONFIG.NT files in the following location&lt;br /&gt;
&lt;br /&gt;
[[image:pifsettings.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Checking EMS Memory Configuration ===&lt;br /&gt;
&lt;br /&gt;
==== Inspection ====&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 WHO&lt;br /&gt;
&lt;br /&gt;
 press the up arrow to get to the last part/page&lt;br /&gt;
&lt;br /&gt;
===== Example of Typical Server EMS Memory =====&lt;br /&gt;
[[image:serveremm.jpg]]&lt;br /&gt;
&lt;br /&gt;
===== Example of Typical Workstation EMS Memory =====&lt;br /&gt;
[[image:workstationemm.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Correction====&lt;br /&gt;
&lt;br /&gt;
No easy way&lt;br /&gt;
&lt;br /&gt;
Removal of hardware adapters designed for workstations instead of servers eg graphics cards and network cards.&lt;br /&gt;
&lt;br /&gt;
Many of the devices may be located on the motherboard and not relocatable except possibly by BIOS configuration or special manufacturer information.&lt;br /&gt;
&lt;br /&gt;
Use windows device manager, View: Resources by Connection, Open the Memory item and look for items between 000A0000 up to 000FFFFF that might give you a clue as to what hardware could be removed or reconfigured. Actually only 000C0000 to 000FFFFF is candidate for EMS memory since 000A000-000BFFFF is mandatory video memory in all systems.&lt;br /&gt;
&lt;br /&gt;
[[image:devicemanager.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing issue where NEOSYS processes do not start-up at all or start-up and close immediately ==&lt;br /&gt;
&lt;br /&gt;
# Find if a file with the name global.end exists in the root directory of the NEOSYS installation. Eg D:\global.end . If you find such a file, rename it to global.end.temp - for more information on global.end and what it does refer to [[Administering_NEOSYS_Server#Closing_NEOSYS_Services|Closing NEOSYS Services]]&lt;br /&gt;
# If the above didn&#039;t fix the problem and NEOSYS still does not start, do a windows search for the entire NEOSYS folder for *.end (i.e. any file ending with .end extension). You may find a (databasecode).end file in D:\neosys\neosys folder which is created by the NEOSYS program during backup at 1 am and later on removed automatically. In this case NEOSYS program might have crashed during the backup and left this file behind. (databasecode).end files prevent other other NEOSYS processes starting up on the database while exclusive processes (like backup) are being done.&lt;br /&gt;
&lt;br /&gt;
In case the above didn&#039;t fix the problem then escalate to the programmer immediately.&lt;br /&gt;
&lt;br /&gt;
=== Solving &amp;quot;Control Record&amp;quot; error in maintenance mode ===&lt;br /&gt;
&lt;br /&gt;
If processes dont start after you log into maintenance mode and you get an error message&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔════[FS152]═══════════════════════════════════════╗&lt;br /&gt;
║          The control record &amp;quot;RECORDS&amp;quot;            ║&lt;br /&gt;
║           is too long to be saved.               ║&lt;br /&gt;
║   The current record length is 65539 characters. ║&lt;br /&gt;
║                                                  ║&lt;br /&gt;
║               &amp;lt; Press any key &amp;gt;                  ║&lt;br /&gt;
╚══════════════════════════════════════════════════╝  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[File:Record1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1&#039;&#039;&#039;. Press space to get rid of the error message and you should then get this menu&lt;br /&gt;
&lt;br /&gt;
[[File:Record2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2&#039;&#039;&#039;. Press F5 and run this command (case sensitive)&lt;br /&gt;
&lt;br /&gt;
 DICT DEFINITIONS&lt;br /&gt;
&lt;br /&gt;
or Press Alt+S and run this command (case sensitive)&lt;br /&gt;
&lt;br /&gt;
 EXECUTE DICT DEFINITIONS&lt;br /&gt;
&lt;br /&gt;
[[File:Record3.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3&#039;&#039;&#039;. Press Shift+F3 to get the following message&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔══[B202]══════════════════════════════════╗&lt;br /&gt;
║            &amp;quot;DEFINITIONS&amp;quot; has             ║&lt;br /&gt;
║          &amp;quot;QUICKDEX&amp;quot; installed            ║&lt;br /&gt;
║                                          ║&lt;br /&gt;
║ Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N]  ║&lt;br /&gt;
║                                          ║&lt;br /&gt;
║ &amp;lt;Y                                      &amp;gt;║&lt;br /&gt;
╚══════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4&#039;&#039;&#039;. Press Enter to choose Yes.&lt;br /&gt;
&lt;br /&gt;
[[File:Record4.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5.&#039;&#039;&#039;Restart NEOSYS to see if the problem has been solved&lt;br /&gt;
&lt;br /&gt;
== Solving “page not found” when downloading some file types after uploading them successfully ==&lt;br /&gt;
=== One by One ===&lt;br /&gt;
&lt;br /&gt;
Windows web server will not download file types that it is unaware of. You can enable the download of new file types one by one as follows.&lt;br /&gt;
&lt;br /&gt;
This process is tedious and error-prone if you have to add many type.&lt;br /&gt;
&lt;br /&gt;
#Computer Management&lt;br /&gt;
#Services and Applications&lt;br /&gt;
#IIS properties&lt;br /&gt;
#Mime Types&lt;br /&gt;
#Add&lt;br /&gt;
&lt;br /&gt;
=== Many ===&lt;br /&gt;
&lt;br /&gt;
Window Server 2003 is unaware of all the Office 2007+ file types. To add all Office 2007+ file types at once do the following:&lt;br /&gt;
&lt;br /&gt;
Stop IIS&lt;br /&gt;
&lt;br /&gt;
 iisreset /stop&lt;br /&gt;
&lt;br /&gt;
Open the list of mime types&lt;br /&gt;
&lt;br /&gt;
*Start, Run, notepad C:\WINDOWS\system32\inetsrv\MetaBase.xml&lt;br /&gt;
&lt;br /&gt;
Search the file for “xlsx” and quit the editor if already inserted.&lt;br /&gt;
&lt;br /&gt;
Otherwise, find the following line,&lt;br /&gt;
&lt;br /&gt;
  .xml,text/xml&lt;br /&gt;
&lt;br /&gt;
and insert after that line the following lines. They do not need to be indented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.docm,application/vnd.ms-word.document.macroEnabled.12&lt;br /&gt;
.docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document&lt;br /&gt;
.dotm,application/vnd.ms-word.template.macroEnabled.12&lt;br /&gt;
.dotx,application/vnd.openxmlformats-officedocument.wordprocessingml.template&lt;br /&gt;
.potm,application/vnd.ms-powerpoint.template.macroEnabled.12&lt;br /&gt;
.potx,application/vnd.openxmlformats-officedocument.presentationml.template&lt;br /&gt;
.ppam,application/vnd.ms-powerpoint.addin.macroEnabled.12&lt;br /&gt;
.ppsm,application/vnd.ms-powerpoint.slideshow.macroEnabled.12&lt;br /&gt;
.ppsx,application/vnd.openxmlformats-officedocument.presentationml.slideshow&lt;br /&gt;
.pptm,application/vnd.ms-powerpoint.presentation.macroEnabled.12&lt;br /&gt;
.pptx,application/vnd.openxmlformats-officedocument.presentationml.presentation&lt;br /&gt;
.xlam,application/vnd.ms-excel.addin.macroEnabled.12&lt;br /&gt;
.xlsb,application/vnd.ms-excel.sheet.binary.macroEnabled.12&lt;br /&gt;
.xlsm,application/vnd.ms-excel.sheet.macroEnabled.12&lt;br /&gt;
.xlsx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet&lt;br /&gt;
.xltm,application/vnd.ms-excel.template.macroEnabled.12&lt;br /&gt;
.xltx,application/vnd.openxmlformats-officedocument.spreadsheetml.template&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save the file with File and Exit&lt;br /&gt;
&lt;br /&gt;
Restart IIS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Handling Neosys Automatic Upgrade Error Messages ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
We will receive an email from the NEOSYS client installation with the following message:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;UPGRADEN.EXE&amp;quot; does not have expected exe MZ signature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
This message is a note that the NEOSYS automatic update procedure failed to download an upgrade file correctly.&lt;br /&gt;
This happens sometimes due to network issues but can be ignored because the file will be probably be correctly downloaded on the next automatic update check.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This message is only informative to help with any problem with the automatic upgrade procedure and may be removed in a later version of neosys (currently Oct 2012)&lt;br /&gt;
&lt;br /&gt;
== Testing https connection ==&lt;br /&gt;
&lt;br /&gt;
The following procedure tests that the https server is operational and not blocked by firewall etc. It does not detect certificate errors.&lt;br /&gt;
&lt;br /&gt;
From a windows command prompt use the following telnet command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
telnet clientname.hosts.neosys.com 4430&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
#4430 is the usual NEOSYS http port but replace it by whatever port is actually used for NEOSYS https on the system being tested. If there are multiple https installations on a particular server then different ports are probably used&lt;br /&gt;
#Replace clientname.hosts.neosys.com with the normal https login domain name of the client for whom we want to check the https service&lt;br /&gt;
&lt;br /&gt;
Normal behavior is that it should open a black screen. Pressing Enter or any key returns the _ character. (Close the window using the [X] since there is no keyboard command to do so)&lt;br /&gt;
&lt;br /&gt;
Hanging means that there is some connectivity issue (firewall/ip/server not running/https not installed etc)&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;quot;page not found&amp;quot; error while using https ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#The https service stops working and gives &amp;quot;Page not found&amp;quot; error.&lt;br /&gt;
#The https connection tests fine using telnet (see article above)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#Reinstall https using the usual procedure (currently using selfssl)&lt;br /&gt;
#Email clients, requesting to reinstall the new security certificate by following the instructions for [http://userwiki.neosys.com/index.php/Setting_up_and_Configuring_NEOSYS_Generally#Fixing_HTTPS_certificate_error_when_logging_in_from_an_external_link_using_IE8.2C_IE9_and_IE10 Internet Explorer] or [http://userwiki.neosys.com/index.php/Configuring_Safari_for_MAC_OS#Fixing_HTTPS_certificate_error_when_logging_in_using_an_external_link_using_MAC_Operating_System Safari] browser.&lt;br /&gt;
&lt;br /&gt;
== Installing &amp;quot;QUICKDEX&amp;quot; on some files ==&lt;br /&gt;
&amp;quot;Quickdex&amp;quot; is a type of index that keeps an alphabetical order on small files. In some maintenance procedures you may be asked to &amp;quot;install Quickdex&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For example to add a quickdex to the UNITS file.&lt;br /&gt;
&lt;br /&gt;
Maintenance mode press F5&lt;br /&gt;
&lt;br /&gt;
 DICT UNITS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=================Dictionary=================┐&lt;br /&gt;
│                                            │&lt;br /&gt;
│  File name      UNITS                      │&lt;br /&gt;
│  Field name     .........................  │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Dict type                                 │&lt;br /&gt;
│  Single/Multi                              │&lt;br /&gt;
│  Data type                                 │&lt;br /&gt;
│  Output format                             │&lt;br /&gt;
│  Validation patterns                       │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Position              Key part            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Column heading                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Justification     Display length          │&lt;br /&gt;
│  Description                               │&lt;br /&gt;
│                                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
L============================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Shift+F3.&lt;br /&gt;
&lt;br /&gt;
If it says &amp;quot;Do you want to remove ...&amp;quot; then Quickdex has already been installed and you should not continue. Press Esc to cancel, then Esc to quit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[B202]==================================┐&lt;br /&gt;
│                                         │&lt;br /&gt;
│               &amp;quot;UNITS&amp;quot; has               │&lt;br /&gt;
│          &amp;quot;QUICKDEX&amp;quot; installed.          │&lt;br /&gt;
│                                         │&lt;br /&gt;
│ Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N] │&lt;br /&gt;
│                                         │&lt;br /&gt;
│&amp;lt;Y                                      &amp;gt;│&lt;br /&gt;
L=========================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise it should say &amp;quot;Do you want to install ...&amp;quot;. Press Enter to accept.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[W963]============================┐&lt;br /&gt;
│                                   │&lt;br /&gt;
│     Do you want to install a      │&lt;br /&gt;
│ Quickdex or Rightdex index? [Q/R] │&lt;br /&gt;
│                                   │&lt;br /&gt;
│&amp;lt;Q                                &amp;gt;│&lt;br /&gt;
L===================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It should then say &amp;quot;Do you want to update ...&amp;quot;. Press Enter to accept.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[W901]========================================┐&lt;br /&gt;
│                                               │&lt;br /&gt;
│           The &amp;quot;UNITS&amp;quot; file has had            │&lt;br /&gt;
│ the &amp;quot;QUICKDEX&amp;quot; modifying filing system added. │&lt;br /&gt;
│        There are 0 records in &amp;quot;UNITS&amp;quot;.        │&lt;br /&gt;
│                                               │&lt;br /&gt;
│    Do you want to update &amp;quot;QUICKDEX&amp;quot;? [Y/N]    │&lt;br /&gt;
│                                               │&lt;br /&gt;
│&amp;lt;Y                                            &amp;gt;│&lt;br /&gt;
L===============================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards it should return to the initial screen. Press Esc to quit.&lt;br /&gt;
&lt;br /&gt;
== Solving NEOSYS smtp server failure ==&lt;br /&gt;
In case the neosys smtp server fails then we can just use the client&#039;s smtp server.&lt;br /&gt;
&lt;br /&gt;
The following information is required from the client&#039;s smtp server configuration:&lt;br /&gt;
#hostname&lt;br /&gt;
#username&lt;br /&gt;
#password&lt;br /&gt;
#port no. (most likely = 25)&lt;br /&gt;
&lt;br /&gt;
These details should be entered in the &#039;&#039;&#039;System Configuration File&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
[[image:SYSCFGFILE-SMTP.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Strange characters in maintenance mode ==&lt;br /&gt;
While in Maintenance mode, pressing keys on keyboard gives strange characters. Even Enter and Esc don’t work. &lt;br /&gt;
&lt;br /&gt;
This problem has been seen using RDP on:&lt;br /&gt;
*Window Server 2003 Web Edition&lt;br /&gt;
*Windows Server 2003 R2 SP2&lt;br /&gt;
&lt;br /&gt;
[[image:strangecharmaint.jpg]] &lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
#Go to Windows -&amp;gt; control panel&lt;br /&gt;
#Go to Regional and Language Options &lt;br /&gt;
#Click on Languages tab then click on Details &amp;lt;br&amp;gt; [[image:lang1.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
#Click on Settings Tab and Change default input language to English (United States)&amp;lt;br&amp;gt;(or perhaps something else depending on rdp keyboard) &amp;lt;br&amp;gt; [[image:lang2.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== NEOSYS processes do not start after Windows Update  ==&lt;br /&gt;
&lt;br /&gt;
===Problem===&lt;br /&gt;
Scheduled Task to start the NEOSYS processes fail on Servers with Windows 2008 after Windows update. Support will have to log into the server to start the processes manually&lt;br /&gt;
Message on the Schedule Task displays &amp;quot; The operation being requested was not performed because the user has not logged on to the network. The specified service does not exit &amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[image:sti.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Solution===&lt;br /&gt;
&lt;br /&gt;
For clients who cannot tolerate manual intervention after server reboots for any reason (e.g.need to start work before NEOSYS support is available or on NEOSYS support weekends), tick &amp;quot;highest privileges&amp;quot; and &amp;quot;run whether the user is logged in or not&amp;quot;. This approach means that NEOSYS processes which are started by the windows scheduled task are not visible on the desktop and run hidden in the background and only listed in task manager, so avoid this approach on small clients (only few users). Avoiding this approach will also serve to act as an indicator of server restarts.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting NEOSYS remote support port forwarding ==&lt;br /&gt;
This assumes that you have already “port forwarded” tcp port 19580 from your public internet router to the NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
=== Tst 0 - Check if SSH is working on the NEOSYS Server ===&lt;br /&gt;
Type in the following command in command prompt:&lt;br /&gt;
 telnet 127.0.0.1 19580&lt;br /&gt;
&lt;br /&gt;
IF ALL OK you will see the following:&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-03.jpg]] &lt;br /&gt;
&lt;br /&gt;
=== Test 1 - Check if SSH is basically working on NEOSYS server over the LAN ===&lt;br /&gt;
You must know and use the NEOSYS SERVER LAN IP to do this.&lt;br /&gt;
&lt;br /&gt;
 telnet ???.???.???.??? 19580&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-01.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
If you have the WRONG SERVER LAN IP or NEOSYS server SSH is NOT working then it will hang for about 15 seconds and then say “Could not open connection to host …”&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-02.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
OR IF ALL OK you will see the following:&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-03.jpg]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Press Enter to Exit&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-04.jpg]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Test 2 - Check if can connect to the NEOSYS ssh from OUTSIDE the office  ===&lt;br /&gt;
From any internet connected computer OUTSIDE the office test if you can connect to NEOSYS ssh service. You cannot do this test from inside the office.&lt;br /&gt;
&lt;br /&gt;
You need to know the public ip or domain name of the router. If the router IP is dynamic then NEOSYS sets up dynamic name server so instead of a static ip number you will have a domain name something like clientxyz.redirectme.net.&lt;br /&gt;
&lt;br /&gt;
Enter the command .. using YOUR public internet IP number (NOT the LAN ip number) or the dynamic domain name.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-05.jpg]]  &lt;br /&gt;
&lt;br /&gt;
If everything is working OK you will get a black screen as follows. You will NOT get the “SSH-2.0-OpenSSH-4.7” banner” because NEOSYS ssh remote support is restricted to connect ONLY from LAN ip nos and NEOSYS office ip nos.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-06.jpg]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you press Enter a few times then the cursor will just go down. You have click the [X] to close the window.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-07.jpg]]  &lt;br /&gt;
&lt;br /&gt;
=== Test 3 - Check that the ssh connection from step 2 was rejected  ===&lt;br /&gt;
On the NEOSYS server, check the Windows Application log to verify that an SSH connection was rejected.&lt;br /&gt;
&lt;br /&gt;
The rejected ip number will be of the system outside the office that you performed the test from.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-08.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Sample Email: Solving port 19580 port forwarding issues ===&lt;br /&gt;
&lt;br /&gt;
Some IT people know how to troubleshoot port forwarding issues but others are mostly just power users who can configure a home router. If the IT person is in the second category then it is quicker for NEOSYS support to offer to configure their router from the NEOSYS server using Teamviewer. Ideally NEOSYS should not be doing client IT work but if client IT allows NEOSYS access to their router then NEOSYS support can make a brief attempt to do the configuration. If the issue is still unresolved then request the client to get a professional IT network expert to do the job and inform them that NEOSYS will not be able to provide them any support till connectivity is fixed. Below is a letter advising a more skilled person to check connections using telnet which is a low level test.&lt;br /&gt;
&lt;br /&gt;
You can usually determine the NEOSYS server LAN IP number from Nagios. If so then adjust the email text appropriately.&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Dear XYZ,&lt;br /&gt;
&lt;br /&gt;
It is highly critical to fix the connectivity with the NEOSYS server because NEOSYS will not be able to provide any support until&lt;br /&gt;
connectivity is fixed. User support issues will be delayed and remain unresolved if you do not fix this issue URGENTLY.&lt;br /&gt;
&lt;br /&gt;
At the moment there is no connection from the internet via your router to the NEOSYS server and when we do the following, &lt;br /&gt;
we get no connection. &lt;br /&gt;
&lt;br /&gt;
   telnet CLIENTNAME.support.neosys.com 19580&lt;br /&gt;
&lt;br /&gt;
Normally it should connect and presents a black screen (saying SSH something after pressing Enter) which we close.&lt;br /&gt;
&lt;br /&gt;
Please check that you can connect to the NEOSYS server internally by using the NEOSYS server IP address in the following command on any&lt;br /&gt;
computer in your LAN.&lt;br /&gt;
&lt;br /&gt;
    telnet 192.168.?.? 19580&lt;br /&gt;
&lt;br /&gt;
If you can connect to the NEOSYS server internally then please check port forwarding.&lt;br /&gt;
&lt;br /&gt;
Additionally check the following:&lt;br /&gt;
1. Has your router IP changed?&lt;br /&gt;
2. Has your server’s LAN IP changed and are you forwarding to the correct LAN IP?&lt;br /&gt;
3. Is the configuration really correct?&lt;br /&gt;
4. Check router logs for clues&lt;br /&gt;
5. Check NAT settings in the router&lt;br /&gt;
&lt;br /&gt;
For troubleshooting steps refer Troubleshooting NEOSYS remote support&lt;br /&gt;
http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Troubleshooting_NEOSYS_remote_support_port_forwarding&lt;br /&gt;
&lt;br /&gt;
If the problem still persists, please get a professional IT network expert to fix the issue.&lt;br /&gt;
&lt;br /&gt;
Best Regards,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Port mapping restricted by Source IP ===&lt;br /&gt;
&lt;br /&gt;
On NEOSYS router, port forwarding has been setup only for specific source IP addresses. This means you will not be able to establish a TCP connection to NEOSYS server unless your server&#039;s outbound IP is mapped to the NEOSYS router. In other words unless the outbound i.e source IP/port of your server has been granted access on the NEOSYS router for all incoming connections you will not be able to make connections to NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
Outbound IP is used whenever a server tries to make a connection to another server outside its network. On the other hand a server receives all incoming connections using it&#039;s Inbound IP.&lt;br /&gt;
&lt;br /&gt;
Therefore to setup ssh connection from a new Client server to NEOSYS server we need to grant access to its outbound IP on the NEOSYS router. See [[Troubleshooting_NEOSYS_Generally#If_Telnet_does_not_work | link]] to find the outbound server IP/ports of the server.&lt;br /&gt;
&lt;br /&gt;
== Solving “Cant login … INVALID DATA PATH … permission denied” ==&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&lt;br /&gt;
[[image:error-invalid-data-path-1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error Text:&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 Cannot login because:&lt;br /&gt;
 ERROR: INVALID DATA PATH&lt;br /&gt;
 “D:\HOSTS\HOSTNAME\DATA\HOSTNAME\~8746345.1$” Permission Denied&lt;br /&gt;
&lt;br /&gt;
=== Problem Explained ===&lt;br /&gt;
When installing NEOSYS on an existing “non-clean” Windows installation, the standard NEOSYS installation procedure can result in failure to login if the standard windows folder permissions have been modified.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
The solution is to grant IIS permission to write in the \neosys\DATA folder and subfolders as follows:&lt;br /&gt;
#First add the IUSR_XXXXXXX user to the list of users. (XXXXXXXX is the server name and therefore varies per server) as follows:&lt;br /&gt;
#*Right Click on DATA Folder and click on Properties&lt;br /&gt;
#*Click on Security Tab -&amp;gt; Add -&amp;gt; Advanced&lt;br /&gt;
#*Click on Find Now, Select the IUSR_XXXXXXX user and Click on OK&amp;lt;br&amp;gt;[[image:error-invalid-data-path-2.jpg]]&amp;lt;br&amp;gt;[[image:error-invalid-data-path-3.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Second, for the newly added IUSR (IIS user) change the permissions as follows:&lt;br /&gt;
#*&#039;&#039;&#039;REMOVE&#039;&#039;&#039; the read and execute permission (for security, IIS should be unable to execute things that it might have uploaded)&lt;br /&gt;
#*&#039;&#039;&#039;ADD&#039;&#039;&#039; the write permission &amp;lt;br&amp;gt;[[image:error-invalid-data-path-4.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Login should now be possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== NEOSYS process window displays message &amp;quot;Upgrade Downloading&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
[[image:upgradedownloading.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Problem Explained ===&lt;br /&gt;
NEOSYS thinks it sees an new neosys2.exe upgrade file on the location http://www.neosys.com/support/neosys2.exe which is accessed by http so attempts to download it.&lt;br /&gt;
&lt;br /&gt;
Http proxies and various internet issues can cause incorrect info to be sent and there is actually no upgrade available. In this case, eventually it realizes that it cant find an appropriate and it stops. &lt;br /&gt;
&lt;br /&gt;
You don’t have to worry about this case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Enabling EMS memory on Window 2003 ==&lt;br /&gt;
&lt;br /&gt;
Normally EMS memory is provided by Windows 2003 but this can vary depending on the server hardware/bios configuration&lt;br /&gt;
&lt;br /&gt;
If you get the following messages on Windows 2003&lt;br /&gt;
&lt;br /&gt;
#Backup File Size is 0&lt;br /&gt;
#RTP27. [B28] Not enough String Space – Out of Memory&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
On servers that had no problem previously, the problem is caused by a windows update in Oct 2012 that disables standard Windows EMS memory.&lt;br /&gt;
&lt;br /&gt;
The patch is issued by Microsoft on 9 Oct 2012 but the installation date in the server depends on when the update was actually installed.&lt;br /&gt;
&lt;br /&gt;
http://support.microsoft.com/kb/2724197&lt;br /&gt;
&lt;br /&gt;
=== Solution 1 - maximum performance ===&lt;br /&gt;
&lt;br /&gt;
To re-enable standard windows EMS on older slower servers or servers where NEOSYS performance must be maximized.&lt;br /&gt;
&lt;br /&gt;
The following link contains instructions how to remove the offending windows update&lt;br /&gt;
&lt;br /&gt;
It also shows how to prevent it being reinstalled automatically by Windows.&lt;br /&gt;
&lt;br /&gt;
http://www.columbia.edu/~em36/wpdos/emsxp.html&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to prevent it being reinstalled again automatically&lt;br /&gt;
&lt;br /&gt;
=== Solution 2 – ease of installation ===&lt;br /&gt;
&lt;br /&gt;
This option can also be used if Window 2003 is unable to provide EMS memory for example when the server hardware/bios configuration prevents it.&lt;br /&gt;
&lt;br /&gt;
Install EMSMAGIC in the same way as for Windows server 2008&lt;br /&gt;
&lt;br /&gt;
EMSMAGIC has higher memory consumption and makes NEOSYS processes slower so it is better to use Solution 1 above if NEOSYS performance is an issue.&lt;br /&gt;
&lt;br /&gt;
== Fixing no output file in XXX YYY Issue ==&lt;br /&gt;
&lt;br /&gt;
===Error Message===&lt;br /&gt;
&lt;br /&gt;
[[File:Nooutputfile.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Problem Explained===&lt;br /&gt;
&lt;br /&gt;
The message “No output file in XXX YYY” can appear at several instances in NEOSYS, most often when generating reports or documents. &lt;br /&gt;
&lt;br /&gt;
This problem is usually caused by software error and it indicates that the NEOSYS server responded without any output and without any message. &lt;br /&gt;
&lt;br /&gt;
===Solution===&lt;br /&gt;
1) Find proof to check if the data required for the report actually exists. This way we can eliminate lack of data as a cause for this error.&lt;br /&gt;
&lt;br /&gt;
2) Check to see if a similar issue has been fixed in latest version of NEOSYS.&lt;br /&gt;
&lt;br /&gt;
3) Document HOW and WHERE the problem can be duplicated by NEOSYS programmers to identify and correct the software.&lt;br /&gt;
&lt;br /&gt;
An example of this error can be found at [[Troubleshooting_NEOSYS_Media_System#Error:_No_output_file_in_MEDIAPROXY_SCHEDULEPRINT|No Output File in MEDIAPROXY SCHEDULEPRINT]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting Internet Connections ==&lt;br /&gt;
&lt;br /&gt;
===Cannot Connect===&lt;br /&gt;
&lt;br /&gt;
While investigating as to why users are not able to access NEOSYS or http://www.neosys.com/ ,you can check which ISP the connection issue is on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;whois ipno&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inspect very carefully to get clues as to which ISP and which AREA of the ISP the problematic ip numbers are and which do NOT have problems&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting TCP/IP Connections ===&lt;br /&gt;
&lt;br /&gt;
====Telnet check====&lt;br /&gt;
&amp;lt;pre&amp;gt; telnet &amp;lt;hostname&amp;gt; 19580  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====If Telnet does not work====&lt;br /&gt;
In case telnet does not work, login to the remote host server to investigate the issue. Run the following command simultaneously while doing Telnet from client server to the remote host to check if the TCP packets are reaching the Remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tcpdump -v &#039;src host client-domain-name/ip&#039; &lt;br /&gt;
tcpdump -v portno &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To check if packets are sent from the client server to the remote host, you can run the following command simultaneously while trying to ssh to the remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;netstat -an &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also check if the outbound ports are open from which you are trying to establish the TCP connection to the remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;telnet portquiz.net portno &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The outbound IP addresses at times can be different from the public IP of the Client server so be sure that the public IP of the client server is the same as its source IP (which represents an incoming connection from Client to Remote server). One way to find the source IP of the Client server is sending an email from Client server to &amp;quot;support@neosys.com&amp;quot;. On receiving the email in Thunderbird, select the email and press Ctrl+u. A new window Opens giving full details of the email received. The third &amp;quot;Received :from&amp;quot; gives the IP of the source.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting DNS failure ===&lt;br /&gt;
&lt;br /&gt;
NEOSYS clients routers are usually configured to use their ISP DNS service and the ISP DNS service is supposed to contact one of NEOSYS&#039;s DNS servers to convert server names like hosts.neosys.com into IP numbers. Misconfiguration of clients routers or problems in the ISP DNS server may cause CANNOT CONNECT problems. Often the connect fails quickly and immediately since if a name cannot be converted to an ip number then the connection cannot even be attempted and therefore there is little or no timeout to wait through.&lt;br /&gt;
&lt;br /&gt;
NEOSYS.COM name servers are listed publically and obtained by whois command.&lt;br /&gt;
&lt;br /&gt;
 whois neosys.com&lt;br /&gt;
&lt;br /&gt;
 Name Server: DNS1.EASYDNS.COM&lt;br /&gt;
 Name Server: DNS2.EASYDNS.NET&lt;br /&gt;
 Name Server: DNS3.EASYDNS.ORG&lt;br /&gt;
 Name Server: NS12.ZONEEDIT.COM&lt;br /&gt;
 Name Server: NS18.ZONEEDIT.COM&lt;br /&gt;
&lt;br /&gt;
In order to contact NEOSYS DNS servers the ISP&#039;s have to use a global DNS to obtain the ip addresses of NEOSYS DNS servers given the host names of NEOSYS DNS servers given in the whois info&lt;br /&gt;
&lt;br /&gt;
Here is an example of DU testing NEOSYS DNS servers. The NEOSYS DNS server ip addresses are listed in the Destination column.&lt;br /&gt;
&lt;br /&gt;
[[File:internet.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If one DNS server is down or unreachable REGARDLESS OF REASON, the ISP is supposed to use the other DNS servers. It is impossible for all NEOSYS DNS servers to be unreachable except in gross disconnection from the internet of the ISP since it is effectively impossible that all NEOSYS DNS servers which are carefully spread around the internet, to be unreachable.&lt;br /&gt;
&lt;br /&gt;
In the above test one of the NEOSYS DNS servers is unreachable but all the others are reachable therefore DU should have no problem providing DNS service to its clients.&lt;br /&gt;
&lt;br /&gt;
ISP are often worse at providing DNS server than the famous GOOGLE DNS servers, so re configuring client router to use GOOGLE DNS servers is a way to prove that the problem lies with the ISP&#039;s DNS service&lt;br /&gt;
&lt;br /&gt;
=== Additional test for troubleshooting problems with uploading ===&lt;br /&gt;
&lt;br /&gt;
====Verifying that upload.dll can run====&lt;br /&gt;
&lt;br /&gt;
This isnt a complete test of everything. It just checks if the upload program can be run by the web server. It doesnt check if uploads work or the image directory is correctly configured with the right permissions and uploads can actually be done.&lt;br /&gt;
&lt;br /&gt;
===== Error Message =====&lt;br /&gt;
&lt;br /&gt;
... to be added when discovered ...&lt;br /&gt;
&lt;br /&gt;
===== Test =====&lt;br /&gt;
&lt;br /&gt;
Test HTTP if accessible by LAN; Test HTTPS is accessible by Internet; Test both if both are available.&lt;br /&gt;
&lt;br /&gt;
On the server type the following into a browser&lt;br /&gt;
&lt;br /&gt;
LAN/HTTP:&lt;br /&gt;
&lt;br /&gt;
 http://localhost/neosys/neosys/dll/upload.dll&lt;br /&gt;
&lt;br /&gt;
WAN/HTTPS:&lt;br /&gt;
&lt;br /&gt;
 https://localhost:9999/neosys/dll/upload.dll&lt;br /&gt;
&lt;br /&gt;
===== Expected Result =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Upload Error. !&lt;br /&gt;
Please call me from a form !!!&lt;br /&gt;
The first param must be Filename= name of the uploaded file, TYPE=TEXT&lt;br /&gt;
The second param must be Filedata= uploaded file, TYPE=FILE&lt;br /&gt;
The third param is optional PathData= path to uploaded file, default c:\temp\, TYPE=HIDDEN&lt;br /&gt;
The forth param is optional RedirectPage= name of asp who receive the results, TYPE=HIDDEN&lt;br /&gt;
Add others params at the end with INPUT tag.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Uerror.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Patching a NEOSYS program ==&lt;br /&gt;
&lt;br /&gt;
The patch provided will tell you the program name and contain either a whole replacement program text or just some changed lines which you will have to find and edit.&lt;br /&gt;
&lt;br /&gt;
You will need to know the file name which may be provided along with the patch or you can find it using the following code in maintenance mode:&lt;br /&gt;
&lt;br /&gt;
 ED VOC programname&lt;br /&gt;
&lt;br /&gt;
ED VOC XYZ tells you what program name is executed and from what file, when you type the command XYZ. Normally the program name is the same as the command.&lt;br /&gt;
&lt;br /&gt;
The file name will normally be BP for agency programs, GBP for general programs or ABP for finance programs.&lt;br /&gt;
&lt;br /&gt;
NEOSYS programs are stored in files just like records of ordinary database files. You can edit either with &amp;quot;ED filename programname&amp;quot; or &amp;quot;TED filename programname&amp;quot;. TED is better for editing source code.&lt;br /&gt;
&lt;br /&gt;
===Installing patch in live database===&lt;br /&gt;
&lt;br /&gt;
In the rare case that the programmer asks Support to install the patch directly on LIVE dataset, start by typing the following command in maintenance mode before commencing:&lt;br /&gt;
&lt;br /&gt;
 UTIL&lt;br /&gt;
&lt;br /&gt;
Follow the instructions mentioned in the [[Troubleshooting_NEOSYS_Generally#Installing_patch_in_test_database| next section]], but skip the instruction to TEST the patched program in test dataset.&lt;br /&gt;
&lt;br /&gt;
The instruction to INSTALL the patched program MUST be followed BEFORE testing the patch in live dataset. Otherwise the changes will not get reflected.&lt;br /&gt;
&lt;br /&gt;
===Installing patch in test database===&lt;br /&gt;
&lt;br /&gt;
1. EDIT the program source code.&lt;br /&gt;
&lt;br /&gt;
 TED programname&lt;br /&gt;
&lt;br /&gt;
Either cut and paste to modify the whole program or edit the program text according to the patch/instructions provided.&lt;br /&gt;
&lt;br /&gt;
Save and close the program source code.&lt;br /&gt;
&lt;br /&gt;
2. COMPILE it. If you get errors then check your edits are correct and recompile otherwise return the patch to programming.&lt;br /&gt;
&lt;br /&gt;
  COMPILE filename programname&lt;br /&gt;
&lt;br /&gt;
3. TEST it. Ensure the patched program now works in TEST database.&lt;br /&gt;
&lt;br /&gt;
4. INSTALL the patched program in the LIVE database by typing one of the following command depending on the filename that you patched.&lt;br /&gt;
&lt;br /&gt;
 COPYGBP programname&lt;br /&gt;
 COPYABP programname&lt;br /&gt;
 COPYBP programname&lt;br /&gt;
&lt;br /&gt;
== Patching NEOSYS dictionaries ==&lt;br /&gt;
&lt;br /&gt;
A patch to a dictionary applies immediately when you save it and to all datasets regardless of which dataset you work in.&lt;br /&gt;
&lt;br /&gt;
You need:&lt;br /&gt;
&lt;br /&gt;
#the file name eg INVOICES&lt;br /&gt;
#the item name (column name) eg  DATETIME_AMENDED&lt;br /&gt;
#10 lines of data similar to the example below.&lt;br /&gt;
#if the item is an S type dictionary, then either the whole, or only the amended part, of the source code of the dictionary.&lt;br /&gt;
&lt;br /&gt;
 ED DICT INVOICES DATETIME_AMENDED&lt;br /&gt;
&lt;br /&gt;
TYPE everything below exactly on the corresponding line numbers except lines 3 and very commonly line 8, as these lines may contain multiple values separated by a superscript 2 (²). Line numbers in the below screen are only for illustrative purpose. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  ╔═══════════════════════════┤DATETIME_AMENDED├═════════════════════════╗&lt;br /&gt;
 1║S                                                                     ║&lt;br /&gt;
 2║                                                                      ║&lt;br /&gt;
 3║DateTime²Amended                                                      ║&lt;br /&gt;
 4║S                                                                     ║&lt;br /&gt;
 5║                                                                      ║&lt;br /&gt;
 6║                                                                      ║&lt;br /&gt;
 7║[DATETIME]                                                            ║&lt;br /&gt;
 8║updated=@record&amp;lt;28&amp;gt;²created=@record&amp;lt;31,1&amp;gt;²@ans=&#039;&#039;²if created and num(c║..actually this line continues off the screen to the right&lt;br /&gt;
 9║R                                                                     ║&lt;br /&gt;
10║10                                                                    ║&lt;br /&gt;
11║                                                                      ║&lt;br /&gt;
  :                                                                      :&lt;br /&gt;
  :                                                                      :&lt;br /&gt;
  ╚══════════════════════════════════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Ctrl+E on lines 3 or 8 in order to enter sub-lines. &lt;br /&gt;
&lt;br /&gt;
The multiple values (on line 3 and 8) separated by a superscript 2 (²) automatically appear when sub-lines are entered.&lt;br /&gt;
&lt;br /&gt;
For line 8, you will need to cut and paste the lines of below program to the Ctrl+E screen: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔═════════════════════════┤Field 8 of DATETIME_AMENDED├════════════════════════╗&lt;br /&gt;
║updated=@record&amp;lt;28&amp;gt;                                                           ║&lt;br /&gt;
║created=@record&amp;lt;31,1&amp;gt;                                                         ║&lt;br /&gt;
║@ans=&#039;&#039;                                                                       ║&lt;br /&gt;
║if created and num(created) and num(updated) then                             ║&lt;br /&gt;
║ createdsecs=field(created,&#039;.&#039;,1)*86400+field(created,&#039;.&#039;,2)                  ║&lt;br /&gt;
║ updatedsecs=field(updated,&#039;.&#039;,1)*86400+field(updated,&#039;.&#039;,2)                  ║&lt;br /&gt;
║ if abs(updatedsecs-createdsecs)&amp;gt;120 then                                     ║&lt;br /&gt;
║  @ans=updated                                                                ║&lt;br /&gt;
║  end                                                                         ║&lt;br /&gt;
║ end                                                                          ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
╚══════════════════════════════════════════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you save and exit the Ctrl+E screen, you will see the sublines separated by superscript 2 appear in one line in the ED screen. &lt;br /&gt;
&lt;br /&gt;
Similarly, for line 3, you need to enter its sub-lines in Ctrl+E screen.&lt;br /&gt;
&lt;br /&gt;
To ensure indenting remains nice (although indenting is not important and can be messed up without causing any problem) then copy the double bars at the front of the lines (if available, otherwise insert some char in position 1 of each line perhaps) and then remove them after you paste ... or just edit until the indenting is correct if you really want to.&lt;br /&gt;
&lt;br /&gt;
Press F9 and/or Esc to save and/or exit from Ctrl+E screen&lt;br /&gt;
&lt;br /&gt;
Press F9 and/or Esc to save and/or exit from ED&lt;br /&gt;
&lt;br /&gt;
== Searching XML files ==&lt;br /&gt;
&lt;br /&gt;
Use the grep command in Cygwin terminal to search files especially when you are investigating the NEOSYS Logs. &lt;br /&gt;
&lt;br /&gt;
Use the following command while searching for a file in any directory&lt;br /&gt;
&lt;br /&gt;
 grep string path/file&lt;br /&gt;
&lt;br /&gt;
 grep -i -a string path/file  (use -i to ignore upper/lower case characters in the string and -a to treat the file type=text and display the matching text)&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;string&amp;quot; is the text to be searched, &amp;quot;file&amp;quot; is the type of file you are looking for and &amp;quot;path&amp;quot; is the path of the directory you are looking into. Use &amp;quot;&amp;quot; when having spaces in your string.&lt;br /&gt;
&lt;br /&gt;
e.g when searching in NEOSYS logs the year/month/date is specified in the file name, so if you are looking for a file in year 2016 in the month of Feb, use&lt;br /&gt;
&lt;br /&gt;
 grep XXXX path/1602*&lt;br /&gt;
&lt;br /&gt;
In the above command *(asterisk) is a wildcard used to match characters in the file name.&lt;br /&gt;
&lt;br /&gt;
Sample below of grep command and its output where it is searching for &amp;quot;Dior&amp;quot; in 2016 march logs.&lt;br /&gt;
 $ grep -i Dior /cygdrive/d/hosts/test/logs/test/2016/1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 Binary file path/16030301.XML matches&lt;br /&gt;
&lt;br /&gt;
Use the commands below to display the search string and required number of lines that come either after or before the search string, depending on what you enter in your command. It helps to get more information from files especially when you only know few words and the other information around the searched string also gets displayed. &lt;br /&gt;
&lt;br /&gt;
 grep -A NUM string file (NUM lines after the searched text get displayed)&lt;br /&gt;
&lt;br /&gt;
 grep -B NUM string file (NUM lines before the searched text get displayed)&lt;br /&gt;
&lt;br /&gt;
See the examples and their respective outputs below, (Note: there is no space between -A and NUM):&lt;br /&gt;
&lt;br /&gt;
 $ grep -A2 -i &amp;quot;Dior&amp;quot; 1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 Binary file 16022101.XML matches&lt;br /&gt;
 Binary file 16022901.XML matches&lt;br /&gt;
&lt;br /&gt;
 $ grep -A2 -a &amp;quot;Dior&amp;quot; 1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 16030301.XML:&amp;lt;DataOut&amp;gt;DIOR%FEPOI%FE&#039;&#039;&#039;Dior&#039;&#039;&#039; Poison%FE%FE%FE%FE%FEDubai,    UAE%FE%FE%FE%FEN%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEN%FE%FE%FE17584.43592%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FENEOSYS%FE17584.43592%FE94_200_49_146%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEpaulson&amp;lt;/DataOut&amp;gt;&amp;lt;/Message&amp;gt;&lt;br /&gt;
 --&lt;br /&gt;
 16030301.XML:&amp;lt;DataOut&amp;gt;DIOR%FEPOI%FE&#039;&#039;&#039;Dior&#039;&#039;&#039; Poison%FE%FE%FE%FE%FEDubai,   UAE%FE%FE%FE%FEN%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEN%FE%FE%FE17584.43592%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FENEOSYS%FE17584.43592%FE94_200_49_146%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEpaulson&amp;lt;/DataOut&amp;gt;&amp;lt;/Message&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some more examples of grep below:&lt;br /&gt;
&lt;br /&gt;
 Use the command below when searching with more than one search string&amp;lt;br&amp;gt;&lt;br /&gt;
 grep -a string1 *|grep string2&lt;br /&gt;
&lt;br /&gt;
 grep -B2 -a Processing 160329*|grep -v DataIn|grep -v Message|less&amp;lt;br&amp;gt;&lt;br /&gt;
 where user wants the output to show lines containing string &amp;quot;Processing&amp;quot; and exclude lines containing string &amp;quot;DataIn&amp;quot; and &amp;quot;Message&amp;quot;, |less displays the output in a new screen.&lt;br /&gt;
&lt;br /&gt;
== Managing the queue of reports being delivered by email ==&lt;br /&gt;
&lt;br /&gt;
In maintenance mode.&lt;br /&gt;
&lt;br /&gt;
=== Listing ===&lt;br /&gt;
&lt;br /&gt;
 LIST DOCUMENTS WITH SCHEDULED_ONCE&lt;br /&gt;
&lt;br /&gt;
=== Clearing ===&lt;br /&gt;
&lt;br /&gt;
 SELECT DOCUMENTS WITH SCHEDULED_ONCE&lt;br /&gt;
 DELETE DOCUMENTS&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Troubleshooting_NEOSYS_Generally&amp;diff=2652</id>
		<title>Troubleshooting NEOSYS Generally</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Troubleshooting_NEOSYS_Generally&amp;diff=2652"/>
		<updated>2016-04-21T08:29:32Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Troubleshooting &amp;quot;user not authorised to login from a location&amp;quot; error message */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Solving failure to start a NEOSYS server due to disk failure message ==&lt;br /&gt;
=== Problem ===&lt;br /&gt;
During a reboot process (which maybe due to a Windows update or even done by a support personnel) the NEOSYS server gets hung on the startup and shows a message &amp;quot;Boot Failure - Abort, Retry&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
=== Temporary solution ===&lt;br /&gt;
This typically happens due to the USB being plugged into the server and the boot sequence being wrong - i.e. the server trying to boot from the USB first and fails. The immediate solution would be to unplug the USB and ask the client to reboot the server again and upon successfully rebooting the system, plug the USB back again.&lt;br /&gt;
&lt;br /&gt;
=== Permanent solution ===&lt;br /&gt;
The above problem will occur every time the computer is rebooted, so you need to immediately talk to the IT Administrator of the client and ask them to rectify the boot sequence to make it boot first from the CD ROM, then the HDD and last the USB.&lt;br /&gt;
&amp;lt;BR&amp;gt;Allowing &amp;quot;Boot from USB&amp;quot; causes a severe risk of infection by boot sector viruses since the first infected USB device inserted WILL infect the server immediately as anti-virus programs are not active during boot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting the &amp;quot;Database not available&amp;quot; error message == &lt;br /&gt;
=== Problem explained ===&lt;br /&gt;
This error appears when you try to login to NEOSYS after you enter your username and password and click the Login button.&lt;br /&gt;
&lt;br /&gt;
[[image:database_unavailable.jpg]]&lt;br /&gt;
&lt;br /&gt;
Error message : &lt;br /&gt;
&lt;br /&gt;
 Cannot login because : &lt;br /&gt;
 Error :  The (database code) database is not available right now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the error message appears post login i.e. when users are working on the system then check if processes are free to run user request.&lt;br /&gt;
&lt;br /&gt;
[[image:not_available.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Solution explained ===&lt;br /&gt;
# Determine if the processes are running. If they are running and you still get the same message that means that either the processes have [[Troubleshooting_NEOSYS_Generally#Troubleshooting_Hung_processes|hung]] and need to be [[Troubleshooting_NEOSYS_Generally#How_to_kill_hung_NEOSYS_processes|killed]]. Or the processes are busy to run user requests and a new process needs to be started. &lt;br /&gt;
# If the processes are not visible on the destop, it is possible that they are running in the background and have hung for some reason. Check the windows task manager to see if any ‘ntvdm’ process is running and [[Troubleshooting_NEOSYS_Generally#If_NEOSYS_processes_are_not_visible_on_the_server_desktop|fix hung processes]].&lt;br /&gt;
# If there is no trace of any process running, that means the process probably did not start at the scheduled time. Refer to the &#039;Hung Process Reports&#039; to verify this claim. &lt;br /&gt;
# If the process had not hung, then the server might have restarted due to a power failure or a windows update and the administrator user had not logged in post the scheduled startup time of 6AM. To determine this cause, investigate in the Windows Event Viewer Log file.&lt;br /&gt;
# You can now start up the process by clicking on the respective desktop icons.&lt;br /&gt;
# Also check if the backup took place successfully or not. If not take a manual backup.&lt;br /&gt;
# Look into the logs at the date/time stated for the last transaction processed to investigate why process got hung.See [[Troubleshooting_NEOSYS_Generally#Inspecting_Database_LOGS_Folder| Inspecting logs]] for more information on logs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;quot;user not authorised to login from a location&amp;quot; error message ==&lt;br /&gt;
[[image:IPerror.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error message:&#039;&#039;&#039;&lt;br /&gt;
 xxx is not authorised to login form the location (IP Number. xx.xx.xx.xx)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution Explained:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Check the URL used and follow the steps below to figure out if its correct and email the user accordingly.&lt;br /&gt;
#If the Client installation is hosted on NEOSYS server then users can use only https link to access NEOSYS.&lt;br /&gt;
#*Check with the client&#039;s management if this particular IP is their public IP.&lt;br /&gt;
#*Add IP on management confirmation (Refer to [[Procedures#Handling_User_Requests_to_add_an_IP_or_range_of_IPs_to_access_NEOSYS|Handling User Requests to add IP/IPs ]] ) &lt;br /&gt;
#In case of Client hosted server, users should access NEOSYS via LAN using the http link.&lt;br /&gt;
#*There can be exceptional cases where user needs to access NEOSYS outside the office Network e.g a client installation with two companies at different locations and NEOSYS installed at one. In this case Support will have to add the IP number of the second company so that users can access NEOSYS.&amp;lt;br&amp;gt;But before you even suggest to add the IP, get the request from their management saying that the IP number is another office location and needs to be added.&lt;br /&gt;
&lt;br /&gt;
== Handling damaged files ==&lt;br /&gt;
&lt;br /&gt;
[[Handling damaged files]]&lt;br /&gt;
&lt;br /&gt;
=== Checking for corrupt database files ===&lt;br /&gt;
Login to NEOSYS Maintenance. This can be done when users are online.&lt;br /&gt;
&lt;br /&gt;
Press F5&lt;br /&gt;
&lt;br /&gt;
 CHK.FILES&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
 CHK.FILES filename&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Sizelock while performing chk.files &#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Fixing sizelock errors should not be done while other users are online to the same database.&lt;br /&gt;
&lt;br /&gt;
Sizelock errors are not critical and will be fixed automatically during the nightly backup.&lt;br /&gt;
&lt;br /&gt;
Sizelock errors occur if a program or process that is selecting records from a file is aborted in some abnormal way.&lt;br /&gt;
&lt;br /&gt;
Error message:&lt;br /&gt;
&lt;br /&gt;
 These Files/Tables have a Sizelock Value of 2 or greater. &lt;br /&gt;
 Tag/Select the Files/Tables to be Fixed.&lt;br /&gt;
 Press F9 to fix selected files&lt;br /&gt;
&lt;br /&gt;
Press F9 to proceed with fixing the selected files or press ESC to continue with chk.files without fixing sizelock as it gets automatically fixed during the nightly backup. &lt;br /&gt;
&lt;br /&gt;
Refer to the [http://techwiki.neosys.com/index.php/Backup_and_Restore#Error_Message:_Size_Lock Sizelock errors in backup emails] for more information.&lt;br /&gt;
&lt;br /&gt;
[[file:sizelock.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Determining Database File Name from Operating System File Name ===&lt;br /&gt;
&lt;br /&gt;
To assess the potential damage and possible remedial measures you need to know the database file name. If the message only refers to the operating system file name you need to follow this procedure to determine the database file name.&lt;br /&gt;
&lt;br /&gt;
Once you have the database file name you can use CHK.FILES XXXXXXX to check if corrupt or not and various other procedures to fix the corruption.&lt;br /&gt;
&lt;br /&gt;
Remember that fixing the corrupt data does not solve the overall problem. The *cause* of the corruption must be identified and eliminated otherwise the problem may reoccur and in a more serious form perhaps with unrecoverable loss of data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╒═══════════════════════════════════TCL - 2══════════════════════════════════╕&lt;br /&gt;
│                                                                            │&lt;br /&gt;
│ :list FILES WITH ALL CONTAINING &#039;REV76481&#039;                                 │&lt;br /&gt;
│                                                                            │&lt;br /&gt;
╘════════════════════════════════════════════════════════════════════════════╛&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:DBfilenamefromOSfilename.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Finding out when and by whom a record was deleted ==&lt;br /&gt;
&lt;br /&gt;
In most cases, NEOSYS does not allow users to delete records and instead keeps a record of everything. In some cases however, things are deleted and the only way to get full details about the deletion is to search the logs. This is cumbersome, but there is a quick way to find out when, and by whom, a record was deleted. Prior to NEOSYS software versions dated Mar 2014, and deletions done before the same date, this procedure will only tell you when the record was deleted - but not who deleted it. Knowing exactly when it was deleted will nevertheless help you to search the logs for full details.&lt;br /&gt;
&lt;br /&gt;
In maintenance mode F5&lt;br /&gt;
&lt;br /&gt;
 ED SHADOW DELETED*filename*key&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 ED SHADOW DELETED*BATCHES*L*JOU*2*U&lt;br /&gt;
&lt;br /&gt;
Journals are stored in the BATCHES file. The key of an unposted batch is x*y*999*U where x is the company code, y is the journal type code, 999 is UNPOSTED batch number and U is just U to indicate unposted batches. Note that unposted batches are normally deleted at the time they are posted - ie converted to posted batches.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔══════════════════════════┤DELETED*BATCHES*L*JOU*2*U├═════════════════════════╗&lt;br /&gt;
║16831.60706                                                                   ║&lt;br /&gt;
║BRUCEL                                                                        ║&lt;br /&gt;
║╒═══════════════════════════════════TCL - 6══════════════════════════════════╕║&lt;br /&gt;
║│                                                                            │║&lt;br /&gt;
║│ :EVAL PRINT 16831.60706 &#039;[DATETIME]&#039;                                       │║&lt;br /&gt;
║│                                                                            │║&lt;br /&gt;
║╘════════════════════════════════════════════════════════════════════════════╛║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you see the number (in this case 16831.60706) you can convert it to a time and date by typing something like&lt;br /&gt;
&lt;br /&gt;
 PRINT 16831.60706 &#039;[DATETIME]&#039;&lt;br /&gt;
&lt;br /&gt;
Using this date and time you can search the logs more effectively to find out who did the deletion and in what circumstances.&lt;br /&gt;
&lt;br /&gt;
== Assessing Database Size per File ==&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
 &lt;br /&gt;
 LIST FILES BY BY-DSND SIZE VOLUME.NAME SIZE&lt;br /&gt;
 &lt;br /&gt;
This will include all files not just those in the actual dataset in DATA\* folders.&lt;br /&gt;
&lt;br /&gt;
== Fixing slow speed ==&lt;br /&gt;
=== [[Benchmarking NEOSYS]] ===&lt;br /&gt;
=== Investigating CPU 100% using Windows Task Manager ===&lt;br /&gt;
Email, to support, a screen-shot of task manager APPLICATIONS, PROCESSES and PERFORMANCE screens MAXIMIZED TO SHOW AS MUCH AS POSSIBLE. &lt;br /&gt;
&lt;br /&gt;
(Sort the processes to show ntvdm, waiting.exe and high cpu% processes clearly)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steps:&#039;&#039;&#039;&lt;br /&gt;
#Right Click on Windows Taskbar and click on Start Task Manager &amp;lt;br&amp;gt; [[image:starttaskmanager.jpg]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
#Click on Processes and then click on CPU &amp;lt;br&amp;gt;&#039;&#039;&#039;Note - The HIGH cpu% processes which should usually be the &amp;quot;process&amp;quot; called &amp;quot;System Idle Process&amp;quot; &#039;&#039;&#039;&amp;lt;br&amp;gt;[[image:cpu100percent1.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Click on the Performance Tab &amp;lt;br&amp;gt; &#039;&#039;&#039;Note - PF Usage should typically be much less than Physical Memory otherwise there is insufficient real memory in the server to handle the load&#039;&#039;&#039; &amp;lt;br&amp;gt; [[image:cpu100percent3.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Click on Application Tab then Right Click on a NEOSYS Process and Click on Bring to Front &amp;lt;br&amp;gt;&#039;&#039;&#039;See what the NEOSYS Process is doing &amp;lt;br&amp;gt; [[image:cpu100percent2.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Right Click on a NEOSYS Process and Click on Go to Processes &amp;lt;br&amp;gt;&#039;&#039;&#039;Note the cpu% ntvdm process &amp;lt;br&amp;gt;[[image:cpu100percent2_2.jpg]]&amp;lt;br&amp;gt;  &lt;br /&gt;
#Normally NEOSYS application screens say &amp;quot;LISTENING&amp;quot; in the bottom line and those applications should have very low cpu%&amp;lt;br&amp;gt;[[image:normalneosysprocess.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Look at the difference between the screen of running NEOSYS processes (applications actually) which are idle (listening for requests) and active (processing a request from a user)&lt;br /&gt;
#Note the number of cpus or cpu threads in the server from the performance screen graphics&amp;lt;br&amp;gt;[[image:performance-taskmgr-cputhread.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Take screen-shots of any and ALL hung or long running processes (NEOSYS application screens) and email them to support. Even small details on the screens and user names, the user names may give clues to what problem caused the hanging.A Typical Hung NEOSYS process will look like this: &amp;lt;br&amp;gt; [[image:hungneosysprocess.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
#Once all hung/long processes are closed then CPU should be low and not near 100%. If it is still 100% then check all high cpu% processes and send a screen-shot of processes sorted to show the high cpu% process names to support.&lt;br /&gt;
&lt;br /&gt;
=== Solving server CPU% is 100 and all users are extremely slow/stopped ===&lt;br /&gt;
&lt;br /&gt;
Get the screenshots of Task Manager and ALL processes on the server, the objective is to assess the true issue. No need to get the screens not in use obviously but you can send a parallel screen shot for them if you want to be pedantic or even a comment will do.&lt;br /&gt;
&lt;br /&gt;
==== Too few CPUs/threads for the number of users ====&lt;br /&gt;
In Windows task manager normally, you should see one ntvdm.exe and one waiting.exe process per NEOSYS process (application). A standard installation has three NEOSYS processes per main database and plus one per test database. This is configured in Support Menu, Configuration File.&lt;br /&gt;
&lt;br /&gt;
If there are MORE ntvdm processes than you expect from the configuration file, then perhaps NEOSYS is auto starting new NEOSYS processes to try and cater for a high number of concurrent users.&lt;br /&gt;
&lt;br /&gt;
If the number of concurrent NEOSYS processes significantly exceeds the number of cpus/hyperthreads available in the server then processing for everybody can become so slow for everybody and almost no work gets done.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Stop NEOSYS creating new NEOSYS processes automatically. Create a text file with the first and only line as AUTOSTART=NO in the neosys\neosys folder something like this.&lt;br /&gt;
&lt;br /&gt;
notepad d:\neosys\neosys\NET.CFG&lt;br /&gt;
&lt;br /&gt;
AUTOSTART=NO&lt;br /&gt;
&lt;br /&gt;
== How do I troubleshoot email not received? ==&lt;br /&gt;
&lt;br /&gt;
[[Troubleshooting email not received]]&lt;br /&gt;
&lt;br /&gt;
== Fixing permissions errors while logging in ==&lt;br /&gt;
 &lt;br /&gt;
=== Problem ===&lt;br /&gt;
 &lt;br /&gt;
While logging in, you get the following error message:&lt;br /&gt;
[[Image:login_error_message.jpg]]&lt;br /&gt;
 &lt;br /&gt;
=== Solution ===&lt;br /&gt;
 &lt;br /&gt;
Add the internet guest account to the security list of the data folder with the default permission of list/read/write&lt;br /&gt;
 &lt;br /&gt;
Make sure the read&amp;amp;execute permission is removed&lt;br /&gt;
[[Image:permissions_on_data.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fixing the &#039;HTTP Error 500.0 - Internal Server Error&#039; while logging in on IE on a Windows Vista system ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
After configuring IIS on Windows Vista you will get this error message while trying to login into NEOSYS from Internet Explorer:&lt;br /&gt;
&lt;br /&gt;
 HTTP Error 500.0 - Internal Server Error&lt;br /&gt;
 Description: This application is running in an application pool that uses the Integrated .NET  &lt;br /&gt;
 mode. This is the preferred mode for running ASP.NET applications on the current and future &lt;br /&gt;
 version of IIS.&lt;br /&gt;
 &lt;br /&gt;
 In this mode, the application using client impersonation configured with &amp;lt;identity &lt;br /&gt;
 impersonate=&amp;quot;true&amp;quot; /&amp;gt; may not behave correctly. Client impersonation is not available in early &lt;br /&gt;
 ASP.NET request processing stages and may lead modules in those stages to execute with process &lt;br /&gt;
 identity instead.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
You can move the application to an application pool that uses the Classic .NET mode by using the following from a command line window (the window must be running as Administrator) &lt;br /&gt;
&lt;br /&gt;
 %systemroot%\system32\inetsrv\APPCMD.EXE set app &amp;quot;Default Web Site/neosys&amp;quot; /applicationPool:&amp;quot;Classic .NET AppPool&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can use any other application pool on your system that is running in the Classic .NET mode. You can also use the IIS Administration tool to move this application to another application pool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fixing the &#039;Class Not Registered&#039; error message while logging in ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
While logging into NEOSYS, you will get a popup window giving an error message saying &#039;Class Not Registered - Server Error&#039;. Typically, you will encounter this error with XP Pro IIS 5.1. As usual, there&#039;s way to solve it, however the root cause of this is still unknown.&lt;br /&gt;
&lt;br /&gt;
Anyway, you will get the proper message in the event log:&lt;br /&gt;
&lt;br /&gt;
 Event Type: Warning&lt;br /&gt;
 Event Source: W3SVC&lt;br /&gt;
 Event Category: None&lt;br /&gt;
 Event ID: 36&lt;br /&gt;
 Description: The server failed to load application &#039;/LM/W3SVC/1/ROOT/NEOSYS.&lt;br /&gt;
 The error was &#039;Class not registered&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
So, what do you do ? This problem is related to Component Services, and when you open Component Services MMC, you will most probably  get  Error Code 8004E00F COM + was unable to talk to Microsoft Distributed Transaction Coordinator. So, fix the COM+ services first by using the following KB from Microsoft (PRB: Cannot Expand &amp;quot;My Computer&amp;quot; in Component Services MMC Snap-In http://support.microsoft.com/?id=301919):&lt;br /&gt;
&lt;br /&gt;
To resolve this problem, reinstall Component Services as follows: WARNING: &lt;br /&gt;
# Open registry editor, locate HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3, and then delete this key.  &lt;br /&gt;
# From the Start menu, point to Settings, click Control Panel, and then click Add/Remove Programs.  &lt;br /&gt;
# Click Add/Remove Windows Components. &lt;br /&gt;
# Proceed through the wizard, and accept all of the defaults (including IIS)&lt;br /&gt;
# Restart the computer.&lt;br /&gt;
&lt;br /&gt;
If the above didn&#039;t solve it, and you still receive the &#039;Class not registered&#039; error message, then you need to recreate the IIS packages in COM+, try&lt;br /&gt;
&lt;br /&gt;
# Delete IIS related package in Component Services MMC&lt;br /&gt;
# IIS In-Process Applications &lt;br /&gt;
# IIS Out-of-Process Pooled Applications &lt;br /&gt;
# IIS Utilities&lt;br /&gt;
&lt;br /&gt;
Next, if you still get the message, try following before re-install IIS if you can&#039;t find Distributed Transaction Coordinator in your Services console.&lt;br /&gt;
&lt;br /&gt;
Launch command prompt and run the following command.&lt;br /&gt;
# msdtc -install&lt;br /&gt;
# net start msdtc&lt;br /&gt;
&lt;br /&gt;
Then try re-install IIS.&lt;br /&gt;
&lt;br /&gt;
This should solve the problem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enabling File Security option on Win XP Professional ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
&lt;br /&gt;
In the Properties of any folders, the Security option does not show, hence you cannot modify the Read, Write options.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
The solution would be to untick the &#039;Simple File Sharing&#039; option from  Tools &amp;gt; Folder Options &amp;gt; View:&lt;br /&gt;
[[Image:simplefilesharingoff.jpg]]&lt;br /&gt;
&lt;br /&gt;
== %00%00%00%00 Errors ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SYSTEM ERROR in line 162. Amount &amp;quot;-2698.00AED&amp;quot; or base &amp;quot;%00%00%00%00&amp;quot; has been wrongly generated   &lt;br /&gt;
GET NEOSYS SUPPORT. DO NOT ATTEMPT TO CORRECT MANUALLY    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Solution ===&lt;br /&gt;
%00%00%00%00 indicates an internal error that NEOSYS programmer has to fix. It is usually random and can be hard to replicate unlike almost all other NEOSYS errors which usually replicate reliably once you find the cause.&lt;br /&gt;
&lt;br /&gt;
== B703 Errors ==&lt;br /&gt;
&lt;br /&gt;
The B703 error is usually always related to something too big for NEOSYS to handle. &lt;br /&gt;
&lt;br /&gt;
These are the only B errors that NEOSYS cant always permanently prevent by fixing the software.&lt;br /&gt;
&lt;br /&gt;
== Internet Explorer Menu, View, Text Size doesnt change font size as expected ==&lt;br /&gt;
&lt;br /&gt;
Cause: This is because the font size is now user definable in NEOSYS and View, Text Size does not override predefined font sizes.&lt;br /&gt;
&lt;br /&gt;
Solution: If you are using Internet Explorer 7 you can scale the screen (including the font size  using ctrl + and ctrl - keyboard shortcuts or the font size button on the bottom right hand side of the window. &lt;br /&gt;
&lt;br /&gt;
You can adjust the font size on the User Details form when you login although this permanently applies to all forms not just the one that you are on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uploaded jpg files fail to display in internet explorer ==&lt;br /&gt;
&lt;br /&gt;
Some large jpg files &amp;gt; 2Mb cannot be viewed in internet explorer despite being viewable in image preview, ms paint and other viewers/editors. It is not an issue caused by uploading or downloading the files.&lt;br /&gt;
&lt;br /&gt;
These file appear to have been created on Photoshop CS Macintosh and may be a special type of uncompressed jpg used for production quality files.&lt;br /&gt;
&lt;br /&gt;
=== Partial solution ===&lt;br /&gt;
Before uploading the files, open them in some editor like MS Paint (right click, edit) and save them. However this results in a loss of quality. Perhaps there is some program that can convert these files to a format understandable by Internet explorer without any loss of quality.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;This document is currently read only&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
The user attempting to modify this document does not have the authorization key to do so.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
Inform the user that he is not authorised to modify the document and give him the list of users within his company who are authorised to do so.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;You have attempted to write to a read-only file&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
=== Message ===&lt;br /&gt;
&lt;br /&gt;
Error while writing data.&lt;br /&gt;
You have attempted to write to a read-only file.&lt;br /&gt;
- or -&lt;br /&gt;
access to the file has been denied by the operating system.&lt;br /&gt;
(operating system file name: &amp;quot;..\DATA\ADLINEC\ADAGENCY\REV76467.OV00012618&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
It is almost certainly due to some third party backup or other maintenance software opening the NEOSYS database files when it shouldn&#039;t e.g. badly configured third party backup scheduled to backup NEOSYS while NEOSYS is still running. Note that the exact filename varies each time.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
This can be a serious error that causes damaged files in NEOSYS especially if the filename ends in .OV. Use the usual methods of checking for damaged files e.g. do a backup which also looks for damaged files BUT DO NOT OVERWRITE THE LATEST BACKUP SINCE IT MAY BE REQUIRED for restoration. Then fix the damaged files using the usual methods e.g. by rebuilding/using&lt;br /&gt;
FIXFILE or restoring databases. For more info check [[Handling damaged files|Handling damaged files]]&lt;br /&gt;
&lt;br /&gt;
=== Prevention ===&lt;br /&gt;
&lt;br /&gt;
Remove the third party backup or other maintenance software or reschedule it to run at a time that NEOSYS is shutdown. Removal of software may require hunting through the windows process list for unexpected programs running.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting Hung processes==&lt;br /&gt;
&lt;br /&gt;
=== Investigating hung NEOSYS processes ===&lt;br /&gt;
&lt;br /&gt;
To find out some information about what the hung processes are suffering from, do the following:&lt;br /&gt;
&lt;br /&gt;
When no important clients working (eg first thing in the morning) then request a shutdown of all NEOSYS processes. This should will leave only the hung processes open.&lt;br /&gt;
&lt;br /&gt;
Then find what NEOSYS files are open as follows:&lt;br /&gt;
&lt;br /&gt;
run Sysinternal&#039;s &amp;quot;Process Explorer&amp;quot; (from Start, Programs or procexp.exe from desktop)&lt;br /&gt;
&lt;br /&gt;
find, handle&lt;br /&gt;
&lt;br /&gt;
 d:\&lt;br /&gt;
&lt;br /&gt;
submit the complete list (maybe more than one page) to support for records&lt;br /&gt;
&lt;br /&gt;
[[Image:invhungprocess.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Troubleshooting_NEOSYS_Generally#Investigating_CPU_100.25_using_Windows_Task_Manager|Investigating CPU 100% using Windows Task Manager]]  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Troubleshooting_NEOSYS_Generally#Solving_server_CPU.25_is_100_and_all_users_are_extremely_slow.2Fstopped|Solving server CPU% is 100 and all users are extremely slow/stopped]] ===&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Fatal Error in Rev Restart&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
[[image:fatal.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Error message: “Abort, Retry, Fail” ===&lt;br /&gt;
==== Problem ====&lt;br /&gt;
The following messages may come on older versions of NEOSYS if there is a problem with the USB media inserted for backup.&lt;br /&gt;
&lt;br /&gt;
[[image:usberror.jpg]]&lt;br /&gt;
&lt;br /&gt;
This results in “NEOSYS has not checked in” message on Nagios since it hangs during the monitoring update and locks all other processes from monitoring too.&lt;br /&gt;
&lt;br /&gt;
General failure writing drive F&lt;br /&gt;
Abort, Retry, Fail?&lt;br /&gt;
&lt;br /&gt;
Not read reading drive F&lt;br /&gt;
Abort, Retry, Fail?&lt;br /&gt;
&lt;br /&gt;
Pressing A or F results in the problem happening again in about a minute, perhaps on a different process.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Temporary solution is to do “Safely remove hardware” from the windows notification area. Using “Eject” from My Computer will not work.&lt;br /&gt;
&lt;br /&gt;
Permanent solution is to replace the defective USB memory stick. Sometime reformatting is sufficient.&lt;br /&gt;
&lt;br /&gt;
Upgrading NEOSYS will probably stop the defective media from causing NEOSYS to hang but the USB will still be useless for backup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Read error in the operating system file&amp;quot; ===&lt;br /&gt;
==== Problem ====&lt;br /&gt;
Nagios reports a hung process and on the server a process has the following message popup.&lt;br /&gt;
&lt;br /&gt;
 Read error in the operating system file &amp;quot;..\DATA\PT0833\ACCOUNTS\REV20049&lt;br /&gt;
 The file does not exist or the filename is&lt;br /&gt;
 not valid for the operating system.&lt;br /&gt;
&lt;br /&gt;
[[Image:readerrorintheoperatingsystemfile.png]]&lt;br /&gt;
&lt;br /&gt;
==== Cause ====&lt;br /&gt;
Some non-NEOSYS program is directly accessing the NEOSYS database files while NEOSYS processes are running and using the files as well.&lt;br /&gt;
&lt;br /&gt;
*Client IT staff using a backup program to perform backup without ensuring that NEOSYS processes are shutdown.&lt;br /&gt;
*A NEOSYS rsync process taking longer than expected due to new USB.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Kill the NEOSYS process eg with the X button. It is advisable NOT to let it run further while it cannot properly access one of its files.&lt;br /&gt;
&lt;br /&gt;
==== Prevention ====&lt;br /&gt;
Remove the third party program or arrange for it to operate only while NEOSYS processes are shutdown eg from 3am-6am.&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Not enough string space - Out of Memory&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
==== Message ====&lt;br /&gt;
&lt;br /&gt;
‘RTP27’ Line 1. [B29] Not enough string space – Out of Memory.&lt;br /&gt;
&lt;br /&gt;
Not enough memory to execute Debugger; current program aborted.&lt;br /&gt;
Press any key to continue&lt;br /&gt;
&lt;br /&gt;
[[Image:out_of_memory.jpg]]&lt;br /&gt;
&lt;br /&gt;
==== Cause ====&lt;br /&gt;
Unknown perhaps related to some large document or report&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Ask users for any hanging transactions.&lt;br /&gt;
None other than closing and starting another process.&lt;br /&gt;
&lt;br /&gt;
Also refer [[Troubleshooting NEOSYS Generally#Enabling EMS memory on Window 2003|Enabling EMS memory on Window 2003]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: B521 ===&lt;br /&gt;
&lt;br /&gt;
[[Image:B521.jpg]] &lt;br /&gt;
&lt;br /&gt;
 Another user is currently updating indexes. &lt;br /&gt;
 Waiting to make your updates...&lt;br /&gt;
 If you interrupt this process,&lt;br /&gt;
 you may have to rebuild all the indexes&lt;br /&gt;
&lt;br /&gt;
B521 message is usually temporary and goes away by itself. If it does not then, as the text of the B521 message makes clear, some OTHER process is holding up the system, preventing the process with B521 message from continuing.&lt;br /&gt;
&lt;br /&gt;
B521 message is a symptom of other problem so it does not itself have some one simple solution. You must find which other process or issue is causing the hold up and solve whatever problem is causing the hold up, which could be anything.&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot; NTVDM encountered a hard error &amp;quot;  ===&lt;br /&gt;
&lt;br /&gt;
The following error message appears:&lt;br /&gt;
&lt;br /&gt;
[[Image:ntvdm.jpg]]&lt;br /&gt;
&lt;br /&gt;
 NTVDM encountered a hard error&lt;br /&gt;
&lt;br /&gt;
==== Solution  ====&lt;br /&gt;
 &lt;br /&gt;
This error is caused by missing or corrupt Windows system files (i.e. command.com, autoexec.nt and config.nt). The solution is to run a program called XP FIX which will reinstall these missing files. You can download it form http://www.visualtour.com/downloads/xp_fix.exe&lt;br /&gt;
&lt;br /&gt;
Sometimes even after running the XP FIX program the error still appears. Then you need to copy all the files under C:/windows/repair to C:/windows/system32 and in the autoexec.nt and config.nt put REM before any lines there which don&#039;t have it.&lt;br /&gt;
&lt;br /&gt;
====Possible fix for some NTVDM errors ====&lt;br /&gt;
&lt;br /&gt;
===== Error message ===== &lt;br /&gt;
&lt;br /&gt;
[[Image:Ntvdm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
 NTVDM has encountered a System error.&lt;br /&gt;
 The system cannot find the file specified.&lt;br /&gt;
 Choose close to terminate the application.&lt;br /&gt;
&lt;br /&gt;
=====Possible solution===== &lt;br /&gt;
&lt;br /&gt;
#Change the TEMP and TMP environment variables to C:\WINDOWS\TEMP. This should be for the user that runs NEOSYS processes - normally administrator.&lt;br /&gt;
#Close all NEOSYS processes &lt;br /&gt;
#Logout/Login again&lt;br /&gt;
#Restart NEOSYS processes&lt;br /&gt;
&lt;br /&gt;
[[image:Ntvdmsoln.png]]&lt;br /&gt;
&lt;br /&gt;
===== Check solution done properly ===== &lt;br /&gt;
&lt;br /&gt;
You can check that by typing ECHO %TEMP% and ECHO %TMP% at a console prompt after logging out and in again. &lt;br /&gt;
&lt;br /&gt;
Note that windows will actually set the windows environment variables to something like C:\WINDOWS\TEMP\2 for some unknown reason. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
d:\hosts&amp;gt;ECHO %temp% &lt;br /&gt;
C:\WINDOWS\TEMP\2 &lt;br /&gt;
&lt;br /&gt;
d:\hosts&amp;gt;ECHO %tmp% &lt;br /&gt;
C:\WINDOWS\TEMP\2 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Error message: [[Troubleshooting_NEOSYS_Generally#Troubleshooting_the_.22Database_not_available.22_error_message|&amp;quot;Database not available&amp;quot; post login]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: [[Backup_and_Restore#Error_Message:_.22Cannot_backup.2Frestore_because_PROCESS1_PROCESS2_.28etc.29_is.2Fare_online.22_message|&amp;quot;Cannot backup/restore because PROCESS1 PROCESS2 (etc) is/are online&amp;quot;]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How to kill hung NEOSYS processes ===&lt;br /&gt;
 &lt;br /&gt;
NOTE WELL: If you kill actively working NEOSYS processes (those which are &amp;quot;listening&amp;quot; and not hung/crashed) there is a reasonable chance that the database will be damaged and might need a restore losing possibly large amounts of work.&lt;br /&gt;
 &lt;br /&gt;
==== If NEOSYS processes are visible on the server desktop ====&lt;br /&gt;
 &lt;br /&gt;
Look for processes which don&#039;t have &amp;quot;Listening ...&amp;quot; on the last but one line. The times on the left hand side are frozen as at the time of the hang.&lt;br /&gt;
 &lt;br /&gt;
You can then click the X to kill the process and confirm that this is OK.&lt;br /&gt;
 &lt;br /&gt;
Example of a NEOSYS process that has hung due to a software error resulting in a failure to handle a complex query with a lot of brand codes.&lt;br /&gt;
&lt;br /&gt;
[[Image:hungprocess.jpg]]&lt;br /&gt;
 &lt;br /&gt;
==== If NEOSYS processes are not visible on the server desktop ====&lt;br /&gt;
&lt;br /&gt;
NEOSYS processes are most of the time visible on the desktop (i.e. the black dos windows) in Windows 2003 OS, except in the case that the process has been scheduled to start on computer restart and no one has logged into the server. In this case it would be running in the background. TODO&lt;br /&gt;
&lt;br /&gt;
You can check if there are any hung processes from the NEOSYS Support Menu, List of Database Processes. &lt;br /&gt;
[[Image:databaseprocesseslist.jpg]]&lt;br /&gt;
&lt;br /&gt;
In this case you should follow the below instructions - however all of them need to be done within 30 seconds of starting the first instruction to avoid inconvenience to the users. It is recommend that you keep relevant windows open before proceeding with the same:&lt;br /&gt;
&lt;br /&gt;
#Shutdown NEOSYS by TEMPORARILY putting a file called GLOBAL.END in the parent directory of NEOSYS (if there is already a GLOBAL.END.TEMP file then rename it to GLOBAL.END). Leaving the file there would prevent NEOSYS from starting up again. Shutting down NEOSYS from the Support menu will not work because of the hung processes.&lt;br /&gt;
#Use Windows Task Manager to kill all the NTVDM processes - assuming that you have closed all the visible NEOSYS processes, then the NTVDM processes in the task manager would be the hung one.&lt;br /&gt;
#Delete GLOBAL.END or rename it to GLOBAL.END.TEMP&lt;br /&gt;
#Restart the processes back again. If there are many datasets then you need to restart them all well within the 30 seconds period.&lt;br /&gt;
#*Restarting a process is not noticed by users.&lt;br /&gt;
&lt;br /&gt;
In case of Patsalides, where we have a thousand datasets which start &amp;quot;on demand&amp;quot; i.e. usually on login; all you need to do is start one dataset which will restart all the other datasets &amp;quot;on demand&amp;quot;. If there is no response within 30 seconds then one of the running datasets will start it up so there appears to be a 30 second delay when you login to one of the thousand datasets the first time on any one day.&lt;br /&gt;
&lt;br /&gt;
=== Temporary workarounds for hung NEOSYS processes ===&lt;br /&gt;
Until the error in the software is fixed users can often get their results by simplifying their requirements. For example select individual clients instead of selecting all the brands for a particular client. If the user has repeated his request (in forlorn hope that it would work finally) then the number of working NEOSYS processes will drop causing severe slowdown for other users and complete stop if all the NEOSYS processes hang.&lt;br /&gt;
&lt;br /&gt;
== Fixing &amp;quot; You do not have sufficient privilege to access this file &amp;quot;  ==&lt;br /&gt;
&lt;br /&gt;
This error message may come up while NEOSYS process startup.&lt;br /&gt;
&lt;br /&gt;
Solution: Close the window and look for NEOSYS processes. In case there is no process, start the NEOSYS process.&lt;br /&gt;
&lt;br /&gt;
[[image:Errormsg.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing &#039;NEOSYS process which opens up in a notepad instead of Microsoft Windows Based Script Host (i.e. DOS window)&#039;==&lt;br /&gt;
&lt;br /&gt;
The NEOSYS process (cmd file) might open up in a notepad, instead of the usual black colour DOS window. This may happen if a JavaScript file is opened using a notepad. Please be very CAREFUL when accessing a .JS and .JSE file and double check that the default program remains wscript.exe. The issue can be fixed by the following:&lt;br /&gt;
&lt;br /&gt;
# Check if Windows Script 5.6/5.7 is installed, IF NOT download and install it from the Microsoft Website.&lt;br /&gt;
# Go to any folder, click on Tools &amp;gt; Folder Options &amp;gt; File Types and find the .JS and .JSE and change the default program to wscript.exe (from windows&amp;gt;system32)&lt;br /&gt;
&lt;br /&gt;
== Fixing a &#039;Could not start&#039; error on Scheduled Tasks in Windows Server 2000 SP4 ==&lt;br /&gt;
&lt;br /&gt;
This error occurs because of a change that is made to the data that is stored in the credentials database when you install Windows 2000 SP4. Hence installing SP4 causes the the data that is stored in the credentials database to get converted to an SP4-compatible format. A registry key is configured to indicate that the data has been converted to the SP4 format.&lt;br /&gt;
&lt;br /&gt;
Hence the Scheduled Tasks do not work sometimes. However the Scheduled Tasks works fine sometimes, but when you uninstall SP4, it does not work.&lt;br /&gt;
&lt;br /&gt;
The best solution is to:&lt;br /&gt;
&lt;br /&gt;
# Incase Scheduled Tasks do not work after installing SP4, then uninstall SP4 and it should be fine.&lt;br /&gt;
# Incase Scheduled Tasks works after installing SP4, and later after uninstalling SP4, it does not work, then install SP4 and it should be fine.&lt;br /&gt;
&lt;br /&gt;
== Checking for server or NEOSYS crashes ==&lt;br /&gt;
 &lt;br /&gt;
#NEOSYS Maintenance Mode&lt;br /&gt;
#General Menu, Setup, Processes&lt;br /&gt;
#Select the dates and the option Detailed&lt;br /&gt;
 &lt;br /&gt;
This report shows a list of dates and times that NEOSYS logged in but did not log out properly.&lt;br /&gt;
 &lt;br /&gt;
Ignore the very latest entries since they represent the current NEOSYS processes. For example, if you have four NEOSYS processes running at the time that you get the report (including any in maintenance mode) then you can ignore the last four entries.&lt;br /&gt;
 &lt;br /&gt;
The date and time shows for each process that has failed to shutdown correctly when the process logged in. Versions of NEOSYS from January 2008 will also show the date and time that each crashed NEOSYS process was last active (heartbeat) so that the time of failure can be known.&lt;br /&gt;
 &lt;br /&gt;
If you see a bunch of NEOSYS processes all started up at around the same time but all failed to shutdown correctly then the cause will be a server failure - usually power failure.&lt;br /&gt;
 &lt;br /&gt;
Isolated one-off failures will be related to individual NEOSYS process crashes - most commonly caused by one of the following:&lt;br /&gt;
 &lt;br /&gt;
#NEOSYS hanging to due to software failure&lt;br /&gt;
#Manually exiting a NEOSYS process on the server either by pressing Ctrl+Alt+Del or clicking the &amp;quot;X&amp;quot; close icon/box and ignoring the warning&lt;br /&gt;
#Random server failures eg memory, disk etc&lt;br /&gt;
 &lt;br /&gt;
Example:&lt;br /&gt;
 &lt;br /&gt;
 LOGIN 22/12/2007 06:02 NEOSYS SERVER ADAGENCY         Current workstation &lt;br /&gt;
 LOGIN 23/12/2007 06:00 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 06:01 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 06:02 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:52 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:52 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:53 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:00 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:01 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:02 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 13:51 NEOSYS SERVER NEOSYS         Current user session  &lt;br /&gt;
&lt;br /&gt;
Interpretation:&lt;br /&gt;
 &lt;br /&gt;
The first four entries indicate that all four NEOSYS processes started at 06am were suddenly killed probably by power failure&lt;br /&gt;
 &lt;br /&gt;
The next four entries indicate that NEOSYS was restarted at around 08:52 and all these processes were AGAIN killed probably by power failure&lt;br /&gt;
 &lt;br /&gt;
The last four entries can be ignored because there were four NEOSYS processes running at the time that the report was generated&lt;br /&gt;
&lt;br /&gt;
== Searching for word/number in the database files using maintenance mode ==&lt;br /&gt;
&lt;br /&gt;
You can search for any word/number in the database files of NEOSYS, using the following command line:&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 FIND FILENAME WORDWITHOUTANYSPACES&lt;br /&gt;
 &lt;br /&gt;
 For eg:&lt;br /&gt;
 FIND CURRENCIES 1.1&lt;br /&gt;
 (here you are searching for the number 1.1 in the currencies file) You CANNOT search for a phrase ie include spaces like this.&lt;br /&gt;
 &lt;br /&gt;
 Or you can also type:&lt;br /&gt;
 FIND FILENAME &amp;lt;enter&amp;gt;&lt;br /&gt;
 and it will ask you what you want do to search. You can enter an exact phrase with spaces.&lt;br /&gt;
&lt;br /&gt;
Incase you do not know the filenames, you can enter the following command to see all the filenames in the system:&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 LF&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting a Service Unavailable message on Internet Explorer when opening up NEOSYS ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&lt;br /&gt;
The following error message appears in Internet Explorer when you try to open up NEOSYS:&lt;br /&gt;
&lt;br /&gt;
 Service Unavailable&lt;br /&gt;
&lt;br /&gt;
=== Solution  ===&lt;br /&gt;
 &lt;br /&gt;
Open the IIS Manager, right click Web Sites and select properties:&lt;br /&gt;
[[Image:serviceunavailable1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Switch to the Service Tab and tick the &amp;quot;Run WWW Service in IIS 5.0 Isolation Mode&amp;quot;.&lt;br /&gt;
[[Image:serviceunavailable2.jpg]]&lt;br /&gt;
&lt;br /&gt;
You will be asked for Restart of IIS. Click yes to restart IIS. If you are not asked just restart IIS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Inspecting IIS log files ==&lt;br /&gt;
&lt;br /&gt;
At a windows command prompt:&lt;br /&gt;
&lt;br /&gt;
 c:&lt;br /&gt;
 cd \Windows\system32\LogFiles\W3SVC1&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 %SystemDrive%&lt;br /&gt;
 cd %SystemRoot%&lt;br /&gt;
 cd system32\LogFiles\W3SVC1&lt;br /&gt;
&lt;br /&gt;
then (substituting the ip number you are interested in)&lt;br /&gt;
&lt;br /&gt;
 find &amp;quot;192.168.1.55&amp;quot; *|sort&amp;gt;temp.log&lt;br /&gt;
&lt;br /&gt;
Open temp.log in Excel and use Tools, Data, Text to Columns to split into columns using options &amp;quot;Delimited&amp;quot; and check split on Space.&lt;br /&gt;
&lt;br /&gt;
Autowidth all columns by clicking on the top left box just outside the data to the left of column A and above column 1 then double click the column separator to the right of column &amp;quot;A&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note that times and dates are in UTC/GMT so you have to add/subtract your timezone offset to get local times.&lt;br /&gt;
&lt;br /&gt;
==Inspecting Database LOGS Folder==&lt;br /&gt;
LOGS folder in NEOSYS installation folder carries records of all changes done in the database which includes adding and removal of data.&lt;br /&gt;
&lt;br /&gt;
Log file is an XML document which should be viewed in Notepad. Each XML document represents commands executed by each NEOSYS process started each day.&lt;br /&gt;
&lt;br /&gt;
The NEOSYS log files e.g. 15123103.xml are created by the database processes. If the database is not available according to the website then no entry will appear in that log. The request will appear in the IIS website log but that log is nothing to do with database processes.&lt;br /&gt;
&lt;br /&gt;
=== Understanding Log Entries ===&lt;br /&gt;
Inspecting and searching through Logs file allows NEOSYS staff to answer clients queries like &amp;quot;Who deleted schedule XXXX&amp;quot; etc.&lt;br /&gt;
&lt;br /&gt;
While going through the log file you may come across a request &amp;quot;EXECUTE GENERAL GETTASKS NOT&amp;quot;, this request is concerned with getting a list of tasks that the user is *not* allowed to do.&lt;br /&gt;
&lt;br /&gt;
To read and understand the log file with more ease, copy the portion of the log file required to be analyzed into another text editor.&lt;br /&gt;
&lt;br /&gt;
The text that appears as %FE, %FE1, %FE2, etc. are basically separators.&lt;br /&gt;
*First replace FE0%, FE1%, FE2%, etc. with a separator like &amp;quot;--&amp;quot;. There can be occurrences of &amp;quot;%FE&amp;quot; along with some valuable information like &amp;quot;17290&amp;quot;, so replacing &amp;quot;%FE1&amp;quot; in &amp;quot;%FE17290&amp;quot; would lead to loss of information.&lt;br /&gt;
*Then replace %FE with a bigger separator like &amp;quot;===&amp;quot;.&lt;br /&gt;
*Replace other entries like %FCB and then %FC and so on with similar separators.&lt;br /&gt;
*In the end there may be few &amp;quot;FE&amp;quot; remaining, replace these with a separator like &amp;quot;-&amp;quot;.&lt;br /&gt;
*The remaining &amp;quot;%&amp;quot; characters MUST be intelligently replaced with a separator like &amp;quot; &amp;quot; (space), because it can either be an actual &amp;quot;%&amp;quot; or it can be a residue from &amp;quot;%FE&amp;quot;, &amp;quot;%FE1&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
Once replacing all these characters is done, the log file will be more easily readable and vital information will be clearer. &lt;br /&gt;
&lt;br /&gt;
In the log file, you may find numbers like 17290, 17195, etc. These numbers denote dates selected or entered by the NEOSYS user. These are basically the number of days from 31st December 1967 till the date chosen by the user. For example, to convert 17290 to actual date, 31/12/1967 + 17290 = 3/5/2015. So the actual date is 3rd May 2015.&lt;br /&gt;
&lt;br /&gt;
To convert these numbers to dates using maintenance mode, refer to the article [http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Finding_out_when_and_by_whom_a_record_was_deleted Finding out when and by whom a record was deleted]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:NEOSYS Logs.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing NEOSYS processes that do not auto start / Recovering from incorrect advanced date or time ==&lt;br /&gt;
This solution is applicable to live database processes only. Test database processes don’t auto-start any other processes.&lt;br /&gt;
&lt;br /&gt;
=== Problem explained ===&lt;br /&gt;
After starting up the 1st process, the rest of the processes don&#039;t start up.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
The possible cause for this could be that the system date/time might have been changed - either manually or by the auto synchronization. Do the following checks in the sequence of order:&lt;br /&gt;
&lt;br /&gt;
# Check for any *.$* files (* after dollar sign should show a number, the highest being the latest one). If it shows OK, then proceed ahead.&lt;br /&gt;
# Check for any .end files and delete it to rename to .end.temp&lt;br /&gt;
# Check the System Event Viewer log for any 520 or 577 error message (refer http://128.175.24.251/forensics/timechange.htm). Also check for any out of sequence / ahead of today date or time.&lt;br /&gt;
# In case of no 520 or 577 error message, go to Administrative Tools &amp;gt; Local Security Policy &amp;gt; Local Policies &amp;gt; Audit Policy &amp;gt; Audit Privilege use - make sure that Success and Failure are selected under this (this will ensure that future changes to the date/time are recorded in the System Log).&lt;br /&gt;
# In NEOSYS maintenance mode - F5 ED PROCESSES %UPDATE% - and see what it says, incase of any text (only text, not numbers) there, that means that for sure the system date has been changed. To fix this, exit the editor by pressing the ESCAPE key and then type DELETE PROCESSES &amp;quot;%UPDATE%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Fixing NEOSYS maintenance mode not starting up == &lt;br /&gt;
&lt;br /&gt;
Problem :- While trying to start maintenance mode, the maintenance window closes automatically within a split second.&lt;br /&gt;
&lt;br /&gt;
Solution :- Delete the read-only file REVBOOT file (under d:/neosys/neosys folder). REVBOOT file is recreated when you start maintenance mode.&lt;br /&gt;
&lt;br /&gt;
== Recognising and Solving Low Memory Problems ==&lt;br /&gt;
&lt;br /&gt;
Quick Note: Installing a server class operating system on a workstation class computer with the intention of NEOSYS serving a heavy load is likely to cause problems with low memory.&lt;br /&gt;
&lt;br /&gt;
Quick Fix: Disable *ALL* non-essential features in the power-on setup menu.&lt;br /&gt;
&lt;br /&gt;
=== Effects ===&lt;br /&gt;
&lt;br /&gt;
It is speculated but not proven that low memory may cause NEOSYS to fail by hanging, causing damaged files etc.&lt;br /&gt;
&lt;br /&gt;
=== Checking ===&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 MEMORY&lt;br /&gt;
&lt;br /&gt;
On server class machines it should say somewhere around 350Kb to 370Kb Free&lt;br /&gt;
&lt;br /&gt;
Some server class machines have around 330Kb and sometimes even less with no reported problems&lt;br /&gt;
&lt;br /&gt;
The actual effect of low memory is supposed to make NEOSYS slower and perhaps cause hanging and damaged files however this has not been proven in an specific case so far.&lt;br /&gt;
&lt;br /&gt;
On workstation class machines it may often say around 280Kb to 300Kb.&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
Although there is plenty of real memory in virtually all computers now, NEOSYS runs in the legacy 16 bit virtual memory space of a windows mode called NTVDM. This is limited to 1Mb plus 4Mb of EMS memory.&lt;br /&gt;
&lt;br /&gt;
The 1Mb memory space is shared with:&lt;br /&gt;
&lt;br /&gt;
#Various non-essential windows drivers which NEOSYS automatically disables them in autoexec.nt&lt;br /&gt;
#Various plug and play hardware device drivers for the various adapters in the computer like video, network adapters and various other items that NEOSYS is unable to disable.&lt;br /&gt;
&lt;br /&gt;
In a server class computer the hardware device drivers are usually minimally present in the 1Mb base memory and do not therefore DOESNT a low memory situation for NEOSYS.&lt;br /&gt;
&lt;br /&gt;
In workstation class computers there are often many hardware device drivers present in the 1Mb base memory and this DOES causes a low memory situation for NEOSYS.&lt;br /&gt;
&lt;br /&gt;
When NEOSYS is installed on workstation class computers with XP there is usually not a heavy load expectation and therefore the low memory does not cause a problem.&lt;br /&gt;
&lt;br /&gt;
If Windows Server OS is installed on a workstation class computer NEOSYS may well be expected to serve a heavy load with limited amounts of memory.&lt;br /&gt;
&lt;br /&gt;
Workstation class computers: hardware drivers present and EMS is installed in low memory (0000-9FFF) causing low memory for NEOSYS and possible inability to &lt;br /&gt;
&lt;br /&gt;
Server class computers: Usually few hardware drivers are present in high part (A000-FFFF) of the 1Mb base memory and EMS is able to occupy the high memory leaving the low part (0000-9FFFF) of the 1Mb memory free for NEOSYS. You can find out how much memory is available to NEOSYS and whether EMS is occuping high or low memory using the following sections.&lt;br /&gt;
&lt;br /&gt;
=== Fixing Low Memory ===&lt;br /&gt;
&lt;br /&gt;
Start, Run, notepad c:\windows\system32\autoexec.nt&lt;br /&gt;
&lt;br /&gt;
Every time NEOSYS starts it tries to make some changes as follow:&lt;br /&gt;
&lt;br /&gt;
#replaces all lines in C:/WINDOWS/SYSTEM32/AUTOEXEC.NT starting with &#039;lh &#039; to start with &#039;rem NEOSYS LH &#039; instead.&lt;br /&gt;
#changes the line in C:/WINDOWS/SYSTEM32/CONFIG.NT &amp;quot;files=...&amp;quot; to &amp;quot;FILES=200&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The replacement is case sensitive triggered on &#039;lh&#039; and &#039;files&#039; so if you manually edit the files and remove the rem or change the number of files and leave the LH and FILES in uppercase then NEOSYS will NOT make further changes. This allows you to do manual amendments to the files without NEOSYS overwriting them.&lt;br /&gt;
&lt;br /&gt;
Check that NEOSYS has successfully disabled all the drivers in the lines starting with LH.&lt;br /&gt;
&lt;br /&gt;
They should be commented out (prefixed) with REM or REM NEOSYS as follows.&lt;br /&gt;
&lt;br /&gt;
After making changes reopen NEOSYS in maintenance mode to use the MEMORY and WHO commands again.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REM Install CD ROM extensions&lt;br /&gt;
REM NEOSYS LH %SystemRoot%\system32\mscdexnt.exe&lt;br /&gt;
&lt;br /&gt;
REM Install network redirector (load before dosx.exe)&lt;br /&gt;
REM NEOSYS LH %SystemRoot%\system32\redir&lt;br /&gt;
&lt;br /&gt;
REM Install DPMI support&lt;br /&gt;
REM NEOSYS LH %SYSTEMROOT%\SYSTEM32\DOSX&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Low Memory Issues in Windows 2003 server can be fixed using instructions mentioned at [http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Enabling_EMS_memory_on_Window_2003 Fixing Low Memory in Windows 2003 Server]&lt;br /&gt;
&lt;br /&gt;
=== Allowing DOS programs that require DOSX to run on the same computer as NEOSYS ===&lt;br /&gt;
&lt;br /&gt;
The automatic commenting out DOSX by NEOSYS will prevent some other DOS-like programs from running. If NEOSYS is on dedicated server then there should be no other such programs to fail. However, if you must allow DOS-like programs to work as well as NEOSYS you can do the following configuration:&lt;br /&gt;
&lt;br /&gt;
#leave or restore the original AUTOEXEC.NT and CONFIG.NT files where they are&lt;br /&gt;
#copy them to another folder eg neosys folder&lt;br /&gt;
#make the necessary REM changes there by hand&lt;br /&gt;
#right click the NEOSYS\NEOSYS\AREV.PIF and select properties&lt;br /&gt;
#change the location of the AUTOEXEC.NT and CONFIG.NT files in the following location&lt;br /&gt;
&lt;br /&gt;
[[image:pifsettings.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Checking EMS Memory Configuration ===&lt;br /&gt;
&lt;br /&gt;
==== Inspection ====&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 WHO&lt;br /&gt;
&lt;br /&gt;
 press the up arrow to get to the last part/page&lt;br /&gt;
&lt;br /&gt;
===== Example of Typical Server EMS Memory =====&lt;br /&gt;
[[image:serveremm.jpg]]&lt;br /&gt;
&lt;br /&gt;
===== Example of Typical Workstation EMS Memory =====&lt;br /&gt;
[[image:workstationemm.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Correction====&lt;br /&gt;
&lt;br /&gt;
No easy way&lt;br /&gt;
&lt;br /&gt;
Removal of hardware adapters designed for workstations instead of servers eg graphics cards and network cards.&lt;br /&gt;
&lt;br /&gt;
Many of the devices may be located on the motherboard and not relocatable except possibly by BIOS configuration or special manufacturer information.&lt;br /&gt;
&lt;br /&gt;
Use windows device manager, View: Resources by Connection, Open the Memory item and look for items between 000A0000 up to 000FFFFF that might give you a clue as to what hardware could be removed or reconfigured. Actually only 000C0000 to 000FFFFF is candidate for EMS memory since 000A000-000BFFFF is mandatory video memory in all systems.&lt;br /&gt;
&lt;br /&gt;
[[image:devicemanager.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing issue where NEOSYS processes do not start-up at all or start-up and close immediately ==&lt;br /&gt;
&lt;br /&gt;
# Find if a file with the name global.end exists in the root directory of the NEOSYS installation. Eg D:\global.end . If you find such a file, rename it to global.end.temp - for more information on global.end and what it does refer to [[Administering_NEOSYS_Server#Closing_NEOSYS_Services|Closing NEOSYS Services]]&lt;br /&gt;
# If the above didn&#039;t fix the problem and NEOSYS still does not start, do a windows search for the entire NEOSYS folder for *.end (i.e. any file ending with .end extension). You may find a (databasecode).end file in D:\neosys\neosys folder which is created by the NEOSYS program during backup at 1 am and later on removed automatically. In this case NEOSYS program might have crashed during the backup and left this file behind. (databasecode).end files prevent other other NEOSYS processes starting up on the database while exclusive processes (like backup) are being done.&lt;br /&gt;
&lt;br /&gt;
In case the above didn&#039;t fix the problem then escalate to the programmer immediately.&lt;br /&gt;
&lt;br /&gt;
=== Solving &amp;quot;Control Record&amp;quot; error in maintenance mode ===&lt;br /&gt;
&lt;br /&gt;
If processes dont start after you log into maintenance mode and you get an error message&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔════[FS152]═══════════════════════════════════════╗&lt;br /&gt;
║          The control record &amp;quot;RECORDS&amp;quot;            ║&lt;br /&gt;
║           is too long to be saved.               ║&lt;br /&gt;
║   The current record length is 65539 characters. ║&lt;br /&gt;
║                                                  ║&lt;br /&gt;
║               &amp;lt; Press any key &amp;gt;                  ║&lt;br /&gt;
╚══════════════════════════════════════════════════╝  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[File:Record1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1&#039;&#039;&#039;. Press space to get rid of the error message and you should then get this menu&lt;br /&gt;
&lt;br /&gt;
[[File:Record2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2&#039;&#039;&#039;. Press F5 and run this command (case sensitive)&lt;br /&gt;
&lt;br /&gt;
 DICT DEFINITIONS&lt;br /&gt;
&lt;br /&gt;
or Press Alt+S and run this command (case sensitive)&lt;br /&gt;
&lt;br /&gt;
 EXECUTE DICT DEFINITIONS&lt;br /&gt;
&lt;br /&gt;
[[File:Record3.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3&#039;&#039;&#039;. Press Shift+F3 to get the following message&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔══[B202]══════════════════════════════════╗&lt;br /&gt;
║            &amp;quot;DEFINITIONS&amp;quot; has             ║&lt;br /&gt;
║          &amp;quot;QUICKDEX&amp;quot; installed            ║&lt;br /&gt;
║                                          ║&lt;br /&gt;
║ Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N]  ║&lt;br /&gt;
║                                          ║&lt;br /&gt;
║ &amp;lt;Y                                      &amp;gt;║&lt;br /&gt;
╚══════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4&#039;&#039;&#039;. Press Enter to choose Yes.&lt;br /&gt;
&lt;br /&gt;
[[File:Record4.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5.&#039;&#039;&#039;Restart NEOSYS to see if the problem has been solved&lt;br /&gt;
&lt;br /&gt;
== Solving “page not found” when downloading some file types after uploading them successfully ==&lt;br /&gt;
=== One by One ===&lt;br /&gt;
&lt;br /&gt;
Windows web server will not download file types that it is unaware of. You can enable the download of new file types one by one as follows.&lt;br /&gt;
&lt;br /&gt;
This process is tedious and error-prone if you have to add many type.&lt;br /&gt;
&lt;br /&gt;
#Computer Management&lt;br /&gt;
#Services and Applications&lt;br /&gt;
#IIS properties&lt;br /&gt;
#Mime Types&lt;br /&gt;
#Add&lt;br /&gt;
&lt;br /&gt;
=== Many ===&lt;br /&gt;
&lt;br /&gt;
Window Server 2003 is unaware of all the Office 2007+ file types. To add all Office 2007+ file types at once do the following:&lt;br /&gt;
&lt;br /&gt;
Stop IIS&lt;br /&gt;
&lt;br /&gt;
 iisreset /stop&lt;br /&gt;
&lt;br /&gt;
Open the list of mime types&lt;br /&gt;
&lt;br /&gt;
*Start, Run, notepad C:\WINDOWS\system32\inetsrv\MetaBase.xml&lt;br /&gt;
&lt;br /&gt;
Search the file for “xlsx” and quit the editor if already inserted.&lt;br /&gt;
&lt;br /&gt;
Otherwise, find the following line,&lt;br /&gt;
&lt;br /&gt;
  .xml,text/xml&lt;br /&gt;
&lt;br /&gt;
and insert after that line the following lines. They do not need to be indented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.docm,application/vnd.ms-word.document.macroEnabled.12&lt;br /&gt;
.docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document&lt;br /&gt;
.dotm,application/vnd.ms-word.template.macroEnabled.12&lt;br /&gt;
.dotx,application/vnd.openxmlformats-officedocument.wordprocessingml.template&lt;br /&gt;
.potm,application/vnd.ms-powerpoint.template.macroEnabled.12&lt;br /&gt;
.potx,application/vnd.openxmlformats-officedocument.presentationml.template&lt;br /&gt;
.ppam,application/vnd.ms-powerpoint.addin.macroEnabled.12&lt;br /&gt;
.ppsm,application/vnd.ms-powerpoint.slideshow.macroEnabled.12&lt;br /&gt;
.ppsx,application/vnd.openxmlformats-officedocument.presentationml.slideshow&lt;br /&gt;
.pptm,application/vnd.ms-powerpoint.presentation.macroEnabled.12&lt;br /&gt;
.pptx,application/vnd.openxmlformats-officedocument.presentationml.presentation&lt;br /&gt;
.xlam,application/vnd.ms-excel.addin.macroEnabled.12&lt;br /&gt;
.xlsb,application/vnd.ms-excel.sheet.binary.macroEnabled.12&lt;br /&gt;
.xlsm,application/vnd.ms-excel.sheet.macroEnabled.12&lt;br /&gt;
.xlsx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet&lt;br /&gt;
.xltm,application/vnd.ms-excel.template.macroEnabled.12&lt;br /&gt;
.xltx,application/vnd.openxmlformats-officedocument.spreadsheetml.template&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save the file with File and Exit&lt;br /&gt;
&lt;br /&gt;
Restart IIS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Handling Neosys Automatic Upgrade Error Messages ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
We will receive an email from the NEOSYS client installation with the following message:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;UPGRADEN.EXE&amp;quot; does not have expected exe MZ signature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
This message is a note that the NEOSYS automatic update procedure failed to download an upgrade file correctly.&lt;br /&gt;
This happens sometimes due to network issues but can be ignored because the file will be probably be correctly downloaded on the next automatic update check.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This message is only informative to help with any problem with the automatic upgrade procedure and may be removed in a later version of neosys (currently Oct 2012)&lt;br /&gt;
&lt;br /&gt;
== Testing https connection ==&lt;br /&gt;
&lt;br /&gt;
The following procedure tests that the https server is operational and not blocked by firewall etc. It does not detect certificate errors.&lt;br /&gt;
&lt;br /&gt;
From a windows command prompt use the following telnet command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
telnet clientname.hosts.neosys.com 4430&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
#4430 is the usual NEOSYS http port but replace it by whatever port is actually used for NEOSYS https on the system being tested. If there are multiple https installations on a particular server then different ports are probably used&lt;br /&gt;
#Replace clientname.hosts.neosys.com with the normal https login domain name of the client for whom we want to check the https service&lt;br /&gt;
&lt;br /&gt;
Normal behavior is that it should open a black screen. Pressing Enter or any key returns the _ character. (Close the window using the [X] since there is no keyboard command to do so)&lt;br /&gt;
&lt;br /&gt;
Hanging means that there is some connectivity issue (firewall/ip/server not running/https not installed etc)&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;quot;page not found&amp;quot; error while using https ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#The https service stops working and gives &amp;quot;Page not found&amp;quot; error.&lt;br /&gt;
#The https connection tests fine using telnet (see article above)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#Reinstall https using the usual procedure (currently using selfssl)&lt;br /&gt;
#Email clients, requesting to reinstall the new security certificate by following the instructions for [http://userwiki.neosys.com/index.php/Setting_up_and_Configuring_NEOSYS_Generally#Fixing_HTTPS_certificate_error_when_logging_in_from_an_external_link_using_IE8.2C_IE9_and_IE10 Internet Explorer] or [http://userwiki.neosys.com/index.php/Configuring_Safari_for_MAC_OS#Fixing_HTTPS_certificate_error_when_logging_in_using_an_external_link_using_MAC_Operating_System Safari] browser.&lt;br /&gt;
&lt;br /&gt;
== Installing &amp;quot;QUICKDEX&amp;quot; on some files ==&lt;br /&gt;
&amp;quot;Quickdex&amp;quot; is a type of index that keeps an alphabetical order on small files. In some maintenance procedures you may be asked to &amp;quot;install Quickdex&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For example to add a quickdex to the UNITS file.&lt;br /&gt;
&lt;br /&gt;
Maintenance mode press F5&lt;br /&gt;
&lt;br /&gt;
 DICT UNITS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=================Dictionary=================┐&lt;br /&gt;
│                                            │&lt;br /&gt;
│  File name      UNITS                      │&lt;br /&gt;
│  Field name     .........................  │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Dict type                                 │&lt;br /&gt;
│  Single/Multi                              │&lt;br /&gt;
│  Data type                                 │&lt;br /&gt;
│  Output format                             │&lt;br /&gt;
│  Validation patterns                       │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Position              Key part            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Column heading                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Justification     Display length          │&lt;br /&gt;
│  Description                               │&lt;br /&gt;
│                                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
L============================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Shift+F3.&lt;br /&gt;
&lt;br /&gt;
If it says &amp;quot;Do you want to remove ...&amp;quot; then Quickdex has already been installed and you should not continue. Press Esc to cancel, then Esc to quit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[B202]==================================┐&lt;br /&gt;
│                                         │&lt;br /&gt;
│               &amp;quot;UNITS&amp;quot; has               │&lt;br /&gt;
│          &amp;quot;QUICKDEX&amp;quot; installed.          │&lt;br /&gt;
│                                         │&lt;br /&gt;
│ Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N] │&lt;br /&gt;
│                                         │&lt;br /&gt;
│&amp;lt;Y                                      &amp;gt;│&lt;br /&gt;
L=========================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise it should say &amp;quot;Do you want to install ...&amp;quot;. Press Enter to accept.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[W963]============================┐&lt;br /&gt;
│                                   │&lt;br /&gt;
│     Do you want to install a      │&lt;br /&gt;
│ Quickdex or Rightdex index? [Q/R] │&lt;br /&gt;
│                                   │&lt;br /&gt;
│&amp;lt;Q                                &amp;gt;│&lt;br /&gt;
L===================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It should then say &amp;quot;Do you want to update ...&amp;quot;. Press Enter to accept.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[W901]========================================┐&lt;br /&gt;
│                                               │&lt;br /&gt;
│           The &amp;quot;UNITS&amp;quot; file has had            │&lt;br /&gt;
│ the &amp;quot;QUICKDEX&amp;quot; modifying filing system added. │&lt;br /&gt;
│        There are 0 records in &amp;quot;UNITS&amp;quot;.        │&lt;br /&gt;
│                                               │&lt;br /&gt;
│    Do you want to update &amp;quot;QUICKDEX&amp;quot;? [Y/N]    │&lt;br /&gt;
│                                               │&lt;br /&gt;
│&amp;lt;Y                                            &amp;gt;│&lt;br /&gt;
L===============================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards it should return to the initial screen. Press Esc to quit.&lt;br /&gt;
&lt;br /&gt;
== Solving NEOSYS smtp server failure ==&lt;br /&gt;
In case the neosys smtp server fails then we can just use the client&#039;s smtp server.&lt;br /&gt;
&lt;br /&gt;
The following information is required from the client&#039;s smtp server configuration:&lt;br /&gt;
#hostname&lt;br /&gt;
#username&lt;br /&gt;
#password&lt;br /&gt;
#port no. (most likely = 25)&lt;br /&gt;
&lt;br /&gt;
These details should be entered in the &#039;&#039;&#039;System Configuration File&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
[[image:SYSCFGFILE-SMTP.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Strange characters in maintenance mode ==&lt;br /&gt;
While in Maintenance mode, pressing keys on keyboard gives strange characters. Even Enter and Esc don’t work. &lt;br /&gt;
&lt;br /&gt;
This problem has been seen using RDP on:&lt;br /&gt;
*Window Server 2003 Web Edition&lt;br /&gt;
*Windows Server 2003 R2 SP2&lt;br /&gt;
&lt;br /&gt;
[[image:strangecharmaint.jpg]] &lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
#Go to Windows -&amp;gt; control panel&lt;br /&gt;
#Go to Regional and Language Options &lt;br /&gt;
#Click on Languages tab then click on Details &amp;lt;br&amp;gt; [[image:lang1.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
#Click on Settings Tab and Change default input language to English (United States)&amp;lt;br&amp;gt;(or perhaps something else depending on rdp keyboard) &amp;lt;br&amp;gt; [[image:lang2.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== NEOSYS processes do not start after Windows Update  ==&lt;br /&gt;
&lt;br /&gt;
===Problem===&lt;br /&gt;
Scheduled Task to start the NEOSYS processes fail on Servers with Windows 2008 after Windows update. Support will have to log into the server to start the processes manually&lt;br /&gt;
Message on the Schedule Task displays &amp;quot; The operation being requested was not performed because the user has not logged on to the network. The specified service does not exit &amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[image:sti.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Solution===&lt;br /&gt;
&lt;br /&gt;
For clients who cannot tolerate manual intervention after server reboots for any reason (e.g.need to start work before NEOSYS support is available or on NEOSYS support weekends), tick &amp;quot;highest privileges&amp;quot; and &amp;quot;run whether the user is logged in or not&amp;quot;. This approach means that NEOSYS processes which are started by the windows scheduled task are not visible on the desktop and run hidden in the background and only listed in task manager, so avoid this approach on small clients (only few users). Avoiding this approach will also serve to act as an indicator of server restarts.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting NEOSYS remote support port forwarding ==&lt;br /&gt;
This assumes that you have already “port forwarded” tcp port 19580 from your public internet router to the NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
=== Tst 0 - Check if SSH is working on the NEOSYS Server ===&lt;br /&gt;
Type in the following command in command prompt:&lt;br /&gt;
 telnet 127.0.0.1 19580&lt;br /&gt;
&lt;br /&gt;
IF ALL OK you will see the following:&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-03.jpg]] &lt;br /&gt;
&lt;br /&gt;
=== Test 1 - Check if SSH is basically working on NEOSYS server over the LAN ===&lt;br /&gt;
You must know and use the NEOSYS SERVER LAN IP to do this.&lt;br /&gt;
&lt;br /&gt;
 telnet ???.???.???.??? 19580&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-01.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
If you have the WRONG SERVER LAN IP or NEOSYS server SSH is NOT working then it will hang for about 15 seconds and then say “Could not open connection to host …”&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-02.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
OR IF ALL OK you will see the following:&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-03.jpg]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Press Enter to Exit&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-04.jpg]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Test 2 - Check if can connect to the NEOSYS ssh from OUTSIDE the office  ===&lt;br /&gt;
From any internet connected computer OUTSIDE the office test if you can connect to NEOSYS ssh service. You cannot do this test from inside the office.&lt;br /&gt;
&lt;br /&gt;
You need to know the public ip or domain name of the router. If the router IP is dynamic then NEOSYS sets up dynamic name server so instead of a static ip number you will have a domain name something like clientxyz.redirectme.net.&lt;br /&gt;
&lt;br /&gt;
Enter the command .. using YOUR public internet IP number (NOT the LAN ip number) or the dynamic domain name.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-05.jpg]]  &lt;br /&gt;
&lt;br /&gt;
If everything is working OK you will get a black screen as follows. You will NOT get the “SSH-2.0-OpenSSH-4.7” banner” because NEOSYS ssh remote support is restricted to connect ONLY from LAN ip nos and NEOSYS office ip nos.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-06.jpg]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you press Enter a few times then the cursor will just go down. You have click the [X] to close the window.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-07.jpg]]  &lt;br /&gt;
&lt;br /&gt;
=== Test 3 - Check that the ssh connection from step 2 was rejected  ===&lt;br /&gt;
On the NEOSYS server, check the Windows Application log to verify that an SSH connection was rejected.&lt;br /&gt;
&lt;br /&gt;
The rejected ip number will be of the system outside the office that you performed the test from.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-08.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Sample Email: Solving port 19580 port forwarding issues ===&lt;br /&gt;
&lt;br /&gt;
Some IT people know how to troubleshoot port forwarding issues but others are mostly just power users who can configure a home router. If the IT person is in the second category then it is quicker for NEOSYS support to offer to configure their router from the NEOSYS server using Teamviewer. Ideally NEOSYS should not be doing client IT work but if client IT allows NEOSYS access to their router then NEOSYS support can make a brief attempt to do the configuration. If the issue is still unresolved then request the client to get a professional IT network expert to do the job and inform them that NEOSYS will not be able to provide them any support till connectivity is fixed. Below is a letter advising a more skilled person to check connections using telnet which is a low level test.&lt;br /&gt;
&lt;br /&gt;
You can usually determine the NEOSYS server LAN IP number from Nagios. If so then adjust the email text appropriately.&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Dear XYZ,&lt;br /&gt;
&lt;br /&gt;
It is highly critical to fix the connectivity with the NEOSYS server because NEOSYS will not be able to provide any support until&lt;br /&gt;
connectivity is fixed. User support issues will be delayed and remain unresolved if you do not fix this issue URGENTLY.&lt;br /&gt;
&lt;br /&gt;
At the moment there is no connection from the internet via your router to the NEOSYS server and when we do the following, &lt;br /&gt;
we get no connection. &lt;br /&gt;
&lt;br /&gt;
   telnet CLIENTNAME.support.neosys.com 19580&lt;br /&gt;
&lt;br /&gt;
Normally it should connect and presents a black screen (saying SSH something after pressing Enter) which we close.&lt;br /&gt;
&lt;br /&gt;
Please check that you can connect to the NEOSYS server internally by using the NEOSYS server IP address in the following command on any&lt;br /&gt;
computer in your LAN.&lt;br /&gt;
&lt;br /&gt;
    telnet 192.168.?.? 19580&lt;br /&gt;
&lt;br /&gt;
If you can connect to the NEOSYS server internally then please check port forwarding.&lt;br /&gt;
&lt;br /&gt;
Additionally check the following:&lt;br /&gt;
1. Has your router IP changed?&lt;br /&gt;
2. Has your server’s LAN IP changed and are you forwarding to the correct LAN IP?&lt;br /&gt;
3. Is the configuration really correct?&lt;br /&gt;
4. Check router logs for clues&lt;br /&gt;
5. Check NAT settings in the router&lt;br /&gt;
&lt;br /&gt;
For troubleshooting steps refer Troubleshooting NEOSYS remote support&lt;br /&gt;
http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Troubleshooting_NEOSYS_remote_support_port_forwarding&lt;br /&gt;
&lt;br /&gt;
If the problem still persists, please get a professional IT network expert to fix the issue.&lt;br /&gt;
&lt;br /&gt;
Best Regards,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Port mapping restricted by Source IP ===&lt;br /&gt;
&lt;br /&gt;
On NEOSYS router, port forwarding has been setup only for specific source IP addresses. This means you will not be able to establish a TCP connection to NEOSYS server unless your server&#039;s outbound IP is mapped to the NEOSYS router. In other words unless the outbound i.e source IP/port of your server has been granted access on the NEOSYS router for all incoming connections you will not be able to make connections to NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
Outbound IP is used whenever a server tries to make a connection to another server outside its network. On the other hand a server receives all incoming connections using it&#039;s Inbound IP.&lt;br /&gt;
&lt;br /&gt;
Therefore to setup ssh connection from a new Client server to NEOSYS server we need to grant access to its outbound IP on the NEOSYS router. See [[Troubleshooting_NEOSYS_Generally#If_Telnet_does_not_work | link]] to find the outbound server IP/ports of the server.&lt;br /&gt;
&lt;br /&gt;
== Solving “Cant login … INVALID DATA PATH … permission denied” ==&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&lt;br /&gt;
[[image:error-invalid-data-path-1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error Text:&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 Cannot login because:&lt;br /&gt;
 ERROR: INVALID DATA PATH&lt;br /&gt;
 “D:\HOSTS\HOSTNAME\DATA\HOSTNAME\~8746345.1$” Permission Denied&lt;br /&gt;
&lt;br /&gt;
=== Problem Explained ===&lt;br /&gt;
When installing NEOSYS on an existing “non-clean” Windows installation, the standard NEOSYS installation procedure can result in failure to login if the standard windows folder permissions have been modified.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
The solution is to grant IIS permission to write in the \neosys\DATA folder and subfolders as follows:&lt;br /&gt;
#First add the IUSR_XXXXXXX user to the list of users. (XXXXXXXX is the server name and therefore varies per server) as follows:&lt;br /&gt;
#*Right Click on DATA Folder and click on Properties&lt;br /&gt;
#*Click on Security Tab -&amp;gt; Add -&amp;gt; Advanced&lt;br /&gt;
#*Click on Find Now, Select the IUSR_XXXXXXX user and Click on OK&amp;lt;br&amp;gt;[[image:error-invalid-data-path-2.jpg]]&amp;lt;br&amp;gt;[[image:error-invalid-data-path-3.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Second, for the newly added IUSR (IIS user) change the permissions as follows:&lt;br /&gt;
#*&#039;&#039;&#039;REMOVE&#039;&#039;&#039; the read and execute permission (for security, IIS should be unable to execute things that it might have uploaded)&lt;br /&gt;
#*&#039;&#039;&#039;ADD&#039;&#039;&#039; the write permission &amp;lt;br&amp;gt;[[image:error-invalid-data-path-4.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Login should now be possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== NEOSYS process window displays message &amp;quot;Upgrade Downloading&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
[[image:upgradedownloading.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Problem Explained ===&lt;br /&gt;
NEOSYS thinks it sees an new neosys2.exe upgrade file on the location http://www.neosys.com/support/neosys2.exe which is accessed by http so attempts to download it.&lt;br /&gt;
&lt;br /&gt;
Http proxies and various internet issues can cause incorrect info to be sent and there is actually no upgrade available. In this case, eventually it realizes that it cant find an appropriate and it stops. &lt;br /&gt;
&lt;br /&gt;
You don’t have to worry about this case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Enabling EMS memory on Window 2003 ==&lt;br /&gt;
&lt;br /&gt;
Normally EMS memory is provided by Windows 2003 but this can vary depending on the server hardware/bios configuration&lt;br /&gt;
&lt;br /&gt;
If you get the following messages on Windows 2003&lt;br /&gt;
&lt;br /&gt;
#Backup File Size is 0&lt;br /&gt;
#RTP27. [B28] Not enough String Space – Out of Memory&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
On servers that had no problem previously, the problem is caused by a windows update in Oct 2012 that disables standard Windows EMS memory.&lt;br /&gt;
&lt;br /&gt;
The patch is issued by Microsoft on 9 Oct 2012 but the installation date in the server depends on when the update was actually installed.&lt;br /&gt;
&lt;br /&gt;
http://support.microsoft.com/kb/2724197&lt;br /&gt;
&lt;br /&gt;
=== Solution 1 - maximum performance ===&lt;br /&gt;
&lt;br /&gt;
To re-enable standard windows EMS on older slower servers or servers where NEOSYS performance must be maximized.&lt;br /&gt;
&lt;br /&gt;
The following link contains instructions how to remove the offending windows update&lt;br /&gt;
&lt;br /&gt;
It also shows how to prevent it being reinstalled automatically by Windows.&lt;br /&gt;
&lt;br /&gt;
http://www.columbia.edu/~em36/wpdos/emsxp.html&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to prevent it being reinstalled again automatically&lt;br /&gt;
&lt;br /&gt;
=== Solution 2 – ease of installation ===&lt;br /&gt;
&lt;br /&gt;
This option can also be used if Window 2003 is unable to provide EMS memory for example when the server hardware/bios configuration prevents it.&lt;br /&gt;
&lt;br /&gt;
Install EMSMAGIC in the same way as for Windows server 2008&lt;br /&gt;
&lt;br /&gt;
EMSMAGIC has higher memory consumption and makes NEOSYS processes slower so it is better to use Solution 1 above if NEOSYS performance is an issue.&lt;br /&gt;
&lt;br /&gt;
== Fixing no output file in XXX YYY Issue ==&lt;br /&gt;
&lt;br /&gt;
===Error Message===&lt;br /&gt;
&lt;br /&gt;
[[File:Nooutputfile.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Problem Explained===&lt;br /&gt;
&lt;br /&gt;
The message “No output file in XXX YYY” can appear at several instances in NEOSYS, most often when generating reports or documents. &lt;br /&gt;
&lt;br /&gt;
This problem is usually caused by software error and it indicates that the NEOSYS server responded without any output and without any message. &lt;br /&gt;
&lt;br /&gt;
===Solution===&lt;br /&gt;
1) Find proof to check if the data required for the report actually exists. This way we can eliminate lack of data as a cause for this error.&lt;br /&gt;
&lt;br /&gt;
2) Check to see if a similar issue has been fixed in latest version of NEOSYS.&lt;br /&gt;
&lt;br /&gt;
3) Document HOW and WHERE the problem can be duplicated by NEOSYS programmers to identify and correct the software.&lt;br /&gt;
&lt;br /&gt;
An example of this error can be found at [[Troubleshooting_NEOSYS_Media_System#Error:_No_output_file_in_MEDIAPROXY_SCHEDULEPRINT|No Output File in MEDIAPROXY SCHEDULEPRINT]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting Internet Connections ==&lt;br /&gt;
&lt;br /&gt;
===Cannot Connect===&lt;br /&gt;
&lt;br /&gt;
While investigating as to why users are not able to access NEOSYS or http://www.neosys.com/ ,you can check which ISP the connection issue is on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;whois ipno&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inspect very carefully to get clues as to which ISP and which AREA of the ISP the problematic ip numbers are and which do NOT have problems&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting TCP/IP Connections ===&lt;br /&gt;
&lt;br /&gt;
====Telnet check====&lt;br /&gt;
&amp;lt;pre&amp;gt; telnet &amp;lt;hostname&amp;gt; 19580  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====If Telnet does not work====&lt;br /&gt;
In case telnet does not work, login to the remote host server to investigate the issue. Run the following command simultaneously while doing Telnet from client server to the remote host to check if the TCP packets are reaching the Remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tcpdump -v &#039;src host client-domain-name/ip&#039; &lt;br /&gt;
tcpdump -v portno &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To check if packets are sent from the client server to the remote host, you can run the following command simultaneously while trying to ssh to the remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;netstat -an &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also check if the outbound ports are open from which you are trying to establish the TCP connection to the remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;telnet portquiz.net portno &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The outbound IP addresses at times can be different from the public IP of the Client server so be sure that the public IP of the client server is the same as its source IP (which represents an incoming connection from Client to Remote server). One way to find the source IP of the Client server is sending an email from Client server to &amp;quot;support@neosys.com&amp;quot;. On receiving the email in Thunderbird, select the email and press Ctrl+u. A new window Opens giving full details of the email received. The third &amp;quot;Received :from&amp;quot; gives the IP of the source.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting DNS failure ===&lt;br /&gt;
&lt;br /&gt;
NEOSYS clients routers are usually configured to use their ISP DNS service and the ISP DNS service is supposed to contact one of NEOSYS&#039;s DNS servers to convert server names like hosts.neosys.com into IP numbers. Misconfiguration of clients routers or problems in the ISP DNS server may cause CANNOT CONNECT problems. Often the connect fails quickly and immediately since if a name cannot be converted to an ip number then the connection cannot even be attempted and therefore there is little or no timeout to wait through.&lt;br /&gt;
&lt;br /&gt;
NEOSYS.COM name servers are listed publically and obtained by whois command.&lt;br /&gt;
&lt;br /&gt;
 whois neosys.com&lt;br /&gt;
&lt;br /&gt;
 Name Server: DNS1.EASYDNS.COM&lt;br /&gt;
 Name Server: DNS2.EASYDNS.NET&lt;br /&gt;
 Name Server: DNS3.EASYDNS.ORG&lt;br /&gt;
 Name Server: NS12.ZONEEDIT.COM&lt;br /&gt;
 Name Server: NS18.ZONEEDIT.COM&lt;br /&gt;
&lt;br /&gt;
In order to contact NEOSYS DNS servers the ISP&#039;s have to use a global DNS to obtain the ip addresses of NEOSYS DNS servers given the host names of NEOSYS DNS servers given in the whois info&lt;br /&gt;
&lt;br /&gt;
Here is an example of DU testing NEOSYS DNS servers. The NEOSYS DNS server ip addresses are listed in the Destination column.&lt;br /&gt;
&lt;br /&gt;
[[File:internet.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If one DNS server is down or unreachable REGARDLESS OF REASON, the ISP is supposed to use the other DNS servers. It is impossible for all NEOSYS DNS servers to be unreachable except in gross disconnection from the internet of the ISP since it is effectively impossible that all NEOSYS DNS servers which are carefully spread around the internet, to be unreachable.&lt;br /&gt;
&lt;br /&gt;
In the above test one of the NEOSYS DNS servers is unreachable but all the others are reachable therefore DU should have no problem providing DNS service to its clients.&lt;br /&gt;
&lt;br /&gt;
ISP are often worse at providing DNS server than the famous GOOGLE DNS servers, so re configuring client router to use GOOGLE DNS servers is a way to prove that the problem lies with the ISP&#039;s DNS service&lt;br /&gt;
&lt;br /&gt;
=== Additional test for troubleshooting problems with uploading ===&lt;br /&gt;
&lt;br /&gt;
====Verifying that upload.dll can run====&lt;br /&gt;
&lt;br /&gt;
This isnt a complete test of everything. It just checks if the upload program can be run by the web server. It doesnt check if uploads work or the image directory is correctly configured with the right permissions and uploads can actually be done.&lt;br /&gt;
&lt;br /&gt;
===== Error Message =====&lt;br /&gt;
&lt;br /&gt;
... to be added when discovered ...&lt;br /&gt;
&lt;br /&gt;
===== Test =====&lt;br /&gt;
&lt;br /&gt;
Test HTTP if accessible by LAN; Test HTTPS is accessible by Internet; Test both if both are available.&lt;br /&gt;
&lt;br /&gt;
On the server type the following into a browser&lt;br /&gt;
&lt;br /&gt;
LAN/HTTP:&lt;br /&gt;
&lt;br /&gt;
 http://localhost/neosys/neosys/dll/upload.dll&lt;br /&gt;
&lt;br /&gt;
WAN/HTTPS:&lt;br /&gt;
&lt;br /&gt;
 https://localhost:9999/neosys/dll/upload.dll&lt;br /&gt;
&lt;br /&gt;
===== Expected Result =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Upload Error. !&lt;br /&gt;
Please call me from a form !!!&lt;br /&gt;
The first param must be Filename= name of the uploaded file, TYPE=TEXT&lt;br /&gt;
The second param must be Filedata= uploaded file, TYPE=FILE&lt;br /&gt;
The third param is optional PathData= path to uploaded file, default c:\temp\, TYPE=HIDDEN&lt;br /&gt;
The forth param is optional RedirectPage= name of asp who receive the results, TYPE=HIDDEN&lt;br /&gt;
Add others params at the end with INPUT tag.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Uerror.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Patching a NEOSYS program ==&lt;br /&gt;
&lt;br /&gt;
The patch provided will tell you the program name and contain either a whole replacement program text or just some changed lines which you will have to find and edit.&lt;br /&gt;
&lt;br /&gt;
You will need to know the file name which may be provided along with the patch or you can find it using the following code in maintenance mode:&lt;br /&gt;
&lt;br /&gt;
 ED VOC programname&lt;br /&gt;
&lt;br /&gt;
ED VOC XYZ tells you what program name is executed and from what file, when you type the command XYZ. Normally the program name is the same as the command.&lt;br /&gt;
&lt;br /&gt;
The file name will normally be BP for agency programs, GBP for general programs or ABP for finance programs.&lt;br /&gt;
&lt;br /&gt;
NEOSYS programs are stored in files just like records of ordinary database files. You can edit either with &amp;quot;ED filename programname&amp;quot; or &amp;quot;TED filename programname&amp;quot;. TED is better for editing source code.&lt;br /&gt;
&lt;br /&gt;
===Installing patch in live database===&lt;br /&gt;
&lt;br /&gt;
In the rare case that the programmer asks Support to install the patch directly on LIVE dataset, start by typing the following command in maintenance mode before commencing:&lt;br /&gt;
&lt;br /&gt;
 UTIL&lt;br /&gt;
&lt;br /&gt;
Follow the instructions mentioned in the [[Troubleshooting_NEOSYS_Generally#Installing_patch_in_test_database| next section]], but skip the instruction to TEST the patched program in test dataset.&lt;br /&gt;
&lt;br /&gt;
The instruction to INSTALL the patched program MUST be followed BEFORE testing the patch in live dataset. Otherwise the changes will not get reflected.&lt;br /&gt;
&lt;br /&gt;
===Installing patch in test database===&lt;br /&gt;
&lt;br /&gt;
1. EDIT the program source code.&lt;br /&gt;
&lt;br /&gt;
 TED programname&lt;br /&gt;
&lt;br /&gt;
Either cut and paste to modify the whole program or edit the program text according to the patch/instructions provided.&lt;br /&gt;
&lt;br /&gt;
Save and close the program source code.&lt;br /&gt;
&lt;br /&gt;
2. COMPILE it. If you get errors then check your edits are correct and recompile otherwise return the patch to programming.&lt;br /&gt;
&lt;br /&gt;
  COMPILE filename programname&lt;br /&gt;
&lt;br /&gt;
3. TEST it. Ensure the patched program now works in TEST database.&lt;br /&gt;
&lt;br /&gt;
4. INSTALL the patched program in the LIVE database by typing one of the following command depending on the filename that you patched.&lt;br /&gt;
&lt;br /&gt;
 COPYGBP programname&lt;br /&gt;
 COPYABP programname&lt;br /&gt;
 COPYBP programname&lt;br /&gt;
&lt;br /&gt;
== Patching NEOSYS dictionaries ==&lt;br /&gt;
&lt;br /&gt;
A patch to a dictionary applies immediately when you save it and to all datasets regardless of which dataset you work in.&lt;br /&gt;
&lt;br /&gt;
You need:&lt;br /&gt;
&lt;br /&gt;
#the file name eg INVOICES&lt;br /&gt;
#the item name (column name) eg  DATETIME_AMENDED&lt;br /&gt;
#10 lines of data similar to the example below.&lt;br /&gt;
#if the item is an S type dictionary, then either the whole, or only the amended part, of the source code of the dictionary.&lt;br /&gt;
&lt;br /&gt;
 ED DICT INVOICES DATETIME_AMENDED&lt;br /&gt;
&lt;br /&gt;
TYPE everything below exactly on the corresponding line numbers except lines 3 and very commonly line 8, as these lines may contain multiple values separated by a superscript 2 (²). Line numbers in the below screen are only for illustrative purpose. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  ╔═══════════════════════════┤DATETIME_AMENDED├═════════════════════════╗&lt;br /&gt;
 1║S                                                                     ║&lt;br /&gt;
 2║                                                                      ║&lt;br /&gt;
 3║DateTime²Amended                                                      ║&lt;br /&gt;
 4║S                                                                     ║&lt;br /&gt;
 5║                                                                      ║&lt;br /&gt;
 6║                                                                      ║&lt;br /&gt;
 7║[DATETIME]                                                            ║&lt;br /&gt;
 8║updated=@record&amp;lt;28&amp;gt;²created=@record&amp;lt;31,1&amp;gt;²@ans=&#039;&#039;²if created and num(c║..actually this line continues off the screen to the right&lt;br /&gt;
 9║R                                                                     ║&lt;br /&gt;
10║10                                                                    ║&lt;br /&gt;
11║                                                                      ║&lt;br /&gt;
  :                                                                      :&lt;br /&gt;
  :                                                                      :&lt;br /&gt;
  ╚══════════════════════════════════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Ctrl+E on lines 3 or 8 in order to enter sub-lines. &lt;br /&gt;
&lt;br /&gt;
The multiple values (on line 3 and 8) separated by a superscript 2 (²) automatically appear when sub-lines are entered.&lt;br /&gt;
&lt;br /&gt;
For line 8, you will need to cut and paste the lines of below program to the Ctrl+E screen: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔═════════════════════════┤Field 8 of DATETIME_AMENDED├════════════════════════╗&lt;br /&gt;
║updated=@record&amp;lt;28&amp;gt;                                                           ║&lt;br /&gt;
║created=@record&amp;lt;31,1&amp;gt;                                                         ║&lt;br /&gt;
║@ans=&#039;&#039;                                                                       ║&lt;br /&gt;
║if created and num(created) and num(updated) then                             ║&lt;br /&gt;
║ createdsecs=field(created,&#039;.&#039;,1)*86400+field(created,&#039;.&#039;,2)                  ║&lt;br /&gt;
║ updatedsecs=field(updated,&#039;.&#039;,1)*86400+field(updated,&#039;.&#039;,2)                  ║&lt;br /&gt;
║ if abs(updatedsecs-createdsecs)&amp;gt;120 then                                     ║&lt;br /&gt;
║  @ans=updated                                                                ║&lt;br /&gt;
║  end                                                                         ║&lt;br /&gt;
║ end                                                                          ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
╚══════════════════════════════════════════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you save and exit the Ctrl+E screen, you will see the sublines separated by superscript 2 appear in one line in the ED screen. &lt;br /&gt;
&lt;br /&gt;
Similarly, for line 3, you need to enter its sub-lines in Ctrl+E screen.&lt;br /&gt;
&lt;br /&gt;
To ensure indenting remains nice (although indenting is not important and can be messed up without causing any problem) then copy the double bars at the front of the lines (if available, otherwise insert some char in position 1 of each line perhaps) and then remove them after you paste ... or just edit until the indenting is correct if you really want to.&lt;br /&gt;
&lt;br /&gt;
Press F9 and/or Esc to save and/or exit from Ctrl+E screen&lt;br /&gt;
&lt;br /&gt;
Press F9 and/or Esc to save and/or exit from ED&lt;br /&gt;
&lt;br /&gt;
== Searching XML files ==&lt;br /&gt;
&lt;br /&gt;
Use the grep command in Cygwin terminal to search files especially when you are investigating the NEOSYS Logs. &lt;br /&gt;
&lt;br /&gt;
Use the following command while searching for a file in any directory&lt;br /&gt;
&lt;br /&gt;
 grep string path/file&lt;br /&gt;
&lt;br /&gt;
 grep -i -a string path/file  (use -i to ignore upper/lower case characters in the string and -a to treat the file type=text and display the matching text)&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;string&amp;quot; is the text to be searched, &amp;quot;file&amp;quot; is the type of file you are looking for and &amp;quot;path&amp;quot; is the path of the directory you are looking into. Use &amp;quot;&amp;quot; when having spaces in your string.&lt;br /&gt;
&lt;br /&gt;
e.g when searching in NEOSYS logs the year/month/date is specified in the file name, so if you are looking for a file in year 2016 in the month of Feb, use&lt;br /&gt;
&lt;br /&gt;
 grep XXXX path/1602*&lt;br /&gt;
&lt;br /&gt;
In the above command *(asterisk) is a wildcard used to match characters in the file name.&lt;br /&gt;
&lt;br /&gt;
Sample below of grep command and its output where it is searching for &amp;quot;Dior&amp;quot; in 2016 march logs.&lt;br /&gt;
 $ grep -i Dior /cygdrive/d/hosts/test/logs/test/2016/1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 Binary file path/16030301.XML matches&lt;br /&gt;
&lt;br /&gt;
Use the commands below to display the search string and required number of lines that come either after or before the search string, depending on what you enter in your command. It helps to get more information from files especially when you only know few words and the other information around the searched string also gets displayed. &lt;br /&gt;
&lt;br /&gt;
 grep -A NUM string file (NUM lines after the searched text get displayed)&lt;br /&gt;
&lt;br /&gt;
 grep -B NUM string file (NUM lines before the searched text get displayed)&lt;br /&gt;
&lt;br /&gt;
See the examples and their respective outputs below, (Note: there is no space between -A and NUM):&lt;br /&gt;
&lt;br /&gt;
 $ grep -A2 -i &amp;quot;Dior&amp;quot; 1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 Binary file 16022101.XML matches&lt;br /&gt;
 Binary file 16022901.XML matches&lt;br /&gt;
&lt;br /&gt;
 $ grep -A2 -a &amp;quot;Dior&amp;quot; 1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 16030301.XML:&amp;lt;DataOut&amp;gt;DIOR%FEPOI%FE&#039;&#039;&#039;Dior&#039;&#039;&#039; Poison%FE%FE%FE%FE%FEDubai,    UAE%FE%FE%FE%FEN%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEN%FE%FE%FE17584.43592%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FENEOSYS%FE17584.43592%FE94_200_49_146%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEpaulson&amp;lt;/DataOut&amp;gt;&amp;lt;/Message&amp;gt;&lt;br /&gt;
 --&lt;br /&gt;
 16030301.XML:&amp;lt;DataOut&amp;gt;DIOR%FEPOI%FE&#039;&#039;&#039;Dior&#039;&#039;&#039; Poison%FE%FE%FE%FE%FEDubai,   UAE%FE%FE%FE%FEN%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEN%FE%FE%FE17584.43592%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FENEOSYS%FE17584.43592%FE94_200_49_146%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEpaulson&amp;lt;/DataOut&amp;gt;&amp;lt;/Message&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some more examples of grep below:&lt;br /&gt;
&lt;br /&gt;
 Use the command below when searching with more than one search string&amp;lt;br&amp;gt;&lt;br /&gt;
 grep -a string1 *|grep string2&lt;br /&gt;
&lt;br /&gt;
 grep -B2 -a Processing 160329*|grep -v DataIn|grep -v Message|less&amp;lt;br&amp;gt;&lt;br /&gt;
 where user wants output to show lines containing string &amp;quot;Processing&amp;quot; and exclude lines containing string &amp;quot;DataIn&amp;quot; and &amp;quot;Message&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Managing the queue of reports being delivered by email ==&lt;br /&gt;
&lt;br /&gt;
In maintenance mode.&lt;br /&gt;
&lt;br /&gt;
=== Listing ===&lt;br /&gt;
&lt;br /&gt;
 LIST DOCUMENTS WITH SCHEDULED_ONCE&lt;br /&gt;
&lt;br /&gt;
=== Clearing ===&lt;br /&gt;
&lt;br /&gt;
 SELECT DOCUMENTS WITH SCHEDULED_ONCE&lt;br /&gt;
 DELETE DOCUMENTS&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Troubleshooting_NEOSYS_Generally&amp;diff=2650</id>
		<title>Troubleshooting NEOSYS Generally</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Troubleshooting_NEOSYS_Generally&amp;diff=2650"/>
		<updated>2016-04-21T07:06:45Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Troubleshooting &amp;quot;user not authorised to login from an ip number&amp;quot; error message */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Solving failure to start a NEOSYS server due to disk failure message ==&lt;br /&gt;
=== Problem ===&lt;br /&gt;
During a reboot process (which maybe due to a Windows update or even done by a support personnel) the NEOSYS server gets hung on the startup and shows a message &amp;quot;Boot Failure - Abort, Retry&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
=== Temporary solution ===&lt;br /&gt;
This typically happens due to the USB being plugged into the server and the boot sequence being wrong - i.e. the server trying to boot from the USB first and fails. The immediate solution would be to unplug the USB and ask the client to reboot the server again and upon successfully rebooting the system, plug the USB back again.&lt;br /&gt;
&lt;br /&gt;
=== Permanent solution ===&lt;br /&gt;
The above problem will occur every time the computer is rebooted, so you need to immediately talk to the IT Administrator of the client and ask them to rectify the boot sequence to make it boot first from the CD ROM, then the HDD and last the USB.&lt;br /&gt;
&amp;lt;BR&amp;gt;Allowing &amp;quot;Boot from USB&amp;quot; causes a severe risk of infection by boot sector viruses since the first infected USB device inserted WILL infect the server immediately as anti-virus programs are not active during boot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting the &amp;quot;Database not available&amp;quot; error message == &lt;br /&gt;
=== Problem explained ===&lt;br /&gt;
This error appears when you try to login to NEOSYS after you enter your username and password and click the Login button.&lt;br /&gt;
&lt;br /&gt;
[[image:database_unavailable.jpg]]&lt;br /&gt;
&lt;br /&gt;
Error message : &lt;br /&gt;
&lt;br /&gt;
 Cannot login because : &lt;br /&gt;
 Error :  The (database code) database is not available right now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the error message appears post login i.e. when users are working on the system then check if processes are free to run user request.&lt;br /&gt;
&lt;br /&gt;
[[image:not_available.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Solution explained ===&lt;br /&gt;
# Determine if the processes are running. If they are running and you still get the same message that means that either the processes have [[Troubleshooting_NEOSYS_Generally#Troubleshooting_Hung_processes|hung]] and need to be [[Troubleshooting_NEOSYS_Generally#How_to_kill_hung_NEOSYS_processes|killed]]. Or the processes are busy to run user requests and a new process needs to be started. &lt;br /&gt;
# If the processes are not visible on the destop, it is possible that they are running in the background and have hung for some reason. Check the windows task manager to see if any ‘ntvdm’ process is running and [[Troubleshooting_NEOSYS_Generally#If_NEOSYS_processes_are_not_visible_on_the_server_desktop|fix hung processes]].&lt;br /&gt;
# If there is no trace of any process running, that means the process probably did not start at the scheduled time. Refer to the &#039;Hung Process Reports&#039; to verify this claim. &lt;br /&gt;
# If the process had not hung, then the server might have restarted due to a power failure or a windows update and the administrator user had not logged in post the scheduled startup time of 6AM. To determine this cause, investigate in the Windows Event Viewer Log file.&lt;br /&gt;
# You can now start up the process by clicking on the respective desktop icons.&lt;br /&gt;
# Also check if the backup took place successfully or not. If not take a manual backup.&lt;br /&gt;
# Look into the logs at the date/time stated for the last transaction processed to investigate why process got hung.See [[Troubleshooting_NEOSYS_Generally#Inspecting_Database_LOGS_Folder| Inspecting logs]] for more information on logs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;quot;user not authorised to login from a location&amp;quot; error message ==&lt;br /&gt;
[[image:IPerror.jpg]]&lt;br /&gt;
 xxx is not authorised to login form the location (IP Number. xx.xx.xx.xx)&lt;br /&gt;
&lt;br /&gt;
Check the URL used by the user. &lt;br /&gt;
#If the users are hosted on NEOSYS server then they will use https link to access NEOSYS.&lt;br /&gt;
#*Check with the client&#039;s management if this particular IP is their public IP.&lt;br /&gt;
#*Add IP on management confirmation (Refer to [[Procedures#Handling_User_Requests_to_add_an_IP_or_range_of_IPs_to_access_NEOSYS|Handling User Rquests to add IP/IPs ]] ) &lt;br /&gt;
#If the users are hosted on Client server then they should use http link to access NEOSYS.&lt;br /&gt;
&lt;br /&gt;
== Handling damaged files ==&lt;br /&gt;
&lt;br /&gt;
[[Handling damaged files]]&lt;br /&gt;
&lt;br /&gt;
=== Checking for corrupt database files ===&lt;br /&gt;
Login to NEOSYS Maintenance. This can be done when users are online.&lt;br /&gt;
&lt;br /&gt;
Press F5&lt;br /&gt;
&lt;br /&gt;
 CHK.FILES&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
 CHK.FILES filename&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Sizelock while performing chk.files &#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Fixing sizelock errors should not be done while other users are online to the same database.&lt;br /&gt;
&lt;br /&gt;
Sizelock errors are not critical and will be fixed automatically during the nightly backup.&lt;br /&gt;
&lt;br /&gt;
Sizelock errors occur if a program or process that is selecting records from a file is aborted in some abnormal way.&lt;br /&gt;
&lt;br /&gt;
Error message:&lt;br /&gt;
&lt;br /&gt;
 These Files/Tables have a Sizelock Value of 2 or greater. &lt;br /&gt;
 Tag/Select the Files/Tables to be Fixed.&lt;br /&gt;
 Press F9 to fix selected files&lt;br /&gt;
&lt;br /&gt;
Press F9 to proceed with fixing the selected files or press ESC to continue with chk.files without fixing sizelock as it gets automatically fixed during the nightly backup. &lt;br /&gt;
&lt;br /&gt;
Refer to the [http://techwiki.neosys.com/index.php/Backup_and_Restore#Error_Message:_Size_Lock Sizelock errors in backup emails] for more information.&lt;br /&gt;
&lt;br /&gt;
[[file:sizelock.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Determining Database File Name from Operating System File Name ===&lt;br /&gt;
&lt;br /&gt;
To assess the potential damage and possible remedial measures you need to know the database file name. If the message only refers to the operating system file name you need to follow this procedure to determine the database file name.&lt;br /&gt;
&lt;br /&gt;
Once you have the database file name you can use CHK.FILES XXXXXXX to check if corrupt or not and various other procedures to fix the corruption.&lt;br /&gt;
&lt;br /&gt;
Remember that fixing the corrupt data does not solve the overall problem. The *cause* of the corruption must be identified and eliminated otherwise the problem may reoccur and in a more serious form perhaps with unrecoverable loss of data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╒═══════════════════════════════════TCL - 2══════════════════════════════════╕&lt;br /&gt;
│                                                                            │&lt;br /&gt;
│ :list FILES WITH ALL CONTAINING &#039;REV76481&#039;                                 │&lt;br /&gt;
│                                                                            │&lt;br /&gt;
╘════════════════════════════════════════════════════════════════════════════╛&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:DBfilenamefromOSfilename.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Finding out when and by whom a record was deleted ==&lt;br /&gt;
&lt;br /&gt;
In most cases, NEOSYS does not allow users to delete records and instead keeps a record of everything. In some cases however, things are deleted and the only way to get full details about the deletion is to search the logs. This is cumbersome, but there is a quick way to find out when, and by whom, a record was deleted. Prior to NEOSYS software versions dated Mar 2014, and deletions done before the same date, this procedure will only tell you when the record was deleted - but not who deleted it. Knowing exactly when it was deleted will nevertheless help you to search the logs for full details.&lt;br /&gt;
&lt;br /&gt;
In maintenance mode F5&lt;br /&gt;
&lt;br /&gt;
 ED SHADOW DELETED*filename*key&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 ED SHADOW DELETED*BATCHES*L*JOU*2*U&lt;br /&gt;
&lt;br /&gt;
Journals are stored in the BATCHES file. The key of an unposted batch is x*y*999*U where x is the company code, y is the journal type code, 999 is UNPOSTED batch number and U is just U to indicate unposted batches. Note that unposted batches are normally deleted at the time they are posted - ie converted to posted batches.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔══════════════════════════┤DELETED*BATCHES*L*JOU*2*U├═════════════════════════╗&lt;br /&gt;
║16831.60706                                                                   ║&lt;br /&gt;
║BRUCEL                                                                        ║&lt;br /&gt;
║╒═══════════════════════════════════TCL - 6══════════════════════════════════╕║&lt;br /&gt;
║│                                                                            │║&lt;br /&gt;
║│ :EVAL PRINT 16831.60706 &#039;[DATETIME]&#039;                                       │║&lt;br /&gt;
║│                                                                            │║&lt;br /&gt;
║╘════════════════════════════════════════════════════════════════════════════╛║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you see the number (in this case 16831.60706) you can convert it to a time and date by typing something like&lt;br /&gt;
&lt;br /&gt;
 PRINT 16831.60706 &#039;[DATETIME]&#039;&lt;br /&gt;
&lt;br /&gt;
Using this date and time you can search the logs more effectively to find out who did the deletion and in what circumstances.&lt;br /&gt;
&lt;br /&gt;
== Assessing Database Size per File ==&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
 &lt;br /&gt;
 LIST FILES BY BY-DSND SIZE VOLUME.NAME SIZE&lt;br /&gt;
 &lt;br /&gt;
This will include all files not just those in the actual dataset in DATA\* folders.&lt;br /&gt;
&lt;br /&gt;
== Fixing slow speed ==&lt;br /&gt;
=== [[Benchmarking NEOSYS]] ===&lt;br /&gt;
=== Investigating CPU 100% using Windows Task Manager ===&lt;br /&gt;
Email, to support, a screen-shot of task manager APPLICATIONS, PROCESSES and PERFORMANCE screens MAXIMIZED TO SHOW AS MUCH AS POSSIBLE. &lt;br /&gt;
&lt;br /&gt;
(Sort the processes to show ntvdm, waiting.exe and high cpu% processes clearly)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steps:&#039;&#039;&#039;&lt;br /&gt;
#Right Click on Windows Taskbar and click on Start Task Manager &amp;lt;br&amp;gt; [[image:starttaskmanager.jpg]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
#Click on Processes and then click on CPU &amp;lt;br&amp;gt;&#039;&#039;&#039;Note - The HIGH cpu% processes which should usually be the &amp;quot;process&amp;quot; called &amp;quot;System Idle Process&amp;quot; &#039;&#039;&#039;&amp;lt;br&amp;gt;[[image:cpu100percent1.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Click on the Performance Tab &amp;lt;br&amp;gt; &#039;&#039;&#039;Note - PF Usage should typically be much less than Physical Memory otherwise there is insufficient real memory in the server to handle the load&#039;&#039;&#039; &amp;lt;br&amp;gt; [[image:cpu100percent3.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Click on Application Tab then Right Click on a NEOSYS Process and Click on Bring to Front &amp;lt;br&amp;gt;&#039;&#039;&#039;See what the NEOSYS Process is doing &amp;lt;br&amp;gt; [[image:cpu100percent2.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Right Click on a NEOSYS Process and Click on Go to Processes &amp;lt;br&amp;gt;&#039;&#039;&#039;Note the cpu% ntvdm process &amp;lt;br&amp;gt;[[image:cpu100percent2_2.jpg]]&amp;lt;br&amp;gt;  &lt;br /&gt;
#Normally NEOSYS application screens say &amp;quot;LISTENING&amp;quot; in the bottom line and those applications should have very low cpu%&amp;lt;br&amp;gt;[[image:normalneosysprocess.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Look at the difference between the screen of running NEOSYS processes (applications actually) which are idle (listening for requests) and active (processing a request from a user)&lt;br /&gt;
#Note the number of cpus or cpu threads in the server from the performance screen graphics&amp;lt;br&amp;gt;[[image:performance-taskmgr-cputhread.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Take screen-shots of any and ALL hung or long running processes (NEOSYS application screens) and email them to support. Even small details on the screens and user names, the user names may give clues to what problem caused the hanging.A Typical Hung NEOSYS process will look like this: &amp;lt;br&amp;gt; [[image:hungneosysprocess.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
#Once all hung/long processes are closed then CPU should be low and not near 100%. If it is still 100% then check all high cpu% processes and send a screen-shot of processes sorted to show the high cpu% process names to support.&lt;br /&gt;
&lt;br /&gt;
=== Solving server CPU% is 100 and all users are extremely slow/stopped ===&lt;br /&gt;
&lt;br /&gt;
Get the screenshots of Task Manager and ALL processes on the server, the objective is to assess the true issue. No need to get the screens not in use obviously but you can send a parallel screen shot for them if you want to be pedantic or even a comment will do.&lt;br /&gt;
&lt;br /&gt;
==== Too few CPUs/threads for the number of users ====&lt;br /&gt;
In Windows task manager normally, you should see one ntvdm.exe and one waiting.exe process per NEOSYS process (application). A standard installation has three NEOSYS processes per main database and plus one per test database. This is configured in Support Menu, Configuration File.&lt;br /&gt;
&lt;br /&gt;
If there are MORE ntvdm processes than you expect from the configuration file, then perhaps NEOSYS is auto starting new NEOSYS processes to try and cater for a high number of concurrent users.&lt;br /&gt;
&lt;br /&gt;
If the number of concurrent NEOSYS processes significantly exceeds the number of cpus/hyperthreads available in the server then processing for everybody can become so slow for everybody and almost no work gets done.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Stop NEOSYS creating new NEOSYS processes automatically. Create a text file with the first and only line as AUTOSTART=NO in the neosys\neosys folder something like this.&lt;br /&gt;
&lt;br /&gt;
notepad d:\neosys\neosys\NET.CFG&lt;br /&gt;
&lt;br /&gt;
AUTOSTART=NO&lt;br /&gt;
&lt;br /&gt;
== How do I troubleshoot email not received? ==&lt;br /&gt;
&lt;br /&gt;
[[Troubleshooting email not received]]&lt;br /&gt;
&lt;br /&gt;
== Fixing permissions errors while logging in ==&lt;br /&gt;
 &lt;br /&gt;
=== Problem ===&lt;br /&gt;
 &lt;br /&gt;
While logging in, you get the following error message:&lt;br /&gt;
[[Image:login_error_message.jpg]]&lt;br /&gt;
 &lt;br /&gt;
=== Solution ===&lt;br /&gt;
 &lt;br /&gt;
Add the internet guest account to the security list of the data folder with the default permission of list/read/write&lt;br /&gt;
 &lt;br /&gt;
Make sure the read&amp;amp;execute permission is removed&lt;br /&gt;
[[Image:permissions_on_data.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fixing the &#039;HTTP Error 500.0 - Internal Server Error&#039; while logging in on IE on a Windows Vista system ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
After configuring IIS on Windows Vista you will get this error message while trying to login into NEOSYS from Internet Explorer:&lt;br /&gt;
&lt;br /&gt;
 HTTP Error 500.0 - Internal Server Error&lt;br /&gt;
 Description: This application is running in an application pool that uses the Integrated .NET  &lt;br /&gt;
 mode. This is the preferred mode for running ASP.NET applications on the current and future &lt;br /&gt;
 version of IIS.&lt;br /&gt;
 &lt;br /&gt;
 In this mode, the application using client impersonation configured with &amp;lt;identity &lt;br /&gt;
 impersonate=&amp;quot;true&amp;quot; /&amp;gt; may not behave correctly. Client impersonation is not available in early &lt;br /&gt;
 ASP.NET request processing stages and may lead modules in those stages to execute with process &lt;br /&gt;
 identity instead.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
You can move the application to an application pool that uses the Classic .NET mode by using the following from a command line window (the window must be running as Administrator) &lt;br /&gt;
&lt;br /&gt;
 %systemroot%\system32\inetsrv\APPCMD.EXE set app &amp;quot;Default Web Site/neosys&amp;quot; /applicationPool:&amp;quot;Classic .NET AppPool&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can use any other application pool on your system that is running in the Classic .NET mode. You can also use the IIS Administration tool to move this application to another application pool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fixing the &#039;Class Not Registered&#039; error message while logging in ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
While logging into NEOSYS, you will get a popup window giving an error message saying &#039;Class Not Registered - Server Error&#039;. Typically, you will encounter this error with XP Pro IIS 5.1. As usual, there&#039;s way to solve it, however the root cause of this is still unknown.&lt;br /&gt;
&lt;br /&gt;
Anyway, you will get the proper message in the event log:&lt;br /&gt;
&lt;br /&gt;
 Event Type: Warning&lt;br /&gt;
 Event Source: W3SVC&lt;br /&gt;
 Event Category: None&lt;br /&gt;
 Event ID: 36&lt;br /&gt;
 Description: The server failed to load application &#039;/LM/W3SVC/1/ROOT/NEOSYS.&lt;br /&gt;
 The error was &#039;Class not registered&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
So, what do you do ? This problem is related to Component Services, and when you open Component Services MMC, you will most probably  get  Error Code 8004E00F COM + was unable to talk to Microsoft Distributed Transaction Coordinator. So, fix the COM+ services first by using the following KB from Microsoft (PRB: Cannot Expand &amp;quot;My Computer&amp;quot; in Component Services MMC Snap-In http://support.microsoft.com/?id=301919):&lt;br /&gt;
&lt;br /&gt;
To resolve this problem, reinstall Component Services as follows: WARNING: &lt;br /&gt;
# Open registry editor, locate HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3, and then delete this key.  &lt;br /&gt;
# From the Start menu, point to Settings, click Control Panel, and then click Add/Remove Programs.  &lt;br /&gt;
# Click Add/Remove Windows Components. &lt;br /&gt;
# Proceed through the wizard, and accept all of the defaults (including IIS)&lt;br /&gt;
# Restart the computer.&lt;br /&gt;
&lt;br /&gt;
If the above didn&#039;t solve it, and you still receive the &#039;Class not registered&#039; error message, then you need to recreate the IIS packages in COM+, try&lt;br /&gt;
&lt;br /&gt;
# Delete IIS related package in Component Services MMC&lt;br /&gt;
# IIS In-Process Applications &lt;br /&gt;
# IIS Out-of-Process Pooled Applications &lt;br /&gt;
# IIS Utilities&lt;br /&gt;
&lt;br /&gt;
Next, if you still get the message, try following before re-install IIS if you can&#039;t find Distributed Transaction Coordinator in your Services console.&lt;br /&gt;
&lt;br /&gt;
Launch command prompt and run the following command.&lt;br /&gt;
# msdtc -install&lt;br /&gt;
# net start msdtc&lt;br /&gt;
&lt;br /&gt;
Then try re-install IIS.&lt;br /&gt;
&lt;br /&gt;
This should solve the problem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enabling File Security option on Win XP Professional ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
&lt;br /&gt;
In the Properties of any folders, the Security option does not show, hence you cannot modify the Read, Write options.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
The solution would be to untick the &#039;Simple File Sharing&#039; option from  Tools &amp;gt; Folder Options &amp;gt; View:&lt;br /&gt;
[[Image:simplefilesharingoff.jpg]]&lt;br /&gt;
&lt;br /&gt;
== %00%00%00%00 Errors ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SYSTEM ERROR in line 162. Amount &amp;quot;-2698.00AED&amp;quot; or base &amp;quot;%00%00%00%00&amp;quot; has been wrongly generated   &lt;br /&gt;
GET NEOSYS SUPPORT. DO NOT ATTEMPT TO CORRECT MANUALLY    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Solution ===&lt;br /&gt;
%00%00%00%00 indicates an internal error that NEOSYS programmer has to fix. It is usually random and can be hard to replicate unlike almost all other NEOSYS errors which usually replicate reliably once you find the cause.&lt;br /&gt;
&lt;br /&gt;
== B703 Errors ==&lt;br /&gt;
&lt;br /&gt;
The B703 error is usually always related to something too big for NEOSYS to handle. &lt;br /&gt;
&lt;br /&gt;
These are the only B errors that NEOSYS cant always permanently prevent by fixing the software.&lt;br /&gt;
&lt;br /&gt;
== Internet Explorer Menu, View, Text Size doesnt change font size as expected ==&lt;br /&gt;
&lt;br /&gt;
Cause: This is because the font size is now user definable in NEOSYS and View, Text Size does not override predefined font sizes.&lt;br /&gt;
&lt;br /&gt;
Solution: If you are using Internet Explorer 7 you can scale the screen (including the font size  using ctrl + and ctrl - keyboard shortcuts or the font size button on the bottom right hand side of the window. &lt;br /&gt;
&lt;br /&gt;
You can adjust the font size on the User Details form when you login although this permanently applies to all forms not just the one that you are on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uploaded jpg files fail to display in internet explorer ==&lt;br /&gt;
&lt;br /&gt;
Some large jpg files &amp;gt; 2Mb cannot be viewed in internet explorer despite being viewable in image preview, ms paint and other viewers/editors. It is not an issue caused by uploading or downloading the files.&lt;br /&gt;
&lt;br /&gt;
These file appear to have been created on Photoshop CS Macintosh and may be a special type of uncompressed jpg used for production quality files.&lt;br /&gt;
&lt;br /&gt;
=== Partial solution ===&lt;br /&gt;
Before uploading the files, open them in some editor like MS Paint (right click, edit) and save them. However this results in a loss of quality. Perhaps there is some program that can convert these files to a format understandable by Internet explorer without any loss of quality.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;This document is currently read only&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
The user attempting to modify this document does not have the authorization key to do so.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
Inform the user that he is not authorised to modify the document and give him the list of users within his company who are authorised to do so.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;You have attempted to write to a read-only file&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
=== Message ===&lt;br /&gt;
&lt;br /&gt;
Error while writing data.&lt;br /&gt;
You have attempted to write to a read-only file.&lt;br /&gt;
- or -&lt;br /&gt;
access to the file has been denied by the operating system.&lt;br /&gt;
(operating system file name: &amp;quot;..\DATA\ADLINEC\ADAGENCY\REV76467.OV00012618&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
It is almost certainly due to some third party backup or other maintenance software opening the NEOSYS database files when it shouldn&#039;t e.g. badly configured third party backup scheduled to backup NEOSYS while NEOSYS is still running. Note that the exact filename varies each time.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
This can be a serious error that causes damaged files in NEOSYS especially if the filename ends in .OV. Use the usual methods of checking for damaged files e.g. do a backup which also looks for damaged files BUT DO NOT OVERWRITE THE LATEST BACKUP SINCE IT MAY BE REQUIRED for restoration. Then fix the damaged files using the usual methods e.g. by rebuilding/using&lt;br /&gt;
FIXFILE or restoring databases. For more info check [[Handling damaged files|Handling damaged files]]&lt;br /&gt;
&lt;br /&gt;
=== Prevention ===&lt;br /&gt;
&lt;br /&gt;
Remove the third party backup or other maintenance software or reschedule it to run at a time that NEOSYS is shutdown. Removal of software may require hunting through the windows process list for unexpected programs running.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting Hung processes==&lt;br /&gt;
&lt;br /&gt;
=== Investigating hung NEOSYS processes ===&lt;br /&gt;
&lt;br /&gt;
To find out some information about what the hung processes are suffering from, do the following:&lt;br /&gt;
&lt;br /&gt;
When no important clients working (eg first thing in the morning) then request a shutdown of all NEOSYS processes. This should will leave only the hung processes open.&lt;br /&gt;
&lt;br /&gt;
Then find what NEOSYS files are open as follows:&lt;br /&gt;
&lt;br /&gt;
run Sysinternal&#039;s &amp;quot;Process Explorer&amp;quot; (from Start, Programs or procexp.exe from desktop)&lt;br /&gt;
&lt;br /&gt;
find, handle&lt;br /&gt;
&lt;br /&gt;
 d:\&lt;br /&gt;
&lt;br /&gt;
submit the complete list (maybe more than one page) to support for records&lt;br /&gt;
&lt;br /&gt;
[[Image:invhungprocess.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Troubleshooting_NEOSYS_Generally#Investigating_CPU_100.25_using_Windows_Task_Manager|Investigating CPU 100% using Windows Task Manager]]  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Troubleshooting_NEOSYS_Generally#Solving_server_CPU.25_is_100_and_all_users_are_extremely_slow.2Fstopped|Solving server CPU% is 100 and all users are extremely slow/stopped]] ===&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Fatal Error in Rev Restart&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
[[image:fatal.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Error message: “Abort, Retry, Fail” ===&lt;br /&gt;
==== Problem ====&lt;br /&gt;
The following messages may come on older versions of NEOSYS if there is a problem with the USB media inserted for backup.&lt;br /&gt;
&lt;br /&gt;
[[image:usberror.jpg]]&lt;br /&gt;
&lt;br /&gt;
This results in “NEOSYS has not checked in” message on Nagios since it hangs during the monitoring update and locks all other processes from monitoring too.&lt;br /&gt;
&lt;br /&gt;
General failure writing drive F&lt;br /&gt;
Abort, Retry, Fail?&lt;br /&gt;
&lt;br /&gt;
Not read reading drive F&lt;br /&gt;
Abort, Retry, Fail?&lt;br /&gt;
&lt;br /&gt;
Pressing A or F results in the problem happening again in about a minute, perhaps on a different process.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Temporary solution is to do “Safely remove hardware” from the windows notification area. Using “Eject” from My Computer will not work.&lt;br /&gt;
&lt;br /&gt;
Permanent solution is to replace the defective USB memory stick. Sometime reformatting is sufficient.&lt;br /&gt;
&lt;br /&gt;
Upgrading NEOSYS will probably stop the defective media from causing NEOSYS to hang but the USB will still be useless for backup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Read error in the operating system file&amp;quot; ===&lt;br /&gt;
==== Problem ====&lt;br /&gt;
Nagios reports a hung process and on the server a process has the following message popup.&lt;br /&gt;
&lt;br /&gt;
 Read error in the operating system file &amp;quot;..\DATA\PT0833\ACCOUNTS\REV20049&lt;br /&gt;
 The file does not exist or the filename is&lt;br /&gt;
 not valid for the operating system.&lt;br /&gt;
&lt;br /&gt;
[[Image:readerrorintheoperatingsystemfile.png]]&lt;br /&gt;
&lt;br /&gt;
==== Cause ====&lt;br /&gt;
Some non-NEOSYS program is directly accessing the NEOSYS database files while NEOSYS processes are running and using the files as well.&lt;br /&gt;
&lt;br /&gt;
*Client IT staff using a backup program to perform backup without ensuring that NEOSYS processes are shutdown.&lt;br /&gt;
*A NEOSYS rsync process taking longer than expected due to new USB.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Kill the NEOSYS process eg with the X button. It is advisable NOT to let it run further while it cannot properly access one of its files.&lt;br /&gt;
&lt;br /&gt;
==== Prevention ====&lt;br /&gt;
Remove the third party program or arrange for it to operate only while NEOSYS processes are shutdown eg from 3am-6am.&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Not enough string space - Out of Memory&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
==== Message ====&lt;br /&gt;
&lt;br /&gt;
‘RTP27’ Line 1. [B29] Not enough string space – Out of Memory.&lt;br /&gt;
&lt;br /&gt;
Not enough memory to execute Debugger; current program aborted.&lt;br /&gt;
Press any key to continue&lt;br /&gt;
&lt;br /&gt;
[[Image:out_of_memory.jpg]]&lt;br /&gt;
&lt;br /&gt;
==== Cause ====&lt;br /&gt;
Unknown perhaps related to some large document or report&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Ask users for any hanging transactions.&lt;br /&gt;
None other than closing and starting another process.&lt;br /&gt;
&lt;br /&gt;
Also refer [[Troubleshooting NEOSYS Generally#Enabling EMS memory on Window 2003|Enabling EMS memory on Window 2003]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: B521 ===&lt;br /&gt;
&lt;br /&gt;
[[Image:B521.jpg]] &lt;br /&gt;
&lt;br /&gt;
 Another user is currently updating indexes. &lt;br /&gt;
 Waiting to make your updates...&lt;br /&gt;
 If you interrupt this process,&lt;br /&gt;
 you may have to rebuild all the indexes&lt;br /&gt;
&lt;br /&gt;
B521 message is usually temporary and goes away by itself. If it does not then, as the text of the B521 message makes clear, some OTHER process is holding up the system, preventing the process with B521 message from continuing.&lt;br /&gt;
&lt;br /&gt;
B521 message is a symptom of other problem so it does not itself have some one simple solution. You must find which other process or issue is causing the hold up and solve whatever problem is causing the hold up, which could be anything.&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot; NTVDM encountered a hard error &amp;quot;  ===&lt;br /&gt;
&lt;br /&gt;
The following error message appears:&lt;br /&gt;
&lt;br /&gt;
[[Image:ntvdm.jpg]]&lt;br /&gt;
&lt;br /&gt;
 NTVDM encountered a hard error&lt;br /&gt;
&lt;br /&gt;
==== Solution  ====&lt;br /&gt;
 &lt;br /&gt;
This error is caused by missing or corrupt Windows system files (i.e. command.com, autoexec.nt and config.nt). The solution is to run a program called XP FIX which will reinstall these missing files. You can download it form http://www.visualtour.com/downloads/xp_fix.exe&lt;br /&gt;
&lt;br /&gt;
Sometimes even after running the XP FIX program the error still appears. Then you need to copy all the files under C:/windows/repair to C:/windows/system32 and in the autoexec.nt and config.nt put REM before any lines there which don&#039;t have it.&lt;br /&gt;
&lt;br /&gt;
====Possible fix for some NTVDM errors ====&lt;br /&gt;
&lt;br /&gt;
===== Error message ===== &lt;br /&gt;
&lt;br /&gt;
[[Image:Ntvdm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
 NTVDM has encountered a System error.&lt;br /&gt;
 The system cannot find the file specified.&lt;br /&gt;
 Choose close to terminate the application.&lt;br /&gt;
&lt;br /&gt;
=====Possible solution===== &lt;br /&gt;
&lt;br /&gt;
#Change the TEMP and TMP environment variables to C:\WINDOWS\TEMP. This should be for the user that runs NEOSYS processes - normally administrator.&lt;br /&gt;
#Close all NEOSYS processes &lt;br /&gt;
#Logout/Login again&lt;br /&gt;
#Restart NEOSYS processes&lt;br /&gt;
&lt;br /&gt;
[[image:Ntvdmsoln.png]]&lt;br /&gt;
&lt;br /&gt;
===== Check solution done properly ===== &lt;br /&gt;
&lt;br /&gt;
You can check that by typing ECHO %TEMP% and ECHO %TMP% at a console prompt after logging out and in again. &lt;br /&gt;
&lt;br /&gt;
Note that windows will actually set the windows environment variables to something like C:\WINDOWS\TEMP\2 for some unknown reason. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
d:\hosts&amp;gt;ECHO %temp% &lt;br /&gt;
C:\WINDOWS\TEMP\2 &lt;br /&gt;
&lt;br /&gt;
d:\hosts&amp;gt;ECHO %tmp% &lt;br /&gt;
C:\WINDOWS\TEMP\2 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Error message: [[Troubleshooting_NEOSYS_Generally#Troubleshooting_the_.22Database_not_available.22_error_message|&amp;quot;Database not available&amp;quot; post login]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: [[Backup_and_Restore#Error_Message:_.22Cannot_backup.2Frestore_because_PROCESS1_PROCESS2_.28etc.29_is.2Fare_online.22_message|&amp;quot;Cannot backup/restore because PROCESS1 PROCESS2 (etc) is/are online&amp;quot;]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How to kill hung NEOSYS processes ===&lt;br /&gt;
 &lt;br /&gt;
NOTE WELL: If you kill actively working NEOSYS processes (those which are &amp;quot;listening&amp;quot; and not hung/crashed) there is a reasonable chance that the database will be damaged and might need a restore losing possibly large amounts of work.&lt;br /&gt;
 &lt;br /&gt;
==== If NEOSYS processes are visible on the server desktop ====&lt;br /&gt;
 &lt;br /&gt;
Look for processes which don&#039;t have &amp;quot;Listening ...&amp;quot; on the last but one line. The times on the left hand side are frozen as at the time of the hang.&lt;br /&gt;
 &lt;br /&gt;
You can then click the X to kill the process and confirm that this is OK.&lt;br /&gt;
 &lt;br /&gt;
Example of a NEOSYS process that has hung due to a software error resulting in a failure to handle a complex query with a lot of brand codes.&lt;br /&gt;
&lt;br /&gt;
[[Image:hungprocess.jpg]]&lt;br /&gt;
 &lt;br /&gt;
==== If NEOSYS processes are not visible on the server desktop ====&lt;br /&gt;
&lt;br /&gt;
NEOSYS processes are most of the time visible on the desktop (i.e. the black dos windows) in Windows 2003 OS, except in the case that the process has been scheduled to start on computer restart and no one has logged into the server. In this case it would be running in the background. TODO&lt;br /&gt;
&lt;br /&gt;
You can check if there are any hung processes from the NEOSYS Support Menu, List of Database Processes. &lt;br /&gt;
[[Image:databaseprocesseslist.jpg]]&lt;br /&gt;
&lt;br /&gt;
In this case you should follow the below instructions - however all of them need to be done within 30 seconds of starting the first instruction to avoid inconvenience to the users. It is recommend that you keep relevant windows open before proceeding with the same:&lt;br /&gt;
&lt;br /&gt;
#Shutdown NEOSYS by TEMPORARILY putting a file called GLOBAL.END in the parent directory of NEOSYS (if there is already a GLOBAL.END.TEMP file then rename it to GLOBAL.END). Leaving the file there would prevent NEOSYS from starting up again. Shutting down NEOSYS from the Support menu will not work because of the hung processes.&lt;br /&gt;
#Use Windows Task Manager to kill all the NTVDM processes - assuming that you have closed all the visible NEOSYS processes, then the NTVDM processes in the task manager would be the hung one.&lt;br /&gt;
#Delete GLOBAL.END or rename it to GLOBAL.END.TEMP&lt;br /&gt;
#Restart the processes back again. If there are many datasets then you need to restart them all well within the 30 seconds period.&lt;br /&gt;
#*Restarting a process is not noticed by users.&lt;br /&gt;
&lt;br /&gt;
In case of Patsalides, where we have a thousand datasets which start &amp;quot;on demand&amp;quot; i.e. usually on login; all you need to do is start one dataset which will restart all the other datasets &amp;quot;on demand&amp;quot;. If there is no response within 30 seconds then one of the running datasets will start it up so there appears to be a 30 second delay when you login to one of the thousand datasets the first time on any one day.&lt;br /&gt;
&lt;br /&gt;
=== Temporary workarounds for hung NEOSYS processes ===&lt;br /&gt;
Until the error in the software is fixed users can often get their results by simplifying their requirements. For example select individual clients instead of selecting all the brands for a particular client. If the user has repeated his request (in forlorn hope that it would work finally) then the number of working NEOSYS processes will drop causing severe slowdown for other users and complete stop if all the NEOSYS processes hang.&lt;br /&gt;
&lt;br /&gt;
== Fixing &amp;quot; You do not have sufficient privilege to access this file &amp;quot;  ==&lt;br /&gt;
&lt;br /&gt;
This error message may come up while NEOSYS process startup.&lt;br /&gt;
&lt;br /&gt;
Solution: Close the window and look for NEOSYS processes. In case there is no process, start the NEOSYS process.&lt;br /&gt;
&lt;br /&gt;
[[image:Errormsg.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing &#039;NEOSYS process which opens up in a notepad instead of Microsoft Windows Based Script Host (i.e. DOS window)&#039;==&lt;br /&gt;
&lt;br /&gt;
The NEOSYS process (cmd file) might open up in a notepad, instead of the usual black colour DOS window. This may happen if a JavaScript file is opened using a notepad. Please be very CAREFUL when accessing a .JS and .JSE file and double check that the default program remains wscript.exe. The issue can be fixed by the following:&lt;br /&gt;
&lt;br /&gt;
# Check if Windows Script 5.6/5.7 is installed, IF NOT download and install it from the Microsoft Website.&lt;br /&gt;
# Go to any folder, click on Tools &amp;gt; Folder Options &amp;gt; File Types and find the .JS and .JSE and change the default program to wscript.exe (from windows&amp;gt;system32)&lt;br /&gt;
&lt;br /&gt;
== Fixing a &#039;Could not start&#039; error on Scheduled Tasks in Windows Server 2000 SP4 ==&lt;br /&gt;
&lt;br /&gt;
This error occurs because of a change that is made to the data that is stored in the credentials database when you install Windows 2000 SP4. Hence installing SP4 causes the the data that is stored in the credentials database to get converted to an SP4-compatible format. A registry key is configured to indicate that the data has been converted to the SP4 format.&lt;br /&gt;
&lt;br /&gt;
Hence the Scheduled Tasks do not work sometimes. However the Scheduled Tasks works fine sometimes, but when you uninstall SP4, it does not work.&lt;br /&gt;
&lt;br /&gt;
The best solution is to:&lt;br /&gt;
&lt;br /&gt;
# Incase Scheduled Tasks do not work after installing SP4, then uninstall SP4 and it should be fine.&lt;br /&gt;
# Incase Scheduled Tasks works after installing SP4, and later after uninstalling SP4, it does not work, then install SP4 and it should be fine.&lt;br /&gt;
&lt;br /&gt;
== Checking for server or NEOSYS crashes ==&lt;br /&gt;
 &lt;br /&gt;
#NEOSYS Maintenance Mode&lt;br /&gt;
#General Menu, Setup, Processes&lt;br /&gt;
#Select the dates and the option Detailed&lt;br /&gt;
 &lt;br /&gt;
This report shows a list of dates and times that NEOSYS logged in but did not log out properly.&lt;br /&gt;
 &lt;br /&gt;
Ignore the very latest entries since they represent the current NEOSYS processes. For example, if you have four NEOSYS processes running at the time that you get the report (including any in maintenance mode) then you can ignore the last four entries.&lt;br /&gt;
 &lt;br /&gt;
The date and time shows for each process that has failed to shutdown correctly when the process logged in. Versions of NEOSYS from January 2008 will also show the date and time that each crashed NEOSYS process was last active (heartbeat) so that the time of failure can be known.&lt;br /&gt;
 &lt;br /&gt;
If you see a bunch of NEOSYS processes all started up at around the same time but all failed to shutdown correctly then the cause will be a server failure - usually power failure.&lt;br /&gt;
 &lt;br /&gt;
Isolated one-off failures will be related to individual NEOSYS process crashes - most commonly caused by one of the following:&lt;br /&gt;
 &lt;br /&gt;
#NEOSYS hanging to due to software failure&lt;br /&gt;
#Manually exiting a NEOSYS process on the server either by pressing Ctrl+Alt+Del or clicking the &amp;quot;X&amp;quot; close icon/box and ignoring the warning&lt;br /&gt;
#Random server failures eg memory, disk etc&lt;br /&gt;
 &lt;br /&gt;
Example:&lt;br /&gt;
 &lt;br /&gt;
 LOGIN 22/12/2007 06:02 NEOSYS SERVER ADAGENCY         Current workstation &lt;br /&gt;
 LOGIN 23/12/2007 06:00 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 06:01 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 06:02 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:52 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:52 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:53 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:00 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:01 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:02 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 13:51 NEOSYS SERVER NEOSYS         Current user session  &lt;br /&gt;
&lt;br /&gt;
Interpretation:&lt;br /&gt;
 &lt;br /&gt;
The first four entries indicate that all four NEOSYS processes started at 06am were suddenly killed probably by power failure&lt;br /&gt;
 &lt;br /&gt;
The next four entries indicate that NEOSYS was restarted at around 08:52 and all these processes were AGAIN killed probably by power failure&lt;br /&gt;
 &lt;br /&gt;
The last four entries can be ignored because there were four NEOSYS processes running at the time that the report was generated&lt;br /&gt;
&lt;br /&gt;
== Searching for word/number in the database files using maintenance mode ==&lt;br /&gt;
&lt;br /&gt;
You can search for any word/number in the database files of NEOSYS, using the following command line:&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 FIND FILENAME WORDWITHOUTANYSPACES&lt;br /&gt;
 &lt;br /&gt;
 For eg:&lt;br /&gt;
 FIND CURRENCIES 1.1&lt;br /&gt;
 (here you are searching for the number 1.1 in the currencies file) You CANNOT search for a phrase ie include spaces like this.&lt;br /&gt;
 &lt;br /&gt;
 Or you can also type:&lt;br /&gt;
 FIND FILENAME &amp;lt;enter&amp;gt;&lt;br /&gt;
 and it will ask you what you want do to search. You can enter an exact phrase with spaces.&lt;br /&gt;
&lt;br /&gt;
Incase you do not know the filenames, you can enter the following command to see all the filenames in the system:&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 LF&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting a Service Unavailable message on Internet Explorer when opening up NEOSYS ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&lt;br /&gt;
The following error message appears in Internet Explorer when you try to open up NEOSYS:&lt;br /&gt;
&lt;br /&gt;
 Service Unavailable&lt;br /&gt;
&lt;br /&gt;
=== Solution  ===&lt;br /&gt;
 &lt;br /&gt;
Open the IIS Manager, right click Web Sites and select properties:&lt;br /&gt;
[[Image:serviceunavailable1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Switch to the Service Tab and tick the &amp;quot;Run WWW Service in IIS 5.0 Isolation Mode&amp;quot;.&lt;br /&gt;
[[Image:serviceunavailable2.jpg]]&lt;br /&gt;
&lt;br /&gt;
You will be asked for Restart of IIS. Click yes to restart IIS. If you are not asked just restart IIS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Inspecting IIS log files ==&lt;br /&gt;
&lt;br /&gt;
At a windows command prompt:&lt;br /&gt;
&lt;br /&gt;
 c:&lt;br /&gt;
 cd \Windows\system32\LogFiles\W3SVC1&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 %SystemDrive%&lt;br /&gt;
 cd %SystemRoot%&lt;br /&gt;
 cd system32\LogFiles\W3SVC1&lt;br /&gt;
&lt;br /&gt;
then (substituting the ip number you are interested in)&lt;br /&gt;
&lt;br /&gt;
 find &amp;quot;192.168.1.55&amp;quot; *|sort&amp;gt;temp.log&lt;br /&gt;
&lt;br /&gt;
Open temp.log in Excel and use Tools, Data, Text to Columns to split into columns using options &amp;quot;Delimited&amp;quot; and check split on Space.&lt;br /&gt;
&lt;br /&gt;
Autowidth all columns by clicking on the top left box just outside the data to the left of column A and above column 1 then double click the column separator to the right of column &amp;quot;A&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note that times and dates are in UTC/GMT so you have to add/subtract your timezone offset to get local times.&lt;br /&gt;
&lt;br /&gt;
==Inspecting Database LOGS Folder==&lt;br /&gt;
LOGS folder in NEOSYS installation folder carries records of all changes done in the database which includes adding and removal of data.&lt;br /&gt;
&lt;br /&gt;
Log file is an XML document which should be viewed in Notepad. Each XML document represents commands executed by each NEOSYS process started each day.&lt;br /&gt;
&lt;br /&gt;
The NEOSYS log files e.g. 15123103.xml are created by the database processes. If the database is not available according to the website then no entry will appear in that log. The request will appear in the IIS website log but that log is nothing to do with database processes.&lt;br /&gt;
&lt;br /&gt;
=== Understanding Log Entries ===&lt;br /&gt;
Inspecting and searching through Logs file allows NEOSYS staff to answer clients queries like &amp;quot;Who deleted schedule XXXX&amp;quot; etc.&lt;br /&gt;
&lt;br /&gt;
While going through the log file you may come across a request &amp;quot;EXECUTE GENERAL GETTASKS NOT&amp;quot;, this request is concerned with getting a list of tasks that the user is *not* allowed to do.&lt;br /&gt;
&lt;br /&gt;
To read and understand the log file with more ease, copy the portion of the log file required to be analyzed into another text editor.&lt;br /&gt;
&lt;br /&gt;
The text that appears as %FE, %FE1, %FE2, etc. are basically separators.&lt;br /&gt;
*First replace FE0%, FE1%, FE2%, etc. with a separator like &amp;quot;--&amp;quot;. There can be occurrences of &amp;quot;%FE&amp;quot; along with some valuable information like &amp;quot;17290&amp;quot;, so replacing &amp;quot;%FE1&amp;quot; in &amp;quot;%FE17290&amp;quot; would lead to loss of information.&lt;br /&gt;
*Then replace %FE with a bigger separator like &amp;quot;===&amp;quot;.&lt;br /&gt;
*Replace other entries like %FCB and then %FC and so on with similar separators.&lt;br /&gt;
*In the end there may be few &amp;quot;FE&amp;quot; remaining, replace these with a separator like &amp;quot;-&amp;quot;.&lt;br /&gt;
*The remaining &amp;quot;%&amp;quot; characters MUST be intelligently replaced with a separator like &amp;quot; &amp;quot; (space), because it can either be an actual &amp;quot;%&amp;quot; or it can be a residue from &amp;quot;%FE&amp;quot;, &amp;quot;%FE1&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
Once replacing all these characters is done, the log file will be more easily readable and vital information will be clearer. &lt;br /&gt;
&lt;br /&gt;
In the log file, you may find numbers like 17290, 17195, etc. These numbers denote dates selected or entered by the NEOSYS user. These are basically the number of days from 31st December 1967 till the date chosen by the user. For example, to convert 17290 to actual date, 31/12/1967 + 17290 = 3/5/2015. So the actual date is 3rd May 2015.&lt;br /&gt;
&lt;br /&gt;
To convert these numbers to dates using maintenance mode, refer to the article [http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Finding_out_when_and_by_whom_a_record_was_deleted Finding out when and by whom a record was deleted]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:NEOSYS Logs.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing NEOSYS processes that do not auto start / Recovering from incorrect advanced date or time ==&lt;br /&gt;
This solution is applicable to live database processes only. Test database processes don’t auto-start any other processes.&lt;br /&gt;
&lt;br /&gt;
=== Problem explained ===&lt;br /&gt;
After starting up the 1st process, the rest of the processes don&#039;t start up.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
The possible cause for this could be that the system date/time might have been changed - either manually or by the auto synchronization. Do the following checks in the sequence of order:&lt;br /&gt;
&lt;br /&gt;
# Check for any *.$* files (* after dollar sign should show a number, the highest being the latest one). If it shows OK, then proceed ahead.&lt;br /&gt;
# Check for any .end files and delete it to rename to .end.temp&lt;br /&gt;
# Check the System Event Viewer log for any 520 or 577 error message (refer http://128.175.24.251/forensics/timechange.htm). Also check for any out of sequence / ahead of today date or time.&lt;br /&gt;
# In case of no 520 or 577 error message, go to Administrative Tools &amp;gt; Local Security Policy &amp;gt; Local Policies &amp;gt; Audit Policy &amp;gt; Audit Privilege use - make sure that Success and Failure are selected under this (this will ensure that future changes to the date/time are recorded in the System Log).&lt;br /&gt;
# In NEOSYS maintenance mode - F5 ED PROCESSES %UPDATE% - and see what it says, incase of any text (only text, not numbers) there, that means that for sure the system date has been changed. To fix this, exit the editor by pressing the ESCAPE key and then type DELETE PROCESSES &amp;quot;%UPDATE%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Fixing NEOSYS maintenance mode not starting up == &lt;br /&gt;
&lt;br /&gt;
Problem :- While trying to start maintenance mode, the maintenance window closes automatically within a split second.&lt;br /&gt;
&lt;br /&gt;
Solution :- Delete the read-only file REVBOOT file (under d:/neosys/neosys folder). REVBOOT file is recreated when you start maintenance mode.&lt;br /&gt;
&lt;br /&gt;
== Recognising and Solving Low Memory Problems ==&lt;br /&gt;
&lt;br /&gt;
Quick Note: Installing a server class operating system on a workstation class computer with the intention of NEOSYS serving a heavy load is likely to cause problems with low memory.&lt;br /&gt;
&lt;br /&gt;
Quick Fix: Disable *ALL* non-essential features in the power-on setup menu.&lt;br /&gt;
&lt;br /&gt;
=== Effects ===&lt;br /&gt;
&lt;br /&gt;
It is speculated but not proven that low memory may cause NEOSYS to fail by hanging, causing damaged files etc.&lt;br /&gt;
&lt;br /&gt;
=== Checking ===&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 MEMORY&lt;br /&gt;
&lt;br /&gt;
On server class machines it should say somewhere around 350Kb to 370Kb Free&lt;br /&gt;
&lt;br /&gt;
Some server class machines have around 330Kb and sometimes even less with no reported problems&lt;br /&gt;
&lt;br /&gt;
The actual effect of low memory is supposed to make NEOSYS slower and perhaps cause hanging and damaged files however this has not been proven in an specific case so far.&lt;br /&gt;
&lt;br /&gt;
On workstation class machines it may often say around 280Kb to 300Kb.&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
Although there is plenty of real memory in virtually all computers now, NEOSYS runs in the legacy 16 bit virtual memory space of a windows mode called NTVDM. This is limited to 1Mb plus 4Mb of EMS memory.&lt;br /&gt;
&lt;br /&gt;
The 1Mb memory space is shared with:&lt;br /&gt;
&lt;br /&gt;
#Various non-essential windows drivers which NEOSYS automatically disables them in autoexec.nt&lt;br /&gt;
#Various plug and play hardware device drivers for the various adapters in the computer like video, network adapters and various other items that NEOSYS is unable to disable.&lt;br /&gt;
&lt;br /&gt;
In a server class computer the hardware device drivers are usually minimally present in the 1Mb base memory and do not therefore DOESNT a low memory situation for NEOSYS.&lt;br /&gt;
&lt;br /&gt;
In workstation class computers there are often many hardware device drivers present in the 1Mb base memory and this DOES causes a low memory situation for NEOSYS.&lt;br /&gt;
&lt;br /&gt;
When NEOSYS is installed on workstation class computers with XP there is usually not a heavy load expectation and therefore the low memory does not cause a problem.&lt;br /&gt;
&lt;br /&gt;
If Windows Server OS is installed on a workstation class computer NEOSYS may well be expected to serve a heavy load with limited amounts of memory.&lt;br /&gt;
&lt;br /&gt;
Workstation class computers: hardware drivers present and EMS is installed in low memory (0000-9FFF) causing low memory for NEOSYS and possible inability to &lt;br /&gt;
&lt;br /&gt;
Server class computers: Usually few hardware drivers are present in high part (A000-FFFF) of the 1Mb base memory and EMS is able to occupy the high memory leaving the low part (0000-9FFFF) of the 1Mb memory free for NEOSYS. You can find out how much memory is available to NEOSYS and whether EMS is occuping high or low memory using the following sections.&lt;br /&gt;
&lt;br /&gt;
=== Fixing Low Memory ===&lt;br /&gt;
&lt;br /&gt;
Start, Run, notepad c:\windows\system32\autoexec.nt&lt;br /&gt;
&lt;br /&gt;
Every time NEOSYS starts it tries to make some changes as follow:&lt;br /&gt;
&lt;br /&gt;
#replaces all lines in C:/WINDOWS/SYSTEM32/AUTOEXEC.NT starting with &#039;lh &#039; to start with &#039;rem NEOSYS LH &#039; instead.&lt;br /&gt;
#changes the line in C:/WINDOWS/SYSTEM32/CONFIG.NT &amp;quot;files=...&amp;quot; to &amp;quot;FILES=200&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The replacement is case sensitive triggered on &#039;lh&#039; and &#039;files&#039; so if you manually edit the files and remove the rem or change the number of files and leave the LH and FILES in uppercase then NEOSYS will NOT make further changes. This allows you to do manual amendments to the files without NEOSYS overwriting them.&lt;br /&gt;
&lt;br /&gt;
Check that NEOSYS has successfully disabled all the drivers in the lines starting with LH.&lt;br /&gt;
&lt;br /&gt;
They should be commented out (prefixed) with REM or REM NEOSYS as follows.&lt;br /&gt;
&lt;br /&gt;
After making changes reopen NEOSYS in maintenance mode to use the MEMORY and WHO commands again.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REM Install CD ROM extensions&lt;br /&gt;
REM NEOSYS LH %SystemRoot%\system32\mscdexnt.exe&lt;br /&gt;
&lt;br /&gt;
REM Install network redirector (load before dosx.exe)&lt;br /&gt;
REM NEOSYS LH %SystemRoot%\system32\redir&lt;br /&gt;
&lt;br /&gt;
REM Install DPMI support&lt;br /&gt;
REM NEOSYS LH %SYSTEMROOT%\SYSTEM32\DOSX&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Low Memory Issues in Windows 2003 server can be fixed using instructions mentioned at [http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Enabling_EMS_memory_on_Window_2003 Fixing Low Memory in Windows 2003 Server]&lt;br /&gt;
&lt;br /&gt;
=== Allowing DOS programs that require DOSX to run on the same computer as NEOSYS ===&lt;br /&gt;
&lt;br /&gt;
The automatic commenting out DOSX by NEOSYS will prevent some other DOS-like programs from running. If NEOSYS is on dedicated server then there should be no other such programs to fail. However, if you must allow DOS-like programs to work as well as NEOSYS you can do the following configuration:&lt;br /&gt;
&lt;br /&gt;
#leave or restore the original AUTOEXEC.NT and CONFIG.NT files where they are&lt;br /&gt;
#copy them to another folder eg neosys folder&lt;br /&gt;
#make the necessary REM changes there by hand&lt;br /&gt;
#right click the NEOSYS\NEOSYS\AREV.PIF and select properties&lt;br /&gt;
#change the location of the AUTOEXEC.NT and CONFIG.NT files in the following location&lt;br /&gt;
&lt;br /&gt;
[[image:pifsettings.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Checking EMS Memory Configuration ===&lt;br /&gt;
&lt;br /&gt;
==== Inspection ====&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 WHO&lt;br /&gt;
&lt;br /&gt;
 press the up arrow to get to the last part/page&lt;br /&gt;
&lt;br /&gt;
===== Example of Typical Server EMS Memory =====&lt;br /&gt;
[[image:serveremm.jpg]]&lt;br /&gt;
&lt;br /&gt;
===== Example of Typical Workstation EMS Memory =====&lt;br /&gt;
[[image:workstationemm.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Correction====&lt;br /&gt;
&lt;br /&gt;
No easy way&lt;br /&gt;
&lt;br /&gt;
Removal of hardware adapters designed for workstations instead of servers eg graphics cards and network cards.&lt;br /&gt;
&lt;br /&gt;
Many of the devices may be located on the motherboard and not relocatable except possibly by BIOS configuration or special manufacturer information.&lt;br /&gt;
&lt;br /&gt;
Use windows device manager, View: Resources by Connection, Open the Memory item and look for items between 000A0000 up to 000FFFFF that might give you a clue as to what hardware could be removed or reconfigured. Actually only 000C0000 to 000FFFFF is candidate for EMS memory since 000A000-000BFFFF is mandatory video memory in all systems.&lt;br /&gt;
&lt;br /&gt;
[[image:devicemanager.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing issue where NEOSYS processes do not start-up at all or start-up and close immediately ==&lt;br /&gt;
&lt;br /&gt;
# Find if a file with the name global.end exists in the root directory of the NEOSYS installation. Eg D:\global.end . If you find such a file, rename it to global.end.temp - for more information on global.end and what it does refer to [[Administering_NEOSYS_Server#Closing_NEOSYS_Services|Closing NEOSYS Services]]&lt;br /&gt;
# If the above didn&#039;t fix the problem and NEOSYS still does not start, do a windows search for the entire NEOSYS folder for *.end (i.e. any file ending with .end extension). You may find a (databasecode).end file in D:\neosys\neosys folder which is created by the NEOSYS program during backup at 1 am and later on removed automatically. In this case NEOSYS program might have crashed during the backup and left this file behind. (databasecode).end files prevent other other NEOSYS processes starting up on the database while exclusive processes (like backup) are being done.&lt;br /&gt;
&lt;br /&gt;
In case the above didn&#039;t fix the problem then escalate to the programmer immediately.&lt;br /&gt;
&lt;br /&gt;
=== Solving &amp;quot;Control Record&amp;quot; error in maintenance mode ===&lt;br /&gt;
&lt;br /&gt;
If processes dont start after you log into maintenance mode and you get an error message&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔════[FS152]═══════════════════════════════════════╗&lt;br /&gt;
║          The control record &amp;quot;RECORDS&amp;quot;            ║&lt;br /&gt;
║           is too long to be saved.               ║&lt;br /&gt;
║   The current record length is 65539 characters. ║&lt;br /&gt;
║                                                  ║&lt;br /&gt;
║               &amp;lt; Press any key &amp;gt;                  ║&lt;br /&gt;
╚══════════════════════════════════════════════════╝  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[File:Record1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1&#039;&#039;&#039;. Press space to get rid of the error message and you should then get this menu&lt;br /&gt;
&lt;br /&gt;
[[File:Record2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2&#039;&#039;&#039;. Press F5 and run this command (case sensitive)&lt;br /&gt;
&lt;br /&gt;
 DICT DEFINITIONS&lt;br /&gt;
&lt;br /&gt;
or Press Alt+S and run this command (case sensitive)&lt;br /&gt;
&lt;br /&gt;
 EXECUTE DICT DEFINITIONS&lt;br /&gt;
&lt;br /&gt;
[[File:Record3.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3&#039;&#039;&#039;. Press Shift+F3 to get the following message&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔══[B202]══════════════════════════════════╗&lt;br /&gt;
║            &amp;quot;DEFINITIONS&amp;quot; has             ║&lt;br /&gt;
║          &amp;quot;QUICKDEX&amp;quot; installed            ║&lt;br /&gt;
║                                          ║&lt;br /&gt;
║ Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N]  ║&lt;br /&gt;
║                                          ║&lt;br /&gt;
║ &amp;lt;Y                                      &amp;gt;║&lt;br /&gt;
╚══════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4&#039;&#039;&#039;. Press Enter to choose Yes.&lt;br /&gt;
&lt;br /&gt;
[[File:Record4.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5.&#039;&#039;&#039;Restart NEOSYS to see if the problem has been solved&lt;br /&gt;
&lt;br /&gt;
== Solving “page not found” when downloading some file types after uploading them successfully ==&lt;br /&gt;
=== One by One ===&lt;br /&gt;
&lt;br /&gt;
Windows web server will not download file types that it is unaware of. You can enable the download of new file types one by one as follows.&lt;br /&gt;
&lt;br /&gt;
This process is tedious and error-prone if you have to add many type.&lt;br /&gt;
&lt;br /&gt;
#Computer Management&lt;br /&gt;
#Services and Applications&lt;br /&gt;
#IIS properties&lt;br /&gt;
#Mime Types&lt;br /&gt;
#Add&lt;br /&gt;
&lt;br /&gt;
=== Many ===&lt;br /&gt;
&lt;br /&gt;
Window Server 2003 is unaware of all the Office 2007+ file types. To add all Office 2007+ file types at once do the following:&lt;br /&gt;
&lt;br /&gt;
Stop IIS&lt;br /&gt;
&lt;br /&gt;
 iisreset /stop&lt;br /&gt;
&lt;br /&gt;
Open the list of mime types&lt;br /&gt;
&lt;br /&gt;
*Start, Run, notepad C:\WINDOWS\system32\inetsrv\MetaBase.xml&lt;br /&gt;
&lt;br /&gt;
Search the file for “xlsx” and quit the editor if already inserted.&lt;br /&gt;
&lt;br /&gt;
Otherwise, find the following line,&lt;br /&gt;
&lt;br /&gt;
  .xml,text/xml&lt;br /&gt;
&lt;br /&gt;
and insert after that line the following lines. They do not need to be indented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.docm,application/vnd.ms-word.document.macroEnabled.12&lt;br /&gt;
.docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document&lt;br /&gt;
.dotm,application/vnd.ms-word.template.macroEnabled.12&lt;br /&gt;
.dotx,application/vnd.openxmlformats-officedocument.wordprocessingml.template&lt;br /&gt;
.potm,application/vnd.ms-powerpoint.template.macroEnabled.12&lt;br /&gt;
.potx,application/vnd.openxmlformats-officedocument.presentationml.template&lt;br /&gt;
.ppam,application/vnd.ms-powerpoint.addin.macroEnabled.12&lt;br /&gt;
.ppsm,application/vnd.ms-powerpoint.slideshow.macroEnabled.12&lt;br /&gt;
.ppsx,application/vnd.openxmlformats-officedocument.presentationml.slideshow&lt;br /&gt;
.pptm,application/vnd.ms-powerpoint.presentation.macroEnabled.12&lt;br /&gt;
.pptx,application/vnd.openxmlformats-officedocument.presentationml.presentation&lt;br /&gt;
.xlam,application/vnd.ms-excel.addin.macroEnabled.12&lt;br /&gt;
.xlsb,application/vnd.ms-excel.sheet.binary.macroEnabled.12&lt;br /&gt;
.xlsm,application/vnd.ms-excel.sheet.macroEnabled.12&lt;br /&gt;
.xlsx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet&lt;br /&gt;
.xltm,application/vnd.ms-excel.template.macroEnabled.12&lt;br /&gt;
.xltx,application/vnd.openxmlformats-officedocument.spreadsheetml.template&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save the file with File and Exit&lt;br /&gt;
&lt;br /&gt;
Restart IIS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Handling Neosys Automatic Upgrade Error Messages ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
We will receive an email from the NEOSYS client installation with the following message:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;UPGRADEN.EXE&amp;quot; does not have expected exe MZ signature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
This message is a note that the NEOSYS automatic update procedure failed to download an upgrade file correctly.&lt;br /&gt;
This happens sometimes due to network issues but can be ignored because the file will be probably be correctly downloaded on the next automatic update check.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This message is only informative to help with any problem with the automatic upgrade procedure and may be removed in a later version of neosys (currently Oct 2012)&lt;br /&gt;
&lt;br /&gt;
== Testing https connection ==&lt;br /&gt;
&lt;br /&gt;
The following procedure tests that the https server is operational and not blocked by firewall etc. It does not detect certificate errors.&lt;br /&gt;
&lt;br /&gt;
From a windows command prompt use the following telnet command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
telnet clientname.hosts.neosys.com 4430&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
#4430 is the usual NEOSYS http port but replace it by whatever port is actually used for NEOSYS https on the system being tested. If there are multiple https installations on a particular server then different ports are probably used&lt;br /&gt;
#Replace clientname.hosts.neosys.com with the normal https login domain name of the client for whom we want to check the https service&lt;br /&gt;
&lt;br /&gt;
Normal behavior is that it should open a black screen. Pressing Enter or any key returns the _ character. (Close the window using the [X] since there is no keyboard command to do so)&lt;br /&gt;
&lt;br /&gt;
Hanging means that there is some connectivity issue (firewall/ip/server not running/https not installed etc)&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;quot;page not found&amp;quot; error while using https ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#The https service stops working and gives &amp;quot;Page not found&amp;quot; error.&lt;br /&gt;
#The https connection tests fine using telnet (see article above)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#Reinstall https using the usual procedure (currently using selfssl)&lt;br /&gt;
#Email clients, requesting to reinstall the new security certificate by following the instructions for [http://userwiki.neosys.com/index.php/Setting_up_and_Configuring_NEOSYS_Generally#Fixing_HTTPS_certificate_error_when_logging_in_from_an_external_link_using_IE8.2C_IE9_and_IE10 Internet Explorer] or [http://userwiki.neosys.com/index.php/Configuring_Safari_for_MAC_OS#Fixing_HTTPS_certificate_error_when_logging_in_using_an_external_link_using_MAC_Operating_System Safari] browser.&lt;br /&gt;
&lt;br /&gt;
== Installing &amp;quot;QUICKDEX&amp;quot; on some files ==&lt;br /&gt;
&amp;quot;Quickdex&amp;quot; is a type of index that keeps an alphabetical order on small files. In some maintenance procedures you may be asked to &amp;quot;install Quickdex&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For example to add a quickdex to the UNITS file.&lt;br /&gt;
&lt;br /&gt;
Maintenance mode press F5&lt;br /&gt;
&lt;br /&gt;
 DICT UNITS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=================Dictionary=================┐&lt;br /&gt;
│                                            │&lt;br /&gt;
│  File name      UNITS                      │&lt;br /&gt;
│  Field name     .........................  │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Dict type                                 │&lt;br /&gt;
│  Single/Multi                              │&lt;br /&gt;
│  Data type                                 │&lt;br /&gt;
│  Output format                             │&lt;br /&gt;
│  Validation patterns                       │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Position              Key part            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Column heading                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Justification     Display length          │&lt;br /&gt;
│  Description                               │&lt;br /&gt;
│                                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
L============================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Shift+F3.&lt;br /&gt;
&lt;br /&gt;
If it says &amp;quot;Do you want to remove ...&amp;quot; then Quickdex has already been installed and you should not continue. Press Esc to cancel, then Esc to quit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[B202]==================================┐&lt;br /&gt;
│                                         │&lt;br /&gt;
│               &amp;quot;UNITS&amp;quot; has               │&lt;br /&gt;
│          &amp;quot;QUICKDEX&amp;quot; installed.          │&lt;br /&gt;
│                                         │&lt;br /&gt;
│ Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N] │&lt;br /&gt;
│                                         │&lt;br /&gt;
│&amp;lt;Y                                      &amp;gt;│&lt;br /&gt;
L=========================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise it should say &amp;quot;Do you want to install ...&amp;quot;. Press Enter to accept.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[W963]============================┐&lt;br /&gt;
│                                   │&lt;br /&gt;
│     Do you want to install a      │&lt;br /&gt;
│ Quickdex or Rightdex index? [Q/R] │&lt;br /&gt;
│                                   │&lt;br /&gt;
│&amp;lt;Q                                &amp;gt;│&lt;br /&gt;
L===================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It should then say &amp;quot;Do you want to update ...&amp;quot;. Press Enter to accept.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[W901]========================================┐&lt;br /&gt;
│                                               │&lt;br /&gt;
│           The &amp;quot;UNITS&amp;quot; file has had            │&lt;br /&gt;
│ the &amp;quot;QUICKDEX&amp;quot; modifying filing system added. │&lt;br /&gt;
│        There are 0 records in &amp;quot;UNITS&amp;quot;.        │&lt;br /&gt;
│                                               │&lt;br /&gt;
│    Do you want to update &amp;quot;QUICKDEX&amp;quot;? [Y/N]    │&lt;br /&gt;
│                                               │&lt;br /&gt;
│&amp;lt;Y                                            &amp;gt;│&lt;br /&gt;
L===============================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards it should return to the initial screen. Press Esc to quit.&lt;br /&gt;
&lt;br /&gt;
== Solving NEOSYS smtp server failure ==&lt;br /&gt;
In case the neosys smtp server fails then we can just use the client&#039;s smtp server.&lt;br /&gt;
&lt;br /&gt;
The following information is required from the client&#039;s smtp server configuration:&lt;br /&gt;
#hostname&lt;br /&gt;
#username&lt;br /&gt;
#password&lt;br /&gt;
#port no. (most likely = 25)&lt;br /&gt;
&lt;br /&gt;
These details should be entered in the &#039;&#039;&#039;System Configuration File&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
[[image:SYSCFGFILE-SMTP.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Strange characters in maintenance mode ==&lt;br /&gt;
While in Maintenance mode, pressing keys on keyboard gives strange characters. Even Enter and Esc don’t work. &lt;br /&gt;
&lt;br /&gt;
This problem has been seen using RDP on:&lt;br /&gt;
*Window Server 2003 Web Edition&lt;br /&gt;
*Windows Server 2003 R2 SP2&lt;br /&gt;
&lt;br /&gt;
[[image:strangecharmaint.jpg]] &lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
#Go to Windows -&amp;gt; control panel&lt;br /&gt;
#Go to Regional and Language Options &lt;br /&gt;
#Click on Languages tab then click on Details &amp;lt;br&amp;gt; [[image:lang1.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
#Click on Settings Tab and Change default input language to English (United States)&amp;lt;br&amp;gt;(or perhaps something else depending on rdp keyboard) &amp;lt;br&amp;gt; [[image:lang2.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== NEOSYS processes do not start after Windows Update  ==&lt;br /&gt;
&lt;br /&gt;
===Problem===&lt;br /&gt;
Scheduled Task to start the NEOSYS processes fail on Servers with Windows 2008 after Windows update. Support will have to log into the server to start the processes manually&lt;br /&gt;
Message on the Schedule Task displays &amp;quot; The operation being requested was not performed because the user has not logged on to the network. The specified service does not exit &amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[image:sti.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Solution===&lt;br /&gt;
&lt;br /&gt;
For clients who cannot tolerate manual intervention after server reboots for any reason (e.g.need to start work before NEOSYS support is available or on NEOSYS support weekends), tick &amp;quot;highest privileges&amp;quot; and &amp;quot;run whether the user is logged in or not&amp;quot;. This approach means that NEOSYS processes which are started by the windows scheduled task are not visible on the desktop and run hidden in the background and only listed in task manager, so avoid this approach on small clients (only few users). Avoiding this approach will also serve to act as an indicator of server restarts.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting NEOSYS remote support port forwarding ==&lt;br /&gt;
This assumes that you have already “port forwarded” tcp port 19580 from your public internet router to the NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
=== Tst 0 - Check if SSH is working on the NEOSYS Server ===&lt;br /&gt;
Type in the following command in command prompt:&lt;br /&gt;
 telnet 127.0.0.1 19580&lt;br /&gt;
&lt;br /&gt;
IF ALL OK you will see the following:&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-03.jpg]] &lt;br /&gt;
&lt;br /&gt;
=== Test 1 - Check if SSH is basically working on NEOSYS server over the LAN ===&lt;br /&gt;
You must know and use the NEOSYS SERVER LAN IP to do this.&lt;br /&gt;
&lt;br /&gt;
 telnet ???.???.???.??? 19580&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-01.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
If you have the WRONG SERVER LAN IP or NEOSYS server SSH is NOT working then it will hang for about 15 seconds and then say “Could not open connection to host …”&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-02.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
OR IF ALL OK you will see the following:&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-03.jpg]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Press Enter to Exit&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-04.jpg]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Test 2 - Check if can connect to the NEOSYS ssh from OUTSIDE the office  ===&lt;br /&gt;
From any internet connected computer OUTSIDE the office test if you can connect to NEOSYS ssh service. You cannot do this test from inside the office.&lt;br /&gt;
&lt;br /&gt;
You need to know the public ip or domain name of the router. If the router IP is dynamic then NEOSYS sets up dynamic name server so instead of a static ip number you will have a domain name something like clientxyz.redirectme.net.&lt;br /&gt;
&lt;br /&gt;
Enter the command .. using YOUR public internet IP number (NOT the LAN ip number) or the dynamic domain name.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-05.jpg]]  &lt;br /&gt;
&lt;br /&gt;
If everything is working OK you will get a black screen as follows. You will NOT get the “SSH-2.0-OpenSSH-4.7” banner” because NEOSYS ssh remote support is restricted to connect ONLY from LAN ip nos and NEOSYS office ip nos.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-06.jpg]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you press Enter a few times then the cursor will just go down. You have click the [X] to close the window.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-07.jpg]]  &lt;br /&gt;
&lt;br /&gt;
=== Test 3 - Check that the ssh connection from step 2 was rejected  ===&lt;br /&gt;
On the NEOSYS server, check the Windows Application log to verify that an SSH connection was rejected.&lt;br /&gt;
&lt;br /&gt;
The rejected ip number will be of the system outside the office that you performed the test from.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-08.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Sample Email: Solving port 19580 port forwarding issues ===&lt;br /&gt;
&lt;br /&gt;
Some IT people know how to troubleshoot port forwarding issues but others are mostly just power users who can configure a home router. If the IT person is in the second category then it is quicker for NEOSYS support to offer to configure their router from the NEOSYS server using Teamviewer. Ideally NEOSYS should not be doing client IT work but if client IT allows NEOSYS access to their router then NEOSYS support can make a brief attempt to do the configuration. If the issue is still unresolved then request the client to get a professional IT network expert to do the job and inform them that NEOSYS will not be able to provide them any support till connectivity is fixed. Below is a letter advising a more skilled person to check connections using telnet which is a low level test.&lt;br /&gt;
&lt;br /&gt;
You can usually determine the NEOSYS server LAN IP number from Nagios. If so then adjust the email text appropriately.&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Dear XYZ,&lt;br /&gt;
&lt;br /&gt;
It is highly critical to fix the connectivity with the NEOSYS server because NEOSYS will not be able to provide any support until&lt;br /&gt;
connectivity is fixed. User support issues will be delayed and remain unresolved if you do not fix this issue URGENTLY.&lt;br /&gt;
&lt;br /&gt;
At the moment there is no connection from the internet via your router to the NEOSYS server and when we do the following, &lt;br /&gt;
we get no connection. &lt;br /&gt;
&lt;br /&gt;
   telnet CLIENTNAME.support.neosys.com 19580&lt;br /&gt;
&lt;br /&gt;
Normally it should connect and presents a black screen (saying SSH something after pressing Enter) which we close.&lt;br /&gt;
&lt;br /&gt;
Please check that you can connect to the NEOSYS server internally by using the NEOSYS server IP address in the following command on any&lt;br /&gt;
computer in your LAN.&lt;br /&gt;
&lt;br /&gt;
    telnet 192.168.?.? 19580&lt;br /&gt;
&lt;br /&gt;
If you can connect to the NEOSYS server internally then please check port forwarding.&lt;br /&gt;
&lt;br /&gt;
Additionally check the following:&lt;br /&gt;
1. Has your router IP changed?&lt;br /&gt;
2. Has your server’s LAN IP changed and are you forwarding to the correct LAN IP?&lt;br /&gt;
3. Is the configuration really correct?&lt;br /&gt;
4. Check router logs for clues&lt;br /&gt;
5. Check NAT settings in the router&lt;br /&gt;
&lt;br /&gt;
For troubleshooting steps refer Troubleshooting NEOSYS remote support&lt;br /&gt;
http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Troubleshooting_NEOSYS_remote_support_port_forwarding&lt;br /&gt;
&lt;br /&gt;
If the problem still persists, please get a professional IT network expert to fix the issue.&lt;br /&gt;
&lt;br /&gt;
Best Regards,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Port mapping restricted by Source IP ===&lt;br /&gt;
&lt;br /&gt;
On NEOSYS router, port forwarding has been setup only for specific source IP addresses. This means you will not be able to establish a TCP connection to NEOSYS server unless your server&#039;s outbound IP is mapped to the NEOSYS router. In other words unless the outbound i.e source IP/port of your server has been granted access on the NEOSYS router for all incoming connections you will not be able to make connections to NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
Outbound IP is used whenever a server tries to make a connection to another server outside its network. On the other hand a server receives all incoming connections using it&#039;s Inbound IP.&lt;br /&gt;
&lt;br /&gt;
Therefore to setup ssh connection from a new Client server to NEOSYS server we need to grant access to its outbound IP on the NEOSYS router. See [[Troubleshooting_NEOSYS_Generally#If_Telnet_does_not_work | link]] to find the outbound server IP/ports of the server.&lt;br /&gt;
&lt;br /&gt;
== Solving “Cant login … INVALID DATA PATH … permission denied” ==&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&lt;br /&gt;
[[image:error-invalid-data-path-1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error Text:&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 Cannot login because:&lt;br /&gt;
 ERROR: INVALID DATA PATH&lt;br /&gt;
 “D:\HOSTS\HOSTNAME\DATA\HOSTNAME\~8746345.1$” Permission Denied&lt;br /&gt;
&lt;br /&gt;
=== Problem Explained ===&lt;br /&gt;
When installing NEOSYS on an existing “non-clean” Windows installation, the standard NEOSYS installation procedure can result in failure to login if the standard windows folder permissions have been modified.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
The solution is to grant IIS permission to write in the \neosys\DATA folder and subfolders as follows:&lt;br /&gt;
#First add the IUSR_XXXXXXX user to the list of users. (XXXXXXXX is the server name and therefore varies per server) as follows:&lt;br /&gt;
#*Right Click on DATA Folder and click on Properties&lt;br /&gt;
#*Click on Security Tab -&amp;gt; Add -&amp;gt; Advanced&lt;br /&gt;
#*Click on Find Now, Select the IUSR_XXXXXXX user and Click on OK&amp;lt;br&amp;gt;[[image:error-invalid-data-path-2.jpg]]&amp;lt;br&amp;gt;[[image:error-invalid-data-path-3.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Second, for the newly added IUSR (IIS user) change the permissions as follows:&lt;br /&gt;
#*&#039;&#039;&#039;REMOVE&#039;&#039;&#039; the read and execute permission (for security, IIS should be unable to execute things that it might have uploaded)&lt;br /&gt;
#*&#039;&#039;&#039;ADD&#039;&#039;&#039; the write permission &amp;lt;br&amp;gt;[[image:error-invalid-data-path-4.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Login should now be possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== NEOSYS process window displays message &amp;quot;Upgrade Downloading&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
[[image:upgradedownloading.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Problem Explained ===&lt;br /&gt;
NEOSYS thinks it sees an new neosys2.exe upgrade file on the location http://www.neosys.com/support/neosys2.exe which is accessed by http so attempts to download it.&lt;br /&gt;
&lt;br /&gt;
Http proxies and various internet issues can cause incorrect info to be sent and there is actually no upgrade available. In this case, eventually it realizes that it cant find an appropriate and it stops. &lt;br /&gt;
&lt;br /&gt;
You don’t have to worry about this case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Enabling EMS memory on Window 2003 ==&lt;br /&gt;
&lt;br /&gt;
Normally EMS memory is provided by Windows 2003 but this can vary depending on the server hardware/bios configuration&lt;br /&gt;
&lt;br /&gt;
If you get the following messages on Windows 2003&lt;br /&gt;
&lt;br /&gt;
#Backup File Size is 0&lt;br /&gt;
#RTP27. [B28] Not enough String Space – Out of Memory&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
On servers that had no problem previously, the problem is caused by a windows update in Oct 2012 that disables standard Windows EMS memory.&lt;br /&gt;
&lt;br /&gt;
The patch is issued by Microsoft on 9 Oct 2012 but the installation date in the server depends on when the update was actually installed.&lt;br /&gt;
&lt;br /&gt;
http://support.microsoft.com/kb/2724197&lt;br /&gt;
&lt;br /&gt;
=== Solution 1 - maximum performance ===&lt;br /&gt;
&lt;br /&gt;
To re-enable standard windows EMS on older slower servers or servers where NEOSYS performance must be maximized.&lt;br /&gt;
&lt;br /&gt;
The following link contains instructions how to remove the offending windows update&lt;br /&gt;
&lt;br /&gt;
It also shows how to prevent it being reinstalled automatically by Windows.&lt;br /&gt;
&lt;br /&gt;
http://www.columbia.edu/~em36/wpdos/emsxp.html&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to prevent it being reinstalled again automatically&lt;br /&gt;
&lt;br /&gt;
=== Solution 2 – ease of installation ===&lt;br /&gt;
&lt;br /&gt;
This option can also be used if Window 2003 is unable to provide EMS memory for example when the server hardware/bios configuration prevents it.&lt;br /&gt;
&lt;br /&gt;
Install EMSMAGIC in the same way as for Windows server 2008&lt;br /&gt;
&lt;br /&gt;
EMSMAGIC has higher memory consumption and makes NEOSYS processes slower so it is better to use Solution 1 above if NEOSYS performance is an issue.&lt;br /&gt;
&lt;br /&gt;
== Fixing no output file in XXX YYY Issue ==&lt;br /&gt;
&lt;br /&gt;
===Error Message===&lt;br /&gt;
&lt;br /&gt;
[[File:Nooutputfile.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Problem Explained===&lt;br /&gt;
&lt;br /&gt;
The message “No output file in XXX YYY” can appear at several instances in NEOSYS, most often when generating reports or documents. &lt;br /&gt;
&lt;br /&gt;
This problem is usually caused by software error and it indicates that the NEOSYS server responded without any output and without any message. &lt;br /&gt;
&lt;br /&gt;
===Solution===&lt;br /&gt;
1) Find proof to check if the data required for the report actually exists. This way we can eliminate lack of data as a cause for this error.&lt;br /&gt;
&lt;br /&gt;
2) Check to see if a similar issue has been fixed in latest version of NEOSYS.&lt;br /&gt;
&lt;br /&gt;
3) Document HOW and WHERE the problem can be duplicated by NEOSYS programmers to identify and correct the software.&lt;br /&gt;
&lt;br /&gt;
An example of this error can be found at [[Troubleshooting_NEOSYS_Media_System#Error:_No_output_file_in_MEDIAPROXY_SCHEDULEPRINT|No Output File in MEDIAPROXY SCHEDULEPRINT]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting Internet Connections ==&lt;br /&gt;
&lt;br /&gt;
===Cannot Connect===&lt;br /&gt;
&lt;br /&gt;
While investigating as to why users are not able to access NEOSYS or http://www.neosys.com/ ,you can check which ISP the connection issue is on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;whois ipno&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inspect very carefully to get clues as to which ISP and which AREA of the ISP the problematic ip numbers are and which do NOT have problems&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting TCP/IP Connections ===&lt;br /&gt;
&lt;br /&gt;
====Telnet check====&lt;br /&gt;
&amp;lt;pre&amp;gt; telnet &amp;lt;hostname&amp;gt; 19580  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====If Telnet does not work====&lt;br /&gt;
In case telnet does not work, login to the remote host server to investigate the issue. Run the following command simultaneously while doing Telnet from client server to the remote host to check if the TCP packets are reaching the Remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tcpdump -v &#039;src host client-domain-name/ip&#039; &lt;br /&gt;
tcpdump -v portno &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To check if packets are sent from the client server to the remote host, you can run the following command simultaneously while trying to ssh to the remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;netstat -an &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also check if the outbound ports are open from which you are trying to establish the TCP connection to the remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;telnet portquiz.net portno &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The outbound IP addresses at times can be different from the public IP of the Client server so be sure that the public IP of the client server is the same as its source IP (which represents an incoming connection from Client to Remote server). One way to find the source IP of the Client server is sending an email from Client server to &amp;quot;support@neosys.com&amp;quot;. On receiving the email in Thunderbird, select the email and press Ctrl+u. A new window Opens giving full details of the email received. The third &amp;quot;Received :from&amp;quot; gives the IP of the source.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting DNS failure ===&lt;br /&gt;
&lt;br /&gt;
NEOSYS clients routers are usually configured to use their ISP DNS service and the ISP DNS service is supposed to contact one of NEOSYS&#039;s DNS servers to convert server names like hosts.neosys.com into IP numbers. Misconfiguration of clients routers or problems in the ISP DNS server may cause CANNOT CONNECT problems. Often the connect fails quickly and immediately since if a name cannot be converted to an ip number then the connection cannot even be attempted and therefore there is little or no timeout to wait through.&lt;br /&gt;
&lt;br /&gt;
NEOSYS.COM name servers are listed publically and obtained by whois command.&lt;br /&gt;
&lt;br /&gt;
 whois neosys.com&lt;br /&gt;
&lt;br /&gt;
 Name Server: DNS1.EASYDNS.COM&lt;br /&gt;
 Name Server: DNS2.EASYDNS.NET&lt;br /&gt;
 Name Server: DNS3.EASYDNS.ORG&lt;br /&gt;
 Name Server: NS12.ZONEEDIT.COM&lt;br /&gt;
 Name Server: NS18.ZONEEDIT.COM&lt;br /&gt;
&lt;br /&gt;
In order to contact NEOSYS DNS servers the ISP&#039;s have to use a global DNS to obtain the ip addresses of NEOSYS DNS servers given the host names of NEOSYS DNS servers given in the whois info&lt;br /&gt;
&lt;br /&gt;
Here is an example of DU testing NEOSYS DNS servers. The NEOSYS DNS server ip addresses are listed in the Destination column.&lt;br /&gt;
&lt;br /&gt;
[[File:internet.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If one DNS server is down or unreachable REGARDLESS OF REASON, the ISP is supposed to use the other DNS servers. It is impossible for all NEOSYS DNS servers to be unreachable except in gross disconnection from the internet of the ISP since it is effectively impossible that all NEOSYS DNS servers which are carefully spread around the internet, to be unreachable.&lt;br /&gt;
&lt;br /&gt;
In the above test one of the NEOSYS DNS servers is unreachable but all the others are reachable therefore DU should have no problem providing DNS service to its clients.&lt;br /&gt;
&lt;br /&gt;
ISP are often worse at providing DNS server than the famous GOOGLE DNS servers, so re configuring client router to use GOOGLE DNS servers is a way to prove that the problem lies with the ISP&#039;s DNS service&lt;br /&gt;
&lt;br /&gt;
=== Additional test for troubleshooting problems with uploading ===&lt;br /&gt;
&lt;br /&gt;
====Verifying that upload.dll can run====&lt;br /&gt;
&lt;br /&gt;
This isnt a complete test of everything. It just checks if the upload program can be run by the web server. It doesnt check if uploads work or the image directory is correctly configured with the right permissions and uploads can actually be done.&lt;br /&gt;
&lt;br /&gt;
===== Error Message =====&lt;br /&gt;
&lt;br /&gt;
... to be added when discovered ...&lt;br /&gt;
&lt;br /&gt;
===== Test =====&lt;br /&gt;
&lt;br /&gt;
Test HTTP if accessible by LAN; Test HTTPS is accessible by Internet; Test both if both are available.&lt;br /&gt;
&lt;br /&gt;
On the server type the following into a browser&lt;br /&gt;
&lt;br /&gt;
LAN/HTTP:&lt;br /&gt;
&lt;br /&gt;
 http://localhost/neosys/neosys/dll/upload.dll&lt;br /&gt;
&lt;br /&gt;
WAN/HTTPS:&lt;br /&gt;
&lt;br /&gt;
 https://localhost:9999/neosys/dll/upload.dll&lt;br /&gt;
&lt;br /&gt;
===== Expected Result =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Upload Error. !&lt;br /&gt;
Please call me from a form !!!&lt;br /&gt;
The first param must be Filename= name of the uploaded file, TYPE=TEXT&lt;br /&gt;
The second param must be Filedata= uploaded file, TYPE=FILE&lt;br /&gt;
The third param is optional PathData= path to uploaded file, default c:\temp\, TYPE=HIDDEN&lt;br /&gt;
The forth param is optional RedirectPage= name of asp who receive the results, TYPE=HIDDEN&lt;br /&gt;
Add others params at the end with INPUT tag.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Uerror.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Patching a NEOSYS program ==&lt;br /&gt;
&lt;br /&gt;
The patch provided will tell you the program name and contain either a whole replacement program text or just some changed lines which you will have to find and edit.&lt;br /&gt;
&lt;br /&gt;
You will need to know the file name which may be provided along with the patch or you can find it using the following code in maintenance mode:&lt;br /&gt;
&lt;br /&gt;
 ED VOC programname&lt;br /&gt;
&lt;br /&gt;
ED VOC XYZ tells you what program name is executed and from what file, when you type the command XYZ. Normally the program name is the same as the command.&lt;br /&gt;
&lt;br /&gt;
The file name will normally be BP for agency programs, GBP for general programs or ABP for finance programs.&lt;br /&gt;
&lt;br /&gt;
NEOSYS programs are stored in files just like records of ordinary database files. You can edit either with &amp;quot;ED filename programname&amp;quot; or &amp;quot;TED filename programname&amp;quot;. TED is better for editing source code.&lt;br /&gt;
&lt;br /&gt;
===Installing patch in live database===&lt;br /&gt;
&lt;br /&gt;
In the rare case that the programmer asks Support to install the patch directly on LIVE dataset, start by typing the following command in maintenance mode before commencing:&lt;br /&gt;
&lt;br /&gt;
 UTIL&lt;br /&gt;
&lt;br /&gt;
Follow the instructions mentioned in the [[Troubleshooting_NEOSYS_Generally#Installing_patch_in_test_database| next section]], but skip the instruction to TEST the patched program in test dataset.&lt;br /&gt;
&lt;br /&gt;
The instruction to INSTALL the patched program MUST be followed BEFORE testing the patch in live dataset. Otherwise the changes will not get reflected.&lt;br /&gt;
&lt;br /&gt;
===Installing patch in test database===&lt;br /&gt;
&lt;br /&gt;
1. EDIT the program source code.&lt;br /&gt;
&lt;br /&gt;
 TED programname&lt;br /&gt;
&lt;br /&gt;
Either cut and paste to modify the whole program or edit the program text according to the patch/instructions provided.&lt;br /&gt;
&lt;br /&gt;
Save and close the program source code.&lt;br /&gt;
&lt;br /&gt;
2. COMPILE it. If you get errors then check your edits are correct and recompile otherwise return the patch to programming.&lt;br /&gt;
&lt;br /&gt;
  COMPILE filename programname&lt;br /&gt;
&lt;br /&gt;
3. TEST it. Ensure the patched program now works in TEST database.&lt;br /&gt;
&lt;br /&gt;
4. INSTALL the patched program in the LIVE database by typing one of the following command depending on the filename that you patched.&lt;br /&gt;
&lt;br /&gt;
 COPYGBP programname&lt;br /&gt;
 COPYABP programname&lt;br /&gt;
 COPYBP programname&lt;br /&gt;
&lt;br /&gt;
== Patching NEOSYS dictionaries ==&lt;br /&gt;
&lt;br /&gt;
A patch to a dictionary applies immediately when you save it and to all datasets regardless of which dataset you work in.&lt;br /&gt;
&lt;br /&gt;
You need:&lt;br /&gt;
&lt;br /&gt;
#the file name eg INVOICES&lt;br /&gt;
#the item name (column name) eg  DATETIME_AMENDED&lt;br /&gt;
#10 lines of data similar to the example below.&lt;br /&gt;
#if the item is an S type dictionary, then either the whole, or only the amended part, of the source code of the dictionary.&lt;br /&gt;
&lt;br /&gt;
 ED DICT INVOICES DATETIME_AMENDED&lt;br /&gt;
&lt;br /&gt;
TYPE everything below exactly on the corresponding line numbers except lines 3 and very commonly line 8, as these lines may contain multiple values separated by a superscript 2 (²). Line numbers in the below screen are only for illustrative purpose. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  ╔═══════════════════════════┤DATETIME_AMENDED├═════════════════════════╗&lt;br /&gt;
 1║S                                                                     ║&lt;br /&gt;
 2║                                                                      ║&lt;br /&gt;
 3║DateTime²Amended                                                      ║&lt;br /&gt;
 4║S                                                                     ║&lt;br /&gt;
 5║                                                                      ║&lt;br /&gt;
 6║                                                                      ║&lt;br /&gt;
 7║[DATETIME]                                                            ║&lt;br /&gt;
 8║updated=@record&amp;lt;28&amp;gt;²created=@record&amp;lt;31,1&amp;gt;²@ans=&#039;&#039;²if created and num(c║..actually this line continues off the screen to the right&lt;br /&gt;
 9║R                                                                     ║&lt;br /&gt;
10║10                                                                    ║&lt;br /&gt;
11║                                                                      ║&lt;br /&gt;
  :                                                                      :&lt;br /&gt;
  :                                                                      :&lt;br /&gt;
  ╚══════════════════════════════════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Ctrl+E on lines 3 or 8 in order to enter sub-lines. &lt;br /&gt;
&lt;br /&gt;
The multiple values (on line 3 and 8) separated by a superscript 2 (²) automatically appear when sub-lines are entered.&lt;br /&gt;
&lt;br /&gt;
For line 8, you will need to cut and paste the lines of below program to the Ctrl+E screen: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔═════════════════════════┤Field 8 of DATETIME_AMENDED├════════════════════════╗&lt;br /&gt;
║updated=@record&amp;lt;28&amp;gt;                                                           ║&lt;br /&gt;
║created=@record&amp;lt;31,1&amp;gt;                                                         ║&lt;br /&gt;
║@ans=&#039;&#039;                                                                       ║&lt;br /&gt;
║if created and num(created) and num(updated) then                             ║&lt;br /&gt;
║ createdsecs=field(created,&#039;.&#039;,1)*86400+field(created,&#039;.&#039;,2)                  ║&lt;br /&gt;
║ updatedsecs=field(updated,&#039;.&#039;,1)*86400+field(updated,&#039;.&#039;,2)                  ║&lt;br /&gt;
║ if abs(updatedsecs-createdsecs)&amp;gt;120 then                                     ║&lt;br /&gt;
║  @ans=updated                                                                ║&lt;br /&gt;
║  end                                                                         ║&lt;br /&gt;
║ end                                                                          ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
╚══════════════════════════════════════════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you save and exit the Ctrl+E screen, you will see the sublines separated by superscript 2 appear in one line in the ED screen. &lt;br /&gt;
&lt;br /&gt;
Similarly, for line 3, you need to enter its sub-lines in Ctrl+E screen.&lt;br /&gt;
&lt;br /&gt;
To ensure indenting remains nice (although indenting is not important and can be messed up without causing any problem) then copy the double bars at the front of the lines (if available, otherwise insert some char in position 1 of each line perhaps) and then remove them after you paste ... or just edit until the indenting is correct if you really want to.&lt;br /&gt;
&lt;br /&gt;
Press F9 and/or Esc to save and/or exit from Ctrl+E screen&lt;br /&gt;
&lt;br /&gt;
Press F9 and/or Esc to save and/or exit from ED&lt;br /&gt;
&lt;br /&gt;
== Searching XML files ==&lt;br /&gt;
&lt;br /&gt;
Use the grep command in Cygwin terminal to search files especially when you are investigating the NEOSYS Logs. &lt;br /&gt;
&lt;br /&gt;
Use the following command while searching for a file in any directory&lt;br /&gt;
&lt;br /&gt;
 grep string path/file&lt;br /&gt;
&lt;br /&gt;
 grep -i -a string path/file  (use -i to ignore upper/lower case characters in the string and -a to treat the file type=text and display the matching text)&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;string&amp;quot; is the text to be searched, &amp;quot;file&amp;quot; is the type of file you are looking for and &amp;quot;path&amp;quot; is the path of the directory you are looking into. Use &amp;quot;&amp;quot; when having spaces in your string.&lt;br /&gt;
&lt;br /&gt;
e.g when searching in NEOSYS logs the year/month/date is specified in the file name, so if you are looking for a file in year 2016 in the month of Feb, use&lt;br /&gt;
&lt;br /&gt;
 grep XXXX path/1602*&lt;br /&gt;
&lt;br /&gt;
In the above command *(asterisk) is a wildcard used to match characters in the file name.&lt;br /&gt;
&lt;br /&gt;
Sample below of grep command and its output where it is searching for &amp;quot;Dior&amp;quot; in 2016 march logs.&lt;br /&gt;
 $ grep -i Dior /cygdrive/d/hosts/test/logs/test/2016/1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 Binary file path/16030301.XML matches&lt;br /&gt;
&lt;br /&gt;
Use the commands below to display the search string and required number of lines that come either after or before the search string, depending on what you enter in your command. It helps to get more information from files especially when you only know few words and the other information around the searched string also gets displayed. &lt;br /&gt;
&lt;br /&gt;
 grep -A NUM string file (NUM lines after the searched text get displayed)&lt;br /&gt;
&lt;br /&gt;
 grep -B NUM string file (NUM lines before the searched text get displayed)&lt;br /&gt;
&lt;br /&gt;
See the examples and their respective outputs below, (Note: there is no space between -A and NUM):&lt;br /&gt;
&lt;br /&gt;
 $ grep -A2 -i &amp;quot;Dior&amp;quot; 1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 Binary file 16022101.XML matches&lt;br /&gt;
 Binary file 16022901.XML matches&lt;br /&gt;
&lt;br /&gt;
 $ grep -A2 -a &amp;quot;Dior&amp;quot; 1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 16030301.XML:&amp;lt;DataOut&amp;gt;DIOR%FEPOI%FE&#039;&#039;&#039;Dior&#039;&#039;&#039; Poison%FE%FE%FE%FE%FEDubai,    UAE%FE%FE%FE%FEN%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEN%FE%FE%FE17584.43592%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FENEOSYS%FE17584.43592%FE94_200_49_146%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEpaulson&amp;lt;/DataOut&amp;gt;&amp;lt;/Message&amp;gt;&lt;br /&gt;
 --&lt;br /&gt;
 16030301.XML:&amp;lt;DataOut&amp;gt;DIOR%FEPOI%FE&#039;&#039;&#039;Dior&#039;&#039;&#039; Poison%FE%FE%FE%FE%FEDubai,   UAE%FE%FE%FE%FEN%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEN%FE%FE%FE17584.43592%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FENEOSYS%FE17584.43592%FE94_200_49_146%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEpaulson&amp;lt;/DataOut&amp;gt;&amp;lt;/Message&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some more examples of grep below:&lt;br /&gt;
&lt;br /&gt;
 Use the command below when searching with more than one search string&amp;lt;br&amp;gt;&lt;br /&gt;
 grep -a string1 *|grep string2&lt;br /&gt;
&lt;br /&gt;
 grep -B2 -a Processing 160329*|grep -v DataIn|grep -v Message|less&amp;lt;br&amp;gt;&lt;br /&gt;
 where user wants output to show lines containing string &amp;quot;Processing&amp;quot; and exclude lines containing string &amp;quot;DataIn&amp;quot; and &amp;quot;Message&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Managing the queue of reports being delivered by email ==&lt;br /&gt;
&lt;br /&gt;
In maintenance mode.&lt;br /&gt;
&lt;br /&gt;
=== Listing ===&lt;br /&gt;
&lt;br /&gt;
 LIST DOCUMENTS WITH SCHEDULED_ONCE&lt;br /&gt;
&lt;br /&gt;
=== Clearing ===&lt;br /&gt;
&lt;br /&gt;
 SELECT DOCUMENTS WITH SCHEDULED_ONCE&lt;br /&gt;
 DELETE DOCUMENTS&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Troubleshooting_NEOSYS_Generally&amp;diff=2649</id>
		<title>Troubleshooting NEOSYS Generally</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Troubleshooting_NEOSYS_Generally&amp;diff=2649"/>
		<updated>2016-04-21T06:46:37Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Troubleshooting the &amp;quot;user not authorised to login from an ip&amp;quot; error message */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Solving failure to start a NEOSYS server due to disk failure message ==&lt;br /&gt;
=== Problem ===&lt;br /&gt;
During a reboot process (which maybe due to a Windows update or even done by a support personnel) the NEOSYS server gets hung on the startup and shows a message &amp;quot;Boot Failure - Abort, Retry&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
=== Temporary solution ===&lt;br /&gt;
This typically happens due to the USB being plugged into the server and the boot sequence being wrong - i.e. the server trying to boot from the USB first and fails. The immediate solution would be to unplug the USB and ask the client to reboot the server again and upon successfully rebooting the system, plug the USB back again.&lt;br /&gt;
&lt;br /&gt;
=== Permanent solution ===&lt;br /&gt;
The above problem will occur every time the computer is rebooted, so you need to immediately talk to the IT Administrator of the client and ask them to rectify the boot sequence to make it boot first from the CD ROM, then the HDD and last the USB.&lt;br /&gt;
&amp;lt;BR&amp;gt;Allowing &amp;quot;Boot from USB&amp;quot; causes a severe risk of infection by boot sector viruses since the first infected USB device inserted WILL infect the server immediately as anti-virus programs are not active during boot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting the &amp;quot;Database not available&amp;quot; error message == &lt;br /&gt;
=== Problem explained ===&lt;br /&gt;
This error appears when you try to login to NEOSYS after you enter your username and password and click the Login button.&lt;br /&gt;
&lt;br /&gt;
[[image:database_unavailable.jpg]]&lt;br /&gt;
&lt;br /&gt;
Error message : &lt;br /&gt;
&lt;br /&gt;
 Cannot login because : &lt;br /&gt;
 Error :  The (database code) database is not available right now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the error message appears post login i.e. when users are working on the system then check if processes are free to run user request.&lt;br /&gt;
&lt;br /&gt;
[[image:not_available.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Solution explained ===&lt;br /&gt;
# Determine if the processes are running. If they are running and you still get the same message that means that either the processes have [[Troubleshooting_NEOSYS_Generally#Troubleshooting_Hung_processes|hung]] and need to be [[Troubleshooting_NEOSYS_Generally#How_to_kill_hung_NEOSYS_processes|killed]]. Or the processes are busy to run user requests and a new process needs to be started. &lt;br /&gt;
# If the processes are not visible on the destop, it is possible that they are running in the background and have hung for some reason. Check the windows task manager to see if any ‘ntvdm’ process is running and [[Troubleshooting_NEOSYS_Generally#If_NEOSYS_processes_are_not_visible_on_the_server_desktop|fix hung processes]].&lt;br /&gt;
# If there is no trace of any process running, that means the process probably did not start at the scheduled time. Refer to the &#039;Hung Process Reports&#039; to verify this claim. &lt;br /&gt;
# If the process had not hung, then the server might have restarted due to a power failure or a windows update and the administrator user had not logged in post the scheduled startup time of 6AM. To determine this cause, investigate in the Windows Event Viewer Log file.&lt;br /&gt;
# You can now start up the process by clicking on the respective desktop icons.&lt;br /&gt;
# Also check if the backup took place successfully or not. If not take a manual backup.&lt;br /&gt;
# Look into the logs at the date/time stated for the last transaction processed to investigate why process got hung.See [[Troubleshooting_NEOSYS_Generally#Inspecting_Database_LOGS_Folder| Inspecting logs]] for more information on logs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;quot;user not authorised to login from an ip number&amp;quot; error message ==&lt;br /&gt;
[[image:IPerror.jpg]]&lt;br /&gt;
 xxx is not authorised to login form the location (IP Number. xx.xx.xx.xx)&lt;br /&gt;
&lt;br /&gt;
Check the URL used by the user. &lt;br /&gt;
#If the users are hosted on NEOSYS server then they will use https link to access NEOSYS.&lt;br /&gt;
#*Check with the client&#039;s management if this particular IP is their public IP.&lt;br /&gt;
#*Add IP on management confirmation (Refer to [[Procedures#Handling_User_Requests_to_add_an_IP_or_range_of_IPs_to_access_NEOSYS|Handling User Rquests to add IP/IPs ]] ) &lt;br /&gt;
#If the users are hosted on Client server then they should use http link to access NEOSYS.&lt;br /&gt;
&lt;br /&gt;
== Handling damaged files ==&lt;br /&gt;
&lt;br /&gt;
[[Handling damaged files]]&lt;br /&gt;
&lt;br /&gt;
=== Checking for corrupt database files ===&lt;br /&gt;
Login to NEOSYS Maintenance. This can be done when users are online.&lt;br /&gt;
&lt;br /&gt;
Press F5&lt;br /&gt;
&lt;br /&gt;
 CHK.FILES&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
 CHK.FILES filename&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Sizelock while performing chk.files &#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Fixing sizelock errors should not be done while other users are online to the same database.&lt;br /&gt;
&lt;br /&gt;
Sizelock errors are not critical and will be fixed automatically during the nightly backup.&lt;br /&gt;
&lt;br /&gt;
Sizelock errors occur if a program or process that is selecting records from a file is aborted in some abnormal way.&lt;br /&gt;
&lt;br /&gt;
Error message:&lt;br /&gt;
&lt;br /&gt;
 These Files/Tables have a Sizelock Value of 2 or greater. &lt;br /&gt;
 Tag/Select the Files/Tables to be Fixed.&lt;br /&gt;
 Press F9 to fix selected files&lt;br /&gt;
&lt;br /&gt;
Press F9 to proceed with fixing the selected files or press ESC to continue with chk.files without fixing sizelock as it gets automatically fixed during the nightly backup. &lt;br /&gt;
&lt;br /&gt;
Refer to the [http://techwiki.neosys.com/index.php/Backup_and_Restore#Error_Message:_Size_Lock Sizelock errors in backup emails] for more information.&lt;br /&gt;
&lt;br /&gt;
[[file:sizelock.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Determining Database File Name from Operating System File Name ===&lt;br /&gt;
&lt;br /&gt;
To assess the potential damage and possible remedial measures you need to know the database file name. If the message only refers to the operating system file name you need to follow this procedure to determine the database file name.&lt;br /&gt;
&lt;br /&gt;
Once you have the database file name you can use CHK.FILES XXXXXXX to check if corrupt or not and various other procedures to fix the corruption.&lt;br /&gt;
&lt;br /&gt;
Remember that fixing the corrupt data does not solve the overall problem. The *cause* of the corruption must be identified and eliminated otherwise the problem may reoccur and in a more serious form perhaps with unrecoverable loss of data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╒═══════════════════════════════════TCL - 2══════════════════════════════════╕&lt;br /&gt;
│                                                                            │&lt;br /&gt;
│ :list FILES WITH ALL CONTAINING &#039;REV76481&#039;                                 │&lt;br /&gt;
│                                                                            │&lt;br /&gt;
╘════════════════════════════════════════════════════════════════════════════╛&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:DBfilenamefromOSfilename.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Finding out when and by whom a record was deleted ==&lt;br /&gt;
&lt;br /&gt;
In most cases, NEOSYS does not allow users to delete records and instead keeps a record of everything. In some cases however, things are deleted and the only way to get full details about the deletion is to search the logs. This is cumbersome, but there is a quick way to find out when, and by whom, a record was deleted. Prior to NEOSYS software versions dated Mar 2014, and deletions done before the same date, this procedure will only tell you when the record was deleted - but not who deleted it. Knowing exactly when it was deleted will nevertheless help you to search the logs for full details.&lt;br /&gt;
&lt;br /&gt;
In maintenance mode F5&lt;br /&gt;
&lt;br /&gt;
 ED SHADOW DELETED*filename*key&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 ED SHADOW DELETED*BATCHES*L*JOU*2*U&lt;br /&gt;
&lt;br /&gt;
Journals are stored in the BATCHES file. The key of an unposted batch is x*y*999*U where x is the company code, y is the journal type code, 999 is UNPOSTED batch number and U is just U to indicate unposted batches. Note that unposted batches are normally deleted at the time they are posted - ie converted to posted batches.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔══════════════════════════┤DELETED*BATCHES*L*JOU*2*U├═════════════════════════╗&lt;br /&gt;
║16831.60706                                                                   ║&lt;br /&gt;
║BRUCEL                                                                        ║&lt;br /&gt;
║╒═══════════════════════════════════TCL - 6══════════════════════════════════╕║&lt;br /&gt;
║│                                                                            │║&lt;br /&gt;
║│ :EVAL PRINT 16831.60706 &#039;[DATETIME]&#039;                                       │║&lt;br /&gt;
║│                                                                            │║&lt;br /&gt;
║╘════════════════════════════════════════════════════════════════════════════╛║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you see the number (in this case 16831.60706) you can convert it to a time and date by typing something like&lt;br /&gt;
&lt;br /&gt;
 PRINT 16831.60706 &#039;[DATETIME]&#039;&lt;br /&gt;
&lt;br /&gt;
Using this date and time you can search the logs more effectively to find out who did the deletion and in what circumstances.&lt;br /&gt;
&lt;br /&gt;
== Assessing Database Size per File ==&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
 &lt;br /&gt;
 LIST FILES BY BY-DSND SIZE VOLUME.NAME SIZE&lt;br /&gt;
 &lt;br /&gt;
This will include all files not just those in the actual dataset in DATA\* folders.&lt;br /&gt;
&lt;br /&gt;
== Fixing slow speed ==&lt;br /&gt;
=== [[Benchmarking NEOSYS]] ===&lt;br /&gt;
=== Investigating CPU 100% using Windows Task Manager ===&lt;br /&gt;
Email, to support, a screen-shot of task manager APPLICATIONS, PROCESSES and PERFORMANCE screens MAXIMIZED TO SHOW AS MUCH AS POSSIBLE. &lt;br /&gt;
&lt;br /&gt;
(Sort the processes to show ntvdm, waiting.exe and high cpu% processes clearly)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steps:&#039;&#039;&#039;&lt;br /&gt;
#Right Click on Windows Taskbar and click on Start Task Manager &amp;lt;br&amp;gt; [[image:starttaskmanager.jpg]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
#Click on Processes and then click on CPU &amp;lt;br&amp;gt;&#039;&#039;&#039;Note - The HIGH cpu% processes which should usually be the &amp;quot;process&amp;quot; called &amp;quot;System Idle Process&amp;quot; &#039;&#039;&#039;&amp;lt;br&amp;gt;[[image:cpu100percent1.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Click on the Performance Tab &amp;lt;br&amp;gt; &#039;&#039;&#039;Note - PF Usage should typically be much less than Physical Memory otherwise there is insufficient real memory in the server to handle the load&#039;&#039;&#039; &amp;lt;br&amp;gt; [[image:cpu100percent3.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Click on Application Tab then Right Click on a NEOSYS Process and Click on Bring to Front &amp;lt;br&amp;gt;&#039;&#039;&#039;See what the NEOSYS Process is doing &amp;lt;br&amp;gt; [[image:cpu100percent2.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Right Click on a NEOSYS Process and Click on Go to Processes &amp;lt;br&amp;gt;&#039;&#039;&#039;Note the cpu% ntvdm process &amp;lt;br&amp;gt;[[image:cpu100percent2_2.jpg]]&amp;lt;br&amp;gt;  &lt;br /&gt;
#Normally NEOSYS application screens say &amp;quot;LISTENING&amp;quot; in the bottom line and those applications should have very low cpu%&amp;lt;br&amp;gt;[[image:normalneosysprocess.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Look at the difference between the screen of running NEOSYS processes (applications actually) which are idle (listening for requests) and active (processing a request from a user)&lt;br /&gt;
#Note the number of cpus or cpu threads in the server from the performance screen graphics&amp;lt;br&amp;gt;[[image:performance-taskmgr-cputhread.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Take screen-shots of any and ALL hung or long running processes (NEOSYS application screens) and email them to support. Even small details on the screens and user names, the user names may give clues to what problem caused the hanging.A Typical Hung NEOSYS process will look like this: &amp;lt;br&amp;gt; [[image:hungneosysprocess.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
#Once all hung/long processes are closed then CPU should be low and not near 100%. If it is still 100% then check all high cpu% processes and send a screen-shot of processes sorted to show the high cpu% process names to support.&lt;br /&gt;
&lt;br /&gt;
=== Solving server CPU% is 100 and all users are extremely slow/stopped ===&lt;br /&gt;
&lt;br /&gt;
Get the screenshots of Task Manager and ALL processes on the server, the objective is to assess the true issue. No need to get the screens not in use obviously but you can send a parallel screen shot for them if you want to be pedantic or even a comment will do.&lt;br /&gt;
&lt;br /&gt;
==== Too few CPUs/threads for the number of users ====&lt;br /&gt;
In Windows task manager normally, you should see one ntvdm.exe and one waiting.exe process per NEOSYS process (application). A standard installation has three NEOSYS processes per main database and plus one per test database. This is configured in Support Menu, Configuration File.&lt;br /&gt;
&lt;br /&gt;
If there are MORE ntvdm processes than you expect from the configuration file, then perhaps NEOSYS is auto starting new NEOSYS processes to try and cater for a high number of concurrent users.&lt;br /&gt;
&lt;br /&gt;
If the number of concurrent NEOSYS processes significantly exceeds the number of cpus/hyperthreads available in the server then processing for everybody can become so slow for everybody and almost no work gets done.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Stop NEOSYS creating new NEOSYS processes automatically. Create a text file with the first and only line as AUTOSTART=NO in the neosys\neosys folder something like this.&lt;br /&gt;
&lt;br /&gt;
notepad d:\neosys\neosys\NET.CFG&lt;br /&gt;
&lt;br /&gt;
AUTOSTART=NO&lt;br /&gt;
&lt;br /&gt;
== How do I troubleshoot email not received? ==&lt;br /&gt;
&lt;br /&gt;
[[Troubleshooting email not received]]&lt;br /&gt;
&lt;br /&gt;
== Fixing permissions errors while logging in ==&lt;br /&gt;
 &lt;br /&gt;
=== Problem ===&lt;br /&gt;
 &lt;br /&gt;
While logging in, you get the following error message:&lt;br /&gt;
[[Image:login_error_message.jpg]]&lt;br /&gt;
 &lt;br /&gt;
=== Solution ===&lt;br /&gt;
 &lt;br /&gt;
Add the internet guest account to the security list of the data folder with the default permission of list/read/write&lt;br /&gt;
 &lt;br /&gt;
Make sure the read&amp;amp;execute permission is removed&lt;br /&gt;
[[Image:permissions_on_data.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fixing the &#039;HTTP Error 500.0 - Internal Server Error&#039; while logging in on IE on a Windows Vista system ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
After configuring IIS on Windows Vista you will get this error message while trying to login into NEOSYS from Internet Explorer:&lt;br /&gt;
&lt;br /&gt;
 HTTP Error 500.0 - Internal Server Error&lt;br /&gt;
 Description: This application is running in an application pool that uses the Integrated .NET  &lt;br /&gt;
 mode. This is the preferred mode for running ASP.NET applications on the current and future &lt;br /&gt;
 version of IIS.&lt;br /&gt;
 &lt;br /&gt;
 In this mode, the application using client impersonation configured with &amp;lt;identity &lt;br /&gt;
 impersonate=&amp;quot;true&amp;quot; /&amp;gt; may not behave correctly. Client impersonation is not available in early &lt;br /&gt;
 ASP.NET request processing stages and may lead modules in those stages to execute with process &lt;br /&gt;
 identity instead.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
You can move the application to an application pool that uses the Classic .NET mode by using the following from a command line window (the window must be running as Administrator) &lt;br /&gt;
&lt;br /&gt;
 %systemroot%\system32\inetsrv\APPCMD.EXE set app &amp;quot;Default Web Site/neosys&amp;quot; /applicationPool:&amp;quot;Classic .NET AppPool&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can use any other application pool on your system that is running in the Classic .NET mode. You can also use the IIS Administration tool to move this application to another application pool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fixing the &#039;Class Not Registered&#039; error message while logging in ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
While logging into NEOSYS, you will get a popup window giving an error message saying &#039;Class Not Registered - Server Error&#039;. Typically, you will encounter this error with XP Pro IIS 5.1. As usual, there&#039;s way to solve it, however the root cause of this is still unknown.&lt;br /&gt;
&lt;br /&gt;
Anyway, you will get the proper message in the event log:&lt;br /&gt;
&lt;br /&gt;
 Event Type: Warning&lt;br /&gt;
 Event Source: W3SVC&lt;br /&gt;
 Event Category: None&lt;br /&gt;
 Event ID: 36&lt;br /&gt;
 Description: The server failed to load application &#039;/LM/W3SVC/1/ROOT/NEOSYS.&lt;br /&gt;
 The error was &#039;Class not registered&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
So, what do you do ? This problem is related to Component Services, and when you open Component Services MMC, you will most probably  get  Error Code 8004E00F COM + was unable to talk to Microsoft Distributed Transaction Coordinator. So, fix the COM+ services first by using the following KB from Microsoft (PRB: Cannot Expand &amp;quot;My Computer&amp;quot; in Component Services MMC Snap-In http://support.microsoft.com/?id=301919):&lt;br /&gt;
&lt;br /&gt;
To resolve this problem, reinstall Component Services as follows: WARNING: &lt;br /&gt;
# Open registry editor, locate HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3, and then delete this key.  &lt;br /&gt;
# From the Start menu, point to Settings, click Control Panel, and then click Add/Remove Programs.  &lt;br /&gt;
# Click Add/Remove Windows Components. &lt;br /&gt;
# Proceed through the wizard, and accept all of the defaults (including IIS)&lt;br /&gt;
# Restart the computer.&lt;br /&gt;
&lt;br /&gt;
If the above didn&#039;t solve it, and you still receive the &#039;Class not registered&#039; error message, then you need to recreate the IIS packages in COM+, try&lt;br /&gt;
&lt;br /&gt;
# Delete IIS related package in Component Services MMC&lt;br /&gt;
# IIS In-Process Applications &lt;br /&gt;
# IIS Out-of-Process Pooled Applications &lt;br /&gt;
# IIS Utilities&lt;br /&gt;
&lt;br /&gt;
Next, if you still get the message, try following before re-install IIS if you can&#039;t find Distributed Transaction Coordinator in your Services console.&lt;br /&gt;
&lt;br /&gt;
Launch command prompt and run the following command.&lt;br /&gt;
# msdtc -install&lt;br /&gt;
# net start msdtc&lt;br /&gt;
&lt;br /&gt;
Then try re-install IIS.&lt;br /&gt;
&lt;br /&gt;
This should solve the problem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enabling File Security option on Win XP Professional ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
&lt;br /&gt;
In the Properties of any folders, the Security option does not show, hence you cannot modify the Read, Write options.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
The solution would be to untick the &#039;Simple File Sharing&#039; option from  Tools &amp;gt; Folder Options &amp;gt; View:&lt;br /&gt;
[[Image:simplefilesharingoff.jpg]]&lt;br /&gt;
&lt;br /&gt;
== %00%00%00%00 Errors ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SYSTEM ERROR in line 162. Amount &amp;quot;-2698.00AED&amp;quot; or base &amp;quot;%00%00%00%00&amp;quot; has been wrongly generated   &lt;br /&gt;
GET NEOSYS SUPPORT. DO NOT ATTEMPT TO CORRECT MANUALLY    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Solution ===&lt;br /&gt;
%00%00%00%00 indicates an internal error that NEOSYS programmer has to fix. It is usually random and can be hard to replicate unlike almost all other NEOSYS errors which usually replicate reliably once you find the cause.&lt;br /&gt;
&lt;br /&gt;
== B703 Errors ==&lt;br /&gt;
&lt;br /&gt;
The B703 error is usually always related to something too big for NEOSYS to handle. &lt;br /&gt;
&lt;br /&gt;
These are the only B errors that NEOSYS cant always permanently prevent by fixing the software.&lt;br /&gt;
&lt;br /&gt;
== Internet Explorer Menu, View, Text Size doesnt change font size as expected ==&lt;br /&gt;
&lt;br /&gt;
Cause: This is because the font size is now user definable in NEOSYS and View, Text Size does not override predefined font sizes.&lt;br /&gt;
&lt;br /&gt;
Solution: If you are using Internet Explorer 7 you can scale the screen (including the font size  using ctrl + and ctrl - keyboard shortcuts or the font size button on the bottom right hand side of the window. &lt;br /&gt;
&lt;br /&gt;
You can adjust the font size on the User Details form when you login although this permanently applies to all forms not just the one that you are on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uploaded jpg files fail to display in internet explorer ==&lt;br /&gt;
&lt;br /&gt;
Some large jpg files &amp;gt; 2Mb cannot be viewed in internet explorer despite being viewable in image preview, ms paint and other viewers/editors. It is not an issue caused by uploading or downloading the files.&lt;br /&gt;
&lt;br /&gt;
These file appear to have been created on Photoshop CS Macintosh and may be a special type of uncompressed jpg used for production quality files.&lt;br /&gt;
&lt;br /&gt;
=== Partial solution ===&lt;br /&gt;
Before uploading the files, open them in some editor like MS Paint (right click, edit) and save them. However this results in a loss of quality. Perhaps there is some program that can convert these files to a format understandable by Internet explorer without any loss of quality.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;This document is currently read only&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
The user attempting to modify this document does not have the authorization key to do so.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
Inform the user that he is not authorised to modify the document and give him the list of users within his company who are authorised to do so.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;You have attempted to write to a read-only file&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
=== Message ===&lt;br /&gt;
&lt;br /&gt;
Error while writing data.&lt;br /&gt;
You have attempted to write to a read-only file.&lt;br /&gt;
- or -&lt;br /&gt;
access to the file has been denied by the operating system.&lt;br /&gt;
(operating system file name: &amp;quot;..\DATA\ADLINEC\ADAGENCY\REV76467.OV00012618&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
It is almost certainly due to some third party backup or other maintenance software opening the NEOSYS database files when it shouldn&#039;t e.g. badly configured third party backup scheduled to backup NEOSYS while NEOSYS is still running. Note that the exact filename varies each time.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
This can be a serious error that causes damaged files in NEOSYS especially if the filename ends in .OV. Use the usual methods of checking for damaged files e.g. do a backup which also looks for damaged files BUT DO NOT OVERWRITE THE LATEST BACKUP SINCE IT MAY BE REQUIRED for restoration. Then fix the damaged files using the usual methods e.g. by rebuilding/using&lt;br /&gt;
FIXFILE or restoring databases. For more info check [[Handling damaged files|Handling damaged files]]&lt;br /&gt;
&lt;br /&gt;
=== Prevention ===&lt;br /&gt;
&lt;br /&gt;
Remove the third party backup or other maintenance software or reschedule it to run at a time that NEOSYS is shutdown. Removal of software may require hunting through the windows process list for unexpected programs running.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting Hung processes==&lt;br /&gt;
&lt;br /&gt;
=== Investigating hung NEOSYS processes ===&lt;br /&gt;
&lt;br /&gt;
To find out some information about what the hung processes are suffering from, do the following:&lt;br /&gt;
&lt;br /&gt;
When no important clients working (eg first thing in the morning) then request a shutdown of all NEOSYS processes. This should will leave only the hung processes open.&lt;br /&gt;
&lt;br /&gt;
Then find what NEOSYS files are open as follows:&lt;br /&gt;
&lt;br /&gt;
run Sysinternal&#039;s &amp;quot;Process Explorer&amp;quot; (from Start, Programs or procexp.exe from desktop)&lt;br /&gt;
&lt;br /&gt;
find, handle&lt;br /&gt;
&lt;br /&gt;
 d:\&lt;br /&gt;
&lt;br /&gt;
submit the complete list (maybe more than one page) to support for records&lt;br /&gt;
&lt;br /&gt;
[[Image:invhungprocess.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Troubleshooting_NEOSYS_Generally#Investigating_CPU_100.25_using_Windows_Task_Manager|Investigating CPU 100% using Windows Task Manager]]  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Troubleshooting_NEOSYS_Generally#Solving_server_CPU.25_is_100_and_all_users_are_extremely_slow.2Fstopped|Solving server CPU% is 100 and all users are extremely slow/stopped]] ===&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Fatal Error in Rev Restart&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
[[image:fatal.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Error message: “Abort, Retry, Fail” ===&lt;br /&gt;
==== Problem ====&lt;br /&gt;
The following messages may come on older versions of NEOSYS if there is a problem with the USB media inserted for backup.&lt;br /&gt;
&lt;br /&gt;
[[image:usberror.jpg]]&lt;br /&gt;
&lt;br /&gt;
This results in “NEOSYS has not checked in” message on Nagios since it hangs during the monitoring update and locks all other processes from monitoring too.&lt;br /&gt;
&lt;br /&gt;
General failure writing drive F&lt;br /&gt;
Abort, Retry, Fail?&lt;br /&gt;
&lt;br /&gt;
Not read reading drive F&lt;br /&gt;
Abort, Retry, Fail?&lt;br /&gt;
&lt;br /&gt;
Pressing A or F results in the problem happening again in about a minute, perhaps on a different process.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Temporary solution is to do “Safely remove hardware” from the windows notification area. Using “Eject” from My Computer will not work.&lt;br /&gt;
&lt;br /&gt;
Permanent solution is to replace the defective USB memory stick. Sometime reformatting is sufficient.&lt;br /&gt;
&lt;br /&gt;
Upgrading NEOSYS will probably stop the defective media from causing NEOSYS to hang but the USB will still be useless for backup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Read error in the operating system file&amp;quot; ===&lt;br /&gt;
==== Problem ====&lt;br /&gt;
Nagios reports a hung process and on the server a process has the following message popup.&lt;br /&gt;
&lt;br /&gt;
 Read error in the operating system file &amp;quot;..\DATA\PT0833\ACCOUNTS\REV20049&lt;br /&gt;
 The file does not exist or the filename is&lt;br /&gt;
 not valid for the operating system.&lt;br /&gt;
&lt;br /&gt;
[[Image:readerrorintheoperatingsystemfile.png]]&lt;br /&gt;
&lt;br /&gt;
==== Cause ====&lt;br /&gt;
Some non-NEOSYS program is directly accessing the NEOSYS database files while NEOSYS processes are running and using the files as well.&lt;br /&gt;
&lt;br /&gt;
*Client IT staff using a backup program to perform backup without ensuring that NEOSYS processes are shutdown.&lt;br /&gt;
*A NEOSYS rsync process taking longer than expected due to new USB.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Kill the NEOSYS process eg with the X button. It is advisable NOT to let it run further while it cannot properly access one of its files.&lt;br /&gt;
&lt;br /&gt;
==== Prevention ====&lt;br /&gt;
Remove the third party program or arrange for it to operate only while NEOSYS processes are shutdown eg from 3am-6am.&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Not enough string space - Out of Memory&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
==== Message ====&lt;br /&gt;
&lt;br /&gt;
‘RTP27’ Line 1. [B29] Not enough string space – Out of Memory.&lt;br /&gt;
&lt;br /&gt;
Not enough memory to execute Debugger; current program aborted.&lt;br /&gt;
Press any key to continue&lt;br /&gt;
&lt;br /&gt;
[[Image:out_of_memory.jpg]]&lt;br /&gt;
&lt;br /&gt;
==== Cause ====&lt;br /&gt;
Unknown perhaps related to some large document or report&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Ask users for any hanging transactions.&lt;br /&gt;
None other than closing and starting another process.&lt;br /&gt;
&lt;br /&gt;
Also refer [[Troubleshooting NEOSYS Generally#Enabling EMS memory on Window 2003|Enabling EMS memory on Window 2003]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: B521 ===&lt;br /&gt;
&lt;br /&gt;
[[Image:B521.jpg]] &lt;br /&gt;
&lt;br /&gt;
 Another user is currently updating indexes. &lt;br /&gt;
 Waiting to make your updates...&lt;br /&gt;
 If you interrupt this process,&lt;br /&gt;
 you may have to rebuild all the indexes&lt;br /&gt;
&lt;br /&gt;
B521 message is usually temporary and goes away by itself. If it does not then, as the text of the B521 message makes clear, some OTHER process is holding up the system, preventing the process with B521 message from continuing.&lt;br /&gt;
&lt;br /&gt;
B521 message is a symptom of other problem so it does not itself have some one simple solution. You must find which other process or issue is causing the hold up and solve whatever problem is causing the hold up, which could be anything.&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot; NTVDM encountered a hard error &amp;quot;  ===&lt;br /&gt;
&lt;br /&gt;
The following error message appears:&lt;br /&gt;
&lt;br /&gt;
[[Image:ntvdm.jpg]]&lt;br /&gt;
&lt;br /&gt;
 NTVDM encountered a hard error&lt;br /&gt;
&lt;br /&gt;
==== Solution  ====&lt;br /&gt;
 &lt;br /&gt;
This error is caused by missing or corrupt Windows system files (i.e. command.com, autoexec.nt and config.nt). The solution is to run a program called XP FIX which will reinstall these missing files. You can download it form http://www.visualtour.com/downloads/xp_fix.exe&lt;br /&gt;
&lt;br /&gt;
Sometimes even after running the XP FIX program the error still appears. Then you need to copy all the files under C:/windows/repair to C:/windows/system32 and in the autoexec.nt and config.nt put REM before any lines there which don&#039;t have it.&lt;br /&gt;
&lt;br /&gt;
====Possible fix for some NTVDM errors ====&lt;br /&gt;
&lt;br /&gt;
===== Error message ===== &lt;br /&gt;
&lt;br /&gt;
[[Image:Ntvdm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
 NTVDM has encountered a System error.&lt;br /&gt;
 The system cannot find the file specified.&lt;br /&gt;
 Choose close to terminate the application.&lt;br /&gt;
&lt;br /&gt;
=====Possible solution===== &lt;br /&gt;
&lt;br /&gt;
#Change the TEMP and TMP environment variables to C:\WINDOWS\TEMP. This should be for the user that runs NEOSYS processes - normally administrator.&lt;br /&gt;
#Close all NEOSYS processes &lt;br /&gt;
#Logout/Login again&lt;br /&gt;
#Restart NEOSYS processes&lt;br /&gt;
&lt;br /&gt;
[[image:Ntvdmsoln.png]]&lt;br /&gt;
&lt;br /&gt;
===== Check solution done properly ===== &lt;br /&gt;
&lt;br /&gt;
You can check that by typing ECHO %TEMP% and ECHO %TMP% at a console prompt after logging out and in again. &lt;br /&gt;
&lt;br /&gt;
Note that windows will actually set the windows environment variables to something like C:\WINDOWS\TEMP\2 for some unknown reason. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
d:\hosts&amp;gt;ECHO %temp% &lt;br /&gt;
C:\WINDOWS\TEMP\2 &lt;br /&gt;
&lt;br /&gt;
d:\hosts&amp;gt;ECHO %tmp% &lt;br /&gt;
C:\WINDOWS\TEMP\2 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Error message: [[Troubleshooting_NEOSYS_Generally#Troubleshooting_the_.22Database_not_available.22_error_message|&amp;quot;Database not available&amp;quot; post login]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: [[Backup_and_Restore#Error_Message:_.22Cannot_backup.2Frestore_because_PROCESS1_PROCESS2_.28etc.29_is.2Fare_online.22_message|&amp;quot;Cannot backup/restore because PROCESS1 PROCESS2 (etc) is/are online&amp;quot;]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How to kill hung NEOSYS processes ===&lt;br /&gt;
 &lt;br /&gt;
NOTE WELL: If you kill actively working NEOSYS processes (those which are &amp;quot;listening&amp;quot; and not hung/crashed) there is a reasonable chance that the database will be damaged and might need a restore losing possibly large amounts of work.&lt;br /&gt;
 &lt;br /&gt;
==== If NEOSYS processes are visible on the server desktop ====&lt;br /&gt;
 &lt;br /&gt;
Look for processes which don&#039;t have &amp;quot;Listening ...&amp;quot; on the last but one line. The times on the left hand side are frozen as at the time of the hang.&lt;br /&gt;
 &lt;br /&gt;
You can then click the X to kill the process and confirm that this is OK.&lt;br /&gt;
 &lt;br /&gt;
Example of a NEOSYS process that has hung due to a software error resulting in a failure to handle a complex query with a lot of brand codes.&lt;br /&gt;
&lt;br /&gt;
[[Image:hungprocess.jpg]]&lt;br /&gt;
 &lt;br /&gt;
==== If NEOSYS processes are not visible on the server desktop ====&lt;br /&gt;
&lt;br /&gt;
NEOSYS processes are most of the time visible on the desktop (i.e. the black dos windows) in Windows 2003 OS, except in the case that the process has been scheduled to start on computer restart and no one has logged into the server. In this case it would be running in the background. TODO&lt;br /&gt;
&lt;br /&gt;
You can check if there are any hung processes from the NEOSYS Support Menu, List of Database Processes. &lt;br /&gt;
[[Image:databaseprocesseslist.jpg]]&lt;br /&gt;
&lt;br /&gt;
In this case you should follow the below instructions - however all of them need to be done within 30 seconds of starting the first instruction to avoid inconvenience to the users. It is recommend that you keep relevant windows open before proceeding with the same:&lt;br /&gt;
&lt;br /&gt;
#Shutdown NEOSYS by TEMPORARILY putting a file called GLOBAL.END in the parent directory of NEOSYS (if there is already a GLOBAL.END.TEMP file then rename it to GLOBAL.END). Leaving the file there would prevent NEOSYS from starting up again. Shutting down NEOSYS from the Support menu will not work because of the hung processes.&lt;br /&gt;
#Use Windows Task Manager to kill all the NTVDM processes - assuming that you have closed all the visible NEOSYS processes, then the NTVDM processes in the task manager would be the hung one.&lt;br /&gt;
#Delete GLOBAL.END or rename it to GLOBAL.END.TEMP&lt;br /&gt;
#Restart the processes back again. If there are many datasets then you need to restart them all well within the 30 seconds period.&lt;br /&gt;
#*Restarting a process is not noticed by users.&lt;br /&gt;
&lt;br /&gt;
In case of Patsalides, where we have a thousand datasets which start &amp;quot;on demand&amp;quot; i.e. usually on login; all you need to do is start one dataset which will restart all the other datasets &amp;quot;on demand&amp;quot;. If there is no response within 30 seconds then one of the running datasets will start it up so there appears to be a 30 second delay when you login to one of the thousand datasets the first time on any one day.&lt;br /&gt;
&lt;br /&gt;
=== Temporary workarounds for hung NEOSYS processes ===&lt;br /&gt;
Until the error in the software is fixed users can often get their results by simplifying their requirements. For example select individual clients instead of selecting all the brands for a particular client. If the user has repeated his request (in forlorn hope that it would work finally) then the number of working NEOSYS processes will drop causing severe slowdown for other users and complete stop if all the NEOSYS processes hang.&lt;br /&gt;
&lt;br /&gt;
== Fixing &amp;quot; You do not have sufficient privilege to access this file &amp;quot;  ==&lt;br /&gt;
&lt;br /&gt;
This error message may come up while NEOSYS process startup.&lt;br /&gt;
&lt;br /&gt;
Solution: Close the window and look for NEOSYS processes. In case there is no process, start the NEOSYS process.&lt;br /&gt;
&lt;br /&gt;
[[image:Errormsg.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing &#039;NEOSYS process which opens up in a notepad instead of Microsoft Windows Based Script Host (i.e. DOS window)&#039;==&lt;br /&gt;
&lt;br /&gt;
The NEOSYS process (cmd file) might open up in a notepad, instead of the usual black colour DOS window. This may happen if a JavaScript file is opened using a notepad. Please be very CAREFUL when accessing a .JS and .JSE file and double check that the default program remains wscript.exe. The issue can be fixed by the following:&lt;br /&gt;
&lt;br /&gt;
# Check if Windows Script 5.6/5.7 is installed, IF NOT download and install it from the Microsoft Website.&lt;br /&gt;
# Go to any folder, click on Tools &amp;gt; Folder Options &amp;gt; File Types and find the .JS and .JSE and change the default program to wscript.exe (from windows&amp;gt;system32)&lt;br /&gt;
&lt;br /&gt;
== Fixing a &#039;Could not start&#039; error on Scheduled Tasks in Windows Server 2000 SP4 ==&lt;br /&gt;
&lt;br /&gt;
This error occurs because of a change that is made to the data that is stored in the credentials database when you install Windows 2000 SP4. Hence installing SP4 causes the the data that is stored in the credentials database to get converted to an SP4-compatible format. A registry key is configured to indicate that the data has been converted to the SP4 format.&lt;br /&gt;
&lt;br /&gt;
Hence the Scheduled Tasks do not work sometimes. However the Scheduled Tasks works fine sometimes, but when you uninstall SP4, it does not work.&lt;br /&gt;
&lt;br /&gt;
The best solution is to:&lt;br /&gt;
&lt;br /&gt;
# Incase Scheduled Tasks do not work after installing SP4, then uninstall SP4 and it should be fine.&lt;br /&gt;
# Incase Scheduled Tasks works after installing SP4, and later after uninstalling SP4, it does not work, then install SP4 and it should be fine.&lt;br /&gt;
&lt;br /&gt;
== Checking for server or NEOSYS crashes ==&lt;br /&gt;
 &lt;br /&gt;
#NEOSYS Maintenance Mode&lt;br /&gt;
#General Menu, Setup, Processes&lt;br /&gt;
#Select the dates and the option Detailed&lt;br /&gt;
 &lt;br /&gt;
This report shows a list of dates and times that NEOSYS logged in but did not log out properly.&lt;br /&gt;
 &lt;br /&gt;
Ignore the very latest entries since they represent the current NEOSYS processes. For example, if you have four NEOSYS processes running at the time that you get the report (including any in maintenance mode) then you can ignore the last four entries.&lt;br /&gt;
 &lt;br /&gt;
The date and time shows for each process that has failed to shutdown correctly when the process logged in. Versions of NEOSYS from January 2008 will also show the date and time that each crashed NEOSYS process was last active (heartbeat) so that the time of failure can be known.&lt;br /&gt;
 &lt;br /&gt;
If you see a bunch of NEOSYS processes all started up at around the same time but all failed to shutdown correctly then the cause will be a server failure - usually power failure.&lt;br /&gt;
 &lt;br /&gt;
Isolated one-off failures will be related to individual NEOSYS process crashes - most commonly caused by one of the following:&lt;br /&gt;
 &lt;br /&gt;
#NEOSYS hanging to due to software failure&lt;br /&gt;
#Manually exiting a NEOSYS process on the server either by pressing Ctrl+Alt+Del or clicking the &amp;quot;X&amp;quot; close icon/box and ignoring the warning&lt;br /&gt;
#Random server failures eg memory, disk etc&lt;br /&gt;
 &lt;br /&gt;
Example:&lt;br /&gt;
 &lt;br /&gt;
 LOGIN 22/12/2007 06:02 NEOSYS SERVER ADAGENCY         Current workstation &lt;br /&gt;
 LOGIN 23/12/2007 06:00 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 06:01 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 06:02 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:52 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:52 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:53 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:00 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:01 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:02 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 13:51 NEOSYS SERVER NEOSYS         Current user session  &lt;br /&gt;
&lt;br /&gt;
Interpretation:&lt;br /&gt;
 &lt;br /&gt;
The first four entries indicate that all four NEOSYS processes started at 06am were suddenly killed probably by power failure&lt;br /&gt;
 &lt;br /&gt;
The next four entries indicate that NEOSYS was restarted at around 08:52 and all these processes were AGAIN killed probably by power failure&lt;br /&gt;
 &lt;br /&gt;
The last four entries can be ignored because there were four NEOSYS processes running at the time that the report was generated&lt;br /&gt;
&lt;br /&gt;
== Searching for word/number in the database files using maintenance mode ==&lt;br /&gt;
&lt;br /&gt;
You can search for any word/number in the database files of NEOSYS, using the following command line:&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 FIND FILENAME WORDWITHOUTANYSPACES&lt;br /&gt;
 &lt;br /&gt;
 For eg:&lt;br /&gt;
 FIND CURRENCIES 1.1&lt;br /&gt;
 (here you are searching for the number 1.1 in the currencies file) You CANNOT search for a phrase ie include spaces like this.&lt;br /&gt;
 &lt;br /&gt;
 Or you can also type:&lt;br /&gt;
 FIND FILENAME &amp;lt;enter&amp;gt;&lt;br /&gt;
 and it will ask you what you want do to search. You can enter an exact phrase with spaces.&lt;br /&gt;
&lt;br /&gt;
Incase you do not know the filenames, you can enter the following command to see all the filenames in the system:&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 LF&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting a Service Unavailable message on Internet Explorer when opening up NEOSYS ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&lt;br /&gt;
The following error message appears in Internet Explorer when you try to open up NEOSYS:&lt;br /&gt;
&lt;br /&gt;
 Service Unavailable&lt;br /&gt;
&lt;br /&gt;
=== Solution  ===&lt;br /&gt;
 &lt;br /&gt;
Open the IIS Manager, right click Web Sites and select properties:&lt;br /&gt;
[[Image:serviceunavailable1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Switch to the Service Tab and tick the &amp;quot;Run WWW Service in IIS 5.0 Isolation Mode&amp;quot;.&lt;br /&gt;
[[Image:serviceunavailable2.jpg]]&lt;br /&gt;
&lt;br /&gt;
You will be asked for Restart of IIS. Click yes to restart IIS. If you are not asked just restart IIS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Inspecting IIS log files ==&lt;br /&gt;
&lt;br /&gt;
At a windows command prompt:&lt;br /&gt;
&lt;br /&gt;
 c:&lt;br /&gt;
 cd \Windows\system32\LogFiles\W3SVC1&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 %SystemDrive%&lt;br /&gt;
 cd %SystemRoot%&lt;br /&gt;
 cd system32\LogFiles\W3SVC1&lt;br /&gt;
&lt;br /&gt;
then (substituting the ip number you are interested in)&lt;br /&gt;
&lt;br /&gt;
 find &amp;quot;192.168.1.55&amp;quot; *|sort&amp;gt;temp.log&lt;br /&gt;
&lt;br /&gt;
Open temp.log in Excel and use Tools, Data, Text to Columns to split into columns using options &amp;quot;Delimited&amp;quot; and check split on Space.&lt;br /&gt;
&lt;br /&gt;
Autowidth all columns by clicking on the top left box just outside the data to the left of column A and above column 1 then double click the column separator to the right of column &amp;quot;A&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note that times and dates are in UTC/GMT so you have to add/subtract your timezone offset to get local times.&lt;br /&gt;
&lt;br /&gt;
==Inspecting Database LOGS Folder==&lt;br /&gt;
LOGS folder in NEOSYS installation folder carries records of all changes done in the database which includes adding and removal of data.&lt;br /&gt;
&lt;br /&gt;
Log file is an XML document which should be viewed in Notepad. Each XML document represents commands executed by each NEOSYS process started each day.&lt;br /&gt;
&lt;br /&gt;
The NEOSYS log files e.g. 15123103.xml are created by the database processes. If the database is not available according to the website then no entry will appear in that log. The request will appear in the IIS website log but that log is nothing to do with database processes.&lt;br /&gt;
&lt;br /&gt;
=== Understanding Log Entries ===&lt;br /&gt;
Inspecting and searching through Logs file allows NEOSYS staff to answer clients queries like &amp;quot;Who deleted schedule XXXX&amp;quot; etc.&lt;br /&gt;
&lt;br /&gt;
While going through the log file you may come across a request &amp;quot;EXECUTE GENERAL GETTASKS NOT&amp;quot;, this request is concerned with getting a list of tasks that the user is *not* allowed to do.&lt;br /&gt;
&lt;br /&gt;
To read and understand the log file with more ease, copy the portion of the log file required to be analyzed into another text editor.&lt;br /&gt;
&lt;br /&gt;
The text that appears as %FE, %FE1, %FE2, etc. are basically separators.&lt;br /&gt;
*First replace FE0%, FE1%, FE2%, etc. with a separator like &amp;quot;--&amp;quot;. There can be occurrences of &amp;quot;%FE&amp;quot; along with some valuable information like &amp;quot;17290&amp;quot;, so replacing &amp;quot;%FE1&amp;quot; in &amp;quot;%FE17290&amp;quot; would lead to loss of information.&lt;br /&gt;
*Then replace %FE with a bigger separator like &amp;quot;===&amp;quot;.&lt;br /&gt;
*Replace other entries like %FCB and then %FC and so on with similar separators.&lt;br /&gt;
*In the end there may be few &amp;quot;FE&amp;quot; remaining, replace these with a separator like &amp;quot;-&amp;quot;.&lt;br /&gt;
*The remaining &amp;quot;%&amp;quot; characters MUST be intelligently replaced with a separator like &amp;quot; &amp;quot; (space), because it can either be an actual &amp;quot;%&amp;quot; or it can be a residue from &amp;quot;%FE&amp;quot;, &amp;quot;%FE1&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
Once replacing all these characters is done, the log file will be more easily readable and vital information will be clearer. &lt;br /&gt;
&lt;br /&gt;
In the log file, you may find numbers like 17290, 17195, etc. These numbers denote dates selected or entered by the NEOSYS user. These are basically the number of days from 31st December 1967 till the date chosen by the user. For example, to convert 17290 to actual date, 31/12/1967 + 17290 = 3/5/2015. So the actual date is 3rd May 2015.&lt;br /&gt;
&lt;br /&gt;
To convert these numbers to dates using maintenance mode, refer to the article [http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Finding_out_when_and_by_whom_a_record_was_deleted Finding out when and by whom a record was deleted]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:NEOSYS Logs.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing NEOSYS processes that do not auto start / Recovering from incorrect advanced date or time ==&lt;br /&gt;
This solution is applicable to live database processes only. Test database processes don’t auto-start any other processes.&lt;br /&gt;
&lt;br /&gt;
=== Problem explained ===&lt;br /&gt;
After starting up the 1st process, the rest of the processes don&#039;t start up.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
The possible cause for this could be that the system date/time might have been changed - either manually or by the auto synchronization. Do the following checks in the sequence of order:&lt;br /&gt;
&lt;br /&gt;
# Check for any *.$* files (* after dollar sign should show a number, the highest being the latest one). If it shows OK, then proceed ahead.&lt;br /&gt;
# Check for any .end files and delete it to rename to .end.temp&lt;br /&gt;
# Check the System Event Viewer log for any 520 or 577 error message (refer http://128.175.24.251/forensics/timechange.htm). Also check for any out of sequence / ahead of today date or time.&lt;br /&gt;
# In case of no 520 or 577 error message, go to Administrative Tools &amp;gt; Local Security Policy &amp;gt; Local Policies &amp;gt; Audit Policy &amp;gt; Audit Privilege use - make sure that Success and Failure are selected under this (this will ensure that future changes to the date/time are recorded in the System Log).&lt;br /&gt;
# In NEOSYS maintenance mode - F5 ED PROCESSES %UPDATE% - and see what it says, incase of any text (only text, not numbers) there, that means that for sure the system date has been changed. To fix this, exit the editor by pressing the ESCAPE key and then type DELETE PROCESSES &amp;quot;%UPDATE%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Fixing NEOSYS maintenance mode not starting up == &lt;br /&gt;
&lt;br /&gt;
Problem :- While trying to start maintenance mode, the maintenance window closes automatically within a split second.&lt;br /&gt;
&lt;br /&gt;
Solution :- Delete the read-only file REVBOOT file (under d:/neosys/neosys folder). REVBOOT file is recreated when you start maintenance mode.&lt;br /&gt;
&lt;br /&gt;
== Recognising and Solving Low Memory Problems ==&lt;br /&gt;
&lt;br /&gt;
Quick Note: Installing a server class operating system on a workstation class computer with the intention of NEOSYS serving a heavy load is likely to cause problems with low memory.&lt;br /&gt;
&lt;br /&gt;
Quick Fix: Disable *ALL* non-essential features in the power-on setup menu.&lt;br /&gt;
&lt;br /&gt;
=== Effects ===&lt;br /&gt;
&lt;br /&gt;
It is speculated but not proven that low memory may cause NEOSYS to fail by hanging, causing damaged files etc.&lt;br /&gt;
&lt;br /&gt;
=== Checking ===&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 MEMORY&lt;br /&gt;
&lt;br /&gt;
On server class machines it should say somewhere around 350Kb to 370Kb Free&lt;br /&gt;
&lt;br /&gt;
Some server class machines have around 330Kb and sometimes even less with no reported problems&lt;br /&gt;
&lt;br /&gt;
The actual effect of low memory is supposed to make NEOSYS slower and perhaps cause hanging and damaged files however this has not been proven in an specific case so far.&lt;br /&gt;
&lt;br /&gt;
On workstation class machines it may often say around 280Kb to 300Kb.&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
Although there is plenty of real memory in virtually all computers now, NEOSYS runs in the legacy 16 bit virtual memory space of a windows mode called NTVDM. This is limited to 1Mb plus 4Mb of EMS memory.&lt;br /&gt;
&lt;br /&gt;
The 1Mb memory space is shared with:&lt;br /&gt;
&lt;br /&gt;
#Various non-essential windows drivers which NEOSYS automatically disables them in autoexec.nt&lt;br /&gt;
#Various plug and play hardware device drivers for the various adapters in the computer like video, network adapters and various other items that NEOSYS is unable to disable.&lt;br /&gt;
&lt;br /&gt;
In a server class computer the hardware device drivers are usually minimally present in the 1Mb base memory and do not therefore DOESNT a low memory situation for NEOSYS.&lt;br /&gt;
&lt;br /&gt;
In workstation class computers there are often many hardware device drivers present in the 1Mb base memory and this DOES causes a low memory situation for NEOSYS.&lt;br /&gt;
&lt;br /&gt;
When NEOSYS is installed on workstation class computers with XP there is usually not a heavy load expectation and therefore the low memory does not cause a problem.&lt;br /&gt;
&lt;br /&gt;
If Windows Server OS is installed on a workstation class computer NEOSYS may well be expected to serve a heavy load with limited amounts of memory.&lt;br /&gt;
&lt;br /&gt;
Workstation class computers: hardware drivers present and EMS is installed in low memory (0000-9FFF) causing low memory for NEOSYS and possible inability to &lt;br /&gt;
&lt;br /&gt;
Server class computers: Usually few hardware drivers are present in high part (A000-FFFF) of the 1Mb base memory and EMS is able to occupy the high memory leaving the low part (0000-9FFFF) of the 1Mb memory free for NEOSYS. You can find out how much memory is available to NEOSYS and whether EMS is occuping high or low memory using the following sections.&lt;br /&gt;
&lt;br /&gt;
=== Fixing Low Memory ===&lt;br /&gt;
&lt;br /&gt;
Start, Run, notepad c:\windows\system32\autoexec.nt&lt;br /&gt;
&lt;br /&gt;
Every time NEOSYS starts it tries to make some changes as follow:&lt;br /&gt;
&lt;br /&gt;
#replaces all lines in C:/WINDOWS/SYSTEM32/AUTOEXEC.NT starting with &#039;lh &#039; to start with &#039;rem NEOSYS LH &#039; instead.&lt;br /&gt;
#changes the line in C:/WINDOWS/SYSTEM32/CONFIG.NT &amp;quot;files=...&amp;quot; to &amp;quot;FILES=200&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The replacement is case sensitive triggered on &#039;lh&#039; and &#039;files&#039; so if you manually edit the files and remove the rem or change the number of files and leave the LH and FILES in uppercase then NEOSYS will NOT make further changes. This allows you to do manual amendments to the files without NEOSYS overwriting them.&lt;br /&gt;
&lt;br /&gt;
Check that NEOSYS has successfully disabled all the drivers in the lines starting with LH.&lt;br /&gt;
&lt;br /&gt;
They should be commented out (prefixed) with REM or REM NEOSYS as follows.&lt;br /&gt;
&lt;br /&gt;
After making changes reopen NEOSYS in maintenance mode to use the MEMORY and WHO commands again.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REM Install CD ROM extensions&lt;br /&gt;
REM NEOSYS LH %SystemRoot%\system32\mscdexnt.exe&lt;br /&gt;
&lt;br /&gt;
REM Install network redirector (load before dosx.exe)&lt;br /&gt;
REM NEOSYS LH %SystemRoot%\system32\redir&lt;br /&gt;
&lt;br /&gt;
REM Install DPMI support&lt;br /&gt;
REM NEOSYS LH %SYSTEMROOT%\SYSTEM32\DOSX&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Low Memory Issues in Windows 2003 server can be fixed using instructions mentioned at [http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Enabling_EMS_memory_on_Window_2003 Fixing Low Memory in Windows 2003 Server]&lt;br /&gt;
&lt;br /&gt;
=== Allowing DOS programs that require DOSX to run on the same computer as NEOSYS ===&lt;br /&gt;
&lt;br /&gt;
The automatic commenting out DOSX by NEOSYS will prevent some other DOS-like programs from running. If NEOSYS is on dedicated server then there should be no other such programs to fail. However, if you must allow DOS-like programs to work as well as NEOSYS you can do the following configuration:&lt;br /&gt;
&lt;br /&gt;
#leave or restore the original AUTOEXEC.NT and CONFIG.NT files where they are&lt;br /&gt;
#copy them to another folder eg neosys folder&lt;br /&gt;
#make the necessary REM changes there by hand&lt;br /&gt;
#right click the NEOSYS\NEOSYS\AREV.PIF and select properties&lt;br /&gt;
#change the location of the AUTOEXEC.NT and CONFIG.NT files in the following location&lt;br /&gt;
&lt;br /&gt;
[[image:pifsettings.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Checking EMS Memory Configuration ===&lt;br /&gt;
&lt;br /&gt;
==== Inspection ====&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 WHO&lt;br /&gt;
&lt;br /&gt;
 press the up arrow to get to the last part/page&lt;br /&gt;
&lt;br /&gt;
===== Example of Typical Server EMS Memory =====&lt;br /&gt;
[[image:serveremm.jpg]]&lt;br /&gt;
&lt;br /&gt;
===== Example of Typical Workstation EMS Memory =====&lt;br /&gt;
[[image:workstationemm.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Correction====&lt;br /&gt;
&lt;br /&gt;
No easy way&lt;br /&gt;
&lt;br /&gt;
Removal of hardware adapters designed for workstations instead of servers eg graphics cards and network cards.&lt;br /&gt;
&lt;br /&gt;
Many of the devices may be located on the motherboard and not relocatable except possibly by BIOS configuration or special manufacturer information.&lt;br /&gt;
&lt;br /&gt;
Use windows device manager, View: Resources by Connection, Open the Memory item and look for items between 000A0000 up to 000FFFFF that might give you a clue as to what hardware could be removed or reconfigured. Actually only 000C0000 to 000FFFFF is candidate for EMS memory since 000A000-000BFFFF is mandatory video memory in all systems.&lt;br /&gt;
&lt;br /&gt;
[[image:devicemanager.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing issue where NEOSYS processes do not start-up at all or start-up and close immediately ==&lt;br /&gt;
&lt;br /&gt;
# Find if a file with the name global.end exists in the root directory of the NEOSYS installation. Eg D:\global.end . If you find such a file, rename it to global.end.temp - for more information on global.end and what it does refer to [[Administering_NEOSYS_Server#Closing_NEOSYS_Services|Closing NEOSYS Services]]&lt;br /&gt;
# If the above didn&#039;t fix the problem and NEOSYS still does not start, do a windows search for the entire NEOSYS folder for *.end (i.e. any file ending with .end extension). You may find a (databasecode).end file in D:\neosys\neosys folder which is created by the NEOSYS program during backup at 1 am and later on removed automatically. In this case NEOSYS program might have crashed during the backup and left this file behind. (databasecode).end files prevent other other NEOSYS processes starting up on the database while exclusive processes (like backup) are being done.&lt;br /&gt;
&lt;br /&gt;
In case the above didn&#039;t fix the problem then escalate to the programmer immediately.&lt;br /&gt;
&lt;br /&gt;
=== Solving &amp;quot;Control Record&amp;quot; error in maintenance mode ===&lt;br /&gt;
&lt;br /&gt;
If processes dont start after you log into maintenance mode and you get an error message&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔════[FS152]═══════════════════════════════════════╗&lt;br /&gt;
║          The control record &amp;quot;RECORDS&amp;quot;            ║&lt;br /&gt;
║           is too long to be saved.               ║&lt;br /&gt;
║   The current record length is 65539 characters. ║&lt;br /&gt;
║                                                  ║&lt;br /&gt;
║               &amp;lt; Press any key &amp;gt;                  ║&lt;br /&gt;
╚══════════════════════════════════════════════════╝  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[File:Record1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1&#039;&#039;&#039;. Press space to get rid of the error message and you should then get this menu&lt;br /&gt;
&lt;br /&gt;
[[File:Record2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2&#039;&#039;&#039;. Press F5 and run this command (case sensitive)&lt;br /&gt;
&lt;br /&gt;
 DICT DEFINITIONS&lt;br /&gt;
&lt;br /&gt;
or Press Alt+S and run this command (case sensitive)&lt;br /&gt;
&lt;br /&gt;
 EXECUTE DICT DEFINITIONS&lt;br /&gt;
&lt;br /&gt;
[[File:Record3.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3&#039;&#039;&#039;. Press Shift+F3 to get the following message&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔══[B202]══════════════════════════════════╗&lt;br /&gt;
║            &amp;quot;DEFINITIONS&amp;quot; has             ║&lt;br /&gt;
║          &amp;quot;QUICKDEX&amp;quot; installed            ║&lt;br /&gt;
║                                          ║&lt;br /&gt;
║ Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N]  ║&lt;br /&gt;
║                                          ║&lt;br /&gt;
║ &amp;lt;Y                                      &amp;gt;║&lt;br /&gt;
╚══════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4&#039;&#039;&#039;. Press Enter to choose Yes.&lt;br /&gt;
&lt;br /&gt;
[[File:Record4.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5.&#039;&#039;&#039;Restart NEOSYS to see if the problem has been solved&lt;br /&gt;
&lt;br /&gt;
== Solving “page not found” when downloading some file types after uploading them successfully ==&lt;br /&gt;
=== One by One ===&lt;br /&gt;
&lt;br /&gt;
Windows web server will not download file types that it is unaware of. You can enable the download of new file types one by one as follows.&lt;br /&gt;
&lt;br /&gt;
This process is tedious and error-prone if you have to add many type.&lt;br /&gt;
&lt;br /&gt;
#Computer Management&lt;br /&gt;
#Services and Applications&lt;br /&gt;
#IIS properties&lt;br /&gt;
#Mime Types&lt;br /&gt;
#Add&lt;br /&gt;
&lt;br /&gt;
=== Many ===&lt;br /&gt;
&lt;br /&gt;
Window Server 2003 is unaware of all the Office 2007+ file types. To add all Office 2007+ file types at once do the following:&lt;br /&gt;
&lt;br /&gt;
Stop IIS&lt;br /&gt;
&lt;br /&gt;
 iisreset /stop&lt;br /&gt;
&lt;br /&gt;
Open the list of mime types&lt;br /&gt;
&lt;br /&gt;
*Start, Run, notepad C:\WINDOWS\system32\inetsrv\MetaBase.xml&lt;br /&gt;
&lt;br /&gt;
Search the file for “xlsx” and quit the editor if already inserted.&lt;br /&gt;
&lt;br /&gt;
Otherwise, find the following line,&lt;br /&gt;
&lt;br /&gt;
  .xml,text/xml&lt;br /&gt;
&lt;br /&gt;
and insert after that line the following lines. They do not need to be indented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.docm,application/vnd.ms-word.document.macroEnabled.12&lt;br /&gt;
.docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document&lt;br /&gt;
.dotm,application/vnd.ms-word.template.macroEnabled.12&lt;br /&gt;
.dotx,application/vnd.openxmlformats-officedocument.wordprocessingml.template&lt;br /&gt;
.potm,application/vnd.ms-powerpoint.template.macroEnabled.12&lt;br /&gt;
.potx,application/vnd.openxmlformats-officedocument.presentationml.template&lt;br /&gt;
.ppam,application/vnd.ms-powerpoint.addin.macroEnabled.12&lt;br /&gt;
.ppsm,application/vnd.ms-powerpoint.slideshow.macroEnabled.12&lt;br /&gt;
.ppsx,application/vnd.openxmlformats-officedocument.presentationml.slideshow&lt;br /&gt;
.pptm,application/vnd.ms-powerpoint.presentation.macroEnabled.12&lt;br /&gt;
.pptx,application/vnd.openxmlformats-officedocument.presentationml.presentation&lt;br /&gt;
.xlam,application/vnd.ms-excel.addin.macroEnabled.12&lt;br /&gt;
.xlsb,application/vnd.ms-excel.sheet.binary.macroEnabled.12&lt;br /&gt;
.xlsm,application/vnd.ms-excel.sheet.macroEnabled.12&lt;br /&gt;
.xlsx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet&lt;br /&gt;
.xltm,application/vnd.ms-excel.template.macroEnabled.12&lt;br /&gt;
.xltx,application/vnd.openxmlformats-officedocument.spreadsheetml.template&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save the file with File and Exit&lt;br /&gt;
&lt;br /&gt;
Restart IIS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Handling Neosys Automatic Upgrade Error Messages ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
We will receive an email from the NEOSYS client installation with the following message:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;UPGRADEN.EXE&amp;quot; does not have expected exe MZ signature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
This message is a note that the NEOSYS automatic update procedure failed to download an upgrade file correctly.&lt;br /&gt;
This happens sometimes due to network issues but can be ignored because the file will be probably be correctly downloaded on the next automatic update check.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This message is only informative to help with any problem with the automatic upgrade procedure and may be removed in a later version of neosys (currently Oct 2012)&lt;br /&gt;
&lt;br /&gt;
== Testing https connection ==&lt;br /&gt;
&lt;br /&gt;
The following procedure tests that the https server is operational and not blocked by firewall etc. It does not detect certificate errors.&lt;br /&gt;
&lt;br /&gt;
From a windows command prompt use the following telnet command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
telnet clientname.hosts.neosys.com 4430&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
#4430 is the usual NEOSYS http port but replace it by whatever port is actually used for NEOSYS https on the system being tested. If there are multiple https installations on a particular server then different ports are probably used&lt;br /&gt;
#Replace clientname.hosts.neosys.com with the normal https login domain name of the client for whom we want to check the https service&lt;br /&gt;
&lt;br /&gt;
Normal behavior is that it should open a black screen. Pressing Enter or any key returns the _ character. (Close the window using the [X] since there is no keyboard command to do so)&lt;br /&gt;
&lt;br /&gt;
Hanging means that there is some connectivity issue (firewall/ip/server not running/https not installed etc)&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;quot;page not found&amp;quot; error while using https ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#The https service stops working and gives &amp;quot;Page not found&amp;quot; error.&lt;br /&gt;
#The https connection tests fine using telnet (see article above)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#Reinstall https using the usual procedure (currently using selfssl)&lt;br /&gt;
#Email clients, requesting to reinstall the new security certificate by following the instructions for [http://userwiki.neosys.com/index.php/Setting_up_and_Configuring_NEOSYS_Generally#Fixing_HTTPS_certificate_error_when_logging_in_from_an_external_link_using_IE8.2C_IE9_and_IE10 Internet Explorer] or [http://userwiki.neosys.com/index.php/Configuring_Safari_for_MAC_OS#Fixing_HTTPS_certificate_error_when_logging_in_using_an_external_link_using_MAC_Operating_System Safari] browser.&lt;br /&gt;
&lt;br /&gt;
== Installing &amp;quot;QUICKDEX&amp;quot; on some files ==&lt;br /&gt;
&amp;quot;Quickdex&amp;quot; is a type of index that keeps an alphabetical order on small files. In some maintenance procedures you may be asked to &amp;quot;install Quickdex&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For example to add a quickdex to the UNITS file.&lt;br /&gt;
&lt;br /&gt;
Maintenance mode press F5&lt;br /&gt;
&lt;br /&gt;
 DICT UNITS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=================Dictionary=================┐&lt;br /&gt;
│                                            │&lt;br /&gt;
│  File name      UNITS                      │&lt;br /&gt;
│  Field name     .........................  │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Dict type                                 │&lt;br /&gt;
│  Single/Multi                              │&lt;br /&gt;
│  Data type                                 │&lt;br /&gt;
│  Output format                             │&lt;br /&gt;
│  Validation patterns                       │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Position              Key part            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Column heading                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Justification     Display length          │&lt;br /&gt;
│  Description                               │&lt;br /&gt;
│                                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
L============================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Shift+F3.&lt;br /&gt;
&lt;br /&gt;
If it says &amp;quot;Do you want to remove ...&amp;quot; then Quickdex has already been installed and you should not continue. Press Esc to cancel, then Esc to quit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[B202]==================================┐&lt;br /&gt;
│                                         │&lt;br /&gt;
│               &amp;quot;UNITS&amp;quot; has               │&lt;br /&gt;
│          &amp;quot;QUICKDEX&amp;quot; installed.          │&lt;br /&gt;
│                                         │&lt;br /&gt;
│ Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N] │&lt;br /&gt;
│                                         │&lt;br /&gt;
│&amp;lt;Y                                      &amp;gt;│&lt;br /&gt;
L=========================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise it should say &amp;quot;Do you want to install ...&amp;quot;. Press Enter to accept.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[W963]============================┐&lt;br /&gt;
│                                   │&lt;br /&gt;
│     Do you want to install a      │&lt;br /&gt;
│ Quickdex or Rightdex index? [Q/R] │&lt;br /&gt;
│                                   │&lt;br /&gt;
│&amp;lt;Q                                &amp;gt;│&lt;br /&gt;
L===================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It should then say &amp;quot;Do you want to update ...&amp;quot;. Press Enter to accept.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[W901]========================================┐&lt;br /&gt;
│                                               │&lt;br /&gt;
│           The &amp;quot;UNITS&amp;quot; file has had            │&lt;br /&gt;
│ the &amp;quot;QUICKDEX&amp;quot; modifying filing system added. │&lt;br /&gt;
│        There are 0 records in &amp;quot;UNITS&amp;quot;.        │&lt;br /&gt;
│                                               │&lt;br /&gt;
│    Do you want to update &amp;quot;QUICKDEX&amp;quot;? [Y/N]    │&lt;br /&gt;
│                                               │&lt;br /&gt;
│&amp;lt;Y                                            &amp;gt;│&lt;br /&gt;
L===============================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards it should return to the initial screen. Press Esc to quit.&lt;br /&gt;
&lt;br /&gt;
== Solving NEOSYS smtp server failure ==&lt;br /&gt;
In case the neosys smtp server fails then we can just use the client&#039;s smtp server.&lt;br /&gt;
&lt;br /&gt;
The following information is required from the client&#039;s smtp server configuration:&lt;br /&gt;
#hostname&lt;br /&gt;
#username&lt;br /&gt;
#password&lt;br /&gt;
#port no. (most likely = 25)&lt;br /&gt;
&lt;br /&gt;
These details should be entered in the &#039;&#039;&#039;System Configuration File&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
[[image:SYSCFGFILE-SMTP.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Strange characters in maintenance mode ==&lt;br /&gt;
While in Maintenance mode, pressing keys on keyboard gives strange characters. Even Enter and Esc don’t work. &lt;br /&gt;
&lt;br /&gt;
This problem has been seen using RDP on:&lt;br /&gt;
*Window Server 2003 Web Edition&lt;br /&gt;
*Windows Server 2003 R2 SP2&lt;br /&gt;
&lt;br /&gt;
[[image:strangecharmaint.jpg]] &lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
#Go to Windows -&amp;gt; control panel&lt;br /&gt;
#Go to Regional and Language Options &lt;br /&gt;
#Click on Languages tab then click on Details &amp;lt;br&amp;gt; [[image:lang1.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
#Click on Settings Tab and Change default input language to English (United States)&amp;lt;br&amp;gt;(or perhaps something else depending on rdp keyboard) &amp;lt;br&amp;gt; [[image:lang2.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== NEOSYS processes do not start after Windows Update  ==&lt;br /&gt;
&lt;br /&gt;
===Problem===&lt;br /&gt;
Scheduled Task to start the NEOSYS processes fail on Servers with Windows 2008 after Windows update. Support will have to log into the server to start the processes manually&lt;br /&gt;
Message on the Schedule Task displays &amp;quot; The operation being requested was not performed because the user has not logged on to the network. The specified service does not exit &amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[image:sti.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Solution===&lt;br /&gt;
&lt;br /&gt;
For clients who cannot tolerate manual intervention after server reboots for any reason (e.g.need to start work before NEOSYS support is available or on NEOSYS support weekends), tick &amp;quot;highest privileges&amp;quot; and &amp;quot;run whether the user is logged in or not&amp;quot;. This approach means that NEOSYS processes which are started by the windows scheduled task are not visible on the desktop and run hidden in the background and only listed in task manager, so avoid this approach on small clients (only few users). Avoiding this approach will also serve to act as an indicator of server restarts.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting NEOSYS remote support port forwarding ==&lt;br /&gt;
This assumes that you have already “port forwarded” tcp port 19580 from your public internet router to the NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
=== Tst 0 - Check if SSH is working on the NEOSYS Server ===&lt;br /&gt;
Type in the following command in command prompt:&lt;br /&gt;
 telnet 127.0.0.1 19580&lt;br /&gt;
&lt;br /&gt;
IF ALL OK you will see the following:&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-03.jpg]] &lt;br /&gt;
&lt;br /&gt;
=== Test 1 - Check if SSH is basically working on NEOSYS server over the LAN ===&lt;br /&gt;
You must know and use the NEOSYS SERVER LAN IP to do this.&lt;br /&gt;
&lt;br /&gt;
 telnet ???.???.???.??? 19580&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-01.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
If you have the WRONG SERVER LAN IP or NEOSYS server SSH is NOT working then it will hang for about 15 seconds and then say “Could not open connection to host …”&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-02.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
OR IF ALL OK you will see the following:&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-03.jpg]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Press Enter to Exit&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-04.jpg]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Test 2 - Check if can connect to the NEOSYS ssh from OUTSIDE the office  ===&lt;br /&gt;
From any internet connected computer OUTSIDE the office test if you can connect to NEOSYS ssh service. You cannot do this test from inside the office.&lt;br /&gt;
&lt;br /&gt;
You need to know the public ip or domain name of the router. If the router IP is dynamic then NEOSYS sets up dynamic name server so instead of a static ip number you will have a domain name something like clientxyz.redirectme.net.&lt;br /&gt;
&lt;br /&gt;
Enter the command .. using YOUR public internet IP number (NOT the LAN ip number) or the dynamic domain name.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-05.jpg]]  &lt;br /&gt;
&lt;br /&gt;
If everything is working OK you will get a black screen as follows. You will NOT get the “SSH-2.0-OpenSSH-4.7” banner” because NEOSYS ssh remote support is restricted to connect ONLY from LAN ip nos and NEOSYS office ip nos.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-06.jpg]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you press Enter a few times then the cursor will just go down. You have click the [X] to close the window.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-07.jpg]]  &lt;br /&gt;
&lt;br /&gt;
=== Test 3 - Check that the ssh connection from step 2 was rejected  ===&lt;br /&gt;
On the NEOSYS server, check the Windows Application log to verify that an SSH connection was rejected.&lt;br /&gt;
&lt;br /&gt;
The rejected ip number will be of the system outside the office that you performed the test from.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-08.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Sample Email: Solving port 19580 port forwarding issues ===&lt;br /&gt;
&lt;br /&gt;
Some IT people know how to troubleshoot port forwarding issues but others are mostly just power users who can configure a home router. If the IT person is in the second category then it is quicker for NEOSYS support to offer to configure their router from the NEOSYS server using Teamviewer. Ideally NEOSYS should not be doing client IT work but if client IT allows NEOSYS access to their router then NEOSYS support can make a brief attempt to do the configuration. If the issue is still unresolved then request the client to get a professional IT network expert to do the job and inform them that NEOSYS will not be able to provide them any support till connectivity is fixed. Below is a letter advising a more skilled person to check connections using telnet which is a low level test.&lt;br /&gt;
&lt;br /&gt;
You can usually determine the NEOSYS server LAN IP number from Nagios. If so then adjust the email text appropriately.&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Dear XYZ,&lt;br /&gt;
&lt;br /&gt;
It is highly critical to fix the connectivity with the NEOSYS server because NEOSYS will not be able to provide any support until&lt;br /&gt;
connectivity is fixed. User support issues will be delayed and remain unresolved if you do not fix this issue URGENTLY.&lt;br /&gt;
&lt;br /&gt;
At the moment there is no connection from the internet via your router to the NEOSYS server and when we do the following, &lt;br /&gt;
we get no connection. &lt;br /&gt;
&lt;br /&gt;
   telnet CLIENTNAME.support.neosys.com 19580&lt;br /&gt;
&lt;br /&gt;
Normally it should connect and presents a black screen (saying SSH something after pressing Enter) which we close.&lt;br /&gt;
&lt;br /&gt;
Please check that you can connect to the NEOSYS server internally by using the NEOSYS server IP address in the following command on any&lt;br /&gt;
computer in your LAN.&lt;br /&gt;
&lt;br /&gt;
    telnet 192.168.?.? 19580&lt;br /&gt;
&lt;br /&gt;
If you can connect to the NEOSYS server internally then please check port forwarding.&lt;br /&gt;
&lt;br /&gt;
Additionally check the following:&lt;br /&gt;
1. Has your router IP changed?&lt;br /&gt;
2. Has your server’s LAN IP changed and are you forwarding to the correct LAN IP?&lt;br /&gt;
3. Is the configuration really correct?&lt;br /&gt;
4. Check router logs for clues&lt;br /&gt;
5. Check NAT settings in the router&lt;br /&gt;
&lt;br /&gt;
For troubleshooting steps refer Troubleshooting NEOSYS remote support&lt;br /&gt;
http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Troubleshooting_NEOSYS_remote_support_port_forwarding&lt;br /&gt;
&lt;br /&gt;
If the problem still persists, please get a professional IT network expert to fix the issue.&lt;br /&gt;
&lt;br /&gt;
Best Regards,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Port mapping restricted by Source IP ===&lt;br /&gt;
&lt;br /&gt;
On NEOSYS router, port forwarding has been setup only for specific source IP addresses. This means you will not be able to establish a TCP connection to NEOSYS server unless your server&#039;s outbound IP is mapped to the NEOSYS router. In other words unless the outbound i.e source IP/port of your server has been granted access on the NEOSYS router for all incoming connections you will not be able to make connections to NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
Outbound IP is used whenever a server tries to make a connection to another server outside its network. On the other hand a server receives all incoming connections using it&#039;s Inbound IP.&lt;br /&gt;
&lt;br /&gt;
Therefore to setup ssh connection from a new Client server to NEOSYS server we need to grant access to its outbound IP on the NEOSYS router. See [[Troubleshooting_NEOSYS_Generally#If_Telnet_does_not_work | link]] to find the outbound server IP/ports of the server.&lt;br /&gt;
&lt;br /&gt;
== Solving “Cant login … INVALID DATA PATH … permission denied” ==&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&lt;br /&gt;
[[image:error-invalid-data-path-1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error Text:&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 Cannot login because:&lt;br /&gt;
 ERROR: INVALID DATA PATH&lt;br /&gt;
 “D:\HOSTS\HOSTNAME\DATA\HOSTNAME\~8746345.1$” Permission Denied&lt;br /&gt;
&lt;br /&gt;
=== Problem Explained ===&lt;br /&gt;
When installing NEOSYS on an existing “non-clean” Windows installation, the standard NEOSYS installation procedure can result in failure to login if the standard windows folder permissions have been modified.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
The solution is to grant IIS permission to write in the \neosys\DATA folder and subfolders as follows:&lt;br /&gt;
#First add the IUSR_XXXXXXX user to the list of users. (XXXXXXXX is the server name and therefore varies per server) as follows:&lt;br /&gt;
#*Right Click on DATA Folder and click on Properties&lt;br /&gt;
#*Click on Security Tab -&amp;gt; Add -&amp;gt; Advanced&lt;br /&gt;
#*Click on Find Now, Select the IUSR_XXXXXXX user and Click on OK&amp;lt;br&amp;gt;[[image:error-invalid-data-path-2.jpg]]&amp;lt;br&amp;gt;[[image:error-invalid-data-path-3.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Second, for the newly added IUSR (IIS user) change the permissions as follows:&lt;br /&gt;
#*&#039;&#039;&#039;REMOVE&#039;&#039;&#039; the read and execute permission (for security, IIS should be unable to execute things that it might have uploaded)&lt;br /&gt;
#*&#039;&#039;&#039;ADD&#039;&#039;&#039; the write permission &amp;lt;br&amp;gt;[[image:error-invalid-data-path-4.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Login should now be possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== NEOSYS process window displays message &amp;quot;Upgrade Downloading&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
[[image:upgradedownloading.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Problem Explained ===&lt;br /&gt;
NEOSYS thinks it sees an new neosys2.exe upgrade file on the location http://www.neosys.com/support/neosys2.exe which is accessed by http so attempts to download it.&lt;br /&gt;
&lt;br /&gt;
Http proxies and various internet issues can cause incorrect info to be sent and there is actually no upgrade available. In this case, eventually it realizes that it cant find an appropriate and it stops. &lt;br /&gt;
&lt;br /&gt;
You don’t have to worry about this case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Enabling EMS memory on Window 2003 ==&lt;br /&gt;
&lt;br /&gt;
Normally EMS memory is provided by Windows 2003 but this can vary depending on the server hardware/bios configuration&lt;br /&gt;
&lt;br /&gt;
If you get the following messages on Windows 2003&lt;br /&gt;
&lt;br /&gt;
#Backup File Size is 0&lt;br /&gt;
#RTP27. [B28] Not enough String Space – Out of Memory&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
On servers that had no problem previously, the problem is caused by a windows update in Oct 2012 that disables standard Windows EMS memory.&lt;br /&gt;
&lt;br /&gt;
The patch is issued by Microsoft on 9 Oct 2012 but the installation date in the server depends on when the update was actually installed.&lt;br /&gt;
&lt;br /&gt;
http://support.microsoft.com/kb/2724197&lt;br /&gt;
&lt;br /&gt;
=== Solution 1 - maximum performance ===&lt;br /&gt;
&lt;br /&gt;
To re-enable standard windows EMS on older slower servers or servers where NEOSYS performance must be maximized.&lt;br /&gt;
&lt;br /&gt;
The following link contains instructions how to remove the offending windows update&lt;br /&gt;
&lt;br /&gt;
It also shows how to prevent it being reinstalled automatically by Windows.&lt;br /&gt;
&lt;br /&gt;
http://www.columbia.edu/~em36/wpdos/emsxp.html&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to prevent it being reinstalled again automatically&lt;br /&gt;
&lt;br /&gt;
=== Solution 2 – ease of installation ===&lt;br /&gt;
&lt;br /&gt;
This option can also be used if Window 2003 is unable to provide EMS memory for example when the server hardware/bios configuration prevents it.&lt;br /&gt;
&lt;br /&gt;
Install EMSMAGIC in the same way as for Windows server 2008&lt;br /&gt;
&lt;br /&gt;
EMSMAGIC has higher memory consumption and makes NEOSYS processes slower so it is better to use Solution 1 above if NEOSYS performance is an issue.&lt;br /&gt;
&lt;br /&gt;
== Fixing no output file in XXX YYY Issue ==&lt;br /&gt;
&lt;br /&gt;
===Error Message===&lt;br /&gt;
&lt;br /&gt;
[[File:Nooutputfile.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Problem Explained===&lt;br /&gt;
&lt;br /&gt;
The message “No output file in XXX YYY” can appear at several instances in NEOSYS, most often when generating reports or documents. &lt;br /&gt;
&lt;br /&gt;
This problem is usually caused by software error and it indicates that the NEOSYS server responded without any output and without any message. &lt;br /&gt;
&lt;br /&gt;
===Solution===&lt;br /&gt;
1) Find proof to check if the data required for the report actually exists. This way we can eliminate lack of data as a cause for this error.&lt;br /&gt;
&lt;br /&gt;
2) Check to see if a similar issue has been fixed in latest version of NEOSYS.&lt;br /&gt;
&lt;br /&gt;
3) Document HOW and WHERE the problem can be duplicated by NEOSYS programmers to identify and correct the software.&lt;br /&gt;
&lt;br /&gt;
An example of this error can be found at [[Troubleshooting_NEOSYS_Media_System#Error:_No_output_file_in_MEDIAPROXY_SCHEDULEPRINT|No Output File in MEDIAPROXY SCHEDULEPRINT]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting Internet Connections ==&lt;br /&gt;
&lt;br /&gt;
===Cannot Connect===&lt;br /&gt;
&lt;br /&gt;
While investigating as to why users are not able to access NEOSYS or http://www.neosys.com/ ,you can check which ISP the connection issue is on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;whois ipno&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inspect very carefully to get clues as to which ISP and which AREA of the ISP the problematic ip numbers are and which do NOT have problems&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting TCP/IP Connections ===&lt;br /&gt;
&lt;br /&gt;
====Telnet check====&lt;br /&gt;
&amp;lt;pre&amp;gt; telnet &amp;lt;hostname&amp;gt; 19580  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====If Telnet does not work====&lt;br /&gt;
In case telnet does not work, login to the remote host server to investigate the issue. Run the following command simultaneously while doing Telnet from client server to the remote host to check if the TCP packets are reaching the Remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tcpdump -v &#039;src host client-domain-name/ip&#039; &lt;br /&gt;
tcpdump -v portno &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To check if packets are sent from the client server to the remote host, you can run the following command simultaneously while trying to ssh to the remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;netstat -an &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also check if the outbound ports are open from which you are trying to establish the TCP connection to the remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;telnet portquiz.net portno &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The outbound IP addresses at times can be different from the public IP of the Client server so be sure that the public IP of the client server is the same as its source IP (which represents an incoming connection from Client to Remote server). One way to find the source IP of the Client server is sending an email from Client server to &amp;quot;support@neosys.com&amp;quot;. On receiving the email in Thunderbird, select the email and press Ctrl+u. A new window Opens giving full details of the email received. The third &amp;quot;Received :from&amp;quot; gives the IP of the source.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting DNS failure ===&lt;br /&gt;
&lt;br /&gt;
NEOSYS clients routers are usually configured to use their ISP DNS service and the ISP DNS service is supposed to contact one of NEOSYS&#039;s DNS servers to convert server names like hosts.neosys.com into IP numbers. Misconfiguration of clients routers or problems in the ISP DNS server may cause CANNOT CONNECT problems. Often the connect fails quickly and immediately since if a name cannot be converted to an ip number then the connection cannot even be attempted and therefore there is little or no timeout to wait through.&lt;br /&gt;
&lt;br /&gt;
NEOSYS.COM name servers are listed publically and obtained by whois command.&lt;br /&gt;
&lt;br /&gt;
 whois neosys.com&lt;br /&gt;
&lt;br /&gt;
 Name Server: DNS1.EASYDNS.COM&lt;br /&gt;
 Name Server: DNS2.EASYDNS.NET&lt;br /&gt;
 Name Server: DNS3.EASYDNS.ORG&lt;br /&gt;
 Name Server: NS12.ZONEEDIT.COM&lt;br /&gt;
 Name Server: NS18.ZONEEDIT.COM&lt;br /&gt;
&lt;br /&gt;
In order to contact NEOSYS DNS servers the ISP&#039;s have to use a global DNS to obtain the ip addresses of NEOSYS DNS servers given the host names of NEOSYS DNS servers given in the whois info&lt;br /&gt;
&lt;br /&gt;
Here is an example of DU testing NEOSYS DNS servers. The NEOSYS DNS server ip addresses are listed in the Destination column.&lt;br /&gt;
&lt;br /&gt;
[[File:internet.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If one DNS server is down or unreachable REGARDLESS OF REASON, the ISP is supposed to use the other DNS servers. It is impossible for all NEOSYS DNS servers to be unreachable except in gross disconnection from the internet of the ISP since it is effectively impossible that all NEOSYS DNS servers which are carefully spread around the internet, to be unreachable.&lt;br /&gt;
&lt;br /&gt;
In the above test one of the NEOSYS DNS servers is unreachable but all the others are reachable therefore DU should have no problem providing DNS service to its clients.&lt;br /&gt;
&lt;br /&gt;
ISP are often worse at providing DNS server than the famous GOOGLE DNS servers, so re configuring client router to use GOOGLE DNS servers is a way to prove that the problem lies with the ISP&#039;s DNS service&lt;br /&gt;
&lt;br /&gt;
=== Additional test for troubleshooting problems with uploading ===&lt;br /&gt;
&lt;br /&gt;
====Verifying that upload.dll can run====&lt;br /&gt;
&lt;br /&gt;
This isnt a complete test of everything. It just checks if the upload program can be run by the web server. It doesnt check if uploads work or the image directory is correctly configured with the right permissions and uploads can actually be done.&lt;br /&gt;
&lt;br /&gt;
===== Error Message =====&lt;br /&gt;
&lt;br /&gt;
... to be added when discovered ...&lt;br /&gt;
&lt;br /&gt;
===== Test =====&lt;br /&gt;
&lt;br /&gt;
Test HTTP if accessible by LAN; Test HTTPS is accessible by Internet; Test both if both are available.&lt;br /&gt;
&lt;br /&gt;
On the server type the following into a browser&lt;br /&gt;
&lt;br /&gt;
LAN/HTTP:&lt;br /&gt;
&lt;br /&gt;
 http://localhost/neosys/neosys/dll/upload.dll&lt;br /&gt;
&lt;br /&gt;
WAN/HTTPS:&lt;br /&gt;
&lt;br /&gt;
 https://localhost:9999/neosys/dll/upload.dll&lt;br /&gt;
&lt;br /&gt;
===== Expected Result =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Upload Error. !&lt;br /&gt;
Please call me from a form !!!&lt;br /&gt;
The first param must be Filename= name of the uploaded file, TYPE=TEXT&lt;br /&gt;
The second param must be Filedata= uploaded file, TYPE=FILE&lt;br /&gt;
The third param is optional PathData= path to uploaded file, default c:\temp\, TYPE=HIDDEN&lt;br /&gt;
The forth param is optional RedirectPage= name of asp who receive the results, TYPE=HIDDEN&lt;br /&gt;
Add others params at the end with INPUT tag.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Uerror.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Patching a NEOSYS program ==&lt;br /&gt;
&lt;br /&gt;
The patch provided will tell you the program name and contain either a whole replacement program text or just some changed lines which you will have to find and edit.&lt;br /&gt;
&lt;br /&gt;
You will need to know the file name which may be provided along with the patch or you can find it using the following code in maintenance mode:&lt;br /&gt;
&lt;br /&gt;
 ED VOC programname&lt;br /&gt;
&lt;br /&gt;
ED VOC XYZ tells you what program name is executed and from what file, when you type the command XYZ. Normally the program name is the same as the command.&lt;br /&gt;
&lt;br /&gt;
The file name will normally be BP for agency programs, GBP for general programs or ABP for finance programs.&lt;br /&gt;
&lt;br /&gt;
NEOSYS programs are stored in files just like records of ordinary database files. You can edit either with &amp;quot;ED filename programname&amp;quot; or &amp;quot;TED filename programname&amp;quot;. TED is better for editing source code.&lt;br /&gt;
&lt;br /&gt;
===Installing patch in live database===&lt;br /&gt;
&lt;br /&gt;
In the rare case that the programmer asks Support to install the patch directly on LIVE dataset, start by typing the following command in maintenance mode before commencing:&lt;br /&gt;
&lt;br /&gt;
 UTIL&lt;br /&gt;
&lt;br /&gt;
Follow the instructions mentioned in the [[Troubleshooting_NEOSYS_Generally#Installing_patch_in_test_database| next section]], but skip the instruction to TEST the patched program in test dataset.&lt;br /&gt;
&lt;br /&gt;
The instruction to INSTALL the patched program MUST be followed BEFORE testing the patch in live dataset. Otherwise the changes will not get reflected.&lt;br /&gt;
&lt;br /&gt;
===Installing patch in test database===&lt;br /&gt;
&lt;br /&gt;
1. EDIT the program source code.&lt;br /&gt;
&lt;br /&gt;
 TED programname&lt;br /&gt;
&lt;br /&gt;
Either cut and paste to modify the whole program or edit the program text according to the patch/instructions provided.&lt;br /&gt;
&lt;br /&gt;
Save and close the program source code.&lt;br /&gt;
&lt;br /&gt;
2. COMPILE it. If you get errors then check your edits are correct and recompile otherwise return the patch to programming.&lt;br /&gt;
&lt;br /&gt;
  COMPILE filename programname&lt;br /&gt;
&lt;br /&gt;
3. TEST it. Ensure the patched program now works in TEST database.&lt;br /&gt;
&lt;br /&gt;
4. INSTALL the patched program in the LIVE database by typing one of the following command depending on the filename that you patched.&lt;br /&gt;
&lt;br /&gt;
 COPYGBP programname&lt;br /&gt;
 COPYABP programname&lt;br /&gt;
 COPYBP programname&lt;br /&gt;
&lt;br /&gt;
== Patching NEOSYS dictionaries ==&lt;br /&gt;
&lt;br /&gt;
A patch to a dictionary applies immediately when you save it and to all datasets regardless of which dataset you work in.&lt;br /&gt;
&lt;br /&gt;
You need:&lt;br /&gt;
&lt;br /&gt;
#the file name eg INVOICES&lt;br /&gt;
#the item name (column name) eg  DATETIME_AMENDED&lt;br /&gt;
#10 lines of data similar to the example below.&lt;br /&gt;
#if the item is an S type dictionary, then either the whole, or only the amended part, of the source code of the dictionary.&lt;br /&gt;
&lt;br /&gt;
 ED DICT INVOICES DATETIME_AMENDED&lt;br /&gt;
&lt;br /&gt;
TYPE everything below exactly on the corresponding line numbers except lines 3 and very commonly line 8, as these lines may contain multiple values separated by a superscript 2 (²). Line numbers in the below screen are only for illustrative purpose. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  ╔═══════════════════════════┤DATETIME_AMENDED├═════════════════════════╗&lt;br /&gt;
 1║S                                                                     ║&lt;br /&gt;
 2║                                                                      ║&lt;br /&gt;
 3║DateTime²Amended                                                      ║&lt;br /&gt;
 4║S                                                                     ║&lt;br /&gt;
 5║                                                                      ║&lt;br /&gt;
 6║                                                                      ║&lt;br /&gt;
 7║[DATETIME]                                                            ║&lt;br /&gt;
 8║updated=@record&amp;lt;28&amp;gt;²created=@record&amp;lt;31,1&amp;gt;²@ans=&#039;&#039;²if created and num(c║..actually this line continues off the screen to the right&lt;br /&gt;
 9║R                                                                     ║&lt;br /&gt;
10║10                                                                    ║&lt;br /&gt;
11║                                                                      ║&lt;br /&gt;
  :                                                                      :&lt;br /&gt;
  :                                                                      :&lt;br /&gt;
  ╚══════════════════════════════════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Ctrl+E on lines 3 or 8 in order to enter sub-lines. &lt;br /&gt;
&lt;br /&gt;
The multiple values (on line 3 and 8) separated by a superscript 2 (²) automatically appear when sub-lines are entered.&lt;br /&gt;
&lt;br /&gt;
For line 8, you will need to cut and paste the lines of below program to the Ctrl+E screen: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔═════════════════════════┤Field 8 of DATETIME_AMENDED├════════════════════════╗&lt;br /&gt;
║updated=@record&amp;lt;28&amp;gt;                                                           ║&lt;br /&gt;
║created=@record&amp;lt;31,1&amp;gt;                                                         ║&lt;br /&gt;
║@ans=&#039;&#039;                                                                       ║&lt;br /&gt;
║if created and num(created) and num(updated) then                             ║&lt;br /&gt;
║ createdsecs=field(created,&#039;.&#039;,1)*86400+field(created,&#039;.&#039;,2)                  ║&lt;br /&gt;
║ updatedsecs=field(updated,&#039;.&#039;,1)*86400+field(updated,&#039;.&#039;,2)                  ║&lt;br /&gt;
║ if abs(updatedsecs-createdsecs)&amp;gt;120 then                                     ║&lt;br /&gt;
║  @ans=updated                                                                ║&lt;br /&gt;
║  end                                                                         ║&lt;br /&gt;
║ end                                                                          ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
╚══════════════════════════════════════════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you save and exit the Ctrl+E screen, you will see the sublines separated by superscript 2 appear in one line in the ED screen. &lt;br /&gt;
&lt;br /&gt;
Similarly, for line 3, you need to enter its sub-lines in Ctrl+E screen.&lt;br /&gt;
&lt;br /&gt;
To ensure indenting remains nice (although indenting is not important and can be messed up without causing any problem) then copy the double bars at the front of the lines (if available, otherwise insert some char in position 1 of each line perhaps) and then remove them after you paste ... or just edit until the indenting is correct if you really want to.&lt;br /&gt;
&lt;br /&gt;
Press F9 and/or Esc to save and/or exit from Ctrl+E screen&lt;br /&gt;
&lt;br /&gt;
Press F9 and/or Esc to save and/or exit from ED&lt;br /&gt;
&lt;br /&gt;
== Searching XML files ==&lt;br /&gt;
&lt;br /&gt;
Use the grep command in Cygwin terminal to search files especially when you are investigating the NEOSYS Logs. &lt;br /&gt;
&lt;br /&gt;
Use the following command while searching for a file in any directory&lt;br /&gt;
&lt;br /&gt;
 grep string path/file&lt;br /&gt;
&lt;br /&gt;
 grep -i -a string path/file  (use -i to ignore upper/lower case characters in the string and -a to treat the file type=text and display the matching text)&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;string&amp;quot; is the text to be searched, &amp;quot;file&amp;quot; is the type of file you are looking for and &amp;quot;path&amp;quot; is the path of the directory you are looking into. Use &amp;quot;&amp;quot; when having spaces in your string.&lt;br /&gt;
&lt;br /&gt;
e.g when searching in NEOSYS logs the year/month/date is specified in the file name, so if you are looking for a file in year 2016 in the month of Feb, use&lt;br /&gt;
&lt;br /&gt;
 grep XXXX path/1602*&lt;br /&gt;
&lt;br /&gt;
In the above command *(asterisk) is a wildcard used to match characters in the file name.&lt;br /&gt;
&lt;br /&gt;
Sample below of grep command and its output where it is searching for &amp;quot;Dior&amp;quot; in 2016 march logs.&lt;br /&gt;
 $ grep -i Dior /cygdrive/d/hosts/test/logs/test/2016/1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 Binary file path/16030301.XML matches&lt;br /&gt;
&lt;br /&gt;
Use the commands below to display the search string and required number of lines that come either after or before the search string, depending on what you enter in your command. It helps to get more information from files especially when you only know few words and the other information around the searched string also gets displayed. &lt;br /&gt;
&lt;br /&gt;
 grep -A NUM string file (NUM lines after the searched text get displayed)&lt;br /&gt;
&lt;br /&gt;
 grep -B NUM string file (NUM lines before the searched text get displayed)&lt;br /&gt;
&lt;br /&gt;
See the examples and their respective outputs below, (Note: there is no space between -A and NUM):&lt;br /&gt;
&lt;br /&gt;
 $ grep -A2 -i &amp;quot;Dior&amp;quot; 1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 Binary file 16022101.XML matches&lt;br /&gt;
 Binary file 16022901.XML matches&lt;br /&gt;
&lt;br /&gt;
 $ grep -A2 -a &amp;quot;Dior&amp;quot; 1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 16030301.XML:&amp;lt;DataOut&amp;gt;DIOR%FEPOI%FE&#039;&#039;&#039;Dior&#039;&#039;&#039; Poison%FE%FE%FE%FE%FEDubai,    UAE%FE%FE%FE%FEN%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEN%FE%FE%FE17584.43592%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FENEOSYS%FE17584.43592%FE94_200_49_146%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEpaulson&amp;lt;/DataOut&amp;gt;&amp;lt;/Message&amp;gt;&lt;br /&gt;
 --&lt;br /&gt;
 16030301.XML:&amp;lt;DataOut&amp;gt;DIOR%FEPOI%FE&#039;&#039;&#039;Dior&#039;&#039;&#039; Poison%FE%FE%FE%FE%FEDubai,   UAE%FE%FE%FE%FEN%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEN%FE%FE%FE17584.43592%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FENEOSYS%FE17584.43592%FE94_200_49_146%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEpaulson&amp;lt;/DataOut&amp;gt;&amp;lt;/Message&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some more examples of grep below:&lt;br /&gt;
&lt;br /&gt;
 Use the command below when searching with more than one search string&amp;lt;br&amp;gt;&lt;br /&gt;
 grep -a string1 *|grep string2&lt;br /&gt;
&lt;br /&gt;
 grep -B2 -a Processing 160329*|grep -v DataIn|grep -v Message|less&amp;lt;br&amp;gt;&lt;br /&gt;
 where user wants output to show lines containing string &amp;quot;Processing&amp;quot; and exclude lines containing string &amp;quot;DataIn&amp;quot; and &amp;quot;Message&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Managing the queue of reports being delivered by email ==&lt;br /&gt;
&lt;br /&gt;
In maintenance mode.&lt;br /&gt;
&lt;br /&gt;
=== Listing ===&lt;br /&gt;
&lt;br /&gt;
 LIST DOCUMENTS WITH SCHEDULED_ONCE&lt;br /&gt;
&lt;br /&gt;
=== Clearing ===&lt;br /&gt;
&lt;br /&gt;
 SELECT DOCUMENTS WITH SCHEDULED_ONCE&lt;br /&gt;
 DELETE DOCUMENTS&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Troubleshooting_NEOSYS_Generally&amp;diff=2648</id>
		<title>Troubleshooting NEOSYS Generally</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Troubleshooting_NEOSYS_Generally&amp;diff=2648"/>
		<updated>2016-04-21T06:38:42Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Troubleshooting &amp;quot;user not authorised to login from an ip&amp;quot; error message */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Solving failure to start a NEOSYS server due to disk failure message ==&lt;br /&gt;
=== Problem ===&lt;br /&gt;
During a reboot process (which maybe due to a Windows update or even done by a support personnel) the NEOSYS server gets hung on the startup and shows a message &amp;quot;Boot Failure - Abort, Retry&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
=== Temporary solution ===&lt;br /&gt;
This typically happens due to the USB being plugged into the server and the boot sequence being wrong - i.e. the server trying to boot from the USB first and fails. The immediate solution would be to unplug the USB and ask the client to reboot the server again and upon successfully rebooting the system, plug the USB back again.&lt;br /&gt;
&lt;br /&gt;
=== Permanent solution ===&lt;br /&gt;
The above problem will occur every time the computer is rebooted, so you need to immediately talk to the IT Administrator of the client and ask them to rectify the boot sequence to make it boot first from the CD ROM, then the HDD and last the USB.&lt;br /&gt;
&amp;lt;BR&amp;gt;Allowing &amp;quot;Boot from USB&amp;quot; causes a severe risk of infection by boot sector viruses since the first infected USB device inserted WILL infect the server immediately as anti-virus programs are not active during boot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting the &amp;quot;Database not available&amp;quot; error message == &lt;br /&gt;
=== Problem explained ===&lt;br /&gt;
This error appears when you try to login to NEOSYS after you enter your username and password and click the Login button.&lt;br /&gt;
&lt;br /&gt;
[[image:database_unavailable.jpg]]&lt;br /&gt;
&lt;br /&gt;
Error message : &lt;br /&gt;
&lt;br /&gt;
 Cannot login because : &lt;br /&gt;
 Error :  The (database code) database is not available right now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the error message appears post login i.e. when users are working on the system then check if processes are free to run user request.&lt;br /&gt;
&lt;br /&gt;
[[image:not_available.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Solution explained ===&lt;br /&gt;
# Determine if the processes are running. If they are running and you still get the same message that means that either the processes have [[Troubleshooting_NEOSYS_Generally#Troubleshooting_Hung_processes|hung]] and need to be [[Troubleshooting_NEOSYS_Generally#How_to_kill_hung_NEOSYS_processes|killed]]. Or the processes are busy to run user requests and a new process needs to be started. &lt;br /&gt;
# If the processes are not visible on the destop, it is possible that they are running in the background and have hung for some reason. Check the windows task manager to see if any ‘ntvdm’ process is running and [[Troubleshooting_NEOSYS_Generally#If_NEOSYS_processes_are_not_visible_on_the_server_desktop|fix hung processes]].&lt;br /&gt;
# If there is no trace of any process running, that means the process probably did not start at the scheduled time. Refer to the &#039;Hung Process Reports&#039; to verify this claim. &lt;br /&gt;
# If the process had not hung, then the server might have restarted due to a power failure or a windows update and the administrator user had not logged in post the scheduled startup time of 6AM. To determine this cause, investigate in the Windows Event Viewer Log file.&lt;br /&gt;
# You can now start up the process by clicking on the respective desktop icons.&lt;br /&gt;
# Also check if the backup took place successfully or not. If not take a manual backup.&lt;br /&gt;
# Look into the logs at the date/time stated for the last transaction processed to investigate why process got hung.See [[Troubleshooting_NEOSYS_Generally#Inspecting_Database_LOGS_Folder| Inspecting logs]] for more information on logs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting the &amp;quot;user not authorised to login from an ip&amp;quot; error message ==&lt;br /&gt;
[[image:IPerror.jpg]]&lt;br /&gt;
 xxx is not authorised to login form the location (IP Number. xx.xx.xx.xx)&lt;br /&gt;
&lt;br /&gt;
Check the URL used by the user. &lt;br /&gt;
#If the users are hosted on NEOSYS server then they will use https link to access NEOSYS.&lt;br /&gt;
#*Check with the client&#039;s management if this particular IP is their public IP.&lt;br /&gt;
#*Add IP on management confirmation (Refer to [[Procedures#Handling_User_Requests_to_add_an_IP_or_range_of_IPs_to_access_NEOSYS|Handling User Rquests to add IP/IPs ]] ) &lt;br /&gt;
#If the users are hosted on Client server then they should use http link to access NEOSYS.&lt;br /&gt;
&lt;br /&gt;
== Handling damaged files ==&lt;br /&gt;
&lt;br /&gt;
[[Handling damaged files]]&lt;br /&gt;
&lt;br /&gt;
=== Checking for corrupt database files ===&lt;br /&gt;
Login to NEOSYS Maintenance. This can be done when users are online.&lt;br /&gt;
&lt;br /&gt;
Press F5&lt;br /&gt;
&lt;br /&gt;
 CHK.FILES&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
 CHK.FILES filename&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Sizelock while performing chk.files &#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Fixing sizelock errors should not be done while other users are online to the same database.&lt;br /&gt;
&lt;br /&gt;
Sizelock errors are not critical and will be fixed automatically during the nightly backup.&lt;br /&gt;
&lt;br /&gt;
Sizelock errors occur if a program or process that is selecting records from a file is aborted in some abnormal way.&lt;br /&gt;
&lt;br /&gt;
Error message:&lt;br /&gt;
&lt;br /&gt;
 These Files/Tables have a Sizelock Value of 2 or greater. &lt;br /&gt;
 Tag/Select the Files/Tables to be Fixed.&lt;br /&gt;
 Press F9 to fix selected files&lt;br /&gt;
&lt;br /&gt;
Press F9 to proceed with fixing the selected files or press ESC to continue with chk.files without fixing sizelock as it gets automatically fixed during the nightly backup. &lt;br /&gt;
&lt;br /&gt;
Refer to the [http://techwiki.neosys.com/index.php/Backup_and_Restore#Error_Message:_Size_Lock Sizelock errors in backup emails] for more information.&lt;br /&gt;
&lt;br /&gt;
[[file:sizelock.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Determining Database File Name from Operating System File Name ===&lt;br /&gt;
&lt;br /&gt;
To assess the potential damage and possible remedial measures you need to know the database file name. If the message only refers to the operating system file name you need to follow this procedure to determine the database file name.&lt;br /&gt;
&lt;br /&gt;
Once you have the database file name you can use CHK.FILES XXXXXXX to check if corrupt or not and various other procedures to fix the corruption.&lt;br /&gt;
&lt;br /&gt;
Remember that fixing the corrupt data does not solve the overall problem. The *cause* of the corruption must be identified and eliminated otherwise the problem may reoccur and in a more serious form perhaps with unrecoverable loss of data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╒═══════════════════════════════════TCL - 2══════════════════════════════════╕&lt;br /&gt;
│                                                                            │&lt;br /&gt;
│ :list FILES WITH ALL CONTAINING &#039;REV76481&#039;                                 │&lt;br /&gt;
│                                                                            │&lt;br /&gt;
╘════════════════════════════════════════════════════════════════════════════╛&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:DBfilenamefromOSfilename.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Finding out when and by whom a record was deleted ==&lt;br /&gt;
&lt;br /&gt;
In most cases, NEOSYS does not allow users to delete records and instead keeps a record of everything. In some cases however, things are deleted and the only way to get full details about the deletion is to search the logs. This is cumbersome, but there is a quick way to find out when, and by whom, a record was deleted. Prior to NEOSYS software versions dated Mar 2014, and deletions done before the same date, this procedure will only tell you when the record was deleted - but not who deleted it. Knowing exactly when it was deleted will nevertheless help you to search the logs for full details.&lt;br /&gt;
&lt;br /&gt;
In maintenance mode F5&lt;br /&gt;
&lt;br /&gt;
 ED SHADOW DELETED*filename*key&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 ED SHADOW DELETED*BATCHES*L*JOU*2*U&lt;br /&gt;
&lt;br /&gt;
Journals are stored in the BATCHES file. The key of an unposted batch is x*y*999*U where x is the company code, y is the journal type code, 999 is UNPOSTED batch number and U is just U to indicate unposted batches. Note that unposted batches are normally deleted at the time they are posted - ie converted to posted batches.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔══════════════════════════┤DELETED*BATCHES*L*JOU*2*U├═════════════════════════╗&lt;br /&gt;
║16831.60706                                                                   ║&lt;br /&gt;
║BRUCEL                                                                        ║&lt;br /&gt;
║╒═══════════════════════════════════TCL - 6══════════════════════════════════╕║&lt;br /&gt;
║│                                                                            │║&lt;br /&gt;
║│ :EVAL PRINT 16831.60706 &#039;[DATETIME]&#039;                                       │║&lt;br /&gt;
║│                                                                            │║&lt;br /&gt;
║╘════════════════════════════════════════════════════════════════════════════╛║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you see the number (in this case 16831.60706) you can convert it to a time and date by typing something like&lt;br /&gt;
&lt;br /&gt;
 PRINT 16831.60706 &#039;[DATETIME]&#039;&lt;br /&gt;
&lt;br /&gt;
Using this date and time you can search the logs more effectively to find out who did the deletion and in what circumstances.&lt;br /&gt;
&lt;br /&gt;
== Assessing Database Size per File ==&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
 &lt;br /&gt;
 LIST FILES BY BY-DSND SIZE VOLUME.NAME SIZE&lt;br /&gt;
 &lt;br /&gt;
This will include all files not just those in the actual dataset in DATA\* folders.&lt;br /&gt;
&lt;br /&gt;
== Fixing slow speed ==&lt;br /&gt;
=== [[Benchmarking NEOSYS]] ===&lt;br /&gt;
=== Investigating CPU 100% using Windows Task Manager ===&lt;br /&gt;
Email, to support, a screen-shot of task manager APPLICATIONS, PROCESSES and PERFORMANCE screens MAXIMIZED TO SHOW AS MUCH AS POSSIBLE. &lt;br /&gt;
&lt;br /&gt;
(Sort the processes to show ntvdm, waiting.exe and high cpu% processes clearly)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steps:&#039;&#039;&#039;&lt;br /&gt;
#Right Click on Windows Taskbar and click on Start Task Manager &amp;lt;br&amp;gt; [[image:starttaskmanager.jpg]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
#Click on Processes and then click on CPU &amp;lt;br&amp;gt;&#039;&#039;&#039;Note - The HIGH cpu% processes which should usually be the &amp;quot;process&amp;quot; called &amp;quot;System Idle Process&amp;quot; &#039;&#039;&#039;&amp;lt;br&amp;gt;[[image:cpu100percent1.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Click on the Performance Tab &amp;lt;br&amp;gt; &#039;&#039;&#039;Note - PF Usage should typically be much less than Physical Memory otherwise there is insufficient real memory in the server to handle the load&#039;&#039;&#039; &amp;lt;br&amp;gt; [[image:cpu100percent3.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Click on Application Tab then Right Click on a NEOSYS Process and Click on Bring to Front &amp;lt;br&amp;gt;&#039;&#039;&#039;See what the NEOSYS Process is doing &amp;lt;br&amp;gt; [[image:cpu100percent2.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Right Click on a NEOSYS Process and Click on Go to Processes &amp;lt;br&amp;gt;&#039;&#039;&#039;Note the cpu% ntvdm process &amp;lt;br&amp;gt;[[image:cpu100percent2_2.jpg]]&amp;lt;br&amp;gt;  &lt;br /&gt;
#Normally NEOSYS application screens say &amp;quot;LISTENING&amp;quot; in the bottom line and those applications should have very low cpu%&amp;lt;br&amp;gt;[[image:normalneosysprocess.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Look at the difference between the screen of running NEOSYS processes (applications actually) which are idle (listening for requests) and active (processing a request from a user)&lt;br /&gt;
#Note the number of cpus or cpu threads in the server from the performance screen graphics&amp;lt;br&amp;gt;[[image:performance-taskmgr-cputhread.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Take screen-shots of any and ALL hung or long running processes (NEOSYS application screens) and email them to support. Even small details on the screens and user names, the user names may give clues to what problem caused the hanging.A Typical Hung NEOSYS process will look like this: &amp;lt;br&amp;gt; [[image:hungneosysprocess.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
#Once all hung/long processes are closed then CPU should be low and not near 100%. If it is still 100% then check all high cpu% processes and send a screen-shot of processes sorted to show the high cpu% process names to support.&lt;br /&gt;
&lt;br /&gt;
=== Solving server CPU% is 100 and all users are extremely slow/stopped ===&lt;br /&gt;
&lt;br /&gt;
Get the screenshots of Task Manager and ALL processes on the server, the objective is to assess the true issue. No need to get the screens not in use obviously but you can send a parallel screen shot for them if you want to be pedantic or even a comment will do.&lt;br /&gt;
&lt;br /&gt;
==== Too few CPUs/threads for the number of users ====&lt;br /&gt;
In Windows task manager normally, you should see one ntvdm.exe and one waiting.exe process per NEOSYS process (application). A standard installation has three NEOSYS processes per main database and plus one per test database. This is configured in Support Menu, Configuration File.&lt;br /&gt;
&lt;br /&gt;
If there are MORE ntvdm processes than you expect from the configuration file, then perhaps NEOSYS is auto starting new NEOSYS processes to try and cater for a high number of concurrent users.&lt;br /&gt;
&lt;br /&gt;
If the number of concurrent NEOSYS processes significantly exceeds the number of cpus/hyperthreads available in the server then processing for everybody can become so slow for everybody and almost no work gets done.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Stop NEOSYS creating new NEOSYS processes automatically. Create a text file with the first and only line as AUTOSTART=NO in the neosys\neosys folder something like this.&lt;br /&gt;
&lt;br /&gt;
notepad d:\neosys\neosys\NET.CFG&lt;br /&gt;
&lt;br /&gt;
AUTOSTART=NO&lt;br /&gt;
&lt;br /&gt;
== How do I troubleshoot email not received? ==&lt;br /&gt;
&lt;br /&gt;
[[Troubleshooting email not received]]&lt;br /&gt;
&lt;br /&gt;
== Fixing permissions errors while logging in ==&lt;br /&gt;
 &lt;br /&gt;
=== Problem ===&lt;br /&gt;
 &lt;br /&gt;
While logging in, you get the following error message:&lt;br /&gt;
[[Image:login_error_message.jpg]]&lt;br /&gt;
 &lt;br /&gt;
=== Solution ===&lt;br /&gt;
 &lt;br /&gt;
Add the internet guest account to the security list of the data folder with the default permission of list/read/write&lt;br /&gt;
 &lt;br /&gt;
Make sure the read&amp;amp;execute permission is removed&lt;br /&gt;
[[Image:permissions_on_data.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fixing the &#039;HTTP Error 500.0 - Internal Server Error&#039; while logging in on IE on a Windows Vista system ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
After configuring IIS on Windows Vista you will get this error message while trying to login into NEOSYS from Internet Explorer:&lt;br /&gt;
&lt;br /&gt;
 HTTP Error 500.0 - Internal Server Error&lt;br /&gt;
 Description: This application is running in an application pool that uses the Integrated .NET  &lt;br /&gt;
 mode. This is the preferred mode for running ASP.NET applications on the current and future &lt;br /&gt;
 version of IIS.&lt;br /&gt;
 &lt;br /&gt;
 In this mode, the application using client impersonation configured with &amp;lt;identity &lt;br /&gt;
 impersonate=&amp;quot;true&amp;quot; /&amp;gt; may not behave correctly. Client impersonation is not available in early &lt;br /&gt;
 ASP.NET request processing stages and may lead modules in those stages to execute with process &lt;br /&gt;
 identity instead.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
You can move the application to an application pool that uses the Classic .NET mode by using the following from a command line window (the window must be running as Administrator) &lt;br /&gt;
&lt;br /&gt;
 %systemroot%\system32\inetsrv\APPCMD.EXE set app &amp;quot;Default Web Site/neosys&amp;quot; /applicationPool:&amp;quot;Classic .NET AppPool&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can use any other application pool on your system that is running in the Classic .NET mode. You can also use the IIS Administration tool to move this application to another application pool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fixing the &#039;Class Not Registered&#039; error message while logging in ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
While logging into NEOSYS, you will get a popup window giving an error message saying &#039;Class Not Registered - Server Error&#039;. Typically, you will encounter this error with XP Pro IIS 5.1. As usual, there&#039;s way to solve it, however the root cause of this is still unknown.&lt;br /&gt;
&lt;br /&gt;
Anyway, you will get the proper message in the event log:&lt;br /&gt;
&lt;br /&gt;
 Event Type: Warning&lt;br /&gt;
 Event Source: W3SVC&lt;br /&gt;
 Event Category: None&lt;br /&gt;
 Event ID: 36&lt;br /&gt;
 Description: The server failed to load application &#039;/LM/W3SVC/1/ROOT/NEOSYS.&lt;br /&gt;
 The error was &#039;Class not registered&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
So, what do you do ? This problem is related to Component Services, and when you open Component Services MMC, you will most probably  get  Error Code 8004E00F COM + was unable to talk to Microsoft Distributed Transaction Coordinator. So, fix the COM+ services first by using the following KB from Microsoft (PRB: Cannot Expand &amp;quot;My Computer&amp;quot; in Component Services MMC Snap-In http://support.microsoft.com/?id=301919):&lt;br /&gt;
&lt;br /&gt;
To resolve this problem, reinstall Component Services as follows: WARNING: &lt;br /&gt;
# Open registry editor, locate HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3, and then delete this key.  &lt;br /&gt;
# From the Start menu, point to Settings, click Control Panel, and then click Add/Remove Programs.  &lt;br /&gt;
# Click Add/Remove Windows Components. &lt;br /&gt;
# Proceed through the wizard, and accept all of the defaults (including IIS)&lt;br /&gt;
# Restart the computer.&lt;br /&gt;
&lt;br /&gt;
If the above didn&#039;t solve it, and you still receive the &#039;Class not registered&#039; error message, then you need to recreate the IIS packages in COM+, try&lt;br /&gt;
&lt;br /&gt;
# Delete IIS related package in Component Services MMC&lt;br /&gt;
# IIS In-Process Applications &lt;br /&gt;
# IIS Out-of-Process Pooled Applications &lt;br /&gt;
# IIS Utilities&lt;br /&gt;
&lt;br /&gt;
Next, if you still get the message, try following before re-install IIS if you can&#039;t find Distributed Transaction Coordinator in your Services console.&lt;br /&gt;
&lt;br /&gt;
Launch command prompt and run the following command.&lt;br /&gt;
# msdtc -install&lt;br /&gt;
# net start msdtc&lt;br /&gt;
&lt;br /&gt;
Then try re-install IIS.&lt;br /&gt;
&lt;br /&gt;
This should solve the problem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enabling File Security option on Win XP Professional ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
&lt;br /&gt;
In the Properties of any folders, the Security option does not show, hence you cannot modify the Read, Write options.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
The solution would be to untick the &#039;Simple File Sharing&#039; option from  Tools &amp;gt; Folder Options &amp;gt; View:&lt;br /&gt;
[[Image:simplefilesharingoff.jpg]]&lt;br /&gt;
&lt;br /&gt;
== %00%00%00%00 Errors ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SYSTEM ERROR in line 162. Amount &amp;quot;-2698.00AED&amp;quot; or base &amp;quot;%00%00%00%00&amp;quot; has been wrongly generated   &lt;br /&gt;
GET NEOSYS SUPPORT. DO NOT ATTEMPT TO CORRECT MANUALLY    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Solution ===&lt;br /&gt;
%00%00%00%00 indicates an internal error that NEOSYS programmer has to fix. It is usually random and can be hard to replicate unlike almost all other NEOSYS errors which usually replicate reliably once you find the cause.&lt;br /&gt;
&lt;br /&gt;
== B703 Errors ==&lt;br /&gt;
&lt;br /&gt;
The B703 error is usually always related to something too big for NEOSYS to handle. &lt;br /&gt;
&lt;br /&gt;
These are the only B errors that NEOSYS cant always permanently prevent by fixing the software.&lt;br /&gt;
&lt;br /&gt;
== Internet Explorer Menu, View, Text Size doesnt change font size as expected ==&lt;br /&gt;
&lt;br /&gt;
Cause: This is because the font size is now user definable in NEOSYS and View, Text Size does not override predefined font sizes.&lt;br /&gt;
&lt;br /&gt;
Solution: If you are using Internet Explorer 7 you can scale the screen (including the font size  using ctrl + and ctrl - keyboard shortcuts or the font size button on the bottom right hand side of the window. &lt;br /&gt;
&lt;br /&gt;
You can adjust the font size on the User Details form when you login although this permanently applies to all forms not just the one that you are on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uploaded jpg files fail to display in internet explorer ==&lt;br /&gt;
&lt;br /&gt;
Some large jpg files &amp;gt; 2Mb cannot be viewed in internet explorer despite being viewable in image preview, ms paint and other viewers/editors. It is not an issue caused by uploading or downloading the files.&lt;br /&gt;
&lt;br /&gt;
These file appear to have been created on Photoshop CS Macintosh and may be a special type of uncompressed jpg used for production quality files.&lt;br /&gt;
&lt;br /&gt;
=== Partial solution ===&lt;br /&gt;
Before uploading the files, open them in some editor like MS Paint (right click, edit) and save them. However this results in a loss of quality. Perhaps there is some program that can convert these files to a format understandable by Internet explorer without any loss of quality.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;This document is currently read only&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
The user attempting to modify this document does not have the authorization key to do so.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
Inform the user that he is not authorised to modify the document and give him the list of users within his company who are authorised to do so.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;You have attempted to write to a read-only file&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
=== Message ===&lt;br /&gt;
&lt;br /&gt;
Error while writing data.&lt;br /&gt;
You have attempted to write to a read-only file.&lt;br /&gt;
- or -&lt;br /&gt;
access to the file has been denied by the operating system.&lt;br /&gt;
(operating system file name: &amp;quot;..\DATA\ADLINEC\ADAGENCY\REV76467.OV00012618&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
It is almost certainly due to some third party backup or other maintenance software opening the NEOSYS database files when it shouldn&#039;t e.g. badly configured third party backup scheduled to backup NEOSYS while NEOSYS is still running. Note that the exact filename varies each time.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
This can be a serious error that causes damaged files in NEOSYS especially if the filename ends in .OV. Use the usual methods of checking for damaged files e.g. do a backup which also looks for damaged files BUT DO NOT OVERWRITE THE LATEST BACKUP SINCE IT MAY BE REQUIRED for restoration. Then fix the damaged files using the usual methods e.g. by rebuilding/using&lt;br /&gt;
FIXFILE or restoring databases. For more info check [[Handling damaged files|Handling damaged files]]&lt;br /&gt;
&lt;br /&gt;
=== Prevention ===&lt;br /&gt;
&lt;br /&gt;
Remove the third party backup or other maintenance software or reschedule it to run at a time that NEOSYS is shutdown. Removal of software may require hunting through the windows process list for unexpected programs running.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting Hung processes==&lt;br /&gt;
&lt;br /&gt;
=== Investigating hung NEOSYS processes ===&lt;br /&gt;
&lt;br /&gt;
To find out some information about what the hung processes are suffering from, do the following:&lt;br /&gt;
&lt;br /&gt;
When no important clients working (eg first thing in the morning) then request a shutdown of all NEOSYS processes. This should will leave only the hung processes open.&lt;br /&gt;
&lt;br /&gt;
Then find what NEOSYS files are open as follows:&lt;br /&gt;
&lt;br /&gt;
run Sysinternal&#039;s &amp;quot;Process Explorer&amp;quot; (from Start, Programs or procexp.exe from desktop)&lt;br /&gt;
&lt;br /&gt;
find, handle&lt;br /&gt;
&lt;br /&gt;
 d:\&lt;br /&gt;
&lt;br /&gt;
submit the complete list (maybe more than one page) to support for records&lt;br /&gt;
&lt;br /&gt;
[[Image:invhungprocess.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Troubleshooting_NEOSYS_Generally#Investigating_CPU_100.25_using_Windows_Task_Manager|Investigating CPU 100% using Windows Task Manager]]  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Troubleshooting_NEOSYS_Generally#Solving_server_CPU.25_is_100_and_all_users_are_extremely_slow.2Fstopped|Solving server CPU% is 100 and all users are extremely slow/stopped]] ===&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Fatal Error in Rev Restart&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
[[image:fatal.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Error message: “Abort, Retry, Fail” ===&lt;br /&gt;
==== Problem ====&lt;br /&gt;
The following messages may come on older versions of NEOSYS if there is a problem with the USB media inserted for backup.&lt;br /&gt;
&lt;br /&gt;
[[image:usberror.jpg]]&lt;br /&gt;
&lt;br /&gt;
This results in “NEOSYS has not checked in” message on Nagios since it hangs during the monitoring update and locks all other processes from monitoring too.&lt;br /&gt;
&lt;br /&gt;
General failure writing drive F&lt;br /&gt;
Abort, Retry, Fail?&lt;br /&gt;
&lt;br /&gt;
Not read reading drive F&lt;br /&gt;
Abort, Retry, Fail?&lt;br /&gt;
&lt;br /&gt;
Pressing A or F results in the problem happening again in about a minute, perhaps on a different process.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Temporary solution is to do “Safely remove hardware” from the windows notification area. Using “Eject” from My Computer will not work.&lt;br /&gt;
&lt;br /&gt;
Permanent solution is to replace the defective USB memory stick. Sometime reformatting is sufficient.&lt;br /&gt;
&lt;br /&gt;
Upgrading NEOSYS will probably stop the defective media from causing NEOSYS to hang but the USB will still be useless for backup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Read error in the operating system file&amp;quot; ===&lt;br /&gt;
==== Problem ====&lt;br /&gt;
Nagios reports a hung process and on the server a process has the following message popup.&lt;br /&gt;
&lt;br /&gt;
 Read error in the operating system file &amp;quot;..\DATA\PT0833\ACCOUNTS\REV20049&lt;br /&gt;
 The file does not exist or the filename is&lt;br /&gt;
 not valid for the operating system.&lt;br /&gt;
&lt;br /&gt;
[[Image:readerrorintheoperatingsystemfile.png]]&lt;br /&gt;
&lt;br /&gt;
==== Cause ====&lt;br /&gt;
Some non-NEOSYS program is directly accessing the NEOSYS database files while NEOSYS processes are running and using the files as well.&lt;br /&gt;
&lt;br /&gt;
*Client IT staff using a backup program to perform backup without ensuring that NEOSYS processes are shutdown.&lt;br /&gt;
*A NEOSYS rsync process taking longer than expected due to new USB.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Kill the NEOSYS process eg with the X button. It is advisable NOT to let it run further while it cannot properly access one of its files.&lt;br /&gt;
&lt;br /&gt;
==== Prevention ====&lt;br /&gt;
Remove the third party program or arrange for it to operate only while NEOSYS processes are shutdown eg from 3am-6am.&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Not enough string space - Out of Memory&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
==== Message ====&lt;br /&gt;
&lt;br /&gt;
‘RTP27’ Line 1. [B29] Not enough string space – Out of Memory.&lt;br /&gt;
&lt;br /&gt;
Not enough memory to execute Debugger; current program aborted.&lt;br /&gt;
Press any key to continue&lt;br /&gt;
&lt;br /&gt;
[[Image:out_of_memory.jpg]]&lt;br /&gt;
&lt;br /&gt;
==== Cause ====&lt;br /&gt;
Unknown perhaps related to some large document or report&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Ask users for any hanging transactions.&lt;br /&gt;
None other than closing and starting another process.&lt;br /&gt;
&lt;br /&gt;
Also refer [[Troubleshooting NEOSYS Generally#Enabling EMS memory on Window 2003|Enabling EMS memory on Window 2003]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: B521 ===&lt;br /&gt;
&lt;br /&gt;
[[Image:B521.jpg]] &lt;br /&gt;
&lt;br /&gt;
 Another user is currently updating indexes. &lt;br /&gt;
 Waiting to make your updates...&lt;br /&gt;
 If you interrupt this process,&lt;br /&gt;
 you may have to rebuild all the indexes&lt;br /&gt;
&lt;br /&gt;
B521 message is usually temporary and goes away by itself. If it does not then, as the text of the B521 message makes clear, some OTHER process is holding up the system, preventing the process with B521 message from continuing.&lt;br /&gt;
&lt;br /&gt;
B521 message is a symptom of other problem so it does not itself have some one simple solution. You must find which other process or issue is causing the hold up and solve whatever problem is causing the hold up, which could be anything.&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot; NTVDM encountered a hard error &amp;quot;  ===&lt;br /&gt;
&lt;br /&gt;
The following error message appears:&lt;br /&gt;
&lt;br /&gt;
[[Image:ntvdm.jpg]]&lt;br /&gt;
&lt;br /&gt;
 NTVDM encountered a hard error&lt;br /&gt;
&lt;br /&gt;
==== Solution  ====&lt;br /&gt;
 &lt;br /&gt;
This error is caused by missing or corrupt Windows system files (i.e. command.com, autoexec.nt and config.nt). The solution is to run a program called XP FIX which will reinstall these missing files. You can download it form http://www.visualtour.com/downloads/xp_fix.exe&lt;br /&gt;
&lt;br /&gt;
Sometimes even after running the XP FIX program the error still appears. Then you need to copy all the files under C:/windows/repair to C:/windows/system32 and in the autoexec.nt and config.nt put REM before any lines there which don&#039;t have it.&lt;br /&gt;
&lt;br /&gt;
====Possible fix for some NTVDM errors ====&lt;br /&gt;
&lt;br /&gt;
===== Error message ===== &lt;br /&gt;
&lt;br /&gt;
[[Image:Ntvdm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
 NTVDM has encountered a System error.&lt;br /&gt;
 The system cannot find the file specified.&lt;br /&gt;
 Choose close to terminate the application.&lt;br /&gt;
&lt;br /&gt;
=====Possible solution===== &lt;br /&gt;
&lt;br /&gt;
#Change the TEMP and TMP environment variables to C:\WINDOWS\TEMP. This should be for the user that runs NEOSYS processes - normally administrator.&lt;br /&gt;
#Close all NEOSYS processes &lt;br /&gt;
#Logout/Login again&lt;br /&gt;
#Restart NEOSYS processes&lt;br /&gt;
&lt;br /&gt;
[[image:Ntvdmsoln.png]]&lt;br /&gt;
&lt;br /&gt;
===== Check solution done properly ===== &lt;br /&gt;
&lt;br /&gt;
You can check that by typing ECHO %TEMP% and ECHO %TMP% at a console prompt after logging out and in again. &lt;br /&gt;
&lt;br /&gt;
Note that windows will actually set the windows environment variables to something like C:\WINDOWS\TEMP\2 for some unknown reason. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
d:\hosts&amp;gt;ECHO %temp% &lt;br /&gt;
C:\WINDOWS\TEMP\2 &lt;br /&gt;
&lt;br /&gt;
d:\hosts&amp;gt;ECHO %tmp% &lt;br /&gt;
C:\WINDOWS\TEMP\2 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Error message: [[Troubleshooting_NEOSYS_Generally#Troubleshooting_the_.22Database_not_available.22_error_message|&amp;quot;Database not available&amp;quot; post login]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: [[Backup_and_Restore#Error_Message:_.22Cannot_backup.2Frestore_because_PROCESS1_PROCESS2_.28etc.29_is.2Fare_online.22_message|&amp;quot;Cannot backup/restore because PROCESS1 PROCESS2 (etc) is/are online&amp;quot;]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How to kill hung NEOSYS processes ===&lt;br /&gt;
 &lt;br /&gt;
NOTE WELL: If you kill actively working NEOSYS processes (those which are &amp;quot;listening&amp;quot; and not hung/crashed) there is a reasonable chance that the database will be damaged and might need a restore losing possibly large amounts of work.&lt;br /&gt;
 &lt;br /&gt;
==== If NEOSYS processes are visible on the server desktop ====&lt;br /&gt;
 &lt;br /&gt;
Look for processes which don&#039;t have &amp;quot;Listening ...&amp;quot; on the last but one line. The times on the left hand side are frozen as at the time of the hang.&lt;br /&gt;
 &lt;br /&gt;
You can then click the X to kill the process and confirm that this is OK.&lt;br /&gt;
 &lt;br /&gt;
Example of a NEOSYS process that has hung due to a software error resulting in a failure to handle a complex query with a lot of brand codes.&lt;br /&gt;
&lt;br /&gt;
[[Image:hungprocess.jpg]]&lt;br /&gt;
 &lt;br /&gt;
==== If NEOSYS processes are not visible on the server desktop ====&lt;br /&gt;
&lt;br /&gt;
NEOSYS processes are most of the time visible on the desktop (i.e. the black dos windows) in Windows 2003 OS, except in the case that the process has been scheduled to start on computer restart and no one has logged into the server. In this case it would be running in the background. TODO&lt;br /&gt;
&lt;br /&gt;
You can check if there are any hung processes from the NEOSYS Support Menu, List of Database Processes. &lt;br /&gt;
[[Image:databaseprocesseslist.jpg]]&lt;br /&gt;
&lt;br /&gt;
In this case you should follow the below instructions - however all of them need to be done within 30 seconds of starting the first instruction to avoid inconvenience to the users. It is recommend that you keep relevant windows open before proceeding with the same:&lt;br /&gt;
&lt;br /&gt;
#Shutdown NEOSYS by TEMPORARILY putting a file called GLOBAL.END in the parent directory of NEOSYS (if there is already a GLOBAL.END.TEMP file then rename it to GLOBAL.END). Leaving the file there would prevent NEOSYS from starting up again. Shutting down NEOSYS from the Support menu will not work because of the hung processes.&lt;br /&gt;
#Use Windows Task Manager to kill all the NTVDM processes - assuming that you have closed all the visible NEOSYS processes, then the NTVDM processes in the task manager would be the hung one.&lt;br /&gt;
#Delete GLOBAL.END or rename it to GLOBAL.END.TEMP&lt;br /&gt;
#Restart the processes back again. If there are many datasets then you need to restart them all well within the 30 seconds period.&lt;br /&gt;
#*Restarting a process is not noticed by users.&lt;br /&gt;
&lt;br /&gt;
In case of Patsalides, where we have a thousand datasets which start &amp;quot;on demand&amp;quot; i.e. usually on login; all you need to do is start one dataset which will restart all the other datasets &amp;quot;on demand&amp;quot;. If there is no response within 30 seconds then one of the running datasets will start it up so there appears to be a 30 second delay when you login to one of the thousand datasets the first time on any one day.&lt;br /&gt;
&lt;br /&gt;
=== Temporary workarounds for hung NEOSYS processes ===&lt;br /&gt;
Until the error in the software is fixed users can often get their results by simplifying their requirements. For example select individual clients instead of selecting all the brands for a particular client. If the user has repeated his request (in forlorn hope that it would work finally) then the number of working NEOSYS processes will drop causing severe slowdown for other users and complete stop if all the NEOSYS processes hang.&lt;br /&gt;
&lt;br /&gt;
== Fixing &amp;quot; You do not have sufficient privilege to access this file &amp;quot;  ==&lt;br /&gt;
&lt;br /&gt;
This error message may come up while NEOSYS process startup.&lt;br /&gt;
&lt;br /&gt;
Solution: Close the window and look for NEOSYS processes. In case there is no process, start the NEOSYS process.&lt;br /&gt;
&lt;br /&gt;
[[image:Errormsg.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing &#039;NEOSYS process which opens up in a notepad instead of Microsoft Windows Based Script Host (i.e. DOS window)&#039;==&lt;br /&gt;
&lt;br /&gt;
The NEOSYS process (cmd file) might open up in a notepad, instead of the usual black colour DOS window. This may happen if a JavaScript file is opened using a notepad. Please be very CAREFUL when accessing a .JS and .JSE file and double check that the default program remains wscript.exe. The issue can be fixed by the following:&lt;br /&gt;
&lt;br /&gt;
# Check if Windows Script 5.6/5.7 is installed, IF NOT download and install it from the Microsoft Website.&lt;br /&gt;
# Go to any folder, click on Tools &amp;gt; Folder Options &amp;gt; File Types and find the .JS and .JSE and change the default program to wscript.exe (from windows&amp;gt;system32)&lt;br /&gt;
&lt;br /&gt;
== Fixing a &#039;Could not start&#039; error on Scheduled Tasks in Windows Server 2000 SP4 ==&lt;br /&gt;
&lt;br /&gt;
This error occurs because of a change that is made to the data that is stored in the credentials database when you install Windows 2000 SP4. Hence installing SP4 causes the the data that is stored in the credentials database to get converted to an SP4-compatible format. A registry key is configured to indicate that the data has been converted to the SP4 format.&lt;br /&gt;
&lt;br /&gt;
Hence the Scheduled Tasks do not work sometimes. However the Scheduled Tasks works fine sometimes, but when you uninstall SP4, it does not work.&lt;br /&gt;
&lt;br /&gt;
The best solution is to:&lt;br /&gt;
&lt;br /&gt;
# Incase Scheduled Tasks do not work after installing SP4, then uninstall SP4 and it should be fine.&lt;br /&gt;
# Incase Scheduled Tasks works after installing SP4, and later after uninstalling SP4, it does not work, then install SP4 and it should be fine.&lt;br /&gt;
&lt;br /&gt;
== Checking for server or NEOSYS crashes ==&lt;br /&gt;
 &lt;br /&gt;
#NEOSYS Maintenance Mode&lt;br /&gt;
#General Menu, Setup, Processes&lt;br /&gt;
#Select the dates and the option Detailed&lt;br /&gt;
 &lt;br /&gt;
This report shows a list of dates and times that NEOSYS logged in but did not log out properly.&lt;br /&gt;
 &lt;br /&gt;
Ignore the very latest entries since they represent the current NEOSYS processes. For example, if you have four NEOSYS processes running at the time that you get the report (including any in maintenance mode) then you can ignore the last four entries.&lt;br /&gt;
 &lt;br /&gt;
The date and time shows for each process that has failed to shutdown correctly when the process logged in. Versions of NEOSYS from January 2008 will also show the date and time that each crashed NEOSYS process was last active (heartbeat) so that the time of failure can be known.&lt;br /&gt;
 &lt;br /&gt;
If you see a bunch of NEOSYS processes all started up at around the same time but all failed to shutdown correctly then the cause will be a server failure - usually power failure.&lt;br /&gt;
 &lt;br /&gt;
Isolated one-off failures will be related to individual NEOSYS process crashes - most commonly caused by one of the following:&lt;br /&gt;
 &lt;br /&gt;
#NEOSYS hanging to due to software failure&lt;br /&gt;
#Manually exiting a NEOSYS process on the server either by pressing Ctrl+Alt+Del or clicking the &amp;quot;X&amp;quot; close icon/box and ignoring the warning&lt;br /&gt;
#Random server failures eg memory, disk etc&lt;br /&gt;
 &lt;br /&gt;
Example:&lt;br /&gt;
 &lt;br /&gt;
 LOGIN 22/12/2007 06:02 NEOSYS SERVER ADAGENCY         Current workstation &lt;br /&gt;
 LOGIN 23/12/2007 06:00 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 06:01 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 06:02 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:52 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:52 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:53 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:00 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:01 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:02 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 13:51 NEOSYS SERVER NEOSYS         Current user session  &lt;br /&gt;
&lt;br /&gt;
Interpretation:&lt;br /&gt;
 &lt;br /&gt;
The first four entries indicate that all four NEOSYS processes started at 06am were suddenly killed probably by power failure&lt;br /&gt;
 &lt;br /&gt;
The next four entries indicate that NEOSYS was restarted at around 08:52 and all these processes were AGAIN killed probably by power failure&lt;br /&gt;
 &lt;br /&gt;
The last four entries can be ignored because there were four NEOSYS processes running at the time that the report was generated&lt;br /&gt;
&lt;br /&gt;
== Searching for word/number in the database files using maintenance mode ==&lt;br /&gt;
&lt;br /&gt;
You can search for any word/number in the database files of NEOSYS, using the following command line:&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 FIND FILENAME WORDWITHOUTANYSPACES&lt;br /&gt;
 &lt;br /&gt;
 For eg:&lt;br /&gt;
 FIND CURRENCIES 1.1&lt;br /&gt;
 (here you are searching for the number 1.1 in the currencies file) You CANNOT search for a phrase ie include spaces like this.&lt;br /&gt;
 &lt;br /&gt;
 Or you can also type:&lt;br /&gt;
 FIND FILENAME &amp;lt;enter&amp;gt;&lt;br /&gt;
 and it will ask you what you want do to search. You can enter an exact phrase with spaces.&lt;br /&gt;
&lt;br /&gt;
Incase you do not know the filenames, you can enter the following command to see all the filenames in the system:&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 LF&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting a Service Unavailable message on Internet Explorer when opening up NEOSYS ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&lt;br /&gt;
The following error message appears in Internet Explorer when you try to open up NEOSYS:&lt;br /&gt;
&lt;br /&gt;
 Service Unavailable&lt;br /&gt;
&lt;br /&gt;
=== Solution  ===&lt;br /&gt;
 &lt;br /&gt;
Open the IIS Manager, right click Web Sites and select properties:&lt;br /&gt;
[[Image:serviceunavailable1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Switch to the Service Tab and tick the &amp;quot;Run WWW Service in IIS 5.0 Isolation Mode&amp;quot;.&lt;br /&gt;
[[Image:serviceunavailable2.jpg]]&lt;br /&gt;
&lt;br /&gt;
You will be asked for Restart of IIS. Click yes to restart IIS. If you are not asked just restart IIS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Inspecting IIS log files ==&lt;br /&gt;
&lt;br /&gt;
At a windows command prompt:&lt;br /&gt;
&lt;br /&gt;
 c:&lt;br /&gt;
 cd \Windows\system32\LogFiles\W3SVC1&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 %SystemDrive%&lt;br /&gt;
 cd %SystemRoot%&lt;br /&gt;
 cd system32\LogFiles\W3SVC1&lt;br /&gt;
&lt;br /&gt;
then (substituting the ip number you are interested in)&lt;br /&gt;
&lt;br /&gt;
 find &amp;quot;192.168.1.55&amp;quot; *|sort&amp;gt;temp.log&lt;br /&gt;
&lt;br /&gt;
Open temp.log in Excel and use Tools, Data, Text to Columns to split into columns using options &amp;quot;Delimited&amp;quot; and check split on Space.&lt;br /&gt;
&lt;br /&gt;
Autowidth all columns by clicking on the top left box just outside the data to the left of column A and above column 1 then double click the column separator to the right of column &amp;quot;A&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note that times and dates are in UTC/GMT so you have to add/subtract your timezone offset to get local times.&lt;br /&gt;
&lt;br /&gt;
==Inspecting Database LOGS Folder==&lt;br /&gt;
LOGS folder in NEOSYS installation folder carries records of all changes done in the database which includes adding and removal of data.&lt;br /&gt;
&lt;br /&gt;
Log file is an XML document which should be viewed in Notepad. Each XML document represents commands executed by each NEOSYS process started each day.&lt;br /&gt;
&lt;br /&gt;
The NEOSYS log files e.g. 15123103.xml are created by the database processes. If the database is not available according to the website then no entry will appear in that log. The request will appear in the IIS website log but that log is nothing to do with database processes.&lt;br /&gt;
&lt;br /&gt;
=== Understanding Log Entries ===&lt;br /&gt;
Inspecting and searching through Logs file allows NEOSYS staff to answer clients queries like &amp;quot;Who deleted schedule XXXX&amp;quot; etc.&lt;br /&gt;
&lt;br /&gt;
While going through the log file you may come across a request &amp;quot;EXECUTE GENERAL GETTASKS NOT&amp;quot;, this request is concerned with getting a list of tasks that the user is *not* allowed to do.&lt;br /&gt;
&lt;br /&gt;
To read and understand the log file with more ease, copy the portion of the log file required to be analyzed into another text editor.&lt;br /&gt;
&lt;br /&gt;
The text that appears as %FE, %FE1, %FE2, etc. are basically separators.&lt;br /&gt;
*First replace FE0%, FE1%, FE2%, etc. with a separator like &amp;quot;--&amp;quot;. There can be occurrences of &amp;quot;%FE&amp;quot; along with some valuable information like &amp;quot;17290&amp;quot;, so replacing &amp;quot;%FE1&amp;quot; in &amp;quot;%FE17290&amp;quot; would lead to loss of information.&lt;br /&gt;
*Then replace %FE with a bigger separator like &amp;quot;===&amp;quot;.&lt;br /&gt;
*Replace other entries like %FCB and then %FC and so on with similar separators.&lt;br /&gt;
*In the end there may be few &amp;quot;FE&amp;quot; remaining, replace these with a separator like &amp;quot;-&amp;quot;.&lt;br /&gt;
*The remaining &amp;quot;%&amp;quot; characters MUST be intelligently replaced with a separator like &amp;quot; &amp;quot; (space), because it can either be an actual &amp;quot;%&amp;quot; or it can be a residue from &amp;quot;%FE&amp;quot;, &amp;quot;%FE1&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
Once replacing all these characters is done, the log file will be more easily readable and vital information will be clearer. &lt;br /&gt;
&lt;br /&gt;
In the log file, you may find numbers like 17290, 17195, etc. These numbers denote dates selected or entered by the NEOSYS user. These are basically the number of days from 31st December 1967 till the date chosen by the user. For example, to convert 17290 to actual date, 31/12/1967 + 17290 = 3/5/2015. So the actual date is 3rd May 2015.&lt;br /&gt;
&lt;br /&gt;
To convert these numbers to dates using maintenance mode, refer to the article [http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Finding_out_when_and_by_whom_a_record_was_deleted Finding out when and by whom a record was deleted]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:NEOSYS Logs.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing NEOSYS processes that do not auto start / Recovering from incorrect advanced date or time ==&lt;br /&gt;
This solution is applicable to live database processes only. Test database processes don’t auto-start any other processes.&lt;br /&gt;
&lt;br /&gt;
=== Problem explained ===&lt;br /&gt;
After starting up the 1st process, the rest of the processes don&#039;t start up.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
The possible cause for this could be that the system date/time might have been changed - either manually or by the auto synchronization. Do the following checks in the sequence of order:&lt;br /&gt;
&lt;br /&gt;
# Check for any *.$* files (* after dollar sign should show a number, the highest being the latest one). If it shows OK, then proceed ahead.&lt;br /&gt;
# Check for any .end files and delete it to rename to .end.temp&lt;br /&gt;
# Check the System Event Viewer log for any 520 or 577 error message (refer http://128.175.24.251/forensics/timechange.htm). Also check for any out of sequence / ahead of today date or time.&lt;br /&gt;
# In case of no 520 or 577 error message, go to Administrative Tools &amp;gt; Local Security Policy &amp;gt; Local Policies &amp;gt; Audit Policy &amp;gt; Audit Privilege use - make sure that Success and Failure are selected under this (this will ensure that future changes to the date/time are recorded in the System Log).&lt;br /&gt;
# In NEOSYS maintenance mode - F5 ED PROCESSES %UPDATE% - and see what it says, incase of any text (only text, not numbers) there, that means that for sure the system date has been changed. To fix this, exit the editor by pressing the ESCAPE key and then type DELETE PROCESSES &amp;quot;%UPDATE%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Fixing NEOSYS maintenance mode not starting up == &lt;br /&gt;
&lt;br /&gt;
Problem :- While trying to start maintenance mode, the maintenance window closes automatically within a split second.&lt;br /&gt;
&lt;br /&gt;
Solution :- Delete the read-only file REVBOOT file (under d:/neosys/neosys folder). REVBOOT file is recreated when you start maintenance mode.&lt;br /&gt;
&lt;br /&gt;
== Recognising and Solving Low Memory Problems ==&lt;br /&gt;
&lt;br /&gt;
Quick Note: Installing a server class operating system on a workstation class computer with the intention of NEOSYS serving a heavy load is likely to cause problems with low memory.&lt;br /&gt;
&lt;br /&gt;
Quick Fix: Disable *ALL* non-essential features in the power-on setup menu.&lt;br /&gt;
&lt;br /&gt;
=== Effects ===&lt;br /&gt;
&lt;br /&gt;
It is speculated but not proven that low memory may cause NEOSYS to fail by hanging, causing damaged files etc.&lt;br /&gt;
&lt;br /&gt;
=== Checking ===&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 MEMORY&lt;br /&gt;
&lt;br /&gt;
On server class machines it should say somewhere around 350Kb to 370Kb Free&lt;br /&gt;
&lt;br /&gt;
Some server class machines have around 330Kb and sometimes even less with no reported problems&lt;br /&gt;
&lt;br /&gt;
The actual effect of low memory is supposed to make NEOSYS slower and perhaps cause hanging and damaged files however this has not been proven in an specific case so far.&lt;br /&gt;
&lt;br /&gt;
On workstation class machines it may often say around 280Kb to 300Kb.&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
Although there is plenty of real memory in virtually all computers now, NEOSYS runs in the legacy 16 bit virtual memory space of a windows mode called NTVDM. This is limited to 1Mb plus 4Mb of EMS memory.&lt;br /&gt;
&lt;br /&gt;
The 1Mb memory space is shared with:&lt;br /&gt;
&lt;br /&gt;
#Various non-essential windows drivers which NEOSYS automatically disables them in autoexec.nt&lt;br /&gt;
#Various plug and play hardware device drivers for the various adapters in the computer like video, network adapters and various other items that NEOSYS is unable to disable.&lt;br /&gt;
&lt;br /&gt;
In a server class computer the hardware device drivers are usually minimally present in the 1Mb base memory and do not therefore DOESNT a low memory situation for NEOSYS.&lt;br /&gt;
&lt;br /&gt;
In workstation class computers there are often many hardware device drivers present in the 1Mb base memory and this DOES causes a low memory situation for NEOSYS.&lt;br /&gt;
&lt;br /&gt;
When NEOSYS is installed on workstation class computers with XP there is usually not a heavy load expectation and therefore the low memory does not cause a problem.&lt;br /&gt;
&lt;br /&gt;
If Windows Server OS is installed on a workstation class computer NEOSYS may well be expected to serve a heavy load with limited amounts of memory.&lt;br /&gt;
&lt;br /&gt;
Workstation class computers: hardware drivers present and EMS is installed in low memory (0000-9FFF) causing low memory for NEOSYS and possible inability to &lt;br /&gt;
&lt;br /&gt;
Server class computers: Usually few hardware drivers are present in high part (A000-FFFF) of the 1Mb base memory and EMS is able to occupy the high memory leaving the low part (0000-9FFFF) of the 1Mb memory free for NEOSYS. You can find out how much memory is available to NEOSYS and whether EMS is occuping high or low memory using the following sections.&lt;br /&gt;
&lt;br /&gt;
=== Fixing Low Memory ===&lt;br /&gt;
&lt;br /&gt;
Start, Run, notepad c:\windows\system32\autoexec.nt&lt;br /&gt;
&lt;br /&gt;
Every time NEOSYS starts it tries to make some changes as follow:&lt;br /&gt;
&lt;br /&gt;
#replaces all lines in C:/WINDOWS/SYSTEM32/AUTOEXEC.NT starting with &#039;lh &#039; to start with &#039;rem NEOSYS LH &#039; instead.&lt;br /&gt;
#changes the line in C:/WINDOWS/SYSTEM32/CONFIG.NT &amp;quot;files=...&amp;quot; to &amp;quot;FILES=200&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The replacement is case sensitive triggered on &#039;lh&#039; and &#039;files&#039; so if you manually edit the files and remove the rem or change the number of files and leave the LH and FILES in uppercase then NEOSYS will NOT make further changes. This allows you to do manual amendments to the files without NEOSYS overwriting them.&lt;br /&gt;
&lt;br /&gt;
Check that NEOSYS has successfully disabled all the drivers in the lines starting with LH.&lt;br /&gt;
&lt;br /&gt;
They should be commented out (prefixed) with REM or REM NEOSYS as follows.&lt;br /&gt;
&lt;br /&gt;
After making changes reopen NEOSYS in maintenance mode to use the MEMORY and WHO commands again.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REM Install CD ROM extensions&lt;br /&gt;
REM NEOSYS LH %SystemRoot%\system32\mscdexnt.exe&lt;br /&gt;
&lt;br /&gt;
REM Install network redirector (load before dosx.exe)&lt;br /&gt;
REM NEOSYS LH %SystemRoot%\system32\redir&lt;br /&gt;
&lt;br /&gt;
REM Install DPMI support&lt;br /&gt;
REM NEOSYS LH %SYSTEMROOT%\SYSTEM32\DOSX&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Low Memory Issues in Windows 2003 server can be fixed using instructions mentioned at [http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Enabling_EMS_memory_on_Window_2003 Fixing Low Memory in Windows 2003 Server]&lt;br /&gt;
&lt;br /&gt;
=== Allowing DOS programs that require DOSX to run on the same computer as NEOSYS ===&lt;br /&gt;
&lt;br /&gt;
The automatic commenting out DOSX by NEOSYS will prevent some other DOS-like programs from running. If NEOSYS is on dedicated server then there should be no other such programs to fail. However, if you must allow DOS-like programs to work as well as NEOSYS you can do the following configuration:&lt;br /&gt;
&lt;br /&gt;
#leave or restore the original AUTOEXEC.NT and CONFIG.NT files where they are&lt;br /&gt;
#copy them to another folder eg neosys folder&lt;br /&gt;
#make the necessary REM changes there by hand&lt;br /&gt;
#right click the NEOSYS\NEOSYS\AREV.PIF and select properties&lt;br /&gt;
#change the location of the AUTOEXEC.NT and CONFIG.NT files in the following location&lt;br /&gt;
&lt;br /&gt;
[[image:pifsettings.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Checking EMS Memory Configuration ===&lt;br /&gt;
&lt;br /&gt;
==== Inspection ====&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 WHO&lt;br /&gt;
&lt;br /&gt;
 press the up arrow to get to the last part/page&lt;br /&gt;
&lt;br /&gt;
===== Example of Typical Server EMS Memory =====&lt;br /&gt;
[[image:serveremm.jpg]]&lt;br /&gt;
&lt;br /&gt;
===== Example of Typical Workstation EMS Memory =====&lt;br /&gt;
[[image:workstationemm.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Correction====&lt;br /&gt;
&lt;br /&gt;
No easy way&lt;br /&gt;
&lt;br /&gt;
Removal of hardware adapters designed for workstations instead of servers eg graphics cards and network cards.&lt;br /&gt;
&lt;br /&gt;
Many of the devices may be located on the motherboard and not relocatable except possibly by BIOS configuration or special manufacturer information.&lt;br /&gt;
&lt;br /&gt;
Use windows device manager, View: Resources by Connection, Open the Memory item and look for items between 000A0000 up to 000FFFFF that might give you a clue as to what hardware could be removed or reconfigured. Actually only 000C0000 to 000FFFFF is candidate for EMS memory since 000A000-000BFFFF is mandatory video memory in all systems.&lt;br /&gt;
&lt;br /&gt;
[[image:devicemanager.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing issue where NEOSYS processes do not start-up at all or start-up and close immediately ==&lt;br /&gt;
&lt;br /&gt;
# Find if a file with the name global.end exists in the root directory of the NEOSYS installation. Eg D:\global.end . If you find such a file, rename it to global.end.temp - for more information on global.end and what it does refer to [[Administering_NEOSYS_Server#Closing_NEOSYS_Services|Closing NEOSYS Services]]&lt;br /&gt;
# If the above didn&#039;t fix the problem and NEOSYS still does not start, do a windows search for the entire NEOSYS folder for *.end (i.e. any file ending with .end extension). You may find a (databasecode).end file in D:\neosys\neosys folder which is created by the NEOSYS program during backup at 1 am and later on removed automatically. In this case NEOSYS program might have crashed during the backup and left this file behind. (databasecode).end files prevent other other NEOSYS processes starting up on the database while exclusive processes (like backup) are being done.&lt;br /&gt;
&lt;br /&gt;
In case the above didn&#039;t fix the problem then escalate to the programmer immediately.&lt;br /&gt;
&lt;br /&gt;
=== Solving &amp;quot;Control Record&amp;quot; error in maintenance mode ===&lt;br /&gt;
&lt;br /&gt;
If processes dont start after you log into maintenance mode and you get an error message&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔════[FS152]═══════════════════════════════════════╗&lt;br /&gt;
║          The control record &amp;quot;RECORDS&amp;quot;            ║&lt;br /&gt;
║           is too long to be saved.               ║&lt;br /&gt;
║   The current record length is 65539 characters. ║&lt;br /&gt;
║                                                  ║&lt;br /&gt;
║               &amp;lt; Press any key &amp;gt;                  ║&lt;br /&gt;
╚══════════════════════════════════════════════════╝  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[File:Record1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1&#039;&#039;&#039;. Press space to get rid of the error message and you should then get this menu&lt;br /&gt;
&lt;br /&gt;
[[File:Record2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2&#039;&#039;&#039;. Press F5 and run this command (case sensitive)&lt;br /&gt;
&lt;br /&gt;
 DICT DEFINITIONS&lt;br /&gt;
&lt;br /&gt;
or Press Alt+S and run this command (case sensitive)&lt;br /&gt;
&lt;br /&gt;
 EXECUTE DICT DEFINITIONS&lt;br /&gt;
&lt;br /&gt;
[[File:Record3.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3&#039;&#039;&#039;. Press Shift+F3 to get the following message&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔══[B202]══════════════════════════════════╗&lt;br /&gt;
║            &amp;quot;DEFINITIONS&amp;quot; has             ║&lt;br /&gt;
║          &amp;quot;QUICKDEX&amp;quot; installed            ║&lt;br /&gt;
║                                          ║&lt;br /&gt;
║ Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N]  ║&lt;br /&gt;
║                                          ║&lt;br /&gt;
║ &amp;lt;Y                                      &amp;gt;║&lt;br /&gt;
╚══════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4&#039;&#039;&#039;. Press Enter to choose Yes.&lt;br /&gt;
&lt;br /&gt;
[[File:Record4.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5.&#039;&#039;&#039;Restart NEOSYS to see if the problem has been solved&lt;br /&gt;
&lt;br /&gt;
== Solving “page not found” when downloading some file types after uploading them successfully ==&lt;br /&gt;
=== One by One ===&lt;br /&gt;
&lt;br /&gt;
Windows web server will not download file types that it is unaware of. You can enable the download of new file types one by one as follows.&lt;br /&gt;
&lt;br /&gt;
This process is tedious and error-prone if you have to add many type.&lt;br /&gt;
&lt;br /&gt;
#Computer Management&lt;br /&gt;
#Services and Applications&lt;br /&gt;
#IIS properties&lt;br /&gt;
#Mime Types&lt;br /&gt;
#Add&lt;br /&gt;
&lt;br /&gt;
=== Many ===&lt;br /&gt;
&lt;br /&gt;
Window Server 2003 is unaware of all the Office 2007+ file types. To add all Office 2007+ file types at once do the following:&lt;br /&gt;
&lt;br /&gt;
Stop IIS&lt;br /&gt;
&lt;br /&gt;
 iisreset /stop&lt;br /&gt;
&lt;br /&gt;
Open the list of mime types&lt;br /&gt;
&lt;br /&gt;
*Start, Run, notepad C:\WINDOWS\system32\inetsrv\MetaBase.xml&lt;br /&gt;
&lt;br /&gt;
Search the file for “xlsx” and quit the editor if already inserted.&lt;br /&gt;
&lt;br /&gt;
Otherwise, find the following line,&lt;br /&gt;
&lt;br /&gt;
  .xml,text/xml&lt;br /&gt;
&lt;br /&gt;
and insert after that line the following lines. They do not need to be indented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.docm,application/vnd.ms-word.document.macroEnabled.12&lt;br /&gt;
.docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document&lt;br /&gt;
.dotm,application/vnd.ms-word.template.macroEnabled.12&lt;br /&gt;
.dotx,application/vnd.openxmlformats-officedocument.wordprocessingml.template&lt;br /&gt;
.potm,application/vnd.ms-powerpoint.template.macroEnabled.12&lt;br /&gt;
.potx,application/vnd.openxmlformats-officedocument.presentationml.template&lt;br /&gt;
.ppam,application/vnd.ms-powerpoint.addin.macroEnabled.12&lt;br /&gt;
.ppsm,application/vnd.ms-powerpoint.slideshow.macroEnabled.12&lt;br /&gt;
.ppsx,application/vnd.openxmlformats-officedocument.presentationml.slideshow&lt;br /&gt;
.pptm,application/vnd.ms-powerpoint.presentation.macroEnabled.12&lt;br /&gt;
.pptx,application/vnd.openxmlformats-officedocument.presentationml.presentation&lt;br /&gt;
.xlam,application/vnd.ms-excel.addin.macroEnabled.12&lt;br /&gt;
.xlsb,application/vnd.ms-excel.sheet.binary.macroEnabled.12&lt;br /&gt;
.xlsm,application/vnd.ms-excel.sheet.macroEnabled.12&lt;br /&gt;
.xlsx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet&lt;br /&gt;
.xltm,application/vnd.ms-excel.template.macroEnabled.12&lt;br /&gt;
.xltx,application/vnd.openxmlformats-officedocument.spreadsheetml.template&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save the file with File and Exit&lt;br /&gt;
&lt;br /&gt;
Restart IIS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Handling Neosys Automatic Upgrade Error Messages ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
We will receive an email from the NEOSYS client installation with the following message:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;UPGRADEN.EXE&amp;quot; does not have expected exe MZ signature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
This message is a note that the NEOSYS automatic update procedure failed to download an upgrade file correctly.&lt;br /&gt;
This happens sometimes due to network issues but can be ignored because the file will be probably be correctly downloaded on the next automatic update check.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This message is only informative to help with any problem with the automatic upgrade procedure and may be removed in a later version of neosys (currently Oct 2012)&lt;br /&gt;
&lt;br /&gt;
== Testing https connection ==&lt;br /&gt;
&lt;br /&gt;
The following procedure tests that the https server is operational and not blocked by firewall etc. It does not detect certificate errors.&lt;br /&gt;
&lt;br /&gt;
From a windows command prompt use the following telnet command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
telnet clientname.hosts.neosys.com 4430&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
#4430 is the usual NEOSYS http port but replace it by whatever port is actually used for NEOSYS https on the system being tested. If there are multiple https installations on a particular server then different ports are probably used&lt;br /&gt;
#Replace clientname.hosts.neosys.com with the normal https login domain name of the client for whom we want to check the https service&lt;br /&gt;
&lt;br /&gt;
Normal behavior is that it should open a black screen. Pressing Enter or any key returns the _ character. (Close the window using the [X] since there is no keyboard command to do so)&lt;br /&gt;
&lt;br /&gt;
Hanging means that there is some connectivity issue (firewall/ip/server not running/https not installed etc)&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;quot;page not found&amp;quot; error while using https ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#The https service stops working and gives &amp;quot;Page not found&amp;quot; error.&lt;br /&gt;
#The https connection tests fine using telnet (see article above)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#Reinstall https using the usual procedure (currently using selfssl)&lt;br /&gt;
#Email clients, requesting to reinstall the new security certificate by following the instructions for [http://userwiki.neosys.com/index.php/Setting_up_and_Configuring_NEOSYS_Generally#Fixing_HTTPS_certificate_error_when_logging_in_from_an_external_link_using_IE8.2C_IE9_and_IE10 Internet Explorer] or [http://userwiki.neosys.com/index.php/Configuring_Safari_for_MAC_OS#Fixing_HTTPS_certificate_error_when_logging_in_using_an_external_link_using_MAC_Operating_System Safari] browser.&lt;br /&gt;
&lt;br /&gt;
== Installing &amp;quot;QUICKDEX&amp;quot; on some files ==&lt;br /&gt;
&amp;quot;Quickdex&amp;quot; is a type of index that keeps an alphabetical order on small files. In some maintenance procedures you may be asked to &amp;quot;install Quickdex&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For example to add a quickdex to the UNITS file.&lt;br /&gt;
&lt;br /&gt;
Maintenance mode press F5&lt;br /&gt;
&lt;br /&gt;
 DICT UNITS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=================Dictionary=================┐&lt;br /&gt;
│                                            │&lt;br /&gt;
│  File name      UNITS                      │&lt;br /&gt;
│  Field name     .........................  │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Dict type                                 │&lt;br /&gt;
│  Single/Multi                              │&lt;br /&gt;
│  Data type                                 │&lt;br /&gt;
│  Output format                             │&lt;br /&gt;
│  Validation patterns                       │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Position              Key part            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Column heading                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Justification     Display length          │&lt;br /&gt;
│  Description                               │&lt;br /&gt;
│                                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
L============================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Shift+F3.&lt;br /&gt;
&lt;br /&gt;
If it says &amp;quot;Do you want to remove ...&amp;quot; then Quickdex has already been installed and you should not continue. Press Esc to cancel, then Esc to quit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[B202]==================================┐&lt;br /&gt;
│                                         │&lt;br /&gt;
│               &amp;quot;UNITS&amp;quot; has               │&lt;br /&gt;
│          &amp;quot;QUICKDEX&amp;quot; installed.          │&lt;br /&gt;
│                                         │&lt;br /&gt;
│ Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N] │&lt;br /&gt;
│                                         │&lt;br /&gt;
│&amp;lt;Y                                      &amp;gt;│&lt;br /&gt;
L=========================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise it should say &amp;quot;Do you want to install ...&amp;quot;. Press Enter to accept.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[W963]============================┐&lt;br /&gt;
│                                   │&lt;br /&gt;
│     Do you want to install a      │&lt;br /&gt;
│ Quickdex or Rightdex index? [Q/R] │&lt;br /&gt;
│                                   │&lt;br /&gt;
│&amp;lt;Q                                &amp;gt;│&lt;br /&gt;
L===================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It should then say &amp;quot;Do you want to update ...&amp;quot;. Press Enter to accept.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[W901]========================================┐&lt;br /&gt;
│                                               │&lt;br /&gt;
│           The &amp;quot;UNITS&amp;quot; file has had            │&lt;br /&gt;
│ the &amp;quot;QUICKDEX&amp;quot; modifying filing system added. │&lt;br /&gt;
│        There are 0 records in &amp;quot;UNITS&amp;quot;.        │&lt;br /&gt;
│                                               │&lt;br /&gt;
│    Do you want to update &amp;quot;QUICKDEX&amp;quot;? [Y/N]    │&lt;br /&gt;
│                                               │&lt;br /&gt;
│&amp;lt;Y                                            &amp;gt;│&lt;br /&gt;
L===============================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards it should return to the initial screen. Press Esc to quit.&lt;br /&gt;
&lt;br /&gt;
== Solving NEOSYS smtp server failure ==&lt;br /&gt;
In case the neosys smtp server fails then we can just use the client&#039;s smtp server.&lt;br /&gt;
&lt;br /&gt;
The following information is required from the client&#039;s smtp server configuration:&lt;br /&gt;
#hostname&lt;br /&gt;
#username&lt;br /&gt;
#password&lt;br /&gt;
#port no. (most likely = 25)&lt;br /&gt;
&lt;br /&gt;
These details should be entered in the &#039;&#039;&#039;System Configuration File&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
[[image:SYSCFGFILE-SMTP.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Strange characters in maintenance mode ==&lt;br /&gt;
While in Maintenance mode, pressing keys on keyboard gives strange characters. Even Enter and Esc don’t work. &lt;br /&gt;
&lt;br /&gt;
This problem has been seen using RDP on:&lt;br /&gt;
*Window Server 2003 Web Edition&lt;br /&gt;
*Windows Server 2003 R2 SP2&lt;br /&gt;
&lt;br /&gt;
[[image:strangecharmaint.jpg]] &lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
#Go to Windows -&amp;gt; control panel&lt;br /&gt;
#Go to Regional and Language Options &lt;br /&gt;
#Click on Languages tab then click on Details &amp;lt;br&amp;gt; [[image:lang1.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
#Click on Settings Tab and Change default input language to English (United States)&amp;lt;br&amp;gt;(or perhaps something else depending on rdp keyboard) &amp;lt;br&amp;gt; [[image:lang2.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== NEOSYS processes do not start after Windows Update  ==&lt;br /&gt;
&lt;br /&gt;
===Problem===&lt;br /&gt;
Scheduled Task to start the NEOSYS processes fail on Servers with Windows 2008 after Windows update. Support will have to log into the server to start the processes manually&lt;br /&gt;
Message on the Schedule Task displays &amp;quot; The operation being requested was not performed because the user has not logged on to the network. The specified service does not exit &amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[image:sti.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Solution===&lt;br /&gt;
&lt;br /&gt;
For clients who cannot tolerate manual intervention after server reboots for any reason (e.g.need to start work before NEOSYS support is available or on NEOSYS support weekends), tick &amp;quot;highest privileges&amp;quot; and &amp;quot;run whether the user is logged in or not&amp;quot;. This approach means that NEOSYS processes which are started by the windows scheduled task are not visible on the desktop and run hidden in the background and only listed in task manager, so avoid this approach on small clients (only few users). Avoiding this approach will also serve to act as an indicator of server restarts.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting NEOSYS remote support port forwarding ==&lt;br /&gt;
This assumes that you have already “port forwarded” tcp port 19580 from your public internet router to the NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
=== Tst 0 - Check if SSH is working on the NEOSYS Server ===&lt;br /&gt;
Type in the following command in command prompt:&lt;br /&gt;
 telnet 127.0.0.1 19580&lt;br /&gt;
&lt;br /&gt;
IF ALL OK you will see the following:&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-03.jpg]] &lt;br /&gt;
&lt;br /&gt;
=== Test 1 - Check if SSH is basically working on NEOSYS server over the LAN ===&lt;br /&gt;
You must know and use the NEOSYS SERVER LAN IP to do this.&lt;br /&gt;
&lt;br /&gt;
 telnet ???.???.???.??? 19580&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-01.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
If you have the WRONG SERVER LAN IP or NEOSYS server SSH is NOT working then it will hang for about 15 seconds and then say “Could not open connection to host …”&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-02.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
OR IF ALL OK you will see the following:&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-03.jpg]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Press Enter to Exit&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-04.jpg]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Test 2 - Check if can connect to the NEOSYS ssh from OUTSIDE the office  ===&lt;br /&gt;
From any internet connected computer OUTSIDE the office test if you can connect to NEOSYS ssh service. You cannot do this test from inside the office.&lt;br /&gt;
&lt;br /&gt;
You need to know the public ip or domain name of the router. If the router IP is dynamic then NEOSYS sets up dynamic name server so instead of a static ip number you will have a domain name something like clientxyz.redirectme.net.&lt;br /&gt;
&lt;br /&gt;
Enter the command .. using YOUR public internet IP number (NOT the LAN ip number) or the dynamic domain name.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-05.jpg]]  &lt;br /&gt;
&lt;br /&gt;
If everything is working OK you will get a black screen as follows. You will NOT get the “SSH-2.0-OpenSSH-4.7” banner” because NEOSYS ssh remote support is restricted to connect ONLY from LAN ip nos and NEOSYS office ip nos.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-06.jpg]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you press Enter a few times then the cursor will just go down. You have click the [X] to close the window.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-07.jpg]]  &lt;br /&gt;
&lt;br /&gt;
=== Test 3 - Check that the ssh connection from step 2 was rejected  ===&lt;br /&gt;
On the NEOSYS server, check the Windows Application log to verify that an SSH connection was rejected.&lt;br /&gt;
&lt;br /&gt;
The rejected ip number will be of the system outside the office that you performed the test from.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-08.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Sample Email: Solving port 19580 port forwarding issues ===&lt;br /&gt;
&lt;br /&gt;
Some IT people know how to troubleshoot port forwarding issues but others are mostly just power users who can configure a home router. If the IT person is in the second category then it is quicker for NEOSYS support to offer to configure their router from the NEOSYS server using Teamviewer. Ideally NEOSYS should not be doing client IT work but if client IT allows NEOSYS access to their router then NEOSYS support can make a brief attempt to do the configuration. If the issue is still unresolved then request the client to get a professional IT network expert to do the job and inform them that NEOSYS will not be able to provide them any support till connectivity is fixed. Below is a letter advising a more skilled person to check connections using telnet which is a low level test.&lt;br /&gt;
&lt;br /&gt;
You can usually determine the NEOSYS server LAN IP number from Nagios. If so then adjust the email text appropriately.&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Dear XYZ,&lt;br /&gt;
&lt;br /&gt;
It is highly critical to fix the connectivity with the NEOSYS server because NEOSYS will not be able to provide any support until&lt;br /&gt;
connectivity is fixed. User support issues will be delayed and remain unresolved if you do not fix this issue URGENTLY.&lt;br /&gt;
&lt;br /&gt;
At the moment there is no connection from the internet via your router to the NEOSYS server and when we do the following, &lt;br /&gt;
we get no connection. &lt;br /&gt;
&lt;br /&gt;
   telnet CLIENTNAME.support.neosys.com 19580&lt;br /&gt;
&lt;br /&gt;
Normally it should connect and presents a black screen (saying SSH something after pressing Enter) which we close.&lt;br /&gt;
&lt;br /&gt;
Please check that you can connect to the NEOSYS server internally by using the NEOSYS server IP address in the following command on any&lt;br /&gt;
computer in your LAN.&lt;br /&gt;
&lt;br /&gt;
    telnet 192.168.?.? 19580&lt;br /&gt;
&lt;br /&gt;
If you can connect to the NEOSYS server internally then please check port forwarding.&lt;br /&gt;
&lt;br /&gt;
Additionally check the following:&lt;br /&gt;
1. Has your router IP changed?&lt;br /&gt;
2. Has your server’s LAN IP changed and are you forwarding to the correct LAN IP?&lt;br /&gt;
3. Is the configuration really correct?&lt;br /&gt;
4. Check router logs for clues&lt;br /&gt;
5. Check NAT settings in the router&lt;br /&gt;
&lt;br /&gt;
For troubleshooting steps refer Troubleshooting NEOSYS remote support&lt;br /&gt;
http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Troubleshooting_NEOSYS_remote_support_port_forwarding&lt;br /&gt;
&lt;br /&gt;
If the problem still persists, please get a professional IT network expert to fix the issue.&lt;br /&gt;
&lt;br /&gt;
Best Regards,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Port mapping restricted by Source IP ===&lt;br /&gt;
&lt;br /&gt;
On NEOSYS router, port forwarding has been setup only for specific source IP addresses. This means you will not be able to establish a TCP connection to NEOSYS server unless your server&#039;s outbound IP is mapped to the NEOSYS router. In other words unless the outbound i.e source IP/port of your server has been granted access on the NEOSYS router for all incoming connections you will not be able to make connections to NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
Outbound IP is used whenever a server tries to make a connection to another server outside its network. On the other hand a server receives all incoming connections using it&#039;s Inbound IP.&lt;br /&gt;
&lt;br /&gt;
Therefore to setup ssh connection from a new Client server to NEOSYS server we need to grant access to its outbound IP on the NEOSYS router. See [[Troubleshooting_NEOSYS_Generally#If_Telnet_does_not_work | link]] to find the outbound server IP/ports of the server.&lt;br /&gt;
&lt;br /&gt;
== Solving “Cant login … INVALID DATA PATH … permission denied” ==&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&lt;br /&gt;
[[image:error-invalid-data-path-1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error Text:&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 Cannot login because:&lt;br /&gt;
 ERROR: INVALID DATA PATH&lt;br /&gt;
 “D:\HOSTS\HOSTNAME\DATA\HOSTNAME\~8746345.1$” Permission Denied&lt;br /&gt;
&lt;br /&gt;
=== Problem Explained ===&lt;br /&gt;
When installing NEOSYS on an existing “non-clean” Windows installation, the standard NEOSYS installation procedure can result in failure to login if the standard windows folder permissions have been modified.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
The solution is to grant IIS permission to write in the \neosys\DATA folder and subfolders as follows:&lt;br /&gt;
#First add the IUSR_XXXXXXX user to the list of users. (XXXXXXXX is the server name and therefore varies per server) as follows:&lt;br /&gt;
#*Right Click on DATA Folder and click on Properties&lt;br /&gt;
#*Click on Security Tab -&amp;gt; Add -&amp;gt; Advanced&lt;br /&gt;
#*Click on Find Now, Select the IUSR_XXXXXXX user and Click on OK&amp;lt;br&amp;gt;[[image:error-invalid-data-path-2.jpg]]&amp;lt;br&amp;gt;[[image:error-invalid-data-path-3.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Second, for the newly added IUSR (IIS user) change the permissions as follows:&lt;br /&gt;
#*&#039;&#039;&#039;REMOVE&#039;&#039;&#039; the read and execute permission (for security, IIS should be unable to execute things that it might have uploaded)&lt;br /&gt;
#*&#039;&#039;&#039;ADD&#039;&#039;&#039; the write permission &amp;lt;br&amp;gt;[[image:error-invalid-data-path-4.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Login should now be possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== NEOSYS process window displays message &amp;quot;Upgrade Downloading&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
[[image:upgradedownloading.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Problem Explained ===&lt;br /&gt;
NEOSYS thinks it sees an new neosys2.exe upgrade file on the location http://www.neosys.com/support/neosys2.exe which is accessed by http so attempts to download it.&lt;br /&gt;
&lt;br /&gt;
Http proxies and various internet issues can cause incorrect info to be sent and there is actually no upgrade available. In this case, eventually it realizes that it cant find an appropriate and it stops. &lt;br /&gt;
&lt;br /&gt;
You don’t have to worry about this case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Enabling EMS memory on Window 2003 ==&lt;br /&gt;
&lt;br /&gt;
Normally EMS memory is provided by Windows 2003 but this can vary depending on the server hardware/bios configuration&lt;br /&gt;
&lt;br /&gt;
If you get the following messages on Windows 2003&lt;br /&gt;
&lt;br /&gt;
#Backup File Size is 0&lt;br /&gt;
#RTP27. [B28] Not enough String Space – Out of Memory&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
On servers that had no problem previously, the problem is caused by a windows update in Oct 2012 that disables standard Windows EMS memory.&lt;br /&gt;
&lt;br /&gt;
The patch is issued by Microsoft on 9 Oct 2012 but the installation date in the server depends on when the update was actually installed.&lt;br /&gt;
&lt;br /&gt;
http://support.microsoft.com/kb/2724197&lt;br /&gt;
&lt;br /&gt;
=== Solution 1 - maximum performance ===&lt;br /&gt;
&lt;br /&gt;
To re-enable standard windows EMS on older slower servers or servers where NEOSYS performance must be maximized.&lt;br /&gt;
&lt;br /&gt;
The following link contains instructions how to remove the offending windows update&lt;br /&gt;
&lt;br /&gt;
It also shows how to prevent it being reinstalled automatically by Windows.&lt;br /&gt;
&lt;br /&gt;
http://www.columbia.edu/~em36/wpdos/emsxp.html&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to prevent it being reinstalled again automatically&lt;br /&gt;
&lt;br /&gt;
=== Solution 2 – ease of installation ===&lt;br /&gt;
&lt;br /&gt;
This option can also be used if Window 2003 is unable to provide EMS memory for example when the server hardware/bios configuration prevents it.&lt;br /&gt;
&lt;br /&gt;
Install EMSMAGIC in the same way as for Windows server 2008&lt;br /&gt;
&lt;br /&gt;
EMSMAGIC has higher memory consumption and makes NEOSYS processes slower so it is better to use Solution 1 above if NEOSYS performance is an issue.&lt;br /&gt;
&lt;br /&gt;
== Fixing no output file in XXX YYY Issue ==&lt;br /&gt;
&lt;br /&gt;
===Error Message===&lt;br /&gt;
&lt;br /&gt;
[[File:Nooutputfile.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Problem Explained===&lt;br /&gt;
&lt;br /&gt;
The message “No output file in XXX YYY” can appear at several instances in NEOSYS, most often when generating reports or documents. &lt;br /&gt;
&lt;br /&gt;
This problem is usually caused by software error and it indicates that the NEOSYS server responded without any output and without any message. &lt;br /&gt;
&lt;br /&gt;
===Solution===&lt;br /&gt;
1) Find proof to check if the data required for the report actually exists. This way we can eliminate lack of data as a cause for this error.&lt;br /&gt;
&lt;br /&gt;
2) Check to see if a similar issue has been fixed in latest version of NEOSYS.&lt;br /&gt;
&lt;br /&gt;
3) Document HOW and WHERE the problem can be duplicated by NEOSYS programmers to identify and correct the software.&lt;br /&gt;
&lt;br /&gt;
An example of this error can be found at [[Troubleshooting_NEOSYS_Media_System#Error:_No_output_file_in_MEDIAPROXY_SCHEDULEPRINT|No Output File in MEDIAPROXY SCHEDULEPRINT]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting Internet Connections ==&lt;br /&gt;
&lt;br /&gt;
===Cannot Connect===&lt;br /&gt;
&lt;br /&gt;
While investigating as to why users are not able to access NEOSYS or http://www.neosys.com/ ,you can check which ISP the connection issue is on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;whois ipno&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inspect very carefully to get clues as to which ISP and which AREA of the ISP the problematic ip numbers are and which do NOT have problems&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting TCP/IP Connections ===&lt;br /&gt;
&lt;br /&gt;
====Telnet check====&lt;br /&gt;
&amp;lt;pre&amp;gt; telnet &amp;lt;hostname&amp;gt; 19580  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====If Telnet does not work====&lt;br /&gt;
In case telnet does not work, login to the remote host server to investigate the issue. Run the following command simultaneously while doing Telnet from client server to the remote host to check if the TCP packets are reaching the Remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tcpdump -v &#039;src host client-domain-name/ip&#039; &lt;br /&gt;
tcpdump -v portno &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To check if packets are sent from the client server to the remote host, you can run the following command simultaneously while trying to ssh to the remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;netstat -an &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also check if the outbound ports are open from which you are trying to establish the TCP connection to the remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;telnet portquiz.net portno &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The outbound IP addresses at times can be different from the public IP of the Client server so be sure that the public IP of the client server is the same as its source IP (which represents an incoming connection from Client to Remote server). One way to find the source IP of the Client server is sending an email from Client server to &amp;quot;support@neosys.com&amp;quot;. On receiving the email in Thunderbird, select the email and press Ctrl+u. A new window Opens giving full details of the email received. The third &amp;quot;Received :from&amp;quot; gives the IP of the source.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting DNS failure ===&lt;br /&gt;
&lt;br /&gt;
NEOSYS clients routers are usually configured to use their ISP DNS service and the ISP DNS service is supposed to contact one of NEOSYS&#039;s DNS servers to convert server names like hosts.neosys.com into IP numbers. Misconfiguration of clients routers or problems in the ISP DNS server may cause CANNOT CONNECT problems. Often the connect fails quickly and immediately since if a name cannot be converted to an ip number then the connection cannot even be attempted and therefore there is little or no timeout to wait through.&lt;br /&gt;
&lt;br /&gt;
NEOSYS.COM name servers are listed publically and obtained by whois command.&lt;br /&gt;
&lt;br /&gt;
 whois neosys.com&lt;br /&gt;
&lt;br /&gt;
 Name Server: DNS1.EASYDNS.COM&lt;br /&gt;
 Name Server: DNS2.EASYDNS.NET&lt;br /&gt;
 Name Server: DNS3.EASYDNS.ORG&lt;br /&gt;
 Name Server: NS12.ZONEEDIT.COM&lt;br /&gt;
 Name Server: NS18.ZONEEDIT.COM&lt;br /&gt;
&lt;br /&gt;
In order to contact NEOSYS DNS servers the ISP&#039;s have to use a global DNS to obtain the ip addresses of NEOSYS DNS servers given the host names of NEOSYS DNS servers given in the whois info&lt;br /&gt;
&lt;br /&gt;
Here is an example of DU testing NEOSYS DNS servers. The NEOSYS DNS server ip addresses are listed in the Destination column.&lt;br /&gt;
&lt;br /&gt;
[[File:internet.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If one DNS server is down or unreachable REGARDLESS OF REASON, the ISP is supposed to use the other DNS servers. It is impossible for all NEOSYS DNS servers to be unreachable except in gross disconnection from the internet of the ISP since it is effectively impossible that all NEOSYS DNS servers which are carefully spread around the internet, to be unreachable.&lt;br /&gt;
&lt;br /&gt;
In the above test one of the NEOSYS DNS servers is unreachable but all the others are reachable therefore DU should have no problem providing DNS service to its clients.&lt;br /&gt;
&lt;br /&gt;
ISP are often worse at providing DNS server than the famous GOOGLE DNS servers, so re configuring client router to use GOOGLE DNS servers is a way to prove that the problem lies with the ISP&#039;s DNS service&lt;br /&gt;
&lt;br /&gt;
=== Additional test for troubleshooting problems with uploading ===&lt;br /&gt;
&lt;br /&gt;
====Verifying that upload.dll can run====&lt;br /&gt;
&lt;br /&gt;
This isnt a complete test of everything. It just checks if the upload program can be run by the web server. It doesnt check if uploads work or the image directory is correctly configured with the right permissions and uploads can actually be done.&lt;br /&gt;
&lt;br /&gt;
===== Error Message =====&lt;br /&gt;
&lt;br /&gt;
... to be added when discovered ...&lt;br /&gt;
&lt;br /&gt;
===== Test =====&lt;br /&gt;
&lt;br /&gt;
Test HTTP if accessible by LAN; Test HTTPS is accessible by Internet; Test both if both are available.&lt;br /&gt;
&lt;br /&gt;
On the server type the following into a browser&lt;br /&gt;
&lt;br /&gt;
LAN/HTTP:&lt;br /&gt;
&lt;br /&gt;
 http://localhost/neosys/neosys/dll/upload.dll&lt;br /&gt;
&lt;br /&gt;
WAN/HTTPS:&lt;br /&gt;
&lt;br /&gt;
 https://localhost:9999/neosys/dll/upload.dll&lt;br /&gt;
&lt;br /&gt;
===== Expected Result =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Upload Error. !&lt;br /&gt;
Please call me from a form !!!&lt;br /&gt;
The first param must be Filename= name of the uploaded file, TYPE=TEXT&lt;br /&gt;
The second param must be Filedata= uploaded file, TYPE=FILE&lt;br /&gt;
The third param is optional PathData= path to uploaded file, default c:\temp\, TYPE=HIDDEN&lt;br /&gt;
The forth param is optional RedirectPage= name of asp who receive the results, TYPE=HIDDEN&lt;br /&gt;
Add others params at the end with INPUT tag.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Uerror.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Patching a NEOSYS program ==&lt;br /&gt;
&lt;br /&gt;
The patch provided will tell you the program name and contain either a whole replacement program text or just some changed lines which you will have to find and edit.&lt;br /&gt;
&lt;br /&gt;
You will need to know the file name which may be provided along with the patch or you can find it using the following code in maintenance mode:&lt;br /&gt;
&lt;br /&gt;
 ED VOC programname&lt;br /&gt;
&lt;br /&gt;
ED VOC XYZ tells you what program name is executed and from what file, when you type the command XYZ. Normally the program name is the same as the command.&lt;br /&gt;
&lt;br /&gt;
The file name will normally be BP for agency programs, GBP for general programs or ABP for finance programs.&lt;br /&gt;
&lt;br /&gt;
NEOSYS programs are stored in files just like records of ordinary database files. You can edit either with &amp;quot;ED filename programname&amp;quot; or &amp;quot;TED filename programname&amp;quot;. TED is better for editing source code.&lt;br /&gt;
&lt;br /&gt;
===Installing patch in live database===&lt;br /&gt;
&lt;br /&gt;
In the rare case that the programmer asks Support to install the patch directly on LIVE dataset, start by typing the following command in maintenance mode before commencing:&lt;br /&gt;
&lt;br /&gt;
 UTIL&lt;br /&gt;
&lt;br /&gt;
Follow the instructions mentioned in the [[Troubleshooting_NEOSYS_Generally#Installing_patch_in_test_database| next section]], but skip the instruction to TEST the patched program in test dataset.&lt;br /&gt;
&lt;br /&gt;
The instruction to INSTALL the patched program MUST be followed BEFORE testing the patch in live dataset. Otherwise the changes will not get reflected.&lt;br /&gt;
&lt;br /&gt;
===Installing patch in test database===&lt;br /&gt;
&lt;br /&gt;
1. EDIT the program source code.&lt;br /&gt;
&lt;br /&gt;
 TED programname&lt;br /&gt;
&lt;br /&gt;
Either cut and paste to modify the whole program or edit the program text according to the patch/instructions provided.&lt;br /&gt;
&lt;br /&gt;
Save and close the program source code.&lt;br /&gt;
&lt;br /&gt;
2. COMPILE it. If you get errors then check your edits are correct and recompile otherwise return the patch to programming.&lt;br /&gt;
&lt;br /&gt;
  COMPILE filename programname&lt;br /&gt;
&lt;br /&gt;
3. TEST it. Ensure the patched program now works in TEST database.&lt;br /&gt;
&lt;br /&gt;
4. INSTALL the patched program in the LIVE database by typing one of the following command depending on the filename that you patched.&lt;br /&gt;
&lt;br /&gt;
 COPYGBP programname&lt;br /&gt;
 COPYABP programname&lt;br /&gt;
 COPYBP programname&lt;br /&gt;
&lt;br /&gt;
== Patching NEOSYS dictionaries ==&lt;br /&gt;
&lt;br /&gt;
A patch to a dictionary applies immediately when you save it and to all datasets regardless of which dataset you work in.&lt;br /&gt;
&lt;br /&gt;
You need:&lt;br /&gt;
&lt;br /&gt;
#the file name eg INVOICES&lt;br /&gt;
#the item name (column name) eg  DATETIME_AMENDED&lt;br /&gt;
#10 lines of data similar to the example below.&lt;br /&gt;
#if the item is an S type dictionary, then either the whole, or only the amended part, of the source code of the dictionary.&lt;br /&gt;
&lt;br /&gt;
 ED DICT INVOICES DATETIME_AMENDED&lt;br /&gt;
&lt;br /&gt;
TYPE everything below exactly on the corresponding line numbers except lines 3 and very commonly line 8, as these lines may contain multiple values separated by a superscript 2 (²). Line numbers in the below screen are only for illustrative purpose. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  ╔═══════════════════════════┤DATETIME_AMENDED├═════════════════════════╗&lt;br /&gt;
 1║S                                                                     ║&lt;br /&gt;
 2║                                                                      ║&lt;br /&gt;
 3║DateTime²Amended                                                      ║&lt;br /&gt;
 4║S                                                                     ║&lt;br /&gt;
 5║                                                                      ║&lt;br /&gt;
 6║                                                                      ║&lt;br /&gt;
 7║[DATETIME]                                                            ║&lt;br /&gt;
 8║updated=@record&amp;lt;28&amp;gt;²created=@record&amp;lt;31,1&amp;gt;²@ans=&#039;&#039;²if created and num(c║..actually this line continues off the screen to the right&lt;br /&gt;
 9║R                                                                     ║&lt;br /&gt;
10║10                                                                    ║&lt;br /&gt;
11║                                                                      ║&lt;br /&gt;
  :                                                                      :&lt;br /&gt;
  :                                                                      :&lt;br /&gt;
  ╚══════════════════════════════════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Ctrl+E on lines 3 or 8 in order to enter sub-lines. &lt;br /&gt;
&lt;br /&gt;
The multiple values (on line 3 and 8) separated by a superscript 2 (²) automatically appear when sub-lines are entered.&lt;br /&gt;
&lt;br /&gt;
For line 8, you will need to cut and paste the lines of below program to the Ctrl+E screen: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔═════════════════════════┤Field 8 of DATETIME_AMENDED├════════════════════════╗&lt;br /&gt;
║updated=@record&amp;lt;28&amp;gt;                                                           ║&lt;br /&gt;
║created=@record&amp;lt;31,1&amp;gt;                                                         ║&lt;br /&gt;
║@ans=&#039;&#039;                                                                       ║&lt;br /&gt;
║if created and num(created) and num(updated) then                             ║&lt;br /&gt;
║ createdsecs=field(created,&#039;.&#039;,1)*86400+field(created,&#039;.&#039;,2)                  ║&lt;br /&gt;
║ updatedsecs=field(updated,&#039;.&#039;,1)*86400+field(updated,&#039;.&#039;,2)                  ║&lt;br /&gt;
║ if abs(updatedsecs-createdsecs)&amp;gt;120 then                                     ║&lt;br /&gt;
║  @ans=updated                                                                ║&lt;br /&gt;
║  end                                                                         ║&lt;br /&gt;
║ end                                                                          ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
╚══════════════════════════════════════════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you save and exit the Ctrl+E screen, you will see the sublines separated by superscript 2 appear in one line in the ED screen. &lt;br /&gt;
&lt;br /&gt;
Similarly, for line 3, you need to enter its sub-lines in Ctrl+E screen.&lt;br /&gt;
&lt;br /&gt;
To ensure indenting remains nice (although indenting is not important and can be messed up without causing any problem) then copy the double bars at the front of the lines (if available, otherwise insert some char in position 1 of each line perhaps) and then remove them after you paste ... or just edit until the indenting is correct if you really want to.&lt;br /&gt;
&lt;br /&gt;
Press F9 and/or Esc to save and/or exit from Ctrl+E screen&lt;br /&gt;
&lt;br /&gt;
Press F9 and/or Esc to save and/or exit from ED&lt;br /&gt;
&lt;br /&gt;
== Searching XML files ==&lt;br /&gt;
&lt;br /&gt;
Use the grep command in Cygwin terminal to search files especially when you are investigating the NEOSYS Logs. &lt;br /&gt;
&lt;br /&gt;
Use the following command while searching for a file in any directory&lt;br /&gt;
&lt;br /&gt;
 grep string path/file&lt;br /&gt;
&lt;br /&gt;
 grep -i -a string path/file  (use -i to ignore upper/lower case characters in the string and -a to treat the file type=text and display the matching text)&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;string&amp;quot; is the text to be searched, &amp;quot;file&amp;quot; is the type of file you are looking for and &amp;quot;path&amp;quot; is the path of the directory you are looking into. Use &amp;quot;&amp;quot; when having spaces in your string.&lt;br /&gt;
&lt;br /&gt;
e.g when searching in NEOSYS logs the year/month/date is specified in the file name, so if you are looking for a file in year 2016 in the month of Feb, use&lt;br /&gt;
&lt;br /&gt;
 grep XXXX path/1602*&lt;br /&gt;
&lt;br /&gt;
In the above command *(asterisk) is a wildcard used to match characters in the file name.&lt;br /&gt;
&lt;br /&gt;
Sample below of grep command and its output where it is searching for &amp;quot;Dior&amp;quot; in 2016 march logs.&lt;br /&gt;
 $ grep -i Dior /cygdrive/d/hosts/test/logs/test/2016/1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 Binary file path/16030301.XML matches&lt;br /&gt;
&lt;br /&gt;
Use the commands below to display the search string and required number of lines that come either after or before the search string, depending on what you enter in your command. It helps to get more information from files especially when you only know few words and the other information around the searched string also gets displayed. &lt;br /&gt;
&lt;br /&gt;
 grep -A NUM string file (NUM lines after the searched text get displayed)&lt;br /&gt;
&lt;br /&gt;
 grep -B NUM string file (NUM lines before the searched text get displayed)&lt;br /&gt;
&lt;br /&gt;
See the examples and their respective outputs below, (Note: there is no space between -A and NUM):&lt;br /&gt;
&lt;br /&gt;
 $ grep -A2 -i &amp;quot;Dior&amp;quot; 1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 Binary file 16022101.XML matches&lt;br /&gt;
 Binary file 16022901.XML matches&lt;br /&gt;
&lt;br /&gt;
 $ grep -A2 -a &amp;quot;Dior&amp;quot; 1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 16030301.XML:&amp;lt;DataOut&amp;gt;DIOR%FEPOI%FE&#039;&#039;&#039;Dior&#039;&#039;&#039; Poison%FE%FE%FE%FE%FEDubai,    UAE%FE%FE%FE%FEN%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEN%FE%FE%FE17584.43592%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FENEOSYS%FE17584.43592%FE94_200_49_146%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEpaulson&amp;lt;/DataOut&amp;gt;&amp;lt;/Message&amp;gt;&lt;br /&gt;
 --&lt;br /&gt;
 16030301.XML:&amp;lt;DataOut&amp;gt;DIOR%FEPOI%FE&#039;&#039;&#039;Dior&#039;&#039;&#039; Poison%FE%FE%FE%FE%FEDubai,   UAE%FE%FE%FE%FEN%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEN%FE%FE%FE17584.43592%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FENEOSYS%FE17584.43592%FE94_200_49_146%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEpaulson&amp;lt;/DataOut&amp;gt;&amp;lt;/Message&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some more examples of grep below:&lt;br /&gt;
&lt;br /&gt;
 Use the command below when searching with more than one search string&amp;lt;br&amp;gt;&lt;br /&gt;
 grep -a string1 *|grep string2&lt;br /&gt;
&lt;br /&gt;
 grep -B2 -a Processing 160329*|grep -v DataIn|grep -v Message|less&amp;lt;br&amp;gt;&lt;br /&gt;
 where user wants output to show lines containing string &amp;quot;Processing&amp;quot; and exclude lines containing string &amp;quot;DataIn&amp;quot; and &amp;quot;Message&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Managing the queue of reports being delivered by email ==&lt;br /&gt;
&lt;br /&gt;
In maintenance mode.&lt;br /&gt;
&lt;br /&gt;
=== Listing ===&lt;br /&gt;
&lt;br /&gt;
 LIST DOCUMENTS WITH SCHEDULED_ONCE&lt;br /&gt;
&lt;br /&gt;
=== Clearing ===&lt;br /&gt;
&lt;br /&gt;
 SELECT DOCUMENTS WITH SCHEDULED_ONCE&lt;br /&gt;
 DELETE DOCUMENTS&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Troubleshooting_NEOSYS_Generally&amp;diff=2647</id>
		<title>Troubleshooting NEOSYS Generally</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Troubleshooting_NEOSYS_Generally&amp;diff=2647"/>
		<updated>2016-04-21T06:36:56Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Troubleshooting &amp;quot; xxx is not authorised to login form the location (IP Number. xx.xx.xx.xx) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Solving failure to start a NEOSYS server due to disk failure message ==&lt;br /&gt;
=== Problem ===&lt;br /&gt;
During a reboot process (which maybe due to a Windows update or even done by a support personnel) the NEOSYS server gets hung on the startup and shows a message &amp;quot;Boot Failure - Abort, Retry&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
=== Temporary solution ===&lt;br /&gt;
This typically happens due to the USB being plugged into the server and the boot sequence being wrong - i.e. the server trying to boot from the USB first and fails. The immediate solution would be to unplug the USB and ask the client to reboot the server again and upon successfully rebooting the system, plug the USB back again.&lt;br /&gt;
&lt;br /&gt;
=== Permanent solution ===&lt;br /&gt;
The above problem will occur every time the computer is rebooted, so you need to immediately talk to the IT Administrator of the client and ask them to rectify the boot sequence to make it boot first from the CD ROM, then the HDD and last the USB.&lt;br /&gt;
&amp;lt;BR&amp;gt;Allowing &amp;quot;Boot from USB&amp;quot; causes a severe risk of infection by boot sector viruses since the first infected USB device inserted WILL infect the server immediately as anti-virus programs are not active during boot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting the &amp;quot;Database not available&amp;quot; error message == &lt;br /&gt;
=== Problem explained ===&lt;br /&gt;
This error appears when you try to login to NEOSYS after you enter your username and password and click the Login button.&lt;br /&gt;
&lt;br /&gt;
[[image:database_unavailable.jpg]]&lt;br /&gt;
&lt;br /&gt;
Error message : &lt;br /&gt;
&lt;br /&gt;
 Cannot login because : &lt;br /&gt;
 Error :  The (database code) database is not available right now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the error message appears post login i.e. when users are working on the system then check if processes are free to run user request.&lt;br /&gt;
&lt;br /&gt;
[[image:not_available.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Solution explained ===&lt;br /&gt;
# Determine if the processes are running. If they are running and you still get the same message that means that either the processes have [[Troubleshooting_NEOSYS_Generally#Troubleshooting_Hung_processes|hung]] and need to be [[Troubleshooting_NEOSYS_Generally#How_to_kill_hung_NEOSYS_processes|killed]]. Or the processes are busy to run user requests and a new process needs to be started. &lt;br /&gt;
# If the processes are not visible on the destop, it is possible that they are running in the background and have hung for some reason. Check the windows task manager to see if any ‘ntvdm’ process is running and [[Troubleshooting_NEOSYS_Generally#If_NEOSYS_processes_are_not_visible_on_the_server_desktop|fix hung processes]].&lt;br /&gt;
# If there is no trace of any process running, that means the process probably did not start at the scheduled time. Refer to the &#039;Hung Process Reports&#039; to verify this claim. &lt;br /&gt;
# If the process had not hung, then the server might have restarted due to a power failure or a windows update and the administrator user had not logged in post the scheduled startup time of 6AM. To determine this cause, investigate in the Windows Event Viewer Log file.&lt;br /&gt;
# You can now start up the process by clicking on the respective desktop icons.&lt;br /&gt;
# Also check if the backup took place successfully or not. If not take a manual backup.&lt;br /&gt;
# Look into the logs at the date/time stated for the last transaction processed to investigate why process got hung.See [[Troubleshooting_NEOSYS_Generally#Inspecting_Database_LOGS_Folder| Inspecting logs]] for more information on logs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting &amp;quot;user not authorised to login from an ip&amp;quot; error message==&lt;br /&gt;
[[image:IPerror.jpg]]&lt;br /&gt;
 xxx is not authorised to login form the location (IP Number. xx.xx.xx.xx)&lt;br /&gt;
&lt;br /&gt;
Check the URL used by the user. &lt;br /&gt;
#If the users are hosted on NEOSYS server then they will use https link to access NEOSYS.&lt;br /&gt;
#*Check with the client&#039;s management if this particular IP is their public IP.&lt;br /&gt;
#*Add IP on management confirmation (Refer to [[Procedures#Handling_User_Requests_to_add_an_IP_or_range_of_IPs_to_access_NEOSYS|Handling User Rquests to add IP/IPs ]] ) &lt;br /&gt;
#If the users are hosted on Client server then they should use http link to access NEOSYS.&lt;br /&gt;
&lt;br /&gt;
== Handling damaged files ==&lt;br /&gt;
&lt;br /&gt;
[[Handling damaged files]]&lt;br /&gt;
&lt;br /&gt;
=== Checking for corrupt database files ===&lt;br /&gt;
Login to NEOSYS Maintenance. This can be done when users are online.&lt;br /&gt;
&lt;br /&gt;
Press F5&lt;br /&gt;
&lt;br /&gt;
 CHK.FILES&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
 CHK.FILES filename&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Sizelock while performing chk.files &#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Fixing sizelock errors should not be done while other users are online to the same database.&lt;br /&gt;
&lt;br /&gt;
Sizelock errors are not critical and will be fixed automatically during the nightly backup.&lt;br /&gt;
&lt;br /&gt;
Sizelock errors occur if a program or process that is selecting records from a file is aborted in some abnormal way.&lt;br /&gt;
&lt;br /&gt;
Error message:&lt;br /&gt;
&lt;br /&gt;
 These Files/Tables have a Sizelock Value of 2 or greater. &lt;br /&gt;
 Tag/Select the Files/Tables to be Fixed.&lt;br /&gt;
 Press F9 to fix selected files&lt;br /&gt;
&lt;br /&gt;
Press F9 to proceed with fixing the selected files or press ESC to continue with chk.files without fixing sizelock as it gets automatically fixed during the nightly backup. &lt;br /&gt;
&lt;br /&gt;
Refer to the [http://techwiki.neosys.com/index.php/Backup_and_Restore#Error_Message:_Size_Lock Sizelock errors in backup emails] for more information.&lt;br /&gt;
&lt;br /&gt;
[[file:sizelock.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Determining Database File Name from Operating System File Name ===&lt;br /&gt;
&lt;br /&gt;
To assess the potential damage and possible remedial measures you need to know the database file name. If the message only refers to the operating system file name you need to follow this procedure to determine the database file name.&lt;br /&gt;
&lt;br /&gt;
Once you have the database file name you can use CHK.FILES XXXXXXX to check if corrupt or not and various other procedures to fix the corruption.&lt;br /&gt;
&lt;br /&gt;
Remember that fixing the corrupt data does not solve the overall problem. The *cause* of the corruption must be identified and eliminated otherwise the problem may reoccur and in a more serious form perhaps with unrecoverable loss of data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╒═══════════════════════════════════TCL - 2══════════════════════════════════╕&lt;br /&gt;
│                                                                            │&lt;br /&gt;
│ :list FILES WITH ALL CONTAINING &#039;REV76481&#039;                                 │&lt;br /&gt;
│                                                                            │&lt;br /&gt;
╘════════════════════════════════════════════════════════════════════════════╛&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:DBfilenamefromOSfilename.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Finding out when and by whom a record was deleted ==&lt;br /&gt;
&lt;br /&gt;
In most cases, NEOSYS does not allow users to delete records and instead keeps a record of everything. In some cases however, things are deleted and the only way to get full details about the deletion is to search the logs. This is cumbersome, but there is a quick way to find out when, and by whom, a record was deleted. Prior to NEOSYS software versions dated Mar 2014, and deletions done before the same date, this procedure will only tell you when the record was deleted - but not who deleted it. Knowing exactly when it was deleted will nevertheless help you to search the logs for full details.&lt;br /&gt;
&lt;br /&gt;
In maintenance mode F5&lt;br /&gt;
&lt;br /&gt;
 ED SHADOW DELETED*filename*key&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 ED SHADOW DELETED*BATCHES*L*JOU*2*U&lt;br /&gt;
&lt;br /&gt;
Journals are stored in the BATCHES file. The key of an unposted batch is x*y*999*U where x is the company code, y is the journal type code, 999 is UNPOSTED batch number and U is just U to indicate unposted batches. Note that unposted batches are normally deleted at the time they are posted - ie converted to posted batches.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔══════════════════════════┤DELETED*BATCHES*L*JOU*2*U├═════════════════════════╗&lt;br /&gt;
║16831.60706                                                                   ║&lt;br /&gt;
║BRUCEL                                                                        ║&lt;br /&gt;
║╒═══════════════════════════════════TCL - 6══════════════════════════════════╕║&lt;br /&gt;
║│                                                                            │║&lt;br /&gt;
║│ :EVAL PRINT 16831.60706 &#039;[DATETIME]&#039;                                       │║&lt;br /&gt;
║│                                                                            │║&lt;br /&gt;
║╘════════════════════════════════════════════════════════════════════════════╛║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you see the number (in this case 16831.60706) you can convert it to a time and date by typing something like&lt;br /&gt;
&lt;br /&gt;
 PRINT 16831.60706 &#039;[DATETIME]&#039;&lt;br /&gt;
&lt;br /&gt;
Using this date and time you can search the logs more effectively to find out who did the deletion and in what circumstances.&lt;br /&gt;
&lt;br /&gt;
== Assessing Database Size per File ==&lt;br /&gt;
In NEOSYS maintenance mode&lt;br /&gt;
 &lt;br /&gt;
 LIST FILES BY BY-DSND SIZE VOLUME.NAME SIZE&lt;br /&gt;
 &lt;br /&gt;
This will include all files not just those in the actual dataset in DATA\* folders.&lt;br /&gt;
&lt;br /&gt;
== Fixing slow speed ==&lt;br /&gt;
=== [[Benchmarking NEOSYS]] ===&lt;br /&gt;
=== Investigating CPU 100% using Windows Task Manager ===&lt;br /&gt;
Email, to support, a screen-shot of task manager APPLICATIONS, PROCESSES and PERFORMANCE screens MAXIMIZED TO SHOW AS MUCH AS POSSIBLE. &lt;br /&gt;
&lt;br /&gt;
(Sort the processes to show ntvdm, waiting.exe and high cpu% processes clearly)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steps:&#039;&#039;&#039;&lt;br /&gt;
#Right Click on Windows Taskbar and click on Start Task Manager &amp;lt;br&amp;gt; [[image:starttaskmanager.jpg]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
#Click on Processes and then click on CPU &amp;lt;br&amp;gt;&#039;&#039;&#039;Note - The HIGH cpu% processes which should usually be the &amp;quot;process&amp;quot; called &amp;quot;System Idle Process&amp;quot; &#039;&#039;&#039;&amp;lt;br&amp;gt;[[image:cpu100percent1.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Click on the Performance Tab &amp;lt;br&amp;gt; &#039;&#039;&#039;Note - PF Usage should typically be much less than Physical Memory otherwise there is insufficient real memory in the server to handle the load&#039;&#039;&#039; &amp;lt;br&amp;gt; [[image:cpu100percent3.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Click on Application Tab then Right Click on a NEOSYS Process and Click on Bring to Front &amp;lt;br&amp;gt;&#039;&#039;&#039;See what the NEOSYS Process is doing &amp;lt;br&amp;gt; [[image:cpu100percent2.jpg]] &amp;lt;br&amp;gt; &lt;br /&gt;
#Right Click on a NEOSYS Process and Click on Go to Processes &amp;lt;br&amp;gt;&#039;&#039;&#039;Note the cpu% ntvdm process &amp;lt;br&amp;gt;[[image:cpu100percent2_2.jpg]]&amp;lt;br&amp;gt;  &lt;br /&gt;
#Normally NEOSYS application screens say &amp;quot;LISTENING&amp;quot; in the bottom line and those applications should have very low cpu%&amp;lt;br&amp;gt;[[image:normalneosysprocess.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Look at the difference between the screen of running NEOSYS processes (applications actually) which are idle (listening for requests) and active (processing a request from a user)&lt;br /&gt;
#Note the number of cpus or cpu threads in the server from the performance screen graphics&amp;lt;br&amp;gt;[[image:performance-taskmgr-cputhread.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Take screen-shots of any and ALL hung or long running processes (NEOSYS application screens) and email them to support. Even small details on the screens and user names, the user names may give clues to what problem caused the hanging.A Typical Hung NEOSYS process will look like this: &amp;lt;br&amp;gt; [[image:hungneosysprocess.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
#Once all hung/long processes are closed then CPU should be low and not near 100%. If it is still 100% then check all high cpu% processes and send a screen-shot of processes sorted to show the high cpu% process names to support.&lt;br /&gt;
&lt;br /&gt;
=== Solving server CPU% is 100 and all users are extremely slow/stopped ===&lt;br /&gt;
&lt;br /&gt;
Get the screenshots of Task Manager and ALL processes on the server, the objective is to assess the true issue. No need to get the screens not in use obviously but you can send a parallel screen shot for them if you want to be pedantic or even a comment will do.&lt;br /&gt;
&lt;br /&gt;
==== Too few CPUs/threads for the number of users ====&lt;br /&gt;
In Windows task manager normally, you should see one ntvdm.exe and one waiting.exe process per NEOSYS process (application). A standard installation has three NEOSYS processes per main database and plus one per test database. This is configured in Support Menu, Configuration File.&lt;br /&gt;
&lt;br /&gt;
If there are MORE ntvdm processes than you expect from the configuration file, then perhaps NEOSYS is auto starting new NEOSYS processes to try and cater for a high number of concurrent users.&lt;br /&gt;
&lt;br /&gt;
If the number of concurrent NEOSYS processes significantly exceeds the number of cpus/hyperthreads available in the server then processing for everybody can become so slow for everybody and almost no work gets done.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Stop NEOSYS creating new NEOSYS processes automatically. Create a text file with the first and only line as AUTOSTART=NO in the neosys\neosys folder something like this.&lt;br /&gt;
&lt;br /&gt;
notepad d:\neosys\neosys\NET.CFG&lt;br /&gt;
&lt;br /&gt;
AUTOSTART=NO&lt;br /&gt;
&lt;br /&gt;
== How do I troubleshoot email not received? ==&lt;br /&gt;
&lt;br /&gt;
[[Troubleshooting email not received]]&lt;br /&gt;
&lt;br /&gt;
== Fixing permissions errors while logging in ==&lt;br /&gt;
 &lt;br /&gt;
=== Problem ===&lt;br /&gt;
 &lt;br /&gt;
While logging in, you get the following error message:&lt;br /&gt;
[[Image:login_error_message.jpg]]&lt;br /&gt;
 &lt;br /&gt;
=== Solution ===&lt;br /&gt;
 &lt;br /&gt;
Add the internet guest account to the security list of the data folder with the default permission of list/read/write&lt;br /&gt;
 &lt;br /&gt;
Make sure the read&amp;amp;execute permission is removed&lt;br /&gt;
[[Image:permissions_on_data.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fixing the &#039;HTTP Error 500.0 - Internal Server Error&#039; while logging in on IE on a Windows Vista system ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
After configuring IIS on Windows Vista you will get this error message while trying to login into NEOSYS from Internet Explorer:&lt;br /&gt;
&lt;br /&gt;
 HTTP Error 500.0 - Internal Server Error&lt;br /&gt;
 Description: This application is running in an application pool that uses the Integrated .NET  &lt;br /&gt;
 mode. This is the preferred mode for running ASP.NET applications on the current and future &lt;br /&gt;
 version of IIS.&lt;br /&gt;
 &lt;br /&gt;
 In this mode, the application using client impersonation configured with &amp;lt;identity &lt;br /&gt;
 impersonate=&amp;quot;true&amp;quot; /&amp;gt; may not behave correctly. Client impersonation is not available in early &lt;br /&gt;
 ASP.NET request processing stages and may lead modules in those stages to execute with process &lt;br /&gt;
 identity instead.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
You can move the application to an application pool that uses the Classic .NET mode by using the following from a command line window (the window must be running as Administrator) &lt;br /&gt;
&lt;br /&gt;
 %systemroot%\system32\inetsrv\APPCMD.EXE set app &amp;quot;Default Web Site/neosys&amp;quot; /applicationPool:&amp;quot;Classic .NET AppPool&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can use any other application pool on your system that is running in the Classic .NET mode. You can also use the IIS Administration tool to move this application to another application pool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fixing the &#039;Class Not Registered&#039; error message while logging in ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
While logging into NEOSYS, you will get a popup window giving an error message saying &#039;Class Not Registered - Server Error&#039;. Typically, you will encounter this error with XP Pro IIS 5.1. As usual, there&#039;s way to solve it, however the root cause of this is still unknown.&lt;br /&gt;
&lt;br /&gt;
Anyway, you will get the proper message in the event log:&lt;br /&gt;
&lt;br /&gt;
 Event Type: Warning&lt;br /&gt;
 Event Source: W3SVC&lt;br /&gt;
 Event Category: None&lt;br /&gt;
 Event ID: 36&lt;br /&gt;
 Description: The server failed to load application &#039;/LM/W3SVC/1/ROOT/NEOSYS.&lt;br /&gt;
 The error was &#039;Class not registered&#039;. &lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
So, what do you do ? This problem is related to Component Services, and when you open Component Services MMC, you will most probably  get  Error Code 8004E00F COM + was unable to talk to Microsoft Distributed Transaction Coordinator. So, fix the COM+ services first by using the following KB from Microsoft (PRB: Cannot Expand &amp;quot;My Computer&amp;quot; in Component Services MMC Snap-In http://support.microsoft.com/?id=301919):&lt;br /&gt;
&lt;br /&gt;
To resolve this problem, reinstall Component Services as follows: WARNING: &lt;br /&gt;
# Open registry editor, locate HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3, and then delete this key.  &lt;br /&gt;
# From the Start menu, point to Settings, click Control Panel, and then click Add/Remove Programs.  &lt;br /&gt;
# Click Add/Remove Windows Components. &lt;br /&gt;
# Proceed through the wizard, and accept all of the defaults (including IIS)&lt;br /&gt;
# Restart the computer.&lt;br /&gt;
&lt;br /&gt;
If the above didn&#039;t solve it, and you still receive the &#039;Class not registered&#039; error message, then you need to recreate the IIS packages in COM+, try&lt;br /&gt;
&lt;br /&gt;
# Delete IIS related package in Component Services MMC&lt;br /&gt;
# IIS In-Process Applications &lt;br /&gt;
# IIS Out-of-Process Pooled Applications &lt;br /&gt;
# IIS Utilities&lt;br /&gt;
&lt;br /&gt;
Next, if you still get the message, try following before re-install IIS if you can&#039;t find Distributed Transaction Coordinator in your Services console.&lt;br /&gt;
&lt;br /&gt;
Launch command prompt and run the following command.&lt;br /&gt;
# msdtc -install&lt;br /&gt;
# net start msdtc&lt;br /&gt;
&lt;br /&gt;
Then try re-install IIS.&lt;br /&gt;
&lt;br /&gt;
This should solve the problem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enabling File Security option on Win XP Professional ==&lt;br /&gt;
&lt;br /&gt;
=== Problem ===&lt;br /&gt;
&lt;br /&gt;
In the Properties of any folders, the Security option does not show, hence you cannot modify the Read, Write options.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
The solution would be to untick the &#039;Simple File Sharing&#039; option from  Tools &amp;gt; Folder Options &amp;gt; View:&lt;br /&gt;
[[Image:simplefilesharingoff.jpg]]&lt;br /&gt;
&lt;br /&gt;
== %00%00%00%00 Errors ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SYSTEM ERROR in line 162. Amount &amp;quot;-2698.00AED&amp;quot; or base &amp;quot;%00%00%00%00&amp;quot; has been wrongly generated   &lt;br /&gt;
GET NEOSYS SUPPORT. DO NOT ATTEMPT TO CORRECT MANUALLY    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Solution ===&lt;br /&gt;
%00%00%00%00 indicates an internal error that NEOSYS programmer has to fix. It is usually random and can be hard to replicate unlike almost all other NEOSYS errors which usually replicate reliably once you find the cause.&lt;br /&gt;
&lt;br /&gt;
== B703 Errors ==&lt;br /&gt;
&lt;br /&gt;
The B703 error is usually always related to something too big for NEOSYS to handle. &lt;br /&gt;
&lt;br /&gt;
These are the only B errors that NEOSYS cant always permanently prevent by fixing the software.&lt;br /&gt;
&lt;br /&gt;
== Internet Explorer Menu, View, Text Size doesnt change font size as expected ==&lt;br /&gt;
&lt;br /&gt;
Cause: This is because the font size is now user definable in NEOSYS and View, Text Size does not override predefined font sizes.&lt;br /&gt;
&lt;br /&gt;
Solution: If you are using Internet Explorer 7 you can scale the screen (including the font size  using ctrl + and ctrl - keyboard shortcuts or the font size button on the bottom right hand side of the window. &lt;br /&gt;
&lt;br /&gt;
You can adjust the font size on the User Details form when you login although this permanently applies to all forms not just the one that you are on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uploaded jpg files fail to display in internet explorer ==&lt;br /&gt;
&lt;br /&gt;
Some large jpg files &amp;gt; 2Mb cannot be viewed in internet explorer despite being viewable in image preview, ms paint and other viewers/editors. It is not an issue caused by uploading or downloading the files.&lt;br /&gt;
&lt;br /&gt;
These file appear to have been created on Photoshop CS Macintosh and may be a special type of uncompressed jpg used for production quality files.&lt;br /&gt;
&lt;br /&gt;
=== Partial solution ===&lt;br /&gt;
Before uploading the files, open them in some editor like MS Paint (right click, edit) and save them. However this results in a loss of quality. Perhaps there is some program that can convert these files to a format understandable by Internet explorer without any loss of quality.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;This document is currently read only&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
The user attempting to modify this document does not have the authorization key to do so.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
Inform the user that he is not authorised to modify the document and give him the list of users within his company who are authorised to do so.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;You have attempted to write to a read-only file&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
=== Message ===&lt;br /&gt;
&lt;br /&gt;
Error while writing data.&lt;br /&gt;
You have attempted to write to a read-only file.&lt;br /&gt;
- or -&lt;br /&gt;
access to the file has been denied by the operating system.&lt;br /&gt;
(operating system file name: &amp;quot;..\DATA\ADLINEC\ADAGENCY\REV76467.OV00012618&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
It is almost certainly due to some third party backup or other maintenance software opening the NEOSYS database files when it shouldn&#039;t e.g. badly configured third party backup scheduled to backup NEOSYS while NEOSYS is still running. Note that the exact filename varies each time.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
This can be a serious error that causes damaged files in NEOSYS especially if the filename ends in .OV. Use the usual methods of checking for damaged files e.g. do a backup which also looks for damaged files BUT DO NOT OVERWRITE THE LATEST BACKUP SINCE IT MAY BE REQUIRED for restoration. Then fix the damaged files using the usual methods e.g. by rebuilding/using&lt;br /&gt;
FIXFILE or restoring databases. For more info check [[Handling damaged files|Handling damaged files]]&lt;br /&gt;
&lt;br /&gt;
=== Prevention ===&lt;br /&gt;
&lt;br /&gt;
Remove the third party backup or other maintenance software or reschedule it to run at a time that NEOSYS is shutdown. Removal of software may require hunting through the windows process list for unexpected programs running.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting Hung processes==&lt;br /&gt;
&lt;br /&gt;
=== Investigating hung NEOSYS processes ===&lt;br /&gt;
&lt;br /&gt;
To find out some information about what the hung processes are suffering from, do the following:&lt;br /&gt;
&lt;br /&gt;
When no important clients working (eg first thing in the morning) then request a shutdown of all NEOSYS processes. This should will leave only the hung processes open.&lt;br /&gt;
&lt;br /&gt;
Then find what NEOSYS files are open as follows:&lt;br /&gt;
&lt;br /&gt;
run Sysinternal&#039;s &amp;quot;Process Explorer&amp;quot; (from Start, Programs or procexp.exe from desktop)&lt;br /&gt;
&lt;br /&gt;
find, handle&lt;br /&gt;
&lt;br /&gt;
 d:\&lt;br /&gt;
&lt;br /&gt;
submit the complete list (maybe more than one page) to support for records&lt;br /&gt;
&lt;br /&gt;
[[Image:invhungprocess.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Troubleshooting_NEOSYS_Generally#Investigating_CPU_100.25_using_Windows_Task_Manager|Investigating CPU 100% using Windows Task Manager]]  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Troubleshooting_NEOSYS_Generally#Solving_server_CPU.25_is_100_and_all_users_are_extremely_slow.2Fstopped|Solving server CPU% is 100 and all users are extremely slow/stopped]] ===&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Fatal Error in Rev Restart&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
[[image:fatal.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Error message: “Abort, Retry, Fail” ===&lt;br /&gt;
==== Problem ====&lt;br /&gt;
The following messages may come on older versions of NEOSYS if there is a problem with the USB media inserted for backup.&lt;br /&gt;
&lt;br /&gt;
[[image:usberror.jpg]]&lt;br /&gt;
&lt;br /&gt;
This results in “NEOSYS has not checked in” message on Nagios since it hangs during the monitoring update and locks all other processes from monitoring too.&lt;br /&gt;
&lt;br /&gt;
General failure writing drive F&lt;br /&gt;
Abort, Retry, Fail?&lt;br /&gt;
&lt;br /&gt;
Not read reading drive F&lt;br /&gt;
Abort, Retry, Fail?&lt;br /&gt;
&lt;br /&gt;
Pressing A or F results in the problem happening again in about a minute, perhaps on a different process.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Temporary solution is to do “Safely remove hardware” from the windows notification area. Using “Eject” from My Computer will not work.&lt;br /&gt;
&lt;br /&gt;
Permanent solution is to replace the defective USB memory stick. Sometime reformatting is sufficient.&lt;br /&gt;
&lt;br /&gt;
Upgrading NEOSYS will probably stop the defective media from causing NEOSYS to hang but the USB will still be useless for backup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Read error in the operating system file&amp;quot; ===&lt;br /&gt;
==== Problem ====&lt;br /&gt;
Nagios reports a hung process and on the server a process has the following message popup.&lt;br /&gt;
&lt;br /&gt;
 Read error in the operating system file &amp;quot;..\DATA\PT0833\ACCOUNTS\REV20049&lt;br /&gt;
 The file does not exist or the filename is&lt;br /&gt;
 not valid for the operating system.&lt;br /&gt;
&lt;br /&gt;
[[Image:readerrorintheoperatingsystemfile.png]]&lt;br /&gt;
&lt;br /&gt;
==== Cause ====&lt;br /&gt;
Some non-NEOSYS program is directly accessing the NEOSYS database files while NEOSYS processes are running and using the files as well.&lt;br /&gt;
&lt;br /&gt;
*Client IT staff using a backup program to perform backup without ensuring that NEOSYS processes are shutdown.&lt;br /&gt;
*A NEOSYS rsync process taking longer than expected due to new USB.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Kill the NEOSYS process eg with the X button. It is advisable NOT to let it run further while it cannot properly access one of its files.&lt;br /&gt;
&lt;br /&gt;
==== Prevention ====&lt;br /&gt;
Remove the third party program or arrange for it to operate only while NEOSYS processes are shutdown eg from 3am-6am.&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot;Not enough string space - Out of Memory&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
==== Message ====&lt;br /&gt;
&lt;br /&gt;
‘RTP27’ Line 1. [B29] Not enough string space – Out of Memory.&lt;br /&gt;
&lt;br /&gt;
Not enough memory to execute Debugger; current program aborted.&lt;br /&gt;
Press any key to continue&lt;br /&gt;
&lt;br /&gt;
[[Image:out_of_memory.jpg]]&lt;br /&gt;
&lt;br /&gt;
==== Cause ====&lt;br /&gt;
Unknown perhaps related to some large document or report&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Ask users for any hanging transactions.&lt;br /&gt;
None other than closing and starting another process.&lt;br /&gt;
&lt;br /&gt;
Also refer [[Troubleshooting NEOSYS Generally#Enabling EMS memory on Window 2003|Enabling EMS memory on Window 2003]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: B521 ===&lt;br /&gt;
&lt;br /&gt;
[[Image:B521.jpg]] &lt;br /&gt;
&lt;br /&gt;
 Another user is currently updating indexes. &lt;br /&gt;
 Waiting to make your updates...&lt;br /&gt;
 If you interrupt this process,&lt;br /&gt;
 you may have to rebuild all the indexes&lt;br /&gt;
&lt;br /&gt;
B521 message is usually temporary and goes away by itself. If it does not then, as the text of the B521 message makes clear, some OTHER process is holding up the system, preventing the process with B521 message from continuing.&lt;br /&gt;
&lt;br /&gt;
B521 message is a symptom of other problem so it does not itself have some one simple solution. You must find which other process or issue is causing the hold up and solve whatever problem is causing the hold up, which could be anything.&lt;br /&gt;
&lt;br /&gt;
=== Error message: &amp;quot; NTVDM encountered a hard error &amp;quot;  ===&lt;br /&gt;
&lt;br /&gt;
The following error message appears:&lt;br /&gt;
&lt;br /&gt;
[[Image:ntvdm.jpg]]&lt;br /&gt;
&lt;br /&gt;
 NTVDM encountered a hard error&lt;br /&gt;
&lt;br /&gt;
==== Solution  ====&lt;br /&gt;
 &lt;br /&gt;
This error is caused by missing or corrupt Windows system files (i.e. command.com, autoexec.nt and config.nt). The solution is to run a program called XP FIX which will reinstall these missing files. You can download it form http://www.visualtour.com/downloads/xp_fix.exe&lt;br /&gt;
&lt;br /&gt;
Sometimes even after running the XP FIX program the error still appears. Then you need to copy all the files under C:/windows/repair to C:/windows/system32 and in the autoexec.nt and config.nt put REM before any lines there which don&#039;t have it.&lt;br /&gt;
&lt;br /&gt;
====Possible fix for some NTVDM errors ====&lt;br /&gt;
&lt;br /&gt;
===== Error message ===== &lt;br /&gt;
&lt;br /&gt;
[[Image:Ntvdm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
 NTVDM has encountered a System error.&lt;br /&gt;
 The system cannot find the file specified.&lt;br /&gt;
 Choose close to terminate the application.&lt;br /&gt;
&lt;br /&gt;
=====Possible solution===== &lt;br /&gt;
&lt;br /&gt;
#Change the TEMP and TMP environment variables to C:\WINDOWS\TEMP. This should be for the user that runs NEOSYS processes - normally administrator.&lt;br /&gt;
#Close all NEOSYS processes &lt;br /&gt;
#Logout/Login again&lt;br /&gt;
#Restart NEOSYS processes&lt;br /&gt;
&lt;br /&gt;
[[image:Ntvdmsoln.png]]&lt;br /&gt;
&lt;br /&gt;
===== Check solution done properly ===== &lt;br /&gt;
&lt;br /&gt;
You can check that by typing ECHO %TEMP% and ECHO %TMP% at a console prompt after logging out and in again. &lt;br /&gt;
&lt;br /&gt;
Note that windows will actually set the windows environment variables to something like C:\WINDOWS\TEMP\2 for some unknown reason. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
d:\hosts&amp;gt;ECHO %temp% &lt;br /&gt;
C:\WINDOWS\TEMP\2 &lt;br /&gt;
&lt;br /&gt;
d:\hosts&amp;gt;ECHO %tmp% &lt;br /&gt;
C:\WINDOWS\TEMP\2 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Error message: [[Troubleshooting_NEOSYS_Generally#Troubleshooting_the_.22Database_not_available.22_error_message|&amp;quot;Database not available&amp;quot; post login]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error message: [[Backup_and_Restore#Error_Message:_.22Cannot_backup.2Frestore_because_PROCESS1_PROCESS2_.28etc.29_is.2Fare_online.22_message|&amp;quot;Cannot backup/restore because PROCESS1 PROCESS2 (etc) is/are online&amp;quot;]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How to kill hung NEOSYS processes ===&lt;br /&gt;
 &lt;br /&gt;
NOTE WELL: If you kill actively working NEOSYS processes (those which are &amp;quot;listening&amp;quot; and not hung/crashed) there is a reasonable chance that the database will be damaged and might need a restore losing possibly large amounts of work.&lt;br /&gt;
 &lt;br /&gt;
==== If NEOSYS processes are visible on the server desktop ====&lt;br /&gt;
 &lt;br /&gt;
Look for processes which don&#039;t have &amp;quot;Listening ...&amp;quot; on the last but one line. The times on the left hand side are frozen as at the time of the hang.&lt;br /&gt;
 &lt;br /&gt;
You can then click the X to kill the process and confirm that this is OK.&lt;br /&gt;
 &lt;br /&gt;
Example of a NEOSYS process that has hung due to a software error resulting in a failure to handle a complex query with a lot of brand codes.&lt;br /&gt;
&lt;br /&gt;
[[Image:hungprocess.jpg]]&lt;br /&gt;
 &lt;br /&gt;
==== If NEOSYS processes are not visible on the server desktop ====&lt;br /&gt;
&lt;br /&gt;
NEOSYS processes are most of the time visible on the desktop (i.e. the black dos windows) in Windows 2003 OS, except in the case that the process has been scheduled to start on computer restart and no one has logged into the server. In this case it would be running in the background. TODO&lt;br /&gt;
&lt;br /&gt;
You can check if there are any hung processes from the NEOSYS Support Menu, List of Database Processes. &lt;br /&gt;
[[Image:databaseprocesseslist.jpg]]&lt;br /&gt;
&lt;br /&gt;
In this case you should follow the below instructions - however all of them need to be done within 30 seconds of starting the first instruction to avoid inconvenience to the users. It is recommend that you keep relevant windows open before proceeding with the same:&lt;br /&gt;
&lt;br /&gt;
#Shutdown NEOSYS by TEMPORARILY putting a file called GLOBAL.END in the parent directory of NEOSYS (if there is already a GLOBAL.END.TEMP file then rename it to GLOBAL.END). Leaving the file there would prevent NEOSYS from starting up again. Shutting down NEOSYS from the Support menu will not work because of the hung processes.&lt;br /&gt;
#Use Windows Task Manager to kill all the NTVDM processes - assuming that you have closed all the visible NEOSYS processes, then the NTVDM processes in the task manager would be the hung one.&lt;br /&gt;
#Delete GLOBAL.END or rename it to GLOBAL.END.TEMP&lt;br /&gt;
#Restart the processes back again. If there are many datasets then you need to restart them all well within the 30 seconds period.&lt;br /&gt;
#*Restarting a process is not noticed by users.&lt;br /&gt;
&lt;br /&gt;
In case of Patsalides, where we have a thousand datasets which start &amp;quot;on demand&amp;quot; i.e. usually on login; all you need to do is start one dataset which will restart all the other datasets &amp;quot;on demand&amp;quot;. If there is no response within 30 seconds then one of the running datasets will start it up so there appears to be a 30 second delay when you login to one of the thousand datasets the first time on any one day.&lt;br /&gt;
&lt;br /&gt;
=== Temporary workarounds for hung NEOSYS processes ===&lt;br /&gt;
Until the error in the software is fixed users can often get their results by simplifying their requirements. For example select individual clients instead of selecting all the brands for a particular client. If the user has repeated his request (in forlorn hope that it would work finally) then the number of working NEOSYS processes will drop causing severe slowdown for other users and complete stop if all the NEOSYS processes hang.&lt;br /&gt;
&lt;br /&gt;
== Fixing &amp;quot; You do not have sufficient privilege to access this file &amp;quot;  ==&lt;br /&gt;
&lt;br /&gt;
This error message may come up while NEOSYS process startup.&lt;br /&gt;
&lt;br /&gt;
Solution: Close the window and look for NEOSYS processes. In case there is no process, start the NEOSYS process.&lt;br /&gt;
&lt;br /&gt;
[[image:Errormsg.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing &#039;NEOSYS process which opens up in a notepad instead of Microsoft Windows Based Script Host (i.e. DOS window)&#039;==&lt;br /&gt;
&lt;br /&gt;
The NEOSYS process (cmd file) might open up in a notepad, instead of the usual black colour DOS window. This may happen if a JavaScript file is opened using a notepad. Please be very CAREFUL when accessing a .JS and .JSE file and double check that the default program remains wscript.exe. The issue can be fixed by the following:&lt;br /&gt;
&lt;br /&gt;
# Check if Windows Script 5.6/5.7 is installed, IF NOT download and install it from the Microsoft Website.&lt;br /&gt;
# Go to any folder, click on Tools &amp;gt; Folder Options &amp;gt; File Types and find the .JS and .JSE and change the default program to wscript.exe (from windows&amp;gt;system32)&lt;br /&gt;
&lt;br /&gt;
== Fixing a &#039;Could not start&#039; error on Scheduled Tasks in Windows Server 2000 SP4 ==&lt;br /&gt;
&lt;br /&gt;
This error occurs because of a change that is made to the data that is stored in the credentials database when you install Windows 2000 SP4. Hence installing SP4 causes the the data that is stored in the credentials database to get converted to an SP4-compatible format. A registry key is configured to indicate that the data has been converted to the SP4 format.&lt;br /&gt;
&lt;br /&gt;
Hence the Scheduled Tasks do not work sometimes. However the Scheduled Tasks works fine sometimes, but when you uninstall SP4, it does not work.&lt;br /&gt;
&lt;br /&gt;
The best solution is to:&lt;br /&gt;
&lt;br /&gt;
# Incase Scheduled Tasks do not work after installing SP4, then uninstall SP4 and it should be fine.&lt;br /&gt;
# Incase Scheduled Tasks works after installing SP4, and later after uninstalling SP4, it does not work, then install SP4 and it should be fine.&lt;br /&gt;
&lt;br /&gt;
== Checking for server or NEOSYS crashes ==&lt;br /&gt;
 &lt;br /&gt;
#NEOSYS Maintenance Mode&lt;br /&gt;
#General Menu, Setup, Processes&lt;br /&gt;
#Select the dates and the option Detailed&lt;br /&gt;
 &lt;br /&gt;
This report shows a list of dates and times that NEOSYS logged in but did not log out properly.&lt;br /&gt;
 &lt;br /&gt;
Ignore the very latest entries since they represent the current NEOSYS processes. For example, if you have four NEOSYS processes running at the time that you get the report (including any in maintenance mode) then you can ignore the last four entries.&lt;br /&gt;
 &lt;br /&gt;
The date and time shows for each process that has failed to shutdown correctly when the process logged in. Versions of NEOSYS from January 2008 will also show the date and time that each crashed NEOSYS process was last active (heartbeat) so that the time of failure can be known.&lt;br /&gt;
 &lt;br /&gt;
If you see a bunch of NEOSYS processes all started up at around the same time but all failed to shutdown correctly then the cause will be a server failure - usually power failure.&lt;br /&gt;
 &lt;br /&gt;
Isolated one-off failures will be related to individual NEOSYS process crashes - most commonly caused by one of the following:&lt;br /&gt;
 &lt;br /&gt;
#NEOSYS hanging to due to software failure&lt;br /&gt;
#Manually exiting a NEOSYS process on the server either by pressing Ctrl+Alt+Del or clicking the &amp;quot;X&amp;quot; close icon/box and ignoring the warning&lt;br /&gt;
#Random server failures eg memory, disk etc&lt;br /&gt;
 &lt;br /&gt;
Example:&lt;br /&gt;
 &lt;br /&gt;
 LOGIN 22/12/2007 06:02 NEOSYS SERVER ADAGENCY         Current workstation &lt;br /&gt;
 LOGIN 23/12/2007 06:00 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 06:01 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 06:02 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:52 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:52 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 23/12/2007 08:53 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:00 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:01 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 06:02 NEOSYS SERVER ADAGENCY         Current workstation  &lt;br /&gt;
 LOGIN 8/1/2008 13:51 NEOSYS SERVER NEOSYS         Current user session  &lt;br /&gt;
&lt;br /&gt;
Interpretation:&lt;br /&gt;
 &lt;br /&gt;
The first four entries indicate that all four NEOSYS processes started at 06am were suddenly killed probably by power failure&lt;br /&gt;
 &lt;br /&gt;
The next four entries indicate that NEOSYS was restarted at around 08:52 and all these processes were AGAIN killed probably by power failure&lt;br /&gt;
 &lt;br /&gt;
The last four entries can be ignored because there were four NEOSYS processes running at the time that the report was generated&lt;br /&gt;
&lt;br /&gt;
== Searching for word/number in the database files using maintenance mode ==&lt;br /&gt;
&lt;br /&gt;
You can search for any word/number in the database files of NEOSYS, using the following command line:&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 FIND FILENAME WORDWITHOUTANYSPACES&lt;br /&gt;
 &lt;br /&gt;
 For eg:&lt;br /&gt;
 FIND CURRENCIES 1.1&lt;br /&gt;
 (here you are searching for the number 1.1 in the currencies file) You CANNOT search for a phrase ie include spaces like this.&lt;br /&gt;
 &lt;br /&gt;
 Or you can also type:&lt;br /&gt;
 FIND FILENAME &amp;lt;enter&amp;gt;&lt;br /&gt;
 and it will ask you what you want do to search. You can enter an exact phrase with spaces.&lt;br /&gt;
&lt;br /&gt;
Incase you do not know the filenames, you can enter the following command to see all the filenames in the system:&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 LF&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting a Service Unavailable message on Internet Explorer when opening up NEOSYS ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&lt;br /&gt;
The following error message appears in Internet Explorer when you try to open up NEOSYS:&lt;br /&gt;
&lt;br /&gt;
 Service Unavailable&lt;br /&gt;
&lt;br /&gt;
=== Solution  ===&lt;br /&gt;
 &lt;br /&gt;
Open the IIS Manager, right click Web Sites and select properties:&lt;br /&gt;
[[Image:serviceunavailable1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Switch to the Service Tab and tick the &amp;quot;Run WWW Service in IIS 5.0 Isolation Mode&amp;quot;.&lt;br /&gt;
[[Image:serviceunavailable2.jpg]]&lt;br /&gt;
&lt;br /&gt;
You will be asked for Restart of IIS. Click yes to restart IIS. If you are not asked just restart IIS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Inspecting IIS log files ==&lt;br /&gt;
&lt;br /&gt;
At a windows command prompt:&lt;br /&gt;
&lt;br /&gt;
 c:&lt;br /&gt;
 cd \Windows\system32\LogFiles\W3SVC1&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 %SystemDrive%&lt;br /&gt;
 cd %SystemRoot%&lt;br /&gt;
 cd system32\LogFiles\W3SVC1&lt;br /&gt;
&lt;br /&gt;
then (substituting the ip number you are interested in)&lt;br /&gt;
&lt;br /&gt;
 find &amp;quot;192.168.1.55&amp;quot; *|sort&amp;gt;temp.log&lt;br /&gt;
&lt;br /&gt;
Open temp.log in Excel and use Tools, Data, Text to Columns to split into columns using options &amp;quot;Delimited&amp;quot; and check split on Space.&lt;br /&gt;
&lt;br /&gt;
Autowidth all columns by clicking on the top left box just outside the data to the left of column A and above column 1 then double click the column separator to the right of column &amp;quot;A&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note that times and dates are in UTC/GMT so you have to add/subtract your timezone offset to get local times.&lt;br /&gt;
&lt;br /&gt;
==Inspecting Database LOGS Folder==&lt;br /&gt;
LOGS folder in NEOSYS installation folder carries records of all changes done in the database which includes adding and removal of data.&lt;br /&gt;
&lt;br /&gt;
Log file is an XML document which should be viewed in Notepad. Each XML document represents commands executed by each NEOSYS process started each day.&lt;br /&gt;
&lt;br /&gt;
The NEOSYS log files e.g. 15123103.xml are created by the database processes. If the database is not available according to the website then no entry will appear in that log. The request will appear in the IIS website log but that log is nothing to do with database processes.&lt;br /&gt;
&lt;br /&gt;
=== Understanding Log Entries ===&lt;br /&gt;
Inspecting and searching through Logs file allows NEOSYS staff to answer clients queries like &amp;quot;Who deleted schedule XXXX&amp;quot; etc.&lt;br /&gt;
&lt;br /&gt;
While going through the log file you may come across a request &amp;quot;EXECUTE GENERAL GETTASKS NOT&amp;quot;, this request is concerned with getting a list of tasks that the user is *not* allowed to do.&lt;br /&gt;
&lt;br /&gt;
To read and understand the log file with more ease, copy the portion of the log file required to be analyzed into another text editor.&lt;br /&gt;
&lt;br /&gt;
The text that appears as %FE, %FE1, %FE2, etc. are basically separators.&lt;br /&gt;
*First replace FE0%, FE1%, FE2%, etc. with a separator like &amp;quot;--&amp;quot;. There can be occurrences of &amp;quot;%FE&amp;quot; along with some valuable information like &amp;quot;17290&amp;quot;, so replacing &amp;quot;%FE1&amp;quot; in &amp;quot;%FE17290&amp;quot; would lead to loss of information.&lt;br /&gt;
*Then replace %FE with a bigger separator like &amp;quot;===&amp;quot;.&lt;br /&gt;
*Replace other entries like %FCB and then %FC and so on with similar separators.&lt;br /&gt;
*In the end there may be few &amp;quot;FE&amp;quot; remaining, replace these with a separator like &amp;quot;-&amp;quot;.&lt;br /&gt;
*The remaining &amp;quot;%&amp;quot; characters MUST be intelligently replaced with a separator like &amp;quot; &amp;quot; (space), because it can either be an actual &amp;quot;%&amp;quot; or it can be a residue from &amp;quot;%FE&amp;quot;, &amp;quot;%FE1&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
Once replacing all these characters is done, the log file will be more easily readable and vital information will be clearer. &lt;br /&gt;
&lt;br /&gt;
In the log file, you may find numbers like 17290, 17195, etc. These numbers denote dates selected or entered by the NEOSYS user. These are basically the number of days from 31st December 1967 till the date chosen by the user. For example, to convert 17290 to actual date, 31/12/1967 + 17290 = 3/5/2015. So the actual date is 3rd May 2015.&lt;br /&gt;
&lt;br /&gt;
To convert these numbers to dates using maintenance mode, refer to the article [http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Finding_out_when_and_by_whom_a_record_was_deleted Finding out when and by whom a record was deleted]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:NEOSYS Logs.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing NEOSYS processes that do not auto start / Recovering from incorrect advanced date or time ==&lt;br /&gt;
This solution is applicable to live database processes only. Test database processes don’t auto-start any other processes.&lt;br /&gt;
&lt;br /&gt;
=== Problem explained ===&lt;br /&gt;
After starting up the 1st process, the rest of the processes don&#039;t start up.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
The possible cause for this could be that the system date/time might have been changed - either manually or by the auto synchronization. Do the following checks in the sequence of order:&lt;br /&gt;
&lt;br /&gt;
# Check for any *.$* files (* after dollar sign should show a number, the highest being the latest one). If it shows OK, then proceed ahead.&lt;br /&gt;
# Check for any .end files and delete it to rename to .end.temp&lt;br /&gt;
# Check the System Event Viewer log for any 520 or 577 error message (refer http://128.175.24.251/forensics/timechange.htm). Also check for any out of sequence / ahead of today date or time.&lt;br /&gt;
# In case of no 520 or 577 error message, go to Administrative Tools &amp;gt; Local Security Policy &amp;gt; Local Policies &amp;gt; Audit Policy &amp;gt; Audit Privilege use - make sure that Success and Failure are selected under this (this will ensure that future changes to the date/time are recorded in the System Log).&lt;br /&gt;
# In NEOSYS maintenance mode - F5 ED PROCESSES %UPDATE% - and see what it says, incase of any text (only text, not numbers) there, that means that for sure the system date has been changed. To fix this, exit the editor by pressing the ESCAPE key and then type DELETE PROCESSES &amp;quot;%UPDATE%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Fixing NEOSYS maintenance mode not starting up == &lt;br /&gt;
&lt;br /&gt;
Problem :- While trying to start maintenance mode, the maintenance window closes automatically within a split second.&lt;br /&gt;
&lt;br /&gt;
Solution :- Delete the read-only file REVBOOT file (under d:/neosys/neosys folder). REVBOOT file is recreated when you start maintenance mode.&lt;br /&gt;
&lt;br /&gt;
== Recognising and Solving Low Memory Problems ==&lt;br /&gt;
&lt;br /&gt;
Quick Note: Installing a server class operating system on a workstation class computer with the intention of NEOSYS serving a heavy load is likely to cause problems with low memory.&lt;br /&gt;
&lt;br /&gt;
Quick Fix: Disable *ALL* non-essential features in the power-on setup menu.&lt;br /&gt;
&lt;br /&gt;
=== Effects ===&lt;br /&gt;
&lt;br /&gt;
It is speculated but not proven that low memory may cause NEOSYS to fail by hanging, causing damaged files etc.&lt;br /&gt;
&lt;br /&gt;
=== Checking ===&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 MEMORY&lt;br /&gt;
&lt;br /&gt;
On server class machines it should say somewhere around 350Kb to 370Kb Free&lt;br /&gt;
&lt;br /&gt;
Some server class machines have around 330Kb and sometimes even less with no reported problems&lt;br /&gt;
&lt;br /&gt;
The actual effect of low memory is supposed to make NEOSYS slower and perhaps cause hanging and damaged files however this has not been proven in an specific case so far.&lt;br /&gt;
&lt;br /&gt;
On workstation class machines it may often say around 280Kb to 300Kb.&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
Although there is plenty of real memory in virtually all computers now, NEOSYS runs in the legacy 16 bit virtual memory space of a windows mode called NTVDM. This is limited to 1Mb plus 4Mb of EMS memory.&lt;br /&gt;
&lt;br /&gt;
The 1Mb memory space is shared with:&lt;br /&gt;
&lt;br /&gt;
#Various non-essential windows drivers which NEOSYS automatically disables them in autoexec.nt&lt;br /&gt;
#Various plug and play hardware device drivers for the various adapters in the computer like video, network adapters and various other items that NEOSYS is unable to disable.&lt;br /&gt;
&lt;br /&gt;
In a server class computer the hardware device drivers are usually minimally present in the 1Mb base memory and do not therefore DOESNT a low memory situation for NEOSYS.&lt;br /&gt;
&lt;br /&gt;
In workstation class computers there are often many hardware device drivers present in the 1Mb base memory and this DOES causes a low memory situation for NEOSYS.&lt;br /&gt;
&lt;br /&gt;
When NEOSYS is installed on workstation class computers with XP there is usually not a heavy load expectation and therefore the low memory does not cause a problem.&lt;br /&gt;
&lt;br /&gt;
If Windows Server OS is installed on a workstation class computer NEOSYS may well be expected to serve a heavy load with limited amounts of memory.&lt;br /&gt;
&lt;br /&gt;
Workstation class computers: hardware drivers present and EMS is installed in low memory (0000-9FFF) causing low memory for NEOSYS and possible inability to &lt;br /&gt;
&lt;br /&gt;
Server class computers: Usually few hardware drivers are present in high part (A000-FFFF) of the 1Mb base memory and EMS is able to occupy the high memory leaving the low part (0000-9FFFF) of the 1Mb memory free for NEOSYS. You can find out how much memory is available to NEOSYS and whether EMS is occuping high or low memory using the following sections.&lt;br /&gt;
&lt;br /&gt;
=== Fixing Low Memory ===&lt;br /&gt;
&lt;br /&gt;
Start, Run, notepad c:\windows\system32\autoexec.nt&lt;br /&gt;
&lt;br /&gt;
Every time NEOSYS starts it tries to make some changes as follow:&lt;br /&gt;
&lt;br /&gt;
#replaces all lines in C:/WINDOWS/SYSTEM32/AUTOEXEC.NT starting with &#039;lh &#039; to start with &#039;rem NEOSYS LH &#039; instead.&lt;br /&gt;
#changes the line in C:/WINDOWS/SYSTEM32/CONFIG.NT &amp;quot;files=...&amp;quot; to &amp;quot;FILES=200&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The replacement is case sensitive triggered on &#039;lh&#039; and &#039;files&#039; so if you manually edit the files and remove the rem or change the number of files and leave the LH and FILES in uppercase then NEOSYS will NOT make further changes. This allows you to do manual amendments to the files without NEOSYS overwriting them.&lt;br /&gt;
&lt;br /&gt;
Check that NEOSYS has successfully disabled all the drivers in the lines starting with LH.&lt;br /&gt;
&lt;br /&gt;
They should be commented out (prefixed) with REM or REM NEOSYS as follows.&lt;br /&gt;
&lt;br /&gt;
After making changes reopen NEOSYS in maintenance mode to use the MEMORY and WHO commands again.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REM Install CD ROM extensions&lt;br /&gt;
REM NEOSYS LH %SystemRoot%\system32\mscdexnt.exe&lt;br /&gt;
&lt;br /&gt;
REM Install network redirector (load before dosx.exe)&lt;br /&gt;
REM NEOSYS LH %SystemRoot%\system32\redir&lt;br /&gt;
&lt;br /&gt;
REM Install DPMI support&lt;br /&gt;
REM NEOSYS LH %SYSTEMROOT%\SYSTEM32\DOSX&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Low Memory Issues in Windows 2003 server can be fixed using instructions mentioned at [http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Enabling_EMS_memory_on_Window_2003 Fixing Low Memory in Windows 2003 Server]&lt;br /&gt;
&lt;br /&gt;
=== Allowing DOS programs that require DOSX to run on the same computer as NEOSYS ===&lt;br /&gt;
&lt;br /&gt;
The automatic commenting out DOSX by NEOSYS will prevent some other DOS-like programs from running. If NEOSYS is on dedicated server then there should be no other such programs to fail. However, if you must allow DOS-like programs to work as well as NEOSYS you can do the following configuration:&lt;br /&gt;
&lt;br /&gt;
#leave or restore the original AUTOEXEC.NT and CONFIG.NT files where they are&lt;br /&gt;
#copy them to another folder eg neosys folder&lt;br /&gt;
#make the necessary REM changes there by hand&lt;br /&gt;
#right click the NEOSYS\NEOSYS\AREV.PIF and select properties&lt;br /&gt;
#change the location of the AUTOEXEC.NT and CONFIG.NT files in the following location&lt;br /&gt;
&lt;br /&gt;
[[image:pifsettings.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Checking EMS Memory Configuration ===&lt;br /&gt;
&lt;br /&gt;
==== Inspection ====&lt;br /&gt;
&lt;br /&gt;
 F5&lt;br /&gt;
 WHO&lt;br /&gt;
&lt;br /&gt;
 press the up arrow to get to the last part/page&lt;br /&gt;
&lt;br /&gt;
===== Example of Typical Server EMS Memory =====&lt;br /&gt;
[[image:serveremm.jpg]]&lt;br /&gt;
&lt;br /&gt;
===== Example of Typical Workstation EMS Memory =====&lt;br /&gt;
[[image:workstationemm.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Correction====&lt;br /&gt;
&lt;br /&gt;
No easy way&lt;br /&gt;
&lt;br /&gt;
Removal of hardware adapters designed for workstations instead of servers eg graphics cards and network cards.&lt;br /&gt;
&lt;br /&gt;
Many of the devices may be located on the motherboard and not relocatable except possibly by BIOS configuration or special manufacturer information.&lt;br /&gt;
&lt;br /&gt;
Use windows device manager, View: Resources by Connection, Open the Memory item and look for items between 000A0000 up to 000FFFFF that might give you a clue as to what hardware could be removed or reconfigured. Actually only 000C0000 to 000FFFFF is candidate for EMS memory since 000A000-000BFFFF is mandatory video memory in all systems.&lt;br /&gt;
&lt;br /&gt;
[[image:devicemanager.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixing issue where NEOSYS processes do not start-up at all or start-up and close immediately ==&lt;br /&gt;
&lt;br /&gt;
# Find if a file with the name global.end exists in the root directory of the NEOSYS installation. Eg D:\global.end . If you find such a file, rename it to global.end.temp - for more information on global.end and what it does refer to [[Administering_NEOSYS_Server#Closing_NEOSYS_Services|Closing NEOSYS Services]]&lt;br /&gt;
# If the above didn&#039;t fix the problem and NEOSYS still does not start, do a windows search for the entire NEOSYS folder for *.end (i.e. any file ending with .end extension). You may find a (databasecode).end file in D:\neosys\neosys folder which is created by the NEOSYS program during backup at 1 am and later on removed automatically. In this case NEOSYS program might have crashed during the backup and left this file behind. (databasecode).end files prevent other other NEOSYS processes starting up on the database while exclusive processes (like backup) are being done.&lt;br /&gt;
&lt;br /&gt;
In case the above didn&#039;t fix the problem then escalate to the programmer immediately.&lt;br /&gt;
&lt;br /&gt;
=== Solving &amp;quot;Control Record&amp;quot; error in maintenance mode ===&lt;br /&gt;
&lt;br /&gt;
If processes dont start after you log into maintenance mode and you get an error message&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔════[FS152]═══════════════════════════════════════╗&lt;br /&gt;
║          The control record &amp;quot;RECORDS&amp;quot;            ║&lt;br /&gt;
║           is too long to be saved.               ║&lt;br /&gt;
║   The current record length is 65539 characters. ║&lt;br /&gt;
║                                                  ║&lt;br /&gt;
║               &amp;lt; Press any key &amp;gt;                  ║&lt;br /&gt;
╚══════════════════════════════════════════════════╝  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[File:Record1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1&#039;&#039;&#039;. Press space to get rid of the error message and you should then get this menu&lt;br /&gt;
&lt;br /&gt;
[[File:Record2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2&#039;&#039;&#039;. Press F5 and run this command (case sensitive)&lt;br /&gt;
&lt;br /&gt;
 DICT DEFINITIONS&lt;br /&gt;
&lt;br /&gt;
or Press Alt+S and run this command (case sensitive)&lt;br /&gt;
&lt;br /&gt;
 EXECUTE DICT DEFINITIONS&lt;br /&gt;
&lt;br /&gt;
[[File:Record3.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3&#039;&#039;&#039;. Press Shift+F3 to get the following message&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔══[B202]══════════════════════════════════╗&lt;br /&gt;
║            &amp;quot;DEFINITIONS&amp;quot; has             ║&lt;br /&gt;
║          &amp;quot;QUICKDEX&amp;quot; installed            ║&lt;br /&gt;
║                                          ║&lt;br /&gt;
║ Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N]  ║&lt;br /&gt;
║                                          ║&lt;br /&gt;
║ &amp;lt;Y                                      &amp;gt;║&lt;br /&gt;
╚══════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4&#039;&#039;&#039;. Press Enter to choose Yes.&lt;br /&gt;
&lt;br /&gt;
[[File:Record4.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5.&#039;&#039;&#039;Restart NEOSYS to see if the problem has been solved&lt;br /&gt;
&lt;br /&gt;
== Solving “page not found” when downloading some file types after uploading them successfully ==&lt;br /&gt;
=== One by One ===&lt;br /&gt;
&lt;br /&gt;
Windows web server will not download file types that it is unaware of. You can enable the download of new file types one by one as follows.&lt;br /&gt;
&lt;br /&gt;
This process is tedious and error-prone if you have to add many type.&lt;br /&gt;
&lt;br /&gt;
#Computer Management&lt;br /&gt;
#Services and Applications&lt;br /&gt;
#IIS properties&lt;br /&gt;
#Mime Types&lt;br /&gt;
#Add&lt;br /&gt;
&lt;br /&gt;
=== Many ===&lt;br /&gt;
&lt;br /&gt;
Window Server 2003 is unaware of all the Office 2007+ file types. To add all Office 2007+ file types at once do the following:&lt;br /&gt;
&lt;br /&gt;
Stop IIS&lt;br /&gt;
&lt;br /&gt;
 iisreset /stop&lt;br /&gt;
&lt;br /&gt;
Open the list of mime types&lt;br /&gt;
&lt;br /&gt;
*Start, Run, notepad C:\WINDOWS\system32\inetsrv\MetaBase.xml&lt;br /&gt;
&lt;br /&gt;
Search the file for “xlsx” and quit the editor if already inserted.&lt;br /&gt;
&lt;br /&gt;
Otherwise, find the following line,&lt;br /&gt;
&lt;br /&gt;
  .xml,text/xml&lt;br /&gt;
&lt;br /&gt;
and insert after that line the following lines. They do not need to be indented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.docm,application/vnd.ms-word.document.macroEnabled.12&lt;br /&gt;
.docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document&lt;br /&gt;
.dotm,application/vnd.ms-word.template.macroEnabled.12&lt;br /&gt;
.dotx,application/vnd.openxmlformats-officedocument.wordprocessingml.template&lt;br /&gt;
.potm,application/vnd.ms-powerpoint.template.macroEnabled.12&lt;br /&gt;
.potx,application/vnd.openxmlformats-officedocument.presentationml.template&lt;br /&gt;
.ppam,application/vnd.ms-powerpoint.addin.macroEnabled.12&lt;br /&gt;
.ppsm,application/vnd.ms-powerpoint.slideshow.macroEnabled.12&lt;br /&gt;
.ppsx,application/vnd.openxmlformats-officedocument.presentationml.slideshow&lt;br /&gt;
.pptm,application/vnd.ms-powerpoint.presentation.macroEnabled.12&lt;br /&gt;
.pptx,application/vnd.openxmlformats-officedocument.presentationml.presentation&lt;br /&gt;
.xlam,application/vnd.ms-excel.addin.macroEnabled.12&lt;br /&gt;
.xlsb,application/vnd.ms-excel.sheet.binary.macroEnabled.12&lt;br /&gt;
.xlsm,application/vnd.ms-excel.sheet.macroEnabled.12&lt;br /&gt;
.xlsx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet&lt;br /&gt;
.xltm,application/vnd.ms-excel.template.macroEnabled.12&lt;br /&gt;
.xltx,application/vnd.openxmlformats-officedocument.spreadsheetml.template&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save the file with File and Exit&lt;br /&gt;
&lt;br /&gt;
Restart IIS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Handling Neosys Automatic Upgrade Error Messages ==&lt;br /&gt;
&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
We will receive an email from the NEOSYS client installation with the following message:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;UPGRADEN.EXE&amp;quot; does not have expected exe MZ signature&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
This message is a note that the NEOSYS automatic update procedure failed to download an upgrade file correctly.&lt;br /&gt;
This happens sometimes due to network issues but can be ignored because the file will be probably be correctly downloaded on the next automatic update check.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This message is only informative to help with any problem with the automatic upgrade procedure and may be removed in a later version of neosys (currently Oct 2012)&lt;br /&gt;
&lt;br /&gt;
== Testing https connection ==&lt;br /&gt;
&lt;br /&gt;
The following procedure tests that the https server is operational and not blocked by firewall etc. It does not detect certificate errors.&lt;br /&gt;
&lt;br /&gt;
From a windows command prompt use the following telnet command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
telnet clientname.hosts.neosys.com 4430&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
#4430 is the usual NEOSYS http port but replace it by whatever port is actually used for NEOSYS https on the system being tested. If there are multiple https installations on a particular server then different ports are probably used&lt;br /&gt;
#Replace clientname.hosts.neosys.com with the normal https login domain name of the client for whom we want to check the https service&lt;br /&gt;
&lt;br /&gt;
Normal behavior is that it should open a black screen. Pressing Enter or any key returns the _ character. (Close the window using the [X] since there is no keyboard command to do so)&lt;br /&gt;
&lt;br /&gt;
Hanging means that there is some connectivity issue (firewall/ip/server not running/https not installed etc)&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting &amp;quot;page not found&amp;quot; error while using https ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#The https service stops working and gives &amp;quot;Page not found&amp;quot; error.&lt;br /&gt;
#The https connection tests fine using telnet (see article above)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#Reinstall https using the usual procedure (currently using selfssl)&lt;br /&gt;
#Email clients, requesting to reinstall the new security certificate by following the instructions for [http://userwiki.neosys.com/index.php/Setting_up_and_Configuring_NEOSYS_Generally#Fixing_HTTPS_certificate_error_when_logging_in_from_an_external_link_using_IE8.2C_IE9_and_IE10 Internet Explorer] or [http://userwiki.neosys.com/index.php/Configuring_Safari_for_MAC_OS#Fixing_HTTPS_certificate_error_when_logging_in_using_an_external_link_using_MAC_Operating_System Safari] browser.&lt;br /&gt;
&lt;br /&gt;
== Installing &amp;quot;QUICKDEX&amp;quot; on some files ==&lt;br /&gt;
&amp;quot;Quickdex&amp;quot; is a type of index that keeps an alphabetical order on small files. In some maintenance procedures you may be asked to &amp;quot;install Quickdex&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For example to add a quickdex to the UNITS file.&lt;br /&gt;
&lt;br /&gt;
Maintenance mode press F5&lt;br /&gt;
&lt;br /&gt;
 DICT UNITS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=================Dictionary=================┐&lt;br /&gt;
│                                            │&lt;br /&gt;
│  File name      UNITS                      │&lt;br /&gt;
│  Field name     .........................  │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Dict type                                 │&lt;br /&gt;
│  Single/Multi                              │&lt;br /&gt;
│  Data type                                 │&lt;br /&gt;
│  Output format                             │&lt;br /&gt;
│  Validation patterns                       │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Position              Key part            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Column heading                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
│  Justification     Display length          │&lt;br /&gt;
│  Description                               │&lt;br /&gt;
│                                            │&lt;br /&gt;
│                                            │&lt;br /&gt;
L============================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Shift+F3.&lt;br /&gt;
&lt;br /&gt;
If it says &amp;quot;Do you want to remove ...&amp;quot; then Quickdex has already been installed and you should not continue. Press Esc to cancel, then Esc to quit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[B202]==================================┐&lt;br /&gt;
│                                         │&lt;br /&gt;
│               &amp;quot;UNITS&amp;quot; has               │&lt;br /&gt;
│          &amp;quot;QUICKDEX&amp;quot; installed.          │&lt;br /&gt;
│                                         │&lt;br /&gt;
│ Do you want to remove &amp;quot;QUICKDEX&amp;quot;? [Y/N] │&lt;br /&gt;
│                                         │&lt;br /&gt;
│&amp;lt;Y                                      &amp;gt;│&lt;br /&gt;
L=========================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise it should say &amp;quot;Do you want to install ...&amp;quot;. Press Enter to accept.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[W963]============================┐&lt;br /&gt;
│                                   │&lt;br /&gt;
│     Do you want to install a      │&lt;br /&gt;
│ Quickdex or Rightdex index? [Q/R] │&lt;br /&gt;
│                                   │&lt;br /&gt;
│&amp;lt;Q                                &amp;gt;│&lt;br /&gt;
L===================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It should then say &amp;quot;Do you want to update ...&amp;quot;. Press Enter to accept.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
г=[W901]========================================┐&lt;br /&gt;
│                                               │&lt;br /&gt;
│           The &amp;quot;UNITS&amp;quot; file has had            │&lt;br /&gt;
│ the &amp;quot;QUICKDEX&amp;quot; modifying filing system added. │&lt;br /&gt;
│        There are 0 records in &amp;quot;UNITS&amp;quot;.        │&lt;br /&gt;
│                                               │&lt;br /&gt;
│    Do you want to update &amp;quot;QUICKDEX&amp;quot;? [Y/N]    │&lt;br /&gt;
│                                               │&lt;br /&gt;
│&amp;lt;Y                                            &amp;gt;│&lt;br /&gt;
L===============================================-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards it should return to the initial screen. Press Esc to quit.&lt;br /&gt;
&lt;br /&gt;
== Solving NEOSYS smtp server failure ==&lt;br /&gt;
In case the neosys smtp server fails then we can just use the client&#039;s smtp server.&lt;br /&gt;
&lt;br /&gt;
The following information is required from the client&#039;s smtp server configuration:&lt;br /&gt;
#hostname&lt;br /&gt;
#username&lt;br /&gt;
#password&lt;br /&gt;
#port no. (most likely = 25)&lt;br /&gt;
&lt;br /&gt;
These details should be entered in the &#039;&#039;&#039;System Configuration File&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
[[image:SYSCFGFILE-SMTP.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Strange characters in maintenance mode ==&lt;br /&gt;
While in Maintenance mode, pressing keys on keyboard gives strange characters. Even Enter and Esc don’t work. &lt;br /&gt;
&lt;br /&gt;
This problem has been seen using RDP on:&lt;br /&gt;
*Window Server 2003 Web Edition&lt;br /&gt;
*Windows Server 2003 R2 SP2&lt;br /&gt;
&lt;br /&gt;
[[image:strangecharmaint.jpg]] &lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
#Go to Windows -&amp;gt; control panel&lt;br /&gt;
#Go to Regional and Language Options &lt;br /&gt;
#Click on Languages tab then click on Details &amp;lt;br&amp;gt; [[image:lang1.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
#Click on Settings Tab and Change default input language to English (United States)&amp;lt;br&amp;gt;(or perhaps something else depending on rdp keyboard) &amp;lt;br&amp;gt; [[image:lang2.jpg]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== NEOSYS processes do not start after Windows Update  ==&lt;br /&gt;
&lt;br /&gt;
===Problem===&lt;br /&gt;
Scheduled Task to start the NEOSYS processes fail on Servers with Windows 2008 after Windows update. Support will have to log into the server to start the processes manually&lt;br /&gt;
Message on the Schedule Task displays &amp;quot; The operation being requested was not performed because the user has not logged on to the network. The specified service does not exit &amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[image:sti.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Solution===&lt;br /&gt;
&lt;br /&gt;
For clients who cannot tolerate manual intervention after server reboots for any reason (e.g.need to start work before NEOSYS support is available or on NEOSYS support weekends), tick &amp;quot;highest privileges&amp;quot; and &amp;quot;run whether the user is logged in or not&amp;quot;. This approach means that NEOSYS processes which are started by the windows scheduled task are not visible on the desktop and run hidden in the background and only listed in task manager, so avoid this approach on small clients (only few users). Avoiding this approach will also serve to act as an indicator of server restarts.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting NEOSYS remote support port forwarding ==&lt;br /&gt;
This assumes that you have already “port forwarded” tcp port 19580 from your public internet router to the NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
=== Tst 0 - Check if SSH is working on the NEOSYS Server ===&lt;br /&gt;
Type in the following command in command prompt:&lt;br /&gt;
 telnet 127.0.0.1 19580&lt;br /&gt;
&lt;br /&gt;
IF ALL OK you will see the following:&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-03.jpg]] &lt;br /&gt;
&lt;br /&gt;
=== Test 1 - Check if SSH is basically working on NEOSYS server over the LAN ===&lt;br /&gt;
You must know and use the NEOSYS SERVER LAN IP to do this.&lt;br /&gt;
&lt;br /&gt;
 telnet ???.???.???.??? 19580&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-01.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
If you have the WRONG SERVER LAN IP or NEOSYS server SSH is NOT working then it will hang for about 15 seconds and then say “Could not open connection to host …”&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-02.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
OR IF ALL OK you will see the following:&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-03.jpg]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Press Enter to Exit&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-04.jpg]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Test 2 - Check if can connect to the NEOSYS ssh from OUTSIDE the office  ===&lt;br /&gt;
From any internet connected computer OUTSIDE the office test if you can connect to NEOSYS ssh service. You cannot do this test from inside the office.&lt;br /&gt;
&lt;br /&gt;
You need to know the public ip or domain name of the router. If the router IP is dynamic then NEOSYS sets up dynamic name server so instead of a static ip number you will have a domain name something like clientxyz.redirectme.net.&lt;br /&gt;
&lt;br /&gt;
Enter the command .. using YOUR public internet IP number (NOT the LAN ip number) or the dynamic domain name.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-05.jpg]]  &lt;br /&gt;
&lt;br /&gt;
If everything is working OK you will get a black screen as follows. You will NOT get the “SSH-2.0-OpenSSH-4.7” banner” because NEOSYS ssh remote support is restricted to connect ONLY from LAN ip nos and NEOSYS office ip nos.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-06.jpg]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you press Enter a few times then the cursor will just go down. You have click the [X] to close the window.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-07.jpg]]  &lt;br /&gt;
&lt;br /&gt;
=== Test 3 - Check that the ssh connection from step 2 was rejected  ===&lt;br /&gt;
On the NEOSYS server, check the Windows Application log to verify that an SSH connection was rejected.&lt;br /&gt;
&lt;br /&gt;
The rejected ip number will be of the system outside the office that you performed the test from.&lt;br /&gt;
&lt;br /&gt;
[[image:tr-pf-08.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Sample Email: Solving port 19580 port forwarding issues ===&lt;br /&gt;
&lt;br /&gt;
Some IT people know how to troubleshoot port forwarding issues but others are mostly just power users who can configure a home router. If the IT person is in the second category then it is quicker for NEOSYS support to offer to configure their router from the NEOSYS server using Teamviewer. Ideally NEOSYS should not be doing client IT work but if client IT allows NEOSYS access to their router then NEOSYS support can make a brief attempt to do the configuration. If the issue is still unresolved then request the client to get a professional IT network expert to do the job and inform them that NEOSYS will not be able to provide them any support till connectivity is fixed. Below is a letter advising a more skilled person to check connections using telnet which is a low level test.&lt;br /&gt;
&lt;br /&gt;
You can usually determine the NEOSYS server LAN IP number from Nagios. If so then adjust the email text appropriately.&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Dear XYZ,&lt;br /&gt;
&lt;br /&gt;
It is highly critical to fix the connectivity with the NEOSYS server because NEOSYS will not be able to provide any support until&lt;br /&gt;
connectivity is fixed. User support issues will be delayed and remain unresolved if you do not fix this issue URGENTLY.&lt;br /&gt;
&lt;br /&gt;
At the moment there is no connection from the internet via your router to the NEOSYS server and when we do the following, &lt;br /&gt;
we get no connection. &lt;br /&gt;
&lt;br /&gt;
   telnet CLIENTNAME.support.neosys.com 19580&lt;br /&gt;
&lt;br /&gt;
Normally it should connect and presents a black screen (saying SSH something after pressing Enter) which we close.&lt;br /&gt;
&lt;br /&gt;
Please check that you can connect to the NEOSYS server internally by using the NEOSYS server IP address in the following command on any&lt;br /&gt;
computer in your LAN.&lt;br /&gt;
&lt;br /&gt;
    telnet 192.168.?.? 19580&lt;br /&gt;
&lt;br /&gt;
If you can connect to the NEOSYS server internally then please check port forwarding.&lt;br /&gt;
&lt;br /&gt;
Additionally check the following:&lt;br /&gt;
1. Has your router IP changed?&lt;br /&gt;
2. Has your server’s LAN IP changed and are you forwarding to the correct LAN IP?&lt;br /&gt;
3. Is the configuration really correct?&lt;br /&gt;
4. Check router logs for clues&lt;br /&gt;
5. Check NAT settings in the router&lt;br /&gt;
&lt;br /&gt;
For troubleshooting steps refer Troubleshooting NEOSYS remote support&lt;br /&gt;
http://techwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Troubleshooting_NEOSYS_remote_support_port_forwarding&lt;br /&gt;
&lt;br /&gt;
If the problem still persists, please get a professional IT network expert to fix the issue.&lt;br /&gt;
&lt;br /&gt;
Best Regards,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Port mapping restricted by Source IP ===&lt;br /&gt;
&lt;br /&gt;
On NEOSYS router, port forwarding has been setup only for specific source IP addresses. This means you will not be able to establish a TCP connection to NEOSYS server unless your server&#039;s outbound IP is mapped to the NEOSYS router. In other words unless the outbound i.e source IP/port of your server has been granted access on the NEOSYS router for all incoming connections you will not be able to make connections to NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
Outbound IP is used whenever a server tries to make a connection to another server outside its network. On the other hand a server receives all incoming connections using it&#039;s Inbound IP.&lt;br /&gt;
&lt;br /&gt;
Therefore to setup ssh connection from a new Client server to NEOSYS server we need to grant access to its outbound IP on the NEOSYS router. See [[Troubleshooting_NEOSYS_Generally#If_Telnet_does_not_work | link]] to find the outbound server IP/ports of the server.&lt;br /&gt;
&lt;br /&gt;
== Solving “Cant login … INVALID DATA PATH … permission denied” ==&lt;br /&gt;
=== Error Message ===&lt;br /&gt;
&lt;br /&gt;
[[image:error-invalid-data-path-1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error Text:&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 Cannot login because:&lt;br /&gt;
 ERROR: INVALID DATA PATH&lt;br /&gt;
 “D:\HOSTS\HOSTNAME\DATA\HOSTNAME\~8746345.1$” Permission Denied&lt;br /&gt;
&lt;br /&gt;
=== Problem Explained ===&lt;br /&gt;
When installing NEOSYS on an existing “non-clean” Windows installation, the standard NEOSYS installation procedure can result in failure to login if the standard windows folder permissions have been modified.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
The solution is to grant IIS permission to write in the \neosys\DATA folder and subfolders as follows:&lt;br /&gt;
#First add the IUSR_XXXXXXX user to the list of users. (XXXXXXXX is the server name and therefore varies per server) as follows:&lt;br /&gt;
#*Right Click on DATA Folder and click on Properties&lt;br /&gt;
#*Click on Security Tab -&amp;gt; Add -&amp;gt; Advanced&lt;br /&gt;
#*Click on Find Now, Select the IUSR_XXXXXXX user and Click on OK&amp;lt;br&amp;gt;[[image:error-invalid-data-path-2.jpg]]&amp;lt;br&amp;gt;[[image:error-invalid-data-path-3.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Second, for the newly added IUSR (IIS user) change the permissions as follows:&lt;br /&gt;
#*&#039;&#039;&#039;REMOVE&#039;&#039;&#039; the read and execute permission (for security, IIS should be unable to execute things that it might have uploaded)&lt;br /&gt;
#*&#039;&#039;&#039;ADD&#039;&#039;&#039; the write permission &amp;lt;br&amp;gt;[[image:error-invalid-data-path-4.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
#Login should now be possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== NEOSYS process window displays message &amp;quot;Upgrade Downloading&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
[[image:upgradedownloading.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Problem Explained ===&lt;br /&gt;
NEOSYS thinks it sees an new neosys2.exe upgrade file on the location http://www.neosys.com/support/neosys2.exe which is accessed by http so attempts to download it.&lt;br /&gt;
&lt;br /&gt;
Http proxies and various internet issues can cause incorrect info to be sent and there is actually no upgrade available. In this case, eventually it realizes that it cant find an appropriate and it stops. &lt;br /&gt;
&lt;br /&gt;
You don’t have to worry about this case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Enabling EMS memory on Window 2003 ==&lt;br /&gt;
&lt;br /&gt;
Normally EMS memory is provided by Windows 2003 but this can vary depending on the server hardware/bios configuration&lt;br /&gt;
&lt;br /&gt;
If you get the following messages on Windows 2003&lt;br /&gt;
&lt;br /&gt;
#Backup File Size is 0&lt;br /&gt;
#RTP27. [B28] Not enough String Space – Out of Memory&lt;br /&gt;
&lt;br /&gt;
=== Cause ===&lt;br /&gt;
&lt;br /&gt;
On servers that had no problem previously, the problem is caused by a windows update in Oct 2012 that disables standard Windows EMS memory.&lt;br /&gt;
&lt;br /&gt;
The patch is issued by Microsoft on 9 Oct 2012 but the installation date in the server depends on when the update was actually installed.&lt;br /&gt;
&lt;br /&gt;
http://support.microsoft.com/kb/2724197&lt;br /&gt;
&lt;br /&gt;
=== Solution 1 - maximum performance ===&lt;br /&gt;
&lt;br /&gt;
To re-enable standard windows EMS on older slower servers or servers where NEOSYS performance must be maximized.&lt;br /&gt;
&lt;br /&gt;
The following link contains instructions how to remove the offending windows update&lt;br /&gt;
&lt;br /&gt;
It also shows how to prevent it being reinstalled automatically by Windows.&lt;br /&gt;
&lt;br /&gt;
http://www.columbia.edu/~em36/wpdos/emsxp.html&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to prevent it being reinstalled again automatically&lt;br /&gt;
&lt;br /&gt;
=== Solution 2 – ease of installation ===&lt;br /&gt;
&lt;br /&gt;
This option can also be used if Window 2003 is unable to provide EMS memory for example when the server hardware/bios configuration prevents it.&lt;br /&gt;
&lt;br /&gt;
Install EMSMAGIC in the same way as for Windows server 2008&lt;br /&gt;
&lt;br /&gt;
EMSMAGIC has higher memory consumption and makes NEOSYS processes slower so it is better to use Solution 1 above if NEOSYS performance is an issue.&lt;br /&gt;
&lt;br /&gt;
== Fixing no output file in XXX YYY Issue ==&lt;br /&gt;
&lt;br /&gt;
===Error Message===&lt;br /&gt;
&lt;br /&gt;
[[File:Nooutputfile.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Problem Explained===&lt;br /&gt;
&lt;br /&gt;
The message “No output file in XXX YYY” can appear at several instances in NEOSYS, most often when generating reports or documents. &lt;br /&gt;
&lt;br /&gt;
This problem is usually caused by software error and it indicates that the NEOSYS server responded without any output and without any message. &lt;br /&gt;
&lt;br /&gt;
===Solution===&lt;br /&gt;
1) Find proof to check if the data required for the report actually exists. This way we can eliminate lack of data as a cause for this error.&lt;br /&gt;
&lt;br /&gt;
2) Check to see if a similar issue has been fixed in latest version of NEOSYS.&lt;br /&gt;
&lt;br /&gt;
3) Document HOW and WHERE the problem can be duplicated by NEOSYS programmers to identify and correct the software.&lt;br /&gt;
&lt;br /&gt;
An example of this error can be found at [[Troubleshooting_NEOSYS_Media_System#Error:_No_output_file_in_MEDIAPROXY_SCHEDULEPRINT|No Output File in MEDIAPROXY SCHEDULEPRINT]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting Internet Connections ==&lt;br /&gt;
&lt;br /&gt;
===Cannot Connect===&lt;br /&gt;
&lt;br /&gt;
While investigating as to why users are not able to access NEOSYS or http://www.neosys.com/ ,you can check which ISP the connection issue is on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;whois ipno&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inspect very carefully to get clues as to which ISP and which AREA of the ISP the problematic ip numbers are and which do NOT have problems&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting TCP/IP Connections ===&lt;br /&gt;
&lt;br /&gt;
====Telnet check====&lt;br /&gt;
&amp;lt;pre&amp;gt; telnet &amp;lt;hostname&amp;gt; 19580  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====If Telnet does not work====&lt;br /&gt;
In case telnet does not work, login to the remote host server to investigate the issue. Run the following command simultaneously while doing Telnet from client server to the remote host to check if the TCP packets are reaching the Remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tcpdump -v &#039;src host client-domain-name/ip&#039; &lt;br /&gt;
tcpdump -v portno &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To check if packets are sent from the client server to the remote host, you can run the following command simultaneously while trying to ssh to the remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;netstat -an &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also check if the outbound ports are open from which you are trying to establish the TCP connection to the remote server.&lt;br /&gt;
&amp;lt;pre&amp;gt;telnet portquiz.net portno &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The outbound IP addresses at times can be different from the public IP of the Client server so be sure that the public IP of the client server is the same as its source IP (which represents an incoming connection from Client to Remote server). One way to find the source IP of the Client server is sending an email from Client server to &amp;quot;support@neosys.com&amp;quot;. On receiving the email in Thunderbird, select the email and press Ctrl+u. A new window Opens giving full details of the email received. The third &amp;quot;Received :from&amp;quot; gives the IP of the source.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting DNS failure ===&lt;br /&gt;
&lt;br /&gt;
NEOSYS clients routers are usually configured to use their ISP DNS service and the ISP DNS service is supposed to contact one of NEOSYS&#039;s DNS servers to convert server names like hosts.neosys.com into IP numbers. Misconfiguration of clients routers or problems in the ISP DNS server may cause CANNOT CONNECT problems. Often the connect fails quickly and immediately since if a name cannot be converted to an ip number then the connection cannot even be attempted and therefore there is little or no timeout to wait through.&lt;br /&gt;
&lt;br /&gt;
NEOSYS.COM name servers are listed publically and obtained by whois command.&lt;br /&gt;
&lt;br /&gt;
 whois neosys.com&lt;br /&gt;
&lt;br /&gt;
 Name Server: DNS1.EASYDNS.COM&lt;br /&gt;
 Name Server: DNS2.EASYDNS.NET&lt;br /&gt;
 Name Server: DNS3.EASYDNS.ORG&lt;br /&gt;
 Name Server: NS12.ZONEEDIT.COM&lt;br /&gt;
 Name Server: NS18.ZONEEDIT.COM&lt;br /&gt;
&lt;br /&gt;
In order to contact NEOSYS DNS servers the ISP&#039;s have to use a global DNS to obtain the ip addresses of NEOSYS DNS servers given the host names of NEOSYS DNS servers given in the whois info&lt;br /&gt;
&lt;br /&gt;
Here is an example of DU testing NEOSYS DNS servers. The NEOSYS DNS server ip addresses are listed in the Destination column.&lt;br /&gt;
&lt;br /&gt;
[[File:internet.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If one DNS server is down or unreachable REGARDLESS OF REASON, the ISP is supposed to use the other DNS servers. It is impossible for all NEOSYS DNS servers to be unreachable except in gross disconnection from the internet of the ISP since it is effectively impossible that all NEOSYS DNS servers which are carefully spread around the internet, to be unreachable.&lt;br /&gt;
&lt;br /&gt;
In the above test one of the NEOSYS DNS servers is unreachable but all the others are reachable therefore DU should have no problem providing DNS service to its clients.&lt;br /&gt;
&lt;br /&gt;
ISP are often worse at providing DNS server than the famous GOOGLE DNS servers, so re configuring client router to use GOOGLE DNS servers is a way to prove that the problem lies with the ISP&#039;s DNS service&lt;br /&gt;
&lt;br /&gt;
=== Additional test for troubleshooting problems with uploading ===&lt;br /&gt;
&lt;br /&gt;
====Verifying that upload.dll can run====&lt;br /&gt;
&lt;br /&gt;
This isnt a complete test of everything. It just checks if the upload program can be run by the web server. It doesnt check if uploads work or the image directory is correctly configured with the right permissions and uploads can actually be done.&lt;br /&gt;
&lt;br /&gt;
===== Error Message =====&lt;br /&gt;
&lt;br /&gt;
... to be added when discovered ...&lt;br /&gt;
&lt;br /&gt;
===== Test =====&lt;br /&gt;
&lt;br /&gt;
Test HTTP if accessible by LAN; Test HTTPS is accessible by Internet; Test both if both are available.&lt;br /&gt;
&lt;br /&gt;
On the server type the following into a browser&lt;br /&gt;
&lt;br /&gt;
LAN/HTTP:&lt;br /&gt;
&lt;br /&gt;
 http://localhost/neosys/neosys/dll/upload.dll&lt;br /&gt;
&lt;br /&gt;
WAN/HTTPS:&lt;br /&gt;
&lt;br /&gt;
 https://localhost:9999/neosys/dll/upload.dll&lt;br /&gt;
&lt;br /&gt;
===== Expected Result =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Upload Error. !&lt;br /&gt;
Please call me from a form !!!&lt;br /&gt;
The first param must be Filename= name of the uploaded file, TYPE=TEXT&lt;br /&gt;
The second param must be Filedata= uploaded file, TYPE=FILE&lt;br /&gt;
The third param is optional PathData= path to uploaded file, default c:\temp\, TYPE=HIDDEN&lt;br /&gt;
The forth param is optional RedirectPage= name of asp who receive the results, TYPE=HIDDEN&lt;br /&gt;
Add others params at the end with INPUT tag.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Uerror.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Patching a NEOSYS program ==&lt;br /&gt;
&lt;br /&gt;
The patch provided will tell you the program name and contain either a whole replacement program text or just some changed lines which you will have to find and edit.&lt;br /&gt;
&lt;br /&gt;
You will need to know the file name which may be provided along with the patch or you can find it using the following code in maintenance mode:&lt;br /&gt;
&lt;br /&gt;
 ED VOC programname&lt;br /&gt;
&lt;br /&gt;
ED VOC XYZ tells you what program name is executed and from what file, when you type the command XYZ. Normally the program name is the same as the command.&lt;br /&gt;
&lt;br /&gt;
The file name will normally be BP for agency programs, GBP for general programs or ABP for finance programs.&lt;br /&gt;
&lt;br /&gt;
NEOSYS programs are stored in files just like records of ordinary database files. You can edit either with &amp;quot;ED filename programname&amp;quot; or &amp;quot;TED filename programname&amp;quot;. TED is better for editing source code.&lt;br /&gt;
&lt;br /&gt;
===Installing patch in live database===&lt;br /&gt;
&lt;br /&gt;
In the rare case that the programmer asks Support to install the patch directly on LIVE dataset, start by typing the following command in maintenance mode before commencing:&lt;br /&gt;
&lt;br /&gt;
 UTIL&lt;br /&gt;
&lt;br /&gt;
Follow the instructions mentioned in the [[Troubleshooting_NEOSYS_Generally#Installing_patch_in_test_database| next section]], but skip the instruction to TEST the patched program in test dataset.&lt;br /&gt;
&lt;br /&gt;
The instruction to INSTALL the patched program MUST be followed BEFORE testing the patch in live dataset. Otherwise the changes will not get reflected.&lt;br /&gt;
&lt;br /&gt;
===Installing patch in test database===&lt;br /&gt;
&lt;br /&gt;
1. EDIT the program source code.&lt;br /&gt;
&lt;br /&gt;
 TED programname&lt;br /&gt;
&lt;br /&gt;
Either cut and paste to modify the whole program or edit the program text according to the patch/instructions provided.&lt;br /&gt;
&lt;br /&gt;
Save and close the program source code.&lt;br /&gt;
&lt;br /&gt;
2. COMPILE it. If you get errors then check your edits are correct and recompile otherwise return the patch to programming.&lt;br /&gt;
&lt;br /&gt;
  COMPILE filename programname&lt;br /&gt;
&lt;br /&gt;
3. TEST it. Ensure the patched program now works in TEST database.&lt;br /&gt;
&lt;br /&gt;
4. INSTALL the patched program in the LIVE database by typing one of the following command depending on the filename that you patched.&lt;br /&gt;
&lt;br /&gt;
 COPYGBP programname&lt;br /&gt;
 COPYABP programname&lt;br /&gt;
 COPYBP programname&lt;br /&gt;
&lt;br /&gt;
== Patching NEOSYS dictionaries ==&lt;br /&gt;
&lt;br /&gt;
A patch to a dictionary applies immediately when you save it and to all datasets regardless of which dataset you work in.&lt;br /&gt;
&lt;br /&gt;
You need:&lt;br /&gt;
&lt;br /&gt;
#the file name eg INVOICES&lt;br /&gt;
#the item name (column name) eg  DATETIME_AMENDED&lt;br /&gt;
#10 lines of data similar to the example below.&lt;br /&gt;
#if the item is an S type dictionary, then either the whole, or only the amended part, of the source code of the dictionary.&lt;br /&gt;
&lt;br /&gt;
 ED DICT INVOICES DATETIME_AMENDED&lt;br /&gt;
&lt;br /&gt;
TYPE everything below exactly on the corresponding line numbers except lines 3 and very commonly line 8, as these lines may contain multiple values separated by a superscript 2 (²). Line numbers in the below screen are only for illustrative purpose. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  ╔═══════════════════════════┤DATETIME_AMENDED├═════════════════════════╗&lt;br /&gt;
 1║S                                                                     ║&lt;br /&gt;
 2║                                                                      ║&lt;br /&gt;
 3║DateTime²Amended                                                      ║&lt;br /&gt;
 4║S                                                                     ║&lt;br /&gt;
 5║                                                                      ║&lt;br /&gt;
 6║                                                                      ║&lt;br /&gt;
 7║[DATETIME]                                                            ║&lt;br /&gt;
 8║updated=@record&amp;lt;28&amp;gt;²created=@record&amp;lt;31,1&amp;gt;²@ans=&#039;&#039;²if created and num(c║..actually this line continues off the screen to the right&lt;br /&gt;
 9║R                                                                     ║&lt;br /&gt;
10║10                                                                    ║&lt;br /&gt;
11║                                                                      ║&lt;br /&gt;
  :                                                                      :&lt;br /&gt;
  :                                                                      :&lt;br /&gt;
  ╚══════════════════════════════════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Ctrl+E on lines 3 or 8 in order to enter sub-lines. &lt;br /&gt;
&lt;br /&gt;
The multiple values (on line 3 and 8) separated by a superscript 2 (²) automatically appear when sub-lines are entered.&lt;br /&gt;
&lt;br /&gt;
For line 8, you will need to cut and paste the lines of below program to the Ctrl+E screen: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔═════════════════════════┤Field 8 of DATETIME_AMENDED├════════════════════════╗&lt;br /&gt;
║updated=@record&amp;lt;28&amp;gt;                                                           ║&lt;br /&gt;
║created=@record&amp;lt;31,1&amp;gt;                                                         ║&lt;br /&gt;
║@ans=&#039;&#039;                                                                       ║&lt;br /&gt;
║if created and num(created) and num(updated) then                             ║&lt;br /&gt;
║ createdsecs=field(created,&#039;.&#039;,1)*86400+field(created,&#039;.&#039;,2)                  ║&lt;br /&gt;
║ updatedsecs=field(updated,&#039;.&#039;,1)*86400+field(updated,&#039;.&#039;,2)                  ║&lt;br /&gt;
║ if abs(updatedsecs-createdsecs)&amp;gt;120 then                                     ║&lt;br /&gt;
║  @ans=updated                                                                ║&lt;br /&gt;
║  end                                                                         ║&lt;br /&gt;
║ end                                                                          ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
║                                                                              ║&lt;br /&gt;
╚══════════════════════════════════════════════════════════════════════════════╝&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you save and exit the Ctrl+E screen, you will see the sublines separated by superscript 2 appear in one line in the ED screen. &lt;br /&gt;
&lt;br /&gt;
Similarly, for line 3, you need to enter its sub-lines in Ctrl+E screen.&lt;br /&gt;
&lt;br /&gt;
To ensure indenting remains nice (although indenting is not important and can be messed up without causing any problem) then copy the double bars at the front of the lines (if available, otherwise insert some char in position 1 of each line perhaps) and then remove them after you paste ... or just edit until the indenting is correct if you really want to.&lt;br /&gt;
&lt;br /&gt;
Press F9 and/or Esc to save and/or exit from Ctrl+E screen&lt;br /&gt;
&lt;br /&gt;
Press F9 and/or Esc to save and/or exit from ED&lt;br /&gt;
&lt;br /&gt;
== Searching XML files ==&lt;br /&gt;
&lt;br /&gt;
Use the grep command in Cygwin terminal to search files especially when you are investigating the NEOSYS Logs. &lt;br /&gt;
&lt;br /&gt;
Use the following command while searching for a file in any directory&lt;br /&gt;
&lt;br /&gt;
 grep string path/file&lt;br /&gt;
&lt;br /&gt;
 grep -i -a string path/file  (use -i to ignore upper/lower case characters in the string and -a to treat the file type=text and display the matching text)&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;string&amp;quot; is the text to be searched, &amp;quot;file&amp;quot; is the type of file you are looking for and &amp;quot;path&amp;quot; is the path of the directory you are looking into. Use &amp;quot;&amp;quot; when having spaces in your string.&lt;br /&gt;
&lt;br /&gt;
e.g when searching in NEOSYS logs the year/month/date is specified in the file name, so if you are looking for a file in year 2016 in the month of Feb, use&lt;br /&gt;
&lt;br /&gt;
 grep XXXX path/1602*&lt;br /&gt;
&lt;br /&gt;
In the above command *(asterisk) is a wildcard used to match characters in the file name.&lt;br /&gt;
&lt;br /&gt;
Sample below of grep command and its output where it is searching for &amp;quot;Dior&amp;quot; in 2016 march logs.&lt;br /&gt;
 $ grep -i Dior /cygdrive/d/hosts/test/logs/test/2016/1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 Binary file path/16030301.XML matches&lt;br /&gt;
&lt;br /&gt;
Use the commands below to display the search string and required number of lines that come either after or before the search string, depending on what you enter in your command. It helps to get more information from files especially when you only know few words and the other information around the searched string also gets displayed. &lt;br /&gt;
&lt;br /&gt;
 grep -A NUM string file (NUM lines after the searched text get displayed)&lt;br /&gt;
&lt;br /&gt;
 grep -B NUM string file (NUM lines before the searched text get displayed)&lt;br /&gt;
&lt;br /&gt;
See the examples and their respective outputs below, (Note: there is no space between -A and NUM):&lt;br /&gt;
&lt;br /&gt;
 $ grep -A2 -i &amp;quot;Dior&amp;quot; 1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 Binary file 16022101.XML matches&lt;br /&gt;
 Binary file 16022901.XML matches&lt;br /&gt;
&lt;br /&gt;
 $ grep -A2 -a &amp;quot;Dior&amp;quot; 1603*&amp;lt;br&amp;gt;&lt;br /&gt;
 16030301.XML:&amp;lt;DataOut&amp;gt;DIOR%FEPOI%FE&#039;&#039;&#039;Dior&#039;&#039;&#039; Poison%FE%FE%FE%FE%FEDubai,    UAE%FE%FE%FE%FEN%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEN%FE%FE%FE17584.43592%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FENEOSYS%FE17584.43592%FE94_200_49_146%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEpaulson&amp;lt;/DataOut&amp;gt;&amp;lt;/Message&amp;gt;&lt;br /&gt;
 --&lt;br /&gt;
 16030301.XML:&amp;lt;DataOut&amp;gt;DIOR%FEPOI%FE&#039;&#039;&#039;Dior&#039;&#039;&#039; Poison%FE%FE%FE%FE%FEDubai,   UAE%FE%FE%FE%FEN%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEN%FE%FE%FE17584.43592%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FENEOSYS%FE17584.43592%FE94_200_49_146%FE1%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FE%FEpaulson&amp;lt;/DataOut&amp;gt;&amp;lt;/Message&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some more examples of grep below:&lt;br /&gt;
&lt;br /&gt;
 Use the command below when searching with more than one search string&amp;lt;br&amp;gt;&lt;br /&gt;
 grep -a string1 *|grep string2&lt;br /&gt;
&lt;br /&gt;
 grep -B2 -a Processing 160329*|grep -v DataIn|grep -v Message|less&amp;lt;br&amp;gt;&lt;br /&gt;
 where user wants output to show lines containing string &amp;quot;Processing&amp;quot; and exclude lines containing string &amp;quot;DataIn&amp;quot; and &amp;quot;Message&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Managing the queue of reports being delivered by email ==&lt;br /&gt;
&lt;br /&gt;
In maintenance mode.&lt;br /&gt;
&lt;br /&gt;
=== Listing ===&lt;br /&gt;
&lt;br /&gt;
 LIST DOCUMENTS WITH SCHEDULED_ONCE&lt;br /&gt;
&lt;br /&gt;
=== Clearing ===&lt;br /&gt;
&lt;br /&gt;
 SELECT DOCUMENTS WITH SCHEDULED_ONCE&lt;br /&gt;
 DELETE DOCUMENTS&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Procedures&amp;diff=2639</id>
		<title>Procedures</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Procedures&amp;diff=2639"/>
		<updated>2016-04-17T09:02:42Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Firefox */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are procedures to be followed by Support Staff in respect to various technical matters in day to day operations of client issues.&lt;br /&gt;
&lt;br /&gt;
== Handling Clients with Overdue Invoice ==&lt;br /&gt;
In order to maintain good payment speed by clients NEOSYS needs to restrict support to clients that dont pay their bills on time, however the degree of restriction needs to depend on an intimate knowledge of the client which cannot be expected from all NEOSYS support staff. Therefore we will use a simple escalation policy as follows:&lt;br /&gt;
&lt;br /&gt;
=== Overdue Support List ===&lt;br /&gt;
NEOSYS SUPPORT MANAGERS WILL maintain an overdue list on a whiteboard visible to all support staff. Generally clients will go on the list immediately when their invoice is overdue and come off only after satisfactory commitment to pay have been obtained.&lt;br /&gt;
&lt;br /&gt;
For the first week of each quarter of the year, normal support should be provided for server failures and backup failures (including hung processes as it could eventually lead to backup failures). NEOSYS Support Staff must respond to any other support requests from overdue clients, with the following letter (where XYZ is the overdue client):&lt;br /&gt;
&lt;br /&gt;
 Dear ABC,&lt;br /&gt;
 There is an issue with your company&#039;s account. We have requested our Accounts team for approval in order to provide support to you and other XYZ users. &lt;br /&gt;
&lt;br /&gt;
Support staff must then provide the required support to the overdue client only after 4 working hours. Support Staff need not actually contact the Accounts team for approval, although that is what is mentioned in the letter.  This delay in support is to encourage clients to settle their payments on time. &lt;br /&gt;
&lt;br /&gt;
After the first week of each quarter of the year, NEOSYS Support Staff must respond to any support requests from overdue clients with the above letter but MUST NOT PROVIDE SUPPORT even after 4 working hours. Instead NEOSYS Support Staff must refer the support request to NEOSYS Support Manager. &lt;br /&gt;
&lt;br /&gt;
Managers may well instruct support to provide support on a case by case basis even if clients are on the overdue list. Being on the overdue list does not necessarily indicate a major issue with accounts.&lt;br /&gt;
&lt;br /&gt;
== Handling Frozen NEOSYS Installations and Databases ==&lt;br /&gt;
&lt;br /&gt;
Some clients retain fully operational NEOSYS installations or just particular databases even after they stop using them for some reason, either because they move to some other software, or because they terminate an operational division, or other reasons, and this can either be on NEOSYS or their own servers.&lt;br /&gt;
&lt;br /&gt;
In this case, various NEOSYS upgrade and maintenance processes may be suspended, downgraded or completely skipped especially if instant access to the server is no longer available. This does not mean that it should never be done, and pros and cons need to be assessed and documented in support emails on a case by case basis.&lt;br /&gt;
&lt;br /&gt;
*Upgrading NEOSYS version&lt;br /&gt;
*Upgrading/standardising NEOSYS database configuration and other files for consistency, security or other issues&lt;br /&gt;
*Patching Windows/IIS configuration for consistency, security or other issues&lt;br /&gt;
&lt;br /&gt;
== Handling Links and Email Attachments ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DO NOT TRUST ANY LINK OR ATTACHMENT IN ANY EMAIL EVEN FROM HIGHLY TRUSTED PEOPLE OR ORGANISATIONS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These days you can no longer trust links or attachments in emails from anybody - even emails from highly trusted people like your bank.&lt;br /&gt;
&lt;br /&gt;
If a personal computer or intermediate email server is hacked then even genuine emails sent out from it can be infected and modified in a hidden way that can result in the recipient being infected if they click or open anything in the email.&lt;br /&gt;
&lt;br /&gt;
Therefore you should know and understand how to avoid, as far as possible, getting tricked and infected via emails.&lt;br /&gt;
&lt;br /&gt;
Malware authors generally rely on the fact that most people devote no time at all to security precautions so a moderate cautious approach, slowing down a little to spending some time on security, even where it is apparently not required, is enough to defeat most attacks.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
The links in an email, even from someone you know and trust, can LIE to you about what website they will open and you may be taken to infected web sites that will attempt to infect your computer.&lt;br /&gt;
&lt;br /&gt;
WHAT LINK/WEBSITE WILL BE OPENED MAY NOT BE WHAT IS SAYS IN THE BODY OF YOUR EMAIL!&lt;br /&gt;
&lt;br /&gt;
Therefore, to use a link in any and all emails, first hover your cursor over it and check the bottom of the screen where you can usually see exactly what website will be opened, or, to be more sure exactly what web site you are opening do not click links in emails at all. COPY/PASTE THE LINK TO YOUR BROWSER&lt;br /&gt;
&lt;br /&gt;
Make sure you know and trust the web site being opened.&lt;br /&gt;
&lt;br /&gt;
#Carefully inspect the spelling of the domain name to avoid tricky look-alike fraudulent links eg hcsb.com instead of hsbc.com&lt;br /&gt;
#If you do not personally know the website then get independent confirmation from the sender. Reply to the email so that the sender can check the link you received has not been tampered with.&lt;br /&gt;
&lt;br /&gt;
=== Attachments ===&lt;br /&gt;
&lt;br /&gt;
There is no way to determine if an attachment, even from someone you know, has not been infected and is therefore dangerous. The only protection is to rely on anti-virus/anti-malware software in your computer.&lt;br /&gt;
&lt;br /&gt;
You can check the names and file types/extensions of attached files to spot any obviously strange or unexpected attachments but this is not very effective.&lt;br /&gt;
&lt;br /&gt;
Be careful that if there are a lot of attached files not to assume that all are safe because the majority are unsafe.&lt;br /&gt;
&lt;br /&gt;
== Avoid burdening email servers with excessive graphics ==&lt;br /&gt;
&lt;br /&gt;
Support MUST install the &amp;quot;Auto Resize Image&amp;quot; addon in Thunderbird to reduce the size of images in emails resulting in a significant reduction in email size. See [[Configuring_Thunderbird#Configure_Auto_Resize_Image| setting up auto resize image]] for details.&lt;br /&gt;
&lt;br /&gt;
It reduces the burden on NEOSYS and NEOSYS client&#039;s email servers. This is especially important on long conversations about subjects that include many screenshots, since for just a simple one line reply, the email can consume many MB of space. It massively wastes the email server space and makes backups massive and generally a total waste of resources and time.&lt;br /&gt;
&lt;br /&gt;
To be able to refer back to graphics in previous emails, add the SIZE column to your email program so that you can locate large emails with graphics rapidly without searching back one by one.&lt;br /&gt;
&lt;br /&gt;
==Client Communication Policies==&lt;br /&gt;
===Client Meeting Report Policy===&lt;br /&gt;
&lt;br /&gt;
After every Client meeting online or otherwise Support MUST send a Follow Up email to the Client which is open and fully informative and not brief, stating the events during the meet and any action required by either or both parties. The email to the client must not shrink from discussing contentious issues due to a false sense of politeness or timidity to address issues face on. Obviously one should not be rude but it is not rude to address issues openly.(cc Client managers and NEOSYS Managers)&lt;br /&gt;
&lt;br /&gt;
The follow up email MUST be sent within 24 hours of completion of the meeting so that the points discussed during the meeting are fresh in all the meeting participants&#039; minds. This means that reports for meetings on the day before the weekend MUST be sent on the SAME day.&lt;br /&gt;
&lt;br /&gt;
In addition to above email if there is some information that needs to be shared internally and cannot be said in public to the client then send a Client Meeting report to Support.&lt;br /&gt;
&lt;br /&gt;
===Follow Up of Support Issues===&lt;br /&gt;
&lt;br /&gt;
If emails requesting support become contentious then voice, phone call or chat is REQUIRED to save time. However, client support via phone call should be done only on local or low cost calls. High cost international calls should not be used except in extreme circumstances.&lt;br /&gt;
&lt;br /&gt;
All voice/chat communication MUST also be followed up with an email confirming at least the gist of the communication to keep the whole support team updated on the issue.&lt;br /&gt;
&lt;br /&gt;
If not possible to contact for any reason, then an email MUST be sent stating so and suggesting or requesting a time to connect.&lt;br /&gt;
&lt;br /&gt;
cc Client managers (and/or BCC NEOSYS Managers) MAY be done if thought to be useful and/or appropriate.&lt;br /&gt;
&lt;br /&gt;
==NEOSYS Support Response Time Policy==&lt;br /&gt;
&lt;br /&gt;
NEOSYS contracts, in the few cases where we have a written contract with the client, specifies that maximum response time is one business day generally and one business hour for complete stoppages of the system. Obviously we have to do far better than this in practice.&lt;br /&gt;
&lt;br /&gt;
Support staff must inform clients of the progress of the issue if it is not resolved the same day but only if they contact at least 1 hour before office closing.&lt;br /&gt;
&lt;br /&gt;
Deciding to wait on issues is fine (also refer to:  [[Procedures#Handling_users_who_do_not_act_upon_standard_messages|Response to standard messages]]), but support MUST at least spend up to 5 minutes on issues to see if they can be handled quickly.&lt;br /&gt;
&lt;br /&gt;
For routine requests for service where there is a reasonable expectation of delay by the client then no need to send rapid reply.&lt;br /&gt;
&lt;br /&gt;
==Handling errors discovered by support staff ==&lt;br /&gt;
{{Handling errors}}&lt;br /&gt;
&lt;br /&gt;
==Handling Cheques from Clients==&lt;br /&gt;
&lt;br /&gt;
NEOSYS staff are not to accept deliveries from clients that might be cheques without prior instructions to accept the same. They can ask courier to wait a few minutes until NEOSYS accounts or management agrees but they may not be available and probably will not agree anyway. NEOSYS payment terms do not accept cheques although clients are free to deposit cheques by themselves.&lt;br /&gt;
&lt;br /&gt;
== Client Password Policy ==&lt;br /&gt;
All client user passwords, including their initial one, are to be obtained via the user&#039;s email address using the password reminder/reset button on the login screen. [http://userwiki.neosys.com/index.php/Using_NEOSYS_Generally#What_is_NEOSYS_password_policy.3F  (NEOSYS password policy)]&lt;br /&gt;
&lt;br /&gt;
NEOSYS staff should never know users passwords therefore NEOSYS will not obtain and grant user passwords. The reason for this is that in the event that users lose their passwords to other people who then login unauthorised then suspicion could fall on the NEOSYS staff who know their password. &lt;br /&gt;
&lt;br /&gt;
All parties concerned, including client management, client users and NEOSYS support staff, benefit greatly from trusting that if something in a NEOSYS database is registered as having been done by a particular user then it was not in fact somehow done by NEOSYS support staff. Nothing should be done that would break such fundamental trust. To achieve this, NEOSYS support staff must never log in as particular users, never ask for users passwords and generally enforce the idea that all work logged as being done by users IS done by users.&lt;br /&gt;
&lt;br /&gt;
Very limited amounts of work by NEOSYS support staff either in person or remotely using teamviewer is acceptable while a user is logged as long as the user login was performed by the user themselves, the user is present and the user specifically agrees with the work being done.&lt;br /&gt;
&lt;br /&gt;
=== Support requests from ordinary client users ===&lt;br /&gt;
Any support requests concerning inability to obtain passwords will be forwarded to known skilled users on the client staff since this is the most efficient (not fastest) way to handle such issues.&lt;br /&gt;
&lt;br /&gt;
=== Support requests from senior client management ===&lt;br /&gt;
Any support requests concerning inability to obtain passwords by senior client management users shall be handled directly by NEOSYS support staff in any way convenient to resolve the issue in the quickest possible time rather than the most efficient.&lt;br /&gt;
&lt;br /&gt;
Bearing in mind that NEOSYS staff should never know user&#039;s passwords this will probably involve NEOSYS staff using the Password Reminder/Reset button to send a new password to the user.&lt;br /&gt;
&lt;br /&gt;
=== User Defined Passwords ===&lt;br /&gt;
NEOSYS will provide user defined passwords in very special cases which must be pre-approved case by case by NEOSYS management. NEOSYS will not approve this due to the reasons mentioned [[Procedures#Client_Password_Policy|here]].&lt;br /&gt;
&lt;br /&gt;
If the user login gets blocked due to multiple login failures and the user requests support team to reset the password to the user defined password again, support MUST delay the response to this request by at least 1 hour in order to force the user to be more careful when typing the password.&lt;br /&gt;
&lt;br /&gt;
Currently permission for user defined password has only been granted to one NEOSYS client with several hundreds of databases.&lt;br /&gt;
&lt;br /&gt;
== Handling client issues and requests==&lt;br /&gt;
&lt;br /&gt;
All support issues must be dealt with through phone/email/chat. Support Staff can schedule client visits for User Training but should not schedule client visits solely for providing support for petty issues.&lt;br /&gt;
&lt;br /&gt;
ALL Support staff should check the all the previous day&#039;s inbound emails for reply flags once in the morning. All Support staff will therefore be held responsible for any unreplied inbound email.&lt;br /&gt;
&lt;br /&gt;
Support staff should NOT waste time and delay support by investigating issues WITHOUT having sufficient information.&lt;br /&gt;
&lt;br /&gt;
Support staff should look for similar issues when solving a particular problem to avoid similar issues in future. This saves the time and energy of Support as well as the Client.&lt;br /&gt;
&lt;br /&gt;
When sending screenshots to clients, support team should economise on space by minimising to the minimum that will show the problem clearly. This is because not every user will be viewing their emails on large wide screens like NEOSYS support team. Browser windows reformat their contents to suit the width available so this is particularly effective in most NEOSYS screens.&lt;br /&gt;
&lt;br /&gt;
Support team MUST be cautious while sending screenshots so that no private/unnecessary information is sent to Client. If you cant avoid taking the screenshot without unnecessary information then you should hide it in the screenshot.&lt;br /&gt;
&lt;br /&gt;
=== Handling new emails in Support inbox===&lt;br /&gt;
Support MUST spend up to 5 minutes on new emails and send a quick reply to the client, to acknowledge the request or give a quick solution in case its a petty issue or has a documented solution in wiki. This should probably be done on priority, interrupting existing work and not wait for one hour and be dealt with quickly.&lt;br /&gt;
&lt;br /&gt;
For routine service requests where there is a reasonable expectation of delay by the client, Support does not need to send a rapid reply.&lt;br /&gt;
&lt;br /&gt;
=== Handling login failure issues===&lt;br /&gt;
&lt;br /&gt;
Users often get login failure issues due to typing wrong password and they simply won&#039;t read and act according to the error message they get. In this case, Support must send the below email to the user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Dear XYZ,&lt;br /&gt;
&lt;br /&gt;
If you have trouble resetting password, please ask for assistance from your manager/IT Manager/Timesheet Administrator/NEOSYS-expert colleague.&lt;br /&gt;
&lt;br /&gt;
Regards,&lt;br /&gt;
NEOSYS Support&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Local support users (TA or IT manager etc) have the LS key using which they can see the User Details page of all users. They should check all the information (usercode, registered email id, last login attempts etc) in the User Details page to find out what is the issue.&lt;br /&gt;
&lt;br /&gt;
This procedure will reduce the endless mails sent back and forth to solve petty issues which could easily be solved by the client&#039;s local support.&lt;br /&gt;
&lt;br /&gt;
=== Handling requests or demands for &amp;quot;URGENT&amp;quot; or &amp;quot;PRIORITY&amp;quot; support ===&lt;br /&gt;
&lt;br /&gt;
Any request for prioritised action *without giving any reason for the prioritisation* should be disregarded and the request handled with normal priority. If a reason is given then you may at your discretion prioritise a response but there is no obligation to do so.&lt;br /&gt;
&lt;br /&gt;
=== Handling users who login with other people&#039;s NEOSYS usercodes ===&lt;br /&gt;
This can cause a lot of confusion in both the client and NEOSYS support. It may also indicate that the correct NEOSYS monthly licensing fee is not being paid. There is no valid reason for anonymous logins or sharing logins between multiple users.&lt;br /&gt;
&lt;br /&gt;
Therefore if NEOSYS support team get requests for support about using NEOSYS from users who are not registered properly in NEOSYS with an personally identifiable user code, name and email then the following email should be sent cc admin@neosys.com.&lt;br /&gt;
&lt;br /&gt;
No exception should be granted to clients without NEOSYS management approval.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Dear NEOSYSUSER,&lt;br /&gt;
&lt;br /&gt;
Please note that in order to receive support from NEOSYS you must personally have an identifiable user code, name and email address registered&lt;br /&gt;
in NEOSYS.&lt;br /&gt;
&lt;br /&gt;
We can create new user account for you with your management approval. This may or may not have an impact on the NEOSYS monthly licensing fee &lt;br /&gt;
depending on the agreement in force.&lt;br /&gt;
&lt;br /&gt;
Please let us know what you would like us to do.&lt;br /&gt;
&lt;br /&gt;
Best Regards,&lt;br /&gt;
NEOSYS Support&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Handling emails with unrelated subject line ===&lt;br /&gt;
At times, clients forward old emails, with new issues, resulting in completely unrelated subject line. In such situations, support should create a new email, copy the new issue from the old email and paste it into the new email. This way, unrelated emails will not appear in the same conversation group when viewing emails in conversation mode.&lt;br /&gt;
&lt;br /&gt;
In the new email, include a comment like &amp;quot;PS Please don&#039;t forward old emails for new issues, start a new email with a new subject so that emails can be traced easily.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Sometimes the client does not bother putting the correct subject line for new issues (eg. blank subject, or &amp;quot;Error&amp;quot;). Then support should add a meaningful subject line in order to make the email easy to search for.&lt;br /&gt;
&lt;br /&gt;
=== Handling emails with poor screenshots ===&lt;br /&gt;
Sometimes Thunderbird shows full sized screenshots in a compact format that is not easy to read. These can be resized to make them more legible. To do this, make the email editable by hitting the &amp;quot;Reply&amp;quot; button, then click and drag to resize the screenshot as desired.&lt;br /&gt;
&lt;br /&gt;
If the screenshot sent by the user is genuinely small and hard to read, reply to the mail and request for a full size, clear screenshot.&lt;br /&gt;
&lt;br /&gt;
=== Handling support-request emails sent to anywhere than support@neosys.com ===&lt;br /&gt;
Client emails anywhere than support@neosys.com MUST be ignored. This is because ALL support must be recorded in support inbox without exception so that the whole support team is aware of the issue and action taken. If client complains about the delay in support then they can be told this is because they used the wrong email address.&lt;br /&gt;
&lt;br /&gt;
=== Handling users who do not act upon standard messages ===&lt;br /&gt;
When users do not bother to read and act on standard NEOSYS-generated messages and instead ask for help, Support staff MUST delay response time and thereafter send them an email which is the same as the message so they get the point that in future they should read the messages and handle issues themselves.&lt;br /&gt;
&lt;br /&gt;
=== Handling Requests to do Client work ===&lt;br /&gt;
NEOSYS Support staff must not agree or offer to do work on behalf of the client. &lt;br /&gt;
&lt;br /&gt;
This is because doing client work while logged in as NEOSYS breaks security rules. Support uses the NEOSYS username which has unrestricted access, so when a user requests Support to do some work which they don’t have access to, and if Support agrees to do the work, the client has successfully defeated the security rules by accessing features that they are unauthorized to access.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requests for colour and font changes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Support should not be spending lots of time on colour and font changes. Clients can make as many changes as they want until they are happy with a selection. Clients MUST send screenshot of their required color/font settings (not sample screen/reports) for Support to copy and setup for all users. If Support sees them doing something bad or poor then give comments or better suggestions.&lt;br /&gt;
&lt;br /&gt;
=== Handling Requests that require Approval from Higher Authority ===&lt;br /&gt;
&lt;br /&gt;
The following is a list of user requests that must be handled by NEOSYS support staff only if they are approved by or come from a higher authority (manager/admin). The LIST is &#039;&#039;&#039;NOT&#039;&#039;&#039; a complete list so there may be other things which might require approval so use good judgement and/or ASK if in doubt.&lt;br /&gt;
&lt;br /&gt;
*Opening new financial year&lt;br /&gt;
*Adding new company/dataset&lt;br /&gt;
*Editing alert/backup email receiver addresses&lt;br /&gt;
*Customising Authorisation File&lt;br /&gt;
**Adding or removing accesses for existing users in Authorisation file&lt;br /&gt;
**Adding new user(s) to Authorisation file&lt;br /&gt;
**Expiring a user&lt;br /&gt;
**[[Procedures#For_HTTPS_access| Allowing HTTPS/outside office access from any IP number]]&lt;br /&gt;
&lt;br /&gt;
If an unauthorized user sends one of these requests to support staff, support staff must immediately instruct the user to get the request approved by the higher authority.&lt;br /&gt;
&lt;br /&gt;
===Handling User Requests to add an IP or range of IPs to access NEOSYS===&lt;br /&gt;
Support staff must identify if the IP or range of IPs is for http or https access.&lt;br /&gt;
&lt;br /&gt;
====For HTTP access====&lt;br /&gt;
Support staff can add local IP or range of local IPs when requested by the client. Top management approval is not needed to add local IP numbers. Listed below are the IP address ranges reserved for local network.&lt;br /&gt;
&lt;br /&gt;
10.0.0.0 – 10.255.255.255&lt;br /&gt;
&lt;br /&gt;
172.16.0.0 – 172.31.255.255&lt;br /&gt;
&lt;br /&gt;
192.168.0.0 – 192.168.255.255&lt;br /&gt;
&lt;br /&gt;
====For HTTPS access====&lt;br /&gt;
&lt;br /&gt;
Any request for https access with no IP restrictions, or in other words any use of an asterisk in the IP restrictions (eg. 123.456.* or just *), MUST have TOP management i.e. the company&#039;s decision makers approval. The Staff and their Managers are not the best decision makers in this affair because they usually ignore the risks and it is not really their decision. Security threats like access of data by unauthorized persons or ex-employees, malicious hacking attempts etc can be triggered if access from any IP is enabled. It is completely pointless to inform the staff who want the access about these risks because only their top managers could really decide that this is NOT going to be allowed. Hence the Top Management MUST be asked for approvals and at the same time WARN them about the security risks/threats behind the no IP restrictions. &lt;br /&gt;
&lt;br /&gt;
Support MUST also mention that installation of VPN by the Company is the industry standard way of providing access to mobile staff (i.e those on dynamic IP numbers from home or travelling) to corporate software assets like NEOSYS IN A SECURE MANNER. Installation of VPN is to be done by their own IT support.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Sample Email:&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Dear XXX,&lt;br /&gt;
 &lt;br /&gt;
 I do not recommend allowing access from all IPs because security threats like access of data by unauthorized persons or ex-employees,   malicious hacking attempts etc can be triggered if access from any IP is enabled.&lt;br /&gt;
&lt;br /&gt;
 I strongly recommend that you keep IP restrictions for XYZ dataset.&lt;br /&gt;
  &lt;br /&gt;
 If you want to provide access to mobile staff (i.e those on dynamic IP numbers from home or traveling) to corporate software assets like NEOSYS IN A SECURE MANNER, then installation of VPN is the industry standard of achieving this. Installation of VPN is to be done by your own IT support. &lt;br /&gt;
 &lt;br /&gt;
 If you still wish to allow access from all IPs, kindly confirm that you acknowledge the security threats of doing so. &lt;br /&gt;
  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Handling requests to create a new feature or modifying existing features ===&lt;br /&gt;
&lt;br /&gt;
Many issues are small and not important but can still be considered for development because they may be easy and neatly added to NEOSYS. The aim here is to avoid development on hard issues for little benefit, or little issues that make NEOSYS more complex for little benefit.&lt;br /&gt;
&lt;br /&gt;
Any request to create a new feature or modify an existing feature MUST be discussed with other clients before forwarding it to the programmer because the other clients might not be comfortable with the change as it may not be in accordance with their workflow. If other clients agree to the proposed change then support should go ahead and request the programmer to implement it.&lt;br /&gt;
&lt;br /&gt;
A workaround must be given to the user, which is either a permanent solution, for example if the issue is a rare case and not commonly faced by other clients (and the workaround is acceptable to the client), or a temporary solution until some better solution is discovered or can be developed.&lt;br /&gt;
&lt;br /&gt;
Therefore before escalating a request to the programmer to modify a feature in NEOSYS, the approval for the same from other clients must be taken into account.&lt;br /&gt;
&lt;br /&gt;
=== Updating Clients about unresolved issues ===&lt;br /&gt;
Support should proactively inform clients if an issue is not solved within the same day it was raised, after judging the urgency of the issue and the time it was raised. An email to the client who raised the issue, before the end of each day, is a best practice that keeps the client updated and other support staff too. This email should be sent regardless of the degree to which the issue has been resolved or if the issue is unresolved. If the issue is unresolved, the email should explain why and also explain the cause of delay.&lt;br /&gt;
&lt;br /&gt;
=== Handling new USER creation ===&lt;br /&gt;
Support staff should create new USERS for clients ONLY when requested by an authorised person.&lt;br /&gt;
&lt;br /&gt;
If the request comes from an unauthorised person, then support MUST reply to the same person informing them that this request must come from an authorised person. Support MUST NOT directly contact the authorised person asking for approval/confirmation because that is client work.&lt;br /&gt;
&lt;br /&gt;
Clients should not be discouraged to create new users. Clients are billed as per user usage which is reviewed periodically. Over time old USERS are replaced with new USERS.&lt;br /&gt;
&lt;br /&gt;
The USER code is the first name of a user.&lt;br /&gt;
&lt;br /&gt;
Support team MUST NOT discuss billings with clients unless authorised to do so. &lt;br /&gt;
&lt;br /&gt;
Support team MUST NOT proceed with creating new users until the following details have been clearly provided by the client, otherwise the user may end up with more than the required authorisation, which can lead to problems in future.&lt;br /&gt;
&lt;br /&gt;
New user requirements :-&lt;br /&gt;
*Full name&lt;br /&gt;
*Email address&lt;br /&gt;
*Group level / User with similar authorisation&lt;br /&gt;
&lt;br /&gt;
=== Handling letterhead change requests ===&lt;br /&gt;
&lt;br /&gt;
Support staff should reject any requests that requires the letterhead to be setup on the TESTING dataset before it is setup in the MAIN dataset.This is to reduce double work for support staff and to ensure that clients have a clear understanding of their requirements and also send the correct logo image.&lt;br /&gt;
The MAIN dataset can be copied to the TEST dataset for any kind of testing.&lt;br /&gt;
&lt;br /&gt;
See [http://userwiki.neosys.com/index.php/Configuring_Letterhead#Changing_the_letterhead_for_printed_documents How to change letterhead]&lt;br /&gt;
&lt;br /&gt;
=== Handling error messages ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; Before Attempting to resolve client issues, please ensure that we have secure access to the NEOSYS server.&lt;br /&gt;
&lt;br /&gt;
#The very first step is understanding client problem. Ask questions to the client until you CLEARLY understand the problem.&lt;br /&gt;
#If the error is familiar and does not require a screenshot, resolve the problem immediately.&lt;br /&gt;
#If the error is unfamiliar and/or requires a screenshot and the user has not sent a screenshot, IMMEDIATELY ask the user to send a screenshot of the problem, along with the options used (basically you need to know HOW to replicate the error and the screenshot MUST show WHAT the error is).&lt;br /&gt;
#If the user says &amp;quot;nothing happens, so no screenshot of the error&amp;quot;, then IMMEDIATELY request for screenshots again with the exact steps to reproduce the problem using mouse and keyboard.&lt;br /&gt;
#Upon receipt of the error and steps to reproduce the error, follow the steps and reproduce the error.&lt;br /&gt;
#If the issue is unknown or you don’t understand it clearly, with the users acknowledgement use remote support to gain access to the users desktop to view how to replicate the error.&lt;br /&gt;
{{Handling errors}}&lt;br /&gt;
&lt;br /&gt;
=== Addressing Technical support emails ===&lt;br /&gt;
&lt;br /&gt;
In the case of technical support issues, address emails to the IT person and cc the complete group of recipients of backup emails and other NEOSYS alert emails. This allows both NEOSYS and client IT staff to take credit for resolving issues that NEOSYS raises instead of working in the background unacknowledged.&lt;br /&gt;
&lt;br /&gt;
Technical support issues include backup failure, server failure, missing alert email, server connectivity issues and port forwarding issues and many other issues.&lt;br /&gt;
&lt;br /&gt;
For technical issues like browser configuration, clear cache, etc. support must send the user a link to the appropriate wiki article to help the user fix the problem. In some cases the user may be helpless and unable to follow the steps to fix the problem. In such cases, support MUST NOT waste time trying to help the user fix the problem, instead support MUST ask the user to get help from the IT person.&lt;br /&gt;
&lt;br /&gt;
=== Acceptable report format when handling issues in NEOSYS reports ===&lt;br /&gt;
&lt;br /&gt;
NEOSYS Support must only resolve issues in NEOSYS output first. This is because only NEOSYS outputs can be trusted and user versions in Excel or PDF could be copied wrongly or edited by the user.&lt;br /&gt;
&lt;br /&gt;
In case users send reports in excel or other formats, get them to send the original NEOSYS HTML report as an attachment or copy-pasted in email.&lt;br /&gt;
&lt;br /&gt;
=== Handling requests to create new charts or control accounts===&lt;br /&gt;
&lt;br /&gt;
[http://userwiki.neosys.com/index.php/Setting_up_and_Configuring_NEOSYS_Finance_System#Creating_New_Charts_or_Control_Accounts Refer here]&lt;br /&gt;
&lt;br /&gt;
=== Handling issues with totals on reports ===&lt;br /&gt;
&lt;br /&gt;
If a client has a problem with any total output by NEOSYS software then NEOSYS support will advise them which other NEOSYS report or reports provide a complete breakdown of the total (if necessary, to individual transactions) and ask the client to locate any offending transactions themselves.&lt;br /&gt;
&lt;br /&gt;
NEOSYS support staff will handle any issues where the total on the breakdown report does not add up to the total on the summary report.&lt;br /&gt;
&lt;br /&gt;
Reconciling totals can be hard if there are many transactions involved. Regardless of how hard it may be, reconciliation is an operational task for users not for support staff since NEOSYS support staff will not get involved in understanding client transactions or data.&lt;br /&gt;
&lt;br /&gt;
==== Trial Balance and Financial Statements ====&lt;br /&gt;
&lt;br /&gt;
NEOSYS support staff do not have to prove or trace any figures in NEOSYS Trial Balance Reports or any financial reports. If a figure is stated to be wrong by the user, then NEOSYS support staff should ask for proof or say NEOSYS is confident that the figures are correct unless proved otherwise. &lt;br /&gt;
&lt;br /&gt;
NEOSYS support staff should point out reports in NEOSYS which will support the figures in question but not actually run the reports. Support staff can suggest the users to refer to detailed ledger accounts to prove balances.&lt;br /&gt;
&lt;br /&gt;
==Handling issues with Office PBX phones==&lt;br /&gt;
&lt;br /&gt;
Support should check their respective Office PBX phones every morning to find out if the phone is up and working. In case Support finds any issue with their phone, immediately fix it so that clients do not lose contact with the  Support team via phone. Next send an email to Support inbox mentioning the fault, cause and solution for records/future prevention.&lt;br /&gt;
&lt;br /&gt;
==Configuring Browsers to show Javascript errors in NEOSYS==&lt;br /&gt;
NEOSYS Support MUST ensure the following Settings for browsers because if NEOSYS generates any javascript error message, the same would appear in the bottom left corner of a window, which in turn helps the programmer to fix the error. This must be done after every Factory Reset.&lt;br /&gt;
&lt;br /&gt;
===Internet Explorer===&lt;br /&gt;
Tools &amp;gt; Internet Options &amp;gt; Advanced &amp;gt; Browsing - the items Disable script debugging (Internet Explorer) and Disable script debugging (Other) are &#039;&#039;&#039;UNTICKED&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
===Chrome=== &lt;br /&gt;
Chrome Menu &amp;gt; More Tools &amp;gt; Extensions &amp;gt; Get More Extensions, search for &#039;&#039;&#039;Javascript Errors Notifier&#039;&#039;&#039;. Add the extension to Chrome.&lt;br /&gt;
&lt;br /&gt;
[[image:Chrome.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Chrome1.png]]&lt;br /&gt;
===Firefox===&lt;br /&gt;
Firebug add-on is used to NOTIFY about script errors because we have no other method to get any warning on screen but you should use the main firefox developer tools to investigate any errors as firebug is essentially replaced by built in developer tools. &lt;br /&gt;
&lt;br /&gt;
For developer tools, go to Tools &amp;gt; Web Console&lt;br /&gt;
&lt;br /&gt;
To enable notifications for script errors, download the add-on Firebug from [https://addons.mozilla.org/en-US/firefox/addon/firebug/ here]. When a Javascript error is encountered, the firebug icon will report the number of errors. Set your firebug as per the second screen shot and select &amp;quot;Enable All Panels&amp;quot; as well, the tick will not appear like the other options but the option will get selected. If you miss out on any one of these steps, you will not be able to capture script errors.&lt;br /&gt;
&lt;br /&gt;
[[file:firebug1.jpg|1200px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Firebug.png]]&lt;br /&gt;
&lt;br /&gt;
==Handling Browser related issues in NEOSYS==&lt;br /&gt;
See [http://techwiki.neosys.com/index.php/Technical_/_Hardware_requirements#NEOSYS_Software_Browser_and_OS_Requirements NEOSYS browser requirements]&lt;br /&gt;
&lt;br /&gt;
Clients frequently ask [http://userwiki.neosys.com/index.php/General_FAQ#Why_doesnt_NEOSYS_support_my_XYZ_browser.3F Why NEOSYS doesn&#039;t support other browsers] &lt;br /&gt;
&lt;br /&gt;
To avoid browser errors, all new users must follow the steps given in [http://userwiki.neosys.com/index.php/Using_NEOSYS_Generally#Getting_started_with_NEOSYS Getting started with NEOSYS] before logging in to NEOSYS for the first time.&lt;br /&gt;
&lt;br /&gt;
To troubleshoot browser related errors see [http://userwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Troubleshooting_Web_Browsers Troubleshooting Web Browsers]&lt;br /&gt;
&lt;br /&gt;
Users must clear browser cache after every NEOSYS Upgrade to avoid errors. See [http://techwiki.neosys.com/index.php/Upgrading_NEOSYS#Sample_email_to_be_sent_to_clients_who_face_issues_due_to_failure_in_clearing_browser_cache Sample email to clients who face issues due to failure in clearing browser cache]&lt;br /&gt;
&lt;br /&gt;
Pop-up blockers and any 3rd party toolbars must be deactivated/switched off or else certain pages and alert messages while using NEOSYS do not appear as a result of blocking from either the pop-up blocker or toolbars with built-in pop-up blockers. &lt;br /&gt;
&lt;br /&gt;
NEOSYS support must ask users to Reset browser (See [http://userwiki.neosys.com/index.php/Reset_Browser Reset browser]) if they notice any user browsers which have pop-up blockers or 3rd party toolbars installed.&lt;br /&gt;
&lt;br /&gt;
== Handling NEOSYS Upgrade==&lt;br /&gt;
See [http://techwiki.neosys.com/index.php/Upgrading_NEOSYS Upgrading NEOSYS]&lt;br /&gt;
&lt;br /&gt;
== Using Support Tools ==&lt;br /&gt;
=== Website Live Support ===&lt;br /&gt;
www.neosys.com is equipped with a Live Support software and clients can visit the website, click on this link and chat with any of our support staff, without the need for any installation. The client has to fill in their name and enter their questions to connect to an available support personnel. During non-working hours, the Live Support icon on the website automatically displays &amp;quot;offline&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
NEOSYS Support personnel who are authorised to provide such support, need to login to Live helper chat in Firefox using the link given below:&lt;br /&gt;
&lt;br /&gt;
 http://neosys.com/lhc/lhc_web/index.php/site_admin&lt;br /&gt;
&lt;br /&gt;
Support personnel should enter the account details as provided by their Manager.&lt;br /&gt;
&lt;br /&gt;
Enable notifications for Live helper chat so that whenever there is a visitor trying to contact Support team, the Support personnel will get the notifications on his screen. Set the Live helper chat login page as your home page in firefox.&lt;br /&gt;
&lt;br /&gt;
Use the link below to enable notifications:&lt;br /&gt;
&lt;br /&gt;
 http://neosys.com/lhc/lhc_web/index.php/site_admin/chat/listchatconfig&lt;br /&gt;
&lt;br /&gt;
After setting up Live helper chat if you sign in to a new profile in firefox, you might have to re enable the notifications after your firefox is synced to the new profile.&lt;br /&gt;
&lt;br /&gt;
=== Teamviewer ===&lt;br /&gt;
Since Teamviewer allows no restriction on access once a fixed pass is installed, Support must not install fixed pass on teamviewer however convenient it might be.&lt;br /&gt;
&lt;br /&gt;
RULE: NO FIXED PASS TO BE INSTALLED ON TEAMVIEWER IN ANY NEOSYS OR NEOSYS CLIENT COMPUTER&lt;br /&gt;
&lt;br /&gt;
Running teamviewer live from a web link is fine because it does not allow installation of a permanent password&lt;br /&gt;
&lt;br /&gt;
For certain tasks that require temporary install of Teamviewer on the client servers (e.g. upgrading Cygwin remotely), use Teamviewer 7 on the server as well as Support staff computer. Contact NEOSYS IT for commercial license of Teamviewer 7. Teamviewer MUST be uninstalled after usage, otherwise it creates an additional unnecessary security risk.&lt;br /&gt;
&lt;br /&gt;
To support client users who use the latest version of Teamviewer, support staff must also install the latest Teamviewer version available alongside Teamviewer 7.&lt;br /&gt;
&lt;br /&gt;
== Documenting Processes in Wiki ==&lt;br /&gt;
NEOSYS Support staff must be in continual learning mode. This is mandatory for support staff and is not an option. Support must read, learn and understand everything in the support emails and ask questions if they don&#039;t understand. This understanding must be transferred into wiki in the form of new articles and improvements to existing articles.&lt;br /&gt;
&lt;br /&gt;
For all articles related to formatting and editing in Wiki, see [http://itwiki.neosys.com/index.php/Documenting_NEOSYS_systems Documenting NEOSYS systems]&lt;br /&gt;
&lt;br /&gt;
===Avoiding duplication of text in wiki===&lt;br /&gt;
&lt;br /&gt;
Duplication of text in wiki is to be avoided almost at any cost. Duplication has the problem that when one copy is changed or improved in future then it is highly likely the editor will fail to update the other copy or copies and wiki will over time become an inconsistent mess.&lt;br /&gt;
&lt;br /&gt;
There are several ways to avoid duplication:&lt;br /&gt;
&lt;br /&gt;
#Two or more procedures which have significant areas of duplication can be rewritten as a single procedure with alternatives in the middle of the procedure&lt;br /&gt;
#Wiki Templates- Templates reproduce the same text in all places and editing one place edits all places. See [[How to create templates in wiki]]&lt;br /&gt;
#Wiki links- Only put the text in one place and put links to that in all the other places that it is appropriate.&lt;br /&gt;
#Place a note in all copies something to the effect that &amp;quot;This is similar to x, y and z&amp;quot;. This alerts any future editor of all other places in wiki that might also have to be updated.&lt;br /&gt;
&lt;br /&gt;
Future modifications in one place may or may not be appropriate to other places. The editor must decide whether to change one or all places&lt;br /&gt;
&lt;br /&gt;
===Highlighting information in wiki===&lt;br /&gt;
&lt;br /&gt;
To highlight particular instructions or info in wiki do NOT invent new styles which are not the way the rest of wiki is done. Instead, follow the USUAL STYLE or open a DISCUSSION with any recommendations you have BEFORE USING THEM.&lt;br /&gt;
&lt;br /&gt;
Instead of using various kinds of highlighting styles like bolding and words like &amp;quot;Note:&amp;quot;, use the following words IN CAPITALS especially the word MUST.&lt;br /&gt;
&lt;br /&gt;
The use of the following words IN CAPITALS indicates that you are using them in a special way with formally defined meaning as explained below. Use of the words in lower case indicates that you are using the word in an ordinary commonsense meaning.&lt;br /&gt;
&lt;br /&gt;
*MAY - means optional&lt;br /&gt;
*SHOULD - means recommended and you need GOOD reason (not just any weak excuse) to not follow to follow this recommendation&lt;br /&gt;
*MUST - mandatory&lt;br /&gt;
&lt;br /&gt;
Only in the rare cases where the consequences of doing or not doing something are irreversible or take a lot of work to reverse then you can use your own additional highlighting methods, eg ALL CAPS, stars, color red etc.&lt;br /&gt;
&lt;br /&gt;
==== Explain WHY ====&lt;br /&gt;
&lt;br /&gt;
Any sentence which uses the word &amp;quot;MUST&amp;quot; in capitals, MUST be followed by a SPECIFIC REASON explaining exactly why is the instruction is mandatory; the reason MUST not be vague and non-specific meaning no more than &amp;quot;or bad things will happen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 WRONG way: You MUST also delete ads if deleting schedules.&lt;br /&gt;
&lt;br /&gt;
 WRONG way: You MUST also delete ads if deleting schedules otherwise it will cause problems in future.&lt;br /&gt;
&lt;br /&gt;
 CORRECT way: You MUST also delete ads if deleting schedules otherwise the deleted schedules&#039; ads will still show in all media-diary like reports and screens&lt;br /&gt;
&lt;br /&gt;
The Wrong way above gives a general reason &amp;quot;it will cause problems in future&amp;quot; which is vague and a reader may even go ahead and ignore &amp;quot;MUST&amp;quot; because there is no objective or proper side effect mentioned for not following the MUST statement. Basically he doesn&#039;t understand the point behind following a certain rule. &lt;br /&gt;
&lt;br /&gt;
Whereas the Correct way gives a SPECIFIC reason for &amp;quot;deleting ads while deleting schedules&amp;quot;, so reader will exactly know the trouble that will be caused if ads are not deleted. Therefore &amp;quot;SPECIFIC REASON&amp;quot; behind using the word MUST must be to the point and very informative.&lt;br /&gt;
&lt;br /&gt;
==== Why explain WHY ====&lt;br /&gt;
The information contained in the WHY phrase is often &#039;&#039;&#039;extremely informative&#039;&#039;&#039; to the reader about things that you may otherwise not have considered saying.&lt;br /&gt;
&lt;br /&gt;
The most valuable information is usually contained in the &amp;quot;WHY&amp;quot; of something. There is an apocryphal story of a company where managers could be fired if they gave instructions to their staff without providing explanation. In almost all cases it is better for the efficiency of a team of people that any instructions they follow contain the &amp;quot;WHY&amp;quot; of something. Only in few cases should staff be expected to follow instructions without being well or fully informed.&lt;br /&gt;
&lt;br /&gt;
== Use of personal email addresses by NEOSYS support staff ==&lt;br /&gt;
&lt;br /&gt;
NEOSYS support staff MUST NOT use any personal email addresses for NEOSYS business. &lt;br /&gt;
&lt;br /&gt;
The xxxx.neosys@gmail.com addresses that are created by support staff for themselves on joining are also considered personal email addresses and must not be used for NEOSYS business. These email addresses might be linked to NEOSYS wiki accounts but that doesn&#039;t matter because wiki is not confidential.&lt;br /&gt;
&lt;br /&gt;
== Accessing NEOSYS accounts on personal devices ==&lt;br /&gt;
&lt;br /&gt;
NEOSYS staff MUST NOT install NEOSYS accounts on skype/dropbox/gmail (or any other external tool) on their personal devices without written permission from NEOSYS management&lt;br /&gt;
&lt;br /&gt;
== Support Staff work-in-progress documents/files ==&lt;br /&gt;
&lt;br /&gt;
Support Staff must not save working files hidden on their computer. Work that is not visible is not work .&lt;br /&gt;
Support work should not be done privately and should be shared to all.&lt;br /&gt;
&lt;br /&gt;
ALL personal working files however trivial MUST be stored in Dropbox and MUST NOT be stored anywhere in personal computer (My Documents/Desktop etc.)&lt;br /&gt;
&lt;br /&gt;
The personal encrypted pass file MUST be stored somewhere in personal folder under SB NEOSYS staff in Dropbox. This is because if there is a loss of OS/Computer, it should not lead to loss of access as all the passwords saved in the file will be lost.&lt;br /&gt;
&lt;br /&gt;
== Handling CLIENT/NEOSYS Servers ==&lt;br /&gt;
&lt;br /&gt;
NEOSYS support staff must exercise extreme caution when working on CLIENT and NEOSYS servers. Do not risk making changes without due care and attention to the fact that the consequences of errors can be serious on working production servers.&lt;br /&gt;
&lt;br /&gt;
=== Handling Javascript Files in NEOSYS ===&lt;br /&gt;
&lt;br /&gt;
All the files in NEOSYS installation folder with .JS and .JSE extension are the executable javascript files which startup NEOSYS processes (in a usual DOS window). Their default program is &#039;Microsoft Windows Based Script Host&#039; (wscript.exe). If a JavaScript file is opened using a notepad, the default program may change to notepad resulting in all NEOSYS processes to open up in a notepad.&lt;br /&gt;
&lt;br /&gt;
Hence be very CAREFUL when accessing a .JS and .JSE file and double check that the default program remains wscript.exe. Refer to [[Troubleshooting_NEOSYS_Generally#Fixing &#039;NEOSYS process which opens up in a notepad instead of Microsoft Windows Based Script Host (i.e. DOS window)&#039;|Fixing NEOSYS process which opens up in a notepad instead of Microsoft Windows Based Script Host]] in case this issue comes up.&lt;br /&gt;
&lt;br /&gt;
== Handling Nagios Client Monitoring system ==&lt;br /&gt;
&lt;br /&gt;
NEOSYS support staff on duty has to follow the below outlined procedures in case of any Nagios items showing a critical or warning message for any service. Failure to schedule appropriate downtime will lead to REDUNDANT ALERTS from NAGIOS every hour.&lt;br /&gt;
 &lt;br /&gt;
# Nagios is required to be checked first thing in the morning and any critical or warning messages need to be dealt with to resolve the same at the earliest. &lt;br /&gt;
# Some of the messages could be related to backup failures and the usual procedure as stated in [[Backup_and_Restore#Handling_failure_and_warning_messages_on_nightly_backup_alerts|Handling failure and warning messages on nightly backup alerts]] needs to be followed. In case the backup issue isn&#039;t resolved by 9:30 am, the Nagios service needs to be scheduled with downtime for a minimum of 2 hours and maximum until 1 am next day if the issue cannot be solved. &lt;br /&gt;
# In case any HTTPS, SSH, PING service or Host is down, immediate action is required and the relevant IT people at the client side needs to be contacted to get this resolved. A downtime of 2 hours is required to be scheduled with further intervals of 2 hours incase this is not resolved. Support staff shouldn&#039;t schedule downtime till 1 am next day, just to get rid of the alerts for the day. Proactive follow up with the client is required to get this resolved before the business day - more so, if there is a weekend ahead.&lt;br /&gt;
# In case the HTTPS, SSH, PING service or Host goes down during the day, a grace period of 20 minutes is given before the issue is reported to the client IT. This helps incase there is any temporary internet connection issue at the client or along the internet route.&lt;br /&gt;
# In case of &amp;quot;Backup not changed&amp;quot; warning status which occurs if the client has not interchanged the USB before 12 noon on that day, no action is required from the support staff and a downtime until 1 am next day needs to be scheduled.&lt;br /&gt;
# In case the HTTPS, SSH PING service or Host is down for more than 1 day, client IT should acknowledge the problem and give NEOSYS support staff an approximate time frame before which the issue will be resolved. Set an appropriate downtime for such events.&lt;br /&gt;
# In case Host is down for more than 2 days and there is no progress with the fix from client IT, the client management should be notified about the seriousness of not having access to server and their acknowledgement is mandatory.&lt;br /&gt;
#Support should check Nagios quite frequently during the day to look for any new alerts so that issues are fixed as soon as possible.&lt;br /&gt;
&lt;br /&gt;
== Handling lack of remote access to NEOSYS server located in client’s premises ==&lt;br /&gt;
&lt;br /&gt;
If access to the NEOSYS server is lost then we must determine the root cause by: &lt;br /&gt;
# Checking if the server is UP and running&lt;br /&gt;
# If yes, please check internet connectivity on the server&lt;br /&gt;
# If there is connectivity, please check the router for connectivity issues&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sample Response:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Dear XYZ,&lt;br /&gt;
&lt;br /&gt;
Please note that we have currently lost access to the NEOSYS server. The server seems to be down at the moment and it seems that &lt;br /&gt;
NEOSYS processes are not running on the server.&lt;br /&gt;
Kindly check if the server is UP and running. If yes, please check internet connectivity on the server.&lt;br /&gt;
Do keep us posted on the server status so we can test connectivity from our side as well.&lt;br /&gt;
&lt;br /&gt;
Best Regards,&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== New Router (Port Forwarding) ==&lt;br /&gt;
&lt;br /&gt;
If you have changed your router then you may notice that external access to NEOSYS is unavailable. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Setup a permanent access for NEOSYS by reconfiguring the Router / Firewall for Port Forwarding from Router to the NEOSYS Server as follows: &lt;br /&gt;
# Port 19580 &amp;gt; 19580 for SSH &lt;br /&gt;
# Port 4430 &amp;gt; 4430 for HTTPS&lt;br /&gt;
&lt;br /&gt;
You can see [http://portforward.com/ Set Up Port Forwarding] to learn how to configure your Router.&lt;br /&gt;
&lt;br /&gt;
To see how to test/ troubleshoot port forwarding settings, go to [[Troubleshooting_NEOSYS_Generally#Troubleshooting_NEOSYS_remote_support_port_forwarding|Troubleshooting Port Forwarding]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sample Response:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Dear XYZ,&lt;br /&gt;
&lt;br /&gt;
You are requested to kindly setup a permanent access for NEOSYS by reconfiguring the Router / Firewall for Port Forwarding from Router to &lt;br /&gt;
the NEOSYS Server,i.e.  port 19580 for SSH and port 4430 for HTTPS.&lt;br /&gt;
&lt;br /&gt;
Once this is complete, kindly send me an email to confirm the same so that we could test connectivity from our end as well.&lt;br /&gt;
&lt;br /&gt;
Best Regards&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Creating and Handling passwords ==&lt;br /&gt;
Passwords made out of a pass phrase should be at least 10 characters since using initials results in a lot of i&#039;s and a&#039;s etc which reduces the effectiveness of the password and allows hacking via brute force guessing especially since windows doesnt slow down logins even if it sees thousands of password attempts.&lt;br /&gt;
&lt;br /&gt;
=== Creating a password ===&lt;br /&gt;
Passwords are generated from a pass phrase and it is important to create a very difficult to guess pass phrase.&lt;br /&gt;
&lt;br /&gt;
For example, a good pass phrase would be: &#039;&#039;&#039;Today is a good day and it is the best time to go for a holiday&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The password for this would be &#039;&#039;&#039;Tiagdaiitbt2g4ah&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The important instructions for the above are:&lt;br /&gt;
#You have to take the first letter of each word and that makes your password (i.e. by using initials)&lt;br /&gt;
#Wherever any word starts with a capital, then you have to take first letter as a capital (eg. For Today you will take T)&lt;br /&gt;
#Replace &#039;&#039;&#039;and&#039;&#039;&#039; with &#039;&#039;&#039;&amp;amp;&#039;&#039;&#039;&lt;br /&gt;
#Replace &#039;&#039;&#039;to&#039;&#039;&#039; with &#039;&#039;&#039;2&#039;&#039;&#039;&lt;br /&gt;
#Replace &#039;&#039;&#039;for&#039;&#039;&#039; with &#039;&#039;&#039;4&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Handling passwords ===&lt;br /&gt;
#Never send the actual password - always send the pass phrase&lt;br /&gt;
#Make sure that the password created out of the pass phrase is at least 10 characters long since using initials results in a lot of i&#039;s and a&#039;s etc which reduces the effectiveness of the password and allows hacking via brute force guessing especially since windows doesnt slow down logins even if it sees thousands of password attempts&lt;br /&gt;
#Pass phrases are never to be sent by email, whatever the case maybe.&lt;br /&gt;
#Pass phrases can be sent by chat - however they have to be broken down in two parts and sent separately over two different messengers or if you are using Gtalk then use the &#039;off the record&#039; mode.&lt;br /&gt;
#Using SMS to send pass phrases is the best known way as of now.&lt;br /&gt;
#If you save the passwords on your system in an file then:&lt;br /&gt;
#*Ensure that you only store pass phrases in the excel file&lt;br /&gt;
#*Ensure that the excel file is encrypted with a master password&lt;br /&gt;
&lt;br /&gt;
== NEOSYS Maintenance Window ==&lt;br /&gt;
&lt;br /&gt;
The NEOSYS server is functional from 6am – 1am. There is a 5hr window gap for the system to perform updates &amp;amp; backups.&lt;br /&gt;
&lt;br /&gt;
The 5hr maintenance window:-&lt;br /&gt;
&lt;br /&gt;
1. At 1am – The server performs a data backup on a USB (for the respective clients) &amp;amp; once the backup has been completed, the system automatically generates an email addressed to the neosys staff &amp;amp; the respective clients.&lt;br /&gt;
&lt;br /&gt;
2. At 2:45am – The main data over writes the test data on the server.&lt;br /&gt;
&lt;br /&gt;
3. At 3:00am – The server by itself performs an update for Windows.&lt;br /&gt;
&lt;br /&gt;
4. At 4:00am – The server performs a backup to the headquarters for clients, and then automatically generates an email addressed to the NEOSYS staff &amp;amp; the respective clients.&lt;br /&gt;
&lt;br /&gt;
5. At 6:00am – The server starts up NEOSYS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using NEOSYS Terminology while communicating with Clients ==&lt;br /&gt;
&lt;br /&gt;
NEOSYS support must communicate in correct language to clients on finance issues in order to ensure that our records exactly represent reality. Conversely NEOSYS must not use other terminology because it can cause considerable confusion and poor quality results. In case client is new and still in training, use client terminology optionally as long as&lt;br /&gt;
#It is only an addition to NEOSYS standard terminology&lt;br /&gt;
#Only if clear that it is client terminology by putting in brackets like this &amp;quot;Sales Invoices (called PI by you)&amp;quot;, where &amp;quot;you&amp;quot; means the client you are talking to or you can put the client company name instead perhaps.&lt;br /&gt;
&lt;br /&gt;
The objective is over time to avoid having the support team to have to know the terminology of the client. NEOSYS support team cannot possibly know and remember it for each client therefore the client MUST over time learn and use NEOSYS terminology. The initial period is one of relearning and translation for the client not for NEOSYS.&lt;br /&gt;
&lt;br /&gt;
Many users operating NEOSYS finance module do not know proper financial procedures and may not appreciate how doing something in a wrong or unusual way now may not be correctable in the future.&lt;br /&gt;
&lt;br /&gt;
NEOSYS staff must follow NEOSYS procedures only. If NEOSYS procedures need to be updated then this must be agreed in advance and not AFTER the fact.&lt;br /&gt;
&lt;br /&gt;
== Amending/Reposting Journal Entries ==&lt;br /&gt;
In certain exceptional cases, amending/reposting of journal entries is allowed for a brief period of time to enable clients to present reports in an alternative manner. This would be subject to NEOSYS would requiring a written LETTER OF APPROVAL duly signed and stamped by the highest management of the company.&lt;br /&gt;
&lt;br /&gt;
In case the client management decides to allow editing/reposting of journal entries, the following procedure is to be followed:&lt;br /&gt;
# Client must de-allocate vouchers which need to be amended&lt;br /&gt;
# NEOSYS support staff must wait for a day so that de-allocated vouchers are copied into Test database&lt;br /&gt;
# Authorise required users to amend and repost (without record) &#039;&#039;&#039;in Test database only&#039;&#039;&#039; &amp;lt;br&amp;gt;( While reposting, we have 2 options i.e. with record and without record. The &#039;with record&#039; option causes the system to maintain a history of edits made. Hence, we want to repost without record so that there is no trace of the edit in the system)&lt;br /&gt;
# Amend a substantial number of vouchers in Test and verify them.&amp;lt;br&amp;gt;To verify if the edits made are reflected:&lt;br /&gt;
# *Print all ledgers for the whole year&lt;br /&gt;
# *Cross-check all balances&lt;br /&gt;
# Once you verify the balances are correct in Test database, grant users permission to amend and repost in the Live database.&lt;br /&gt;
# Ask users to amend and repost vouchers in the Live database.&lt;br /&gt;
# Cross-check all balances for the current year.&lt;br /&gt;
# If you successfully verify the balances, revoke permissions immediately. Else, wait for 24 hours and revoke permissions irrespectively.&lt;br /&gt;
&lt;br /&gt;
== Removal of unauthorized third-party software on client servers ==&lt;br /&gt;
&lt;br /&gt;
Rule: Any third party software that is discovered by NEOSYS support staff on client servers that has been installed without the agreement of NEOSYS should be uninstalled immediately on discovery.&lt;br /&gt;
&lt;br /&gt;
However purposeful a software is, NEOSYS is contractually responsible for support and there are too many opportunities for poorly installed software to cause unpredictable damage to the NEOSYS database so NEOSYS has to have a clear and safe and simple policy to ensure the integrity of client data. Installing software without prior discussion with NEOSYS by itself indicates that insufficient care and consideration as been given to possible issues.&lt;br /&gt;
&lt;br /&gt;
Any software required by client IT for some purpose may only be installed after discussion and agreement from NEOSYS support staff concerning the configuration and operation of the software.&lt;br /&gt;
&lt;br /&gt;
The NEOSYS Software Licence and Support agreement requires that where NEOSYS software is installed on client servers that a dedicated server is provided and dedicated implies that no other software may be installed without the agreement of NEOSYS support.&lt;br /&gt;
&lt;br /&gt;
== Configuring tunnelier to autologin on opening tlp files ==&lt;br /&gt;
If you have many tunnelier tlp files in a directory and connect by opening the desired tlp file the, instead of opening the file and then clicking Login you can also right click the file and select Connect.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can configure tunnelier to login (connect) automatically by following the procedure mentioned below. (Even if you configure automatic login, you can still open and not login by right clicking and choosing Open)&lt;br /&gt;
&lt;br /&gt;
=== Windows 8 ===&lt;br /&gt;
&lt;br /&gt;
Cannot be done using standard Windows UI. Some download utilities can do it. TODO put a safe one in neosys.com/support&lt;br /&gt;
&lt;br /&gt;
=== Windows XP/Vista/7/2008 ===&lt;br /&gt;
&lt;br /&gt;
#Go to My Computer&lt;br /&gt;
#Click on Tools -&amp;gt; Folder Options &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[image:tunnauto-1.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
#Click on File Types&lt;br /&gt;
#*Select TLP (Bitvise Tunnelier Profile) [Type &amp;quot;TLP&amp;quot; to find it quickly]&lt;br /&gt;
#*Click on Advanced &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[image:tunnauto-2.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
#Click on Connect and Click on Set Default &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; [[image:tunnauto-3.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== International v/s Indian English ==&lt;br /&gt;
&lt;br /&gt;
There are some words which have completely different meanings in International and Indian English. NEOSYS Staff should follow International English only. Below are the examples of few of those words:&lt;br /&gt;
&lt;br /&gt;
Word: &#039;&#039;&#039;Doubt&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In the English language word &amp;quot;doubt&amp;quot; means to distrust an alleged fact on the basis of a reason, depending on the strength of the reason which may be anything from factual to feeling e.g &amp;quot;I have no reason to doubt him&amp;quot;.&lt;br /&gt;
This usage is followed worldwide.&lt;br /&gt;
&lt;br /&gt;
Some people especially from Indian origin use &amp;quot;doubt&amp;quot; when they are unaware about a fact. e.g &amp;quot;I want to clear my doubts about this procedure&amp;quot;. This is incorrect. The word must be used when you do not agree on something on the basis of a reason and not when you do not have knowledge about it.&lt;br /&gt;
&lt;br /&gt;
==[[ New Employee Training Checklist]]==&lt;br /&gt;
&lt;br /&gt;
==[[ New Client Training Notes]]==&lt;br /&gt;
&lt;br /&gt;
==[[ General Office Procedures]]==&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=File:Firebug.png&amp;diff=2638</id>
		<title>File:Firebug.png</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=File:Firebug.png&amp;diff=2638"/>
		<updated>2016-04-17T08:56:14Z</updated>

		<summary type="html">&lt;p&gt;Ruku: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Testing_NEOSYS&amp;diff=2637</id>
		<title>Testing NEOSYS</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Testing_NEOSYS&amp;diff=2637"/>
		<updated>2016-04-17T06:47:11Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Jobs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== General Instructions for Testing NEOSYS ===&lt;br /&gt;
#Everytime a new version of NEOSYS is released, it must be tested thoroughly for all its features to ensure NEOSYS credibility to clients. &lt;br /&gt;
#Tests for each module must be carried out by logging in as different users as some issues do not show up when logged in as NEOSYS user.&lt;br /&gt;
#Whenever there are multiple rows, 2nd line must ALWAYS be tested and this must be the primary test. This is because many errors do not show in the first line and only show in the subsequent lines.&lt;br /&gt;
&lt;br /&gt;
===Lightning Test===&lt;br /&gt;
&lt;br /&gt;
Lightning Test is a quick test of NEOSYS where all essential features mostly used by clients must be tested. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightning Test for all the modules in NEOSYS should not take more than 2 hours. All the tests listed [[Testing_NEOSYS#List_of_Tasks_to_be_tested_for_each_module|below]] with an asterisk are mandatory and the rest can be skipped in a Lightning Test.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== List of Tasks to be tested ===&lt;br /&gt;
===== Media =====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 60%; height: 100px; text-align: left ; margin: 1em 1em auto;&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | List of Tasks&lt;br /&gt;
|-&lt;br /&gt;
| * || Create a new plan&lt;br /&gt;
|- &lt;br /&gt;
| * || Check Plan Look up&lt;br /&gt;
|-&lt;br /&gt;
| * || Create a plan by copying from a plan/schedule&lt;br /&gt;
|-&lt;br /&gt;
| * || Take a plan printout, make use of filters on the screen&lt;br /&gt;
|- &lt;br /&gt;
| * || Create a new schedule&lt;br /&gt;
|-&lt;br /&gt;
|   || Check Schedule Look up&lt;br /&gt;
|- &lt;br /&gt;
| * || Create a schedule by copying from plan/schedule&lt;br /&gt;
|-&lt;br /&gt;
| * || Use shortcut keys like tab/f9/f7 etc while creating the schedule&lt;br /&gt;
|- &lt;br /&gt;
| * || Add vehicles with notes/Rate cards&lt;br /&gt;
|-&lt;br /&gt;
| * || Enter discount and fee for the vehicles&lt;br /&gt;
|- &lt;br /&gt;
| * || Check if discount and fee gets reflected in the cost and bill&lt;br /&gt;
|-&lt;br /&gt;
|   || Create free ads&lt;br /&gt;
|-&lt;br /&gt;
|   || Check if free ads reflect in the reports&lt;br /&gt;
|-&lt;br /&gt;
| * || Book ads&lt;br /&gt;
|-&lt;br /&gt;
| * || Certify ads&lt;br /&gt;
|-&lt;br /&gt;
| * || Invoice ads, reprint invoice/invoices in bulk (more than 2)&lt;br /&gt;
|-&lt;br /&gt;
| * || Generate media diary&lt;br /&gt;
|-&lt;br /&gt;
|   || Generate progress summary&lt;br /&gt;
|-&lt;br /&gt;
| * || Do cancellations&lt;br /&gt;
|-&lt;br /&gt;
| * || Generate credit notes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Finance =====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 60%; height: 100px; text-align: left ; margin: 1em 1em auto;&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | List of Tasks&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;width:10px; text-align:center;&amp;quot; | * || Create a new batches (INV/PUR/PAY/PUR) in Journal entry page&lt;br /&gt;
|- &lt;br /&gt;
|   || Check the Journal Setup page&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10px; text-align:center;&amp;quot; | * || Check Voucher file/deallocation&lt;br /&gt;
|-&lt;br /&gt;
|   || Generate the List of Vouchers&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;width:10px; text-align:center;&amp;quot; | * || Generate a Ledger print&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10px; text-align:center;&amp;quot; | * || Check the Statement of Accounts&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10px; text-align:center;&amp;quot; | * || Check the Chart of Accounts file&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;width:10px; text-align:center;&amp;quot; | * || Generate Trial Balances&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10px; text-align:center;&amp;quot; | * || Generate Financial Statements&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;width:10px; text-align:center;&amp;quot; | * || Check the Currency &amp;amp; Exchange Rate file&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10px; text-align:center;&amp;quot; | * || Edit the Company file &lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;width:10px; text-align:center;&amp;quot; | * || Check if discount and fee gets reflected in the cost and bill&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;width:10px; text-align:center;&amp;quot; | * || Test three basic styles of journals e.g &amp;quot;SIDE BY SIDE&amp;quot; format for Sales invoices, &amp;quot;MAIN ACCOUNT IN THE HEADING&amp;quot; format for Bank Payments, &amp;quot;VERTICAL&amp;quot; format for General journals(JOU).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Jobs =====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 60%; height: 100px; text-align: left ; margin: 1em 1em auto;&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | List of Tasks&lt;br /&gt;
|-&lt;br /&gt;
| * || Create new Job&lt;br /&gt;
|- &lt;br /&gt;
| * || Check Job Look up&lt;br /&gt;
|-&lt;br /&gt;
| * || Copy a job&lt;br /&gt;
|-&lt;br /&gt;
| * || Enter all details&lt;br /&gt;
|- &lt;br /&gt;
| * || Look up for Job Types&lt;br /&gt;
|-&lt;br /&gt;
|   || Use shortcut keys tab/f9/f7&lt;br /&gt;
|- &lt;br /&gt;
| * || Create Estimate&lt;br /&gt;
|-&lt;br /&gt;
| * || Create Purchase Order&lt;br /&gt;
|- &lt;br /&gt;
| * || Generate invoice in Estimates&lt;br /&gt;
|-&lt;br /&gt;
| * || Check invoice gets reflected correctly in Purchase order&lt;br /&gt;
|- &lt;br /&gt;
| * || Enter supplier invoice for Purchase orders&lt;br /&gt;
|-&lt;br /&gt;
| * || Check whether all above changes get reflected in the Job file&lt;br /&gt;
|-&lt;br /&gt;
|   || Create Credit Notes&lt;br /&gt;
|-&lt;br /&gt;
| * || Job printout&lt;br /&gt;
|-&lt;br /&gt;
| * || Purchase Order printout&lt;br /&gt;
|-&lt;br /&gt;
| * || Estimate printout&lt;br /&gt;
|-&lt;br /&gt;
| * || Minutely verify reports to check data consistency&lt;br /&gt;
|-&lt;br /&gt;
|   || Generate &amp;quot;List of Jobs pending estimates&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|   || Generate &amp;quot;List of Jobs with WIP/Accrued Cost&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Analysis =====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 60%; height: 100px; text-align: left ; margin: 1em 1em auto;&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | List of Tasks&lt;br /&gt;
|-&lt;br /&gt;
| * || Create/Edit/Run a Media Analysis report&lt;br /&gt;
|- &lt;br /&gt;
| * || Create/Edit/Run a Billing Analysis report&lt;br /&gt;
|- &lt;br /&gt;
| * || Create a copy  a Billing Analysis report&lt;br /&gt;
|- &lt;br /&gt;
| * || Create a new Billing Analysis Column design&lt;br /&gt;
|-&lt;br /&gt;
|   || Test the Free Ad Analysis report.&lt;br /&gt;
|- &lt;br /&gt;
|   || Test Budget file&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Timesheets =====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 60%; height: 100px; text-align: left ; margin: 1em 1em auto;&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | List of Tasks&lt;br /&gt;
|-&lt;br /&gt;
| * || Edit the Timesheet Configuration file&lt;br /&gt;
|- &lt;br /&gt;
| * || Edit existing activities in Activity file&lt;br /&gt;
|-&lt;br /&gt;
| * || Create new activities in the Activity file&lt;br /&gt;
|-&lt;br /&gt;
| * || Create a new Timesheet for a user, test each and every field&lt;br /&gt;
|- &lt;br /&gt;
|   || Take Timesheet printouts, test all the options available&lt;br /&gt;
|-&lt;br /&gt;
|   || Test Approval emails according to the users in the Configuration file.&lt;br /&gt;
|- &lt;br /&gt;
| * || Test Reminder emails&lt;br /&gt;
|-&lt;br /&gt;
|   || Generate Timesheet Analysis report using various filters.&lt;br /&gt;
|- &lt;br /&gt;
| * || Generate invoice in Estimates&lt;br /&gt;
|-&lt;br /&gt;
|   || Save the report in Excel and verify the records present.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Login page, Support menu and Help menu =====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 60%; height: 100px; text-align: left ; margin: 1em 1em auto;&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | List of Tasks&lt;br /&gt;
|-&lt;br /&gt;
| * || Reset password from NEOSYS login page and check whether new password is received via email successfully&lt;br /&gt;
|-&lt;br /&gt;
| * || Create a new user in the Authorization File and save it&lt;br /&gt;
|- &lt;br /&gt;
| * || Edit and save the System Configuration File &lt;br /&gt;
|-&lt;br /&gt;
|   || Take a backup of NEOSYS&lt;br /&gt;
|-&lt;br /&gt;
|   || Generate a log report&lt;br /&gt;
|-&lt;br /&gt;
|   || Generate usage statistics report&lt;br /&gt;
|-&lt;br /&gt;
|   || Generate list of database processes&lt;br /&gt;
|-&lt;br /&gt;
|   || Generate list of documents in use while editing any document (eg. schedule file, job file, etc.)&lt;br /&gt;
|-&lt;br /&gt;
| * || Edit and save the User Details page&lt;br /&gt;
|-&lt;br /&gt;
| * || Login as a User group to check all locks/keys are working properly&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Testing_NEOSYS&amp;diff=2636</id>
		<title>Testing NEOSYS</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Testing_NEOSYS&amp;diff=2636"/>
		<updated>2016-04-17T06:43:17Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Timesheets */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== General Instructions for Testing NEOSYS ===&lt;br /&gt;
#Everytime a new version of NEOSYS is released, it must be tested thoroughly for all its features to ensure NEOSYS credibility to clients. &lt;br /&gt;
#Tests for each module must be carried out by logging in as different users as some issues do not show up when logged in as NEOSYS user.&lt;br /&gt;
#Whenever there are multiple rows, 2nd line must ALWAYS be tested and this must be the primary test. This is because many errors do not show in the first line and only show in the subsequent lines.&lt;br /&gt;
&lt;br /&gt;
===Lightning Test===&lt;br /&gt;
&lt;br /&gt;
Lightning Test is a quick test of NEOSYS where all essential features mostly used by clients must be tested. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightning Test for all the modules in NEOSYS should not take more than 2 hours. All the tests listed [[Testing_NEOSYS#List_of_Tasks_to_be_tested_for_each_module|below]] with an asterisk are mandatory and the rest can be skipped in a Lightning Test.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== List of Tasks to be tested ===&lt;br /&gt;
===== Media =====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 60%; height: 100px; text-align: left ; margin: 1em 1em auto;&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | List of Tasks&lt;br /&gt;
|-&lt;br /&gt;
| * || Create a new plan&lt;br /&gt;
|- &lt;br /&gt;
| * || Check Plan Look up&lt;br /&gt;
|-&lt;br /&gt;
| * || Create a plan by copying from a plan/schedule&lt;br /&gt;
|-&lt;br /&gt;
| * || Take a plan printout, make use of filters on the screen&lt;br /&gt;
|- &lt;br /&gt;
| * || Create a new schedule&lt;br /&gt;
|-&lt;br /&gt;
|   || Check Schedule Look up&lt;br /&gt;
|- &lt;br /&gt;
| * || Create a schedule by copying from plan/schedule&lt;br /&gt;
|-&lt;br /&gt;
| * || Use shortcut keys like tab/f9/f7 etc while creating the schedule&lt;br /&gt;
|- &lt;br /&gt;
| * || Add vehicles with notes/Rate cards&lt;br /&gt;
|-&lt;br /&gt;
| * || Enter discount and fee for the vehicles&lt;br /&gt;
|- &lt;br /&gt;
| * || Check if discount and fee gets reflected in the cost and bill&lt;br /&gt;
|-&lt;br /&gt;
|   || Create free ads&lt;br /&gt;
|-&lt;br /&gt;
|   || Check if free ads reflect in the reports&lt;br /&gt;
|-&lt;br /&gt;
| * || Book ads&lt;br /&gt;
|-&lt;br /&gt;
| * || Certify ads&lt;br /&gt;
|-&lt;br /&gt;
| * || Invoice ads, reprint invoice/invoices in bulk (more than 2)&lt;br /&gt;
|-&lt;br /&gt;
| * || Generate media diary&lt;br /&gt;
|-&lt;br /&gt;
|   || Generate progress summary&lt;br /&gt;
|-&lt;br /&gt;
| * || Do cancellations&lt;br /&gt;
|-&lt;br /&gt;
| * || Generate credit notes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Finance =====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 60%; height: 100px; text-align: left ; margin: 1em 1em auto;&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | List of Tasks&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;width:10px; text-align:center;&amp;quot; | * || Create a new batches (INV/PUR/PAY/PUR) in Journal entry page&lt;br /&gt;
|- &lt;br /&gt;
|   || Check the Journal Setup page&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10px; text-align:center;&amp;quot; | * || Check Voucher file/deallocation&lt;br /&gt;
|-&lt;br /&gt;
|   || Generate the List of Vouchers&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;width:10px; text-align:center;&amp;quot; | * || Generate a Ledger print&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10px; text-align:center;&amp;quot; | * || Check the Statement of Accounts&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10px; text-align:center;&amp;quot; | * || Check the Chart of Accounts file&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;width:10px; text-align:center;&amp;quot; | * || Generate Trial Balances&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10px; text-align:center;&amp;quot; | * || Generate Financial Statements&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;width:10px; text-align:center;&amp;quot; | * || Check the Currency &amp;amp; Exchange Rate file&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10px; text-align:center;&amp;quot; | * || Edit the Company file &lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;width:10px; text-align:center;&amp;quot; | * || Check if discount and fee gets reflected in the cost and bill&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;width:10px; text-align:center;&amp;quot; | * || Test three basic styles of journals e.g &amp;quot;SIDE BY SIDE&amp;quot; format for Sales invoices, &amp;quot;MAIN ACCOUNT IN THE HEADING&amp;quot; format for Bank Payments, &amp;quot;VERTICAL&amp;quot; format for General journals(JOU).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Jobs =====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 60%; height: 100px; text-align: left ; margin: 1em 1em auto;&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | List of Tasks&lt;br /&gt;
|-&lt;br /&gt;
| * || Create new Job&lt;br /&gt;
|- &lt;br /&gt;
| * || Check Job Look up&lt;br /&gt;
|-&lt;br /&gt;
| * || Copy a job&lt;br /&gt;
|-&lt;br /&gt;
| * || Enter all details&lt;br /&gt;
|- &lt;br /&gt;
| * || Look up for Job Types&lt;br /&gt;
|-&lt;br /&gt;
|   || Use shortcut keys tab/f9/f7&lt;br /&gt;
|- &lt;br /&gt;
| * || Create Estimate&lt;br /&gt;
|-&lt;br /&gt;
| * || Create Purchase Order&lt;br /&gt;
|- &lt;br /&gt;
| * || Generate invoice in Estimates&lt;br /&gt;
|-&lt;br /&gt;
| * || Check invoice gets reflected correctly in Purchase order&lt;br /&gt;
|- &lt;br /&gt;
| * || Enter supplier invoice for Purchase orders&lt;br /&gt;
|-&lt;br /&gt;
| * || Check whether all above changes get reflected in the Job file&lt;br /&gt;
|-&lt;br /&gt;
|   || Create Credit Notes&lt;br /&gt;
|-&lt;br /&gt;
| * || Job printout&lt;br /&gt;
|-&lt;br /&gt;
| * || Purchase Order printout&lt;br /&gt;
|-&lt;br /&gt;
| * || Estimate printout&lt;br /&gt;
|-&lt;br /&gt;
| * || Minutely verify reports to check data consistency&lt;br /&gt;
|-&lt;br /&gt;
|   || Generate &amp;quot;List of Jobs pending estimates&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|   || Generate &amp;quot;List of Jobs with WIP/Accrued Cost&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Analysis =====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 60%; height: 100px; text-align: left ; margin: 1em 1em auto;&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | List of Tasks&lt;br /&gt;
|-&lt;br /&gt;
| * || Create/Edit/Run a Media Analysis report&lt;br /&gt;
|- &lt;br /&gt;
| * || Create/Edit/Run a Billing Analysis report&lt;br /&gt;
|- &lt;br /&gt;
| * || Create a copy  a Billing Analysis report&lt;br /&gt;
|- &lt;br /&gt;
| * || Create a new Billing Analysis Column design&lt;br /&gt;
|-&lt;br /&gt;
|   || Test the Free Ad Analysis report.&lt;br /&gt;
|- &lt;br /&gt;
|   || Test Budget file&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Timesheets =====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 60%; height: 100px; text-align: left ; margin: 1em 1em auto;&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | List of Tasks&lt;br /&gt;
|-&lt;br /&gt;
| * || Edit the Timesheet Configuration file&lt;br /&gt;
|- &lt;br /&gt;
| * || Edit existing activities in Activity file&lt;br /&gt;
|-&lt;br /&gt;
| * || Create new activities in the Activity file&lt;br /&gt;
|-&lt;br /&gt;
| * || Create a new Timesheet for a user, test each and every field&lt;br /&gt;
|- &lt;br /&gt;
|   || Take Timesheet printouts, test all the options available&lt;br /&gt;
|-&lt;br /&gt;
|   || Test Approval emails according to the users in the Configuration file.&lt;br /&gt;
|- &lt;br /&gt;
| * || Test Reminder emails&lt;br /&gt;
|-&lt;br /&gt;
|   || Generate Timesheet Analysis report using various filters.&lt;br /&gt;
|- &lt;br /&gt;
| * || Generate invoice in Estimates&lt;br /&gt;
|-&lt;br /&gt;
|   || Save the report in Excel and verify the records present.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Login page, Support menu and Help menu =====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 60%; height: 100px; text-align: left ; margin: 1em 1em auto;&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | List of Tasks&lt;br /&gt;
|-&lt;br /&gt;
| * || Reset password from NEOSYS login page and check whether new password is received via email successfully&lt;br /&gt;
|-&lt;br /&gt;
| * || Create a new user in the Authorization File and save it&lt;br /&gt;
|- &lt;br /&gt;
| * || Edit and save the System Configuration File &lt;br /&gt;
|-&lt;br /&gt;
|   || Take a backup of NEOSYS&lt;br /&gt;
|-&lt;br /&gt;
|   || Generate a log report&lt;br /&gt;
|-&lt;br /&gt;
|   || Generate usage statistics report&lt;br /&gt;
|-&lt;br /&gt;
|   || Generate list of database processes&lt;br /&gt;
|-&lt;br /&gt;
|   || Generate list of documents in use while editing any document (eg. schedule file, job file, etc.)&lt;br /&gt;
|-&lt;br /&gt;
| * || Edit and save the User Details page&lt;br /&gt;
|-&lt;br /&gt;
| * || Login as a User group to check all locks/keys are working properly&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Configuring_IIS&amp;diff=2631</id>
		<title>Configuring IIS</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Configuring_IIS&amp;diff=2631"/>
		<updated>2016-04-13T12:30:04Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Solving error &amp;quot;Upload folder cannot be created.The system cannot find the drive specified&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;After you have installed all the NEOSYS program files you need to configure IIS so that you can operate NEOSYS. Instructions are below.&lt;br /&gt;
&lt;br /&gt;
== Configuring IIS for windows 2003 ==&lt;br /&gt;
&lt;br /&gt;
=== Creating a new website in IIS ===&lt;br /&gt;
&lt;br /&gt;
First step is to stop the default website in IIS. Right click on Default Web Site and select &amp;quot;Stop&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039; Create a website called neosys linked to D:\neosys\neosys.net:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3 Server:&#039;&#039;&#039; Create a website called &amp;quot;clientname&amp;quot; linked to D:\hosts\clientfolder\neosys.net &lt;br /&gt;
&lt;br /&gt;
[[image:figure1.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[image:figure3.jpg]]&lt;br /&gt;
&lt;br /&gt;
A new window will pop up &amp;quot;IP Address and Port Setting&amp;quot; after completion of the above step.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039;  Select *(All Unassigned)* from the drop down list of &amp;quot;Enter the IP address to use for the Web site&amp;quot; and keep the default port as 80. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3 Server:&#039;&#039;&#039; Select the static Ip from the drop down list of &amp;quot;Enter the IP address to use for the Web site&amp;quot; and enter then next port available and click on next.&lt;br /&gt;
&lt;br /&gt;
[[image:Figure_2.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039; Within the above neosys web site folder create a virtual directory called data linked to D:\neosys\data: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3 Server:&#039;&#039;&#039; Within the above clientwebsite folder create a virtual directory called data linked to D:\hosts\clientfolder\data:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(I haven’t got the screenshot because I can only get it once I create the above)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== To allow file uploads ===&lt;br /&gt;
&lt;br /&gt;
==== Create IMAGES directory ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client server:&#039;&#039;&#039; create a folder IMAGES under D:\neosys and within the neosys web site folder create a virtual directory called images linked to D:\neosys\images: Modes: READ and WRITE&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3 Server:&#039;&#039;&#039; create a folder IMAGES under D:\hosts\clientfolder and within the client web site folder create a virtual directory called images linked to D:\hosts\clientfolder\images: Modes: READ and WRITE&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(I haven’t got the screenshot because I can only get it once I create the above)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Permit upload.dll ====&lt;br /&gt;
&lt;br /&gt;
# Right click on dll ( Default Web Site, neosys, NEOSYS, dll) &lt;br /&gt;
# Under Permissions set Execute Permissions: Scripts and Executables&lt;br /&gt;
&lt;br /&gt;
# Internet Information Services (IIS) Manager&lt;br /&gt;
# Web Service Extensions&lt;br /&gt;
# All Unknown ISAPI Extensions: Allowed&lt;br /&gt;
&lt;br /&gt;
===[[Backing_up_and_Restoring_IIS_configuration#Set_IIS_automatic_backup_location_to_d:| Set IIS automatic backup location to D:]] ===&lt;br /&gt;
&lt;br /&gt;
== Configuring IIS for Windows 2008 ==&lt;br /&gt;
&lt;br /&gt;
=== Installing IIS ===&lt;br /&gt;
&lt;br /&gt;
First install IIS from Control Panel &amp;gt; Programs &amp;amp; Features &amp;gt; Turn Windows Features ON or OFF &amp;gt; Add Roles:&lt;br /&gt;
&lt;br /&gt;
[[image:iis1.jpg]]&lt;br /&gt;
&lt;br /&gt;
On the window that pops up click on next and you will get this screen, tick Web Server (IIS) - on the prompt click on Add Required Resources and then on Next:&lt;br /&gt;
&lt;br /&gt;
[[image:iis2.jpg]]&lt;br /&gt;
&lt;br /&gt;
On the next window, click on next until you get this window - tick ASP and ISAPI Extensions:&lt;br /&gt;
&lt;br /&gt;
[[image:iis3.jpg]]&lt;br /&gt;
&lt;br /&gt;
Click on Next and Finish&lt;br /&gt;
&lt;br /&gt;
=== Configuring IIS ===&lt;br /&gt;
====Create a new Website====&lt;br /&gt;
After successfully installing IIS, go to Control Panel &amp;gt; Administrative Tools &amp;gt; Computer Management &amp;gt; Services and Applications &amp;gt; Internet Information Services (IIS) &amp;gt; Machine Name &amp;gt; Sites &amp;gt; Default Website. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039; Stop the Default Website and then right click on Sites folder and click on Add Website called &#039;&#039;&#039;neosys&#039;&#039;&#039; linked to {{Client server Installation Location}}neosys.net as shown in the screenshot below&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3:&#039;&#039;&#039; Right click on Sites folder and click on Add Website. Create a website called &amp;quot;clientname&amp;quot; linked to {{NEOSYS server Installation Location}}neosys.net; &lt;br /&gt;
Since win3 is not connected to any LAN and exclusively serves https only, therefore setup a https binding only with a port number which is unique, unused and one greater than the previous port used in the series which is 4431 onwards. The highest port number used in this series can be found by checking IIS manager -&amp;gt; NEOSYS -&amp;gt;Sites.&lt;br /&gt;
&lt;br /&gt;
Refer to [[Setting_up_HTTPS#Creating_multiple_HTTPS_web_sites_on_NEOSYS_hosted_server| setting up the https for a site on NEOSYS hosted server]] for details.&lt;br /&gt;
&lt;br /&gt;
[[image:iis4.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Link Data Folder====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039; Within the neosys website folder create a virtual directory called &#039;&#039;&#039;data&#039;&#039;&#039; linked to {{Client server Installation Location}}data&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3:&#039;&#039;&#039; Within the &amp;quot;clientname&amp;quot; website folder create a virtual directory called &#039;&#039;&#039;data&#039;&#039;&#039; linked to {{NEOSYS server Installation Location}}data &lt;br /&gt;
&lt;br /&gt;
[[image:iis5.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Allow file uploads====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039; create a folder &#039;&#039;&#039;images&#039;&#039;&#039; under D:\neosys and within the neosys web site folder create a virtual directory called &#039;&#039;&#039;images&#039;&#039;&#039; linked to {{Client server Installation Location}}images&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3:&#039;&#039;&#039; create a folder &#039;&#039;&#039;images&#039;&#039;&#039; under D:\hosts\clientfolder and within the &amp;quot;clientname&amp;quot; website folder create a virtual directory called &#039;&#039;&#039;images&#039;&#039;&#039; linked to {{NEOSYS server Installation Location}}images&lt;br /&gt;
&lt;br /&gt;
[[image:iis7.jpg]]&lt;br /&gt;
&lt;br /&gt;
After you add all virtual directories the tree map of the Default Website should look as follows:&lt;br /&gt;
&lt;br /&gt;
[[image:iis8.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Configure file uploads besides adding the images directory====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;For single site servers&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go under IIS &amp;gt; Default Website &amp;gt; neosys&lt;br /&gt;
&lt;br /&gt;
Click on Handler Mappings and delete the ISAPI you see there&lt;br /&gt;
&lt;br /&gt;
[[image:iis9a.jpg]]&lt;br /&gt;
&lt;br /&gt;
Thereafter click on Add Script Map and fill in the details as follows – &lt;br /&gt;
&lt;br /&gt;
Request path: *.dll &lt;br /&gt;
&lt;br /&gt;
Executable: {{Client server Installation Location}}neosys.net\NEOSYS\dll\upload.dll&lt;br /&gt;
&lt;br /&gt;
Name: ISAPI &lt;br /&gt;
&lt;br /&gt;
Click on OK and on YES in the confirmation box&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:iis9b.jpg]]&lt;br /&gt;
[[image:hm.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;For multiple site servers&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go under IIS&amp;gt;NEOSYS&amp;gt;Click on Handler Mappings &amp;gt; Edit Feature Permissions &amp;gt; Select Read, Script and Execute &lt;br /&gt;
&lt;br /&gt;
For WIN3 the above setting is already setup&lt;br /&gt;
&lt;br /&gt;
===Editing the hosts file===&lt;br /&gt;
Edit the hosts file under c:\windows\system32\drivers\etc\ - delete the # sign next to 127.0.0.1 localhost and include the # sign before ::1 localhost&lt;br /&gt;
&lt;br /&gt;
[[image:iis10.jpg]]&lt;br /&gt;
&lt;br /&gt;
===[[Backing_up_and_Restoring_IIS_configuration#Set_IIS_automatic_backup_location_to_d:| Set IIS automatic backup location to D:]] ===&lt;br /&gt;
&lt;br /&gt;
== Solving IIS errors ==&lt;br /&gt;
&lt;br /&gt;
=== Solving error during file upload: &amp;quot;Page cannot be displayed&amp;quot; HTTP Error 405 in windows 2003 ===&lt;br /&gt;
&lt;br /&gt;
This error should not occur in normal NEOSYS installations but the solution is as follows:&lt;br /&gt;
&lt;br /&gt;
# Go to Control Panel, Administrative Tools, Internet Information Services&lt;br /&gt;
# Expand the tree to COMPUTERNAME, Web Sites&lt;br /&gt;
# Right-click &amp;quot;Default Web Site&amp;quot; (or specific Web Site if multiple NEOSYS http/https installations on the server as per WIN3)&lt;br /&gt;
# Properties&lt;br /&gt;
# Home Directory&lt;br /&gt;
# Configuration&lt;br /&gt;
# Mappings, Add&lt;br /&gt;
# Browse&lt;br /&gt;
# Dynamic Link Libraries *.dll&amp;quot; from the &amp;quot;Files of Type&amp;quot; dropdown&lt;br /&gt;
# Find and select D:\NEOSYS\neosys.net\NEOSYS\dll\upload.dll (OR upload.dll in the installation directory)&lt;br /&gt;
# Extension Type: dll&lt;br /&gt;
# Limit to: All&lt;br /&gt;
# Click the &amp;quot;OK&amp;quot; button&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Solving HTTP Error 404 Error occurring immediately on opening NEOSYS login page on a new server installation: &amp;quot;System Failure. Do you want to retry?&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
This error message is caused by failing to enable Active Server Pages in the IIS configuration. To resolve this in windows 2008, [[Configuring_IIS#Configure_file_uploads_besides_adding_the_images_directory| ensure that Read, Script, Execute is ticked (enabled) in the feature permissions of these Handler Mappings.]]&lt;br /&gt;
&lt;br /&gt;
This message is from IE8 and a Windows 2003 server. The message may be different for other browser versions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Message from web page.&lt;br /&gt;
&lt;br /&gt;
System Failure. Do you want to retry?&lt;br /&gt;
&lt;br /&gt;
The page cannot be found&lt;br /&gt;
The page you are looking for might have been removed, had its name change, or it temporarily unavailable.&lt;br /&gt;
&lt;br /&gt;
Please try the following:&lt;br /&gt;
(omitted)&lt;br /&gt;
HTTP Error 404 - File or directory not found.&lt;br /&gt;
Internet Information Services (IIS)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:http404.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Solving HTTP 404 Webpage cannot be found ===&lt;br /&gt;
&lt;br /&gt;
This error message clearly states that the page cannot be found. Check for the requested page in the client website folder under the virtual directory data. This page will be available under the data folder in D:\neosys\data. A possible cause of this error is by failing to create a virtual directory called data linked to D:\neosys\data:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:http404p.jpg]]&lt;br /&gt;
===Solving Error &amp;quot;The specified Executable does not exist on the server&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
While adding Script Map in Handler Mappings in the above step, if you get the below error, this means you have not yet run the Maintenance window/ NEOSYS processes and skipped steps in Installing NEOSYS. File upload.dl_ is installed from NEOSYS.EXE or NEOSYS2.EXE and converted to .dll the first time you run NEOSYS Maintenance/Process. You can also manually rename the file to upload.dll. &lt;br /&gt;
&lt;br /&gt;
[[image:Dll_error.png]]&lt;br /&gt;
&lt;br /&gt;
=== Solving IIS error 500 on uploading for windows 2008===&lt;br /&gt;
&lt;br /&gt;
To test if permissions are the problem, in grant full control to IUSR over the whole client directory e.g d:\neosys or d:\hosts\clientx in security tab of windows explorer and see if you can upload.&lt;br /&gt;
&lt;br /&gt;
Regardless of the result, remove the full control permissions since they are a security risk.&lt;br /&gt;
&lt;br /&gt;
If permissions are the problem then grant specific permissions as follows:&lt;br /&gt;
&lt;br /&gt;
#images folder - read and write permissions (but not execute)&lt;br /&gt;
#dll folder - read and execute permission (no write permission)&lt;br /&gt;
&lt;br /&gt;
=== Solving error &amp;quot;Upload folder cannot be created.The system cannot find the drive specified&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
This error message comes up when the File uploads are configured to a different location in the software than what is set up in IIS.&lt;br /&gt;
&lt;br /&gt;
There is an internal system configuration in line 49 of the DOS SYSTEM.CFG file which mentions the upload folder location (normally blank which means xxxxxx\images\ where xxxxxx is the installation directory e.g d:\neosys)&lt;br /&gt;
&lt;br /&gt;
Where we want the images uploaded to a place other than the installation directory the configuration may say something like h:\images\ where ever the folder should be e.g on an external USB drive. This may be done in case of client installations where file uploads are configured on USB drives due to a huge number of files getting uploaded.&lt;br /&gt;
&lt;br /&gt;
The IIS and internal configuration must agree otherwise you will probably not be able to upload files or uploaded files may not go in the right place and may be lost, not backed up and/or not viewable.&lt;br /&gt;
&lt;br /&gt;
To fix this issue, you MUST link the &#039;&#039;&#039;images&#039;&#039;&#039; folder in IIS to {{NEOSYS server Installation Location}}images&lt;br /&gt;
&lt;br /&gt;
[[File:Uploaderror.png]]&lt;br /&gt;
&lt;br /&gt;
== Disabling unsecure SSL3 protocol on Windows IIS web server ==&lt;br /&gt;
&lt;br /&gt;
POODLE is an information leakage attack on client browsers while accessing web server that support the older SSL3 protocol. It is easy to prevent it by reconfiguring web servers to not support SSL3.&lt;br /&gt;
&lt;br /&gt;
=== Securing IIS web server on win2003 and 2008 by disabling unsafe SSL3 protocol ===&lt;br /&gt;
&lt;br /&gt;
#For Systems with https installed check if the web server is vulnerable (see [[Configuring_IIS#Testing_for_IIS_vulnerability| Testing for IIS vulnerability]] ). For systems with no https installed,continue to step2 to prevent SSL3 accidentally being enabled if https is installed in the server in future and then test for vulnerability.&lt;br /&gt;
# run the following commands on the server&lt;br /&gt;
#reg add &amp;quot;HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#reg add &amp;quot;HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#reg add &amp;quot;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 40/128&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#reg add &amp;quot;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 56/128&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#reg add &amp;quot;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 64/128&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#reg add &amp;quot;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 128/128&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#Reboot the server (at any time later using standard NEOSYS rebooting procedure without disturbing users)&lt;br /&gt;
#Perform the diagnostic for vulnerability&lt;br /&gt;
&lt;br /&gt;
=== Testing for IIS vulnerability ===&lt;br /&gt;
==== A. Determine host and port and where to test from ==== &lt;br /&gt;
If you have a public https server that you can access like https://demo.neosys.com:443, in a linux command prompt eg nagios login:&lt;br /&gt;
&lt;br /&gt;
*$HOST for host name like demo.neosys.com&lt;br /&gt;
*$PORT with something like 443 or 4430 depending on port forwarding on the public router&lt;br /&gt;
&lt;br /&gt;
or if testing a private https server with no public access, using a cygwin installation on the same server in the cygwin prompt:&lt;br /&gt;
&lt;br /&gt;
*$HOST for host name like 127.0.0.1&lt;br /&gt;
*$PORT with something like 443 or 4430 as per IIS manager configuration&lt;br /&gt;
&lt;br /&gt;
If https is enabled on the server/website and you are able to access the website via https using a browser, then you must be able to test for openssl on the same browsed host and port. You must also test this locally to ensure that the right server is being fixed. If the website is not public, then https must not be enabled, which means there is no reason for using cygwin openssl.&lt;br /&gt;
&lt;br /&gt;
==== B. Check you CAN connect to https server using TLS ====&lt;br /&gt;
&lt;br /&gt;
 openssl s_client -host $HOST -port $PORT&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nagios@vm1m:~$ echo|openssl s_client -host demo.neosys.com -port 443&lt;br /&gt;
CONNECTED(00000003)&lt;br /&gt;
depth=0 CN = demo.neosys.com&lt;br /&gt;
verify error:num=20:unable to get local issuer certificate&lt;br /&gt;
verify return:1&lt;br /&gt;
depth=0 CN = demo.neosys.com&lt;br /&gt;
verify error:num=21:unable to verify the first certificate&lt;br /&gt;
verify return:1&lt;br /&gt;
---&lt;br /&gt;
Certificate chain&lt;br /&gt;
 0 s:/CN=demo.neosys.com&lt;br /&gt;
   i:/CN=demo.neosys.com&lt;br /&gt;
---&lt;br /&gt;
Server certificate&lt;br /&gt;
-----BEGIN CERTIFICATE-----&lt;br /&gt;
MIIB2DCCAUWgAwIBAgIQd0J0l4kJrpJHonAv5U8VLjAJBgUrDgMCHQUAMBoxGDAW&lt;br /&gt;
BgNVBAMTD2RlbW8ubmVvc3lzLmNvbTAeFw0wODA3MjcxOTUxMDNaFw0zNTEyMTIx&lt;br /&gt;
OTUxMDNaMBoxGDAWBgNVBAMTD2RlbW8ubmVvc3lzLmNvbTCBnzANBgkqhkiG9w0B&lt;br /&gt;
AQEFAAOBjQAwgYkCgYEAxzwtoqq49vV7pyBQ6Ej+PvbB1QxkdsxNn5EZSLSOppCb&lt;br /&gt;
jNjV8fFa98unPR0pGM0UdjWMUYodj12c2pnIrfrtXv7pYf+iC1corPEY7607Icbs&lt;br /&gt;
rSOc5aFwnlUYpktoysV1G1crGYgYgXbXgVOUO9phHXJarpKf6SjVw3uXTLlmPUkC&lt;br /&gt;
AwEAAaMnMCUwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDgYDVR0PBAcDBQCwAAAAMAkG&lt;br /&gt;
BSsOAwIdBQADgYEAmgyW60pT62JuM8GH+KogHW7viaMsifXitm3BC/GfaORpJCox&lt;br /&gt;
aS20fAlzGyAlDe9nZWN4roLSxQv0laJkxyNPDuHvLJt1l0FVdk6/vGB6QH0KqM+S&lt;br /&gt;
UaUTLsDZ99UNS/inotobxD9vXuKl58Uoe2lu7r9vJ+1DWDC6AyueSZ6xnno=&lt;br /&gt;
-----END CERTIFICATE-----&lt;br /&gt;
subject=/CN=demo.neosys.com&lt;br /&gt;
issuer=/CN=demo.neosys.com&lt;br /&gt;
---&lt;br /&gt;
No client certificate CA names sent&lt;br /&gt;
---&lt;br /&gt;
SSL handshake has read 635 bytes and written 411 bytes&lt;br /&gt;
---&lt;br /&gt;
New, TLSv1/SSLv3, Cipher is AES128-SHA&lt;br /&gt;
Server public key is 1024 bit&lt;br /&gt;
Secure Renegotiation IS supported&lt;br /&gt;
Compression: NONE&lt;br /&gt;
Expansion: NONE&lt;br /&gt;
SSL-Session:&lt;br /&gt;
    Protocol  : TLSv1&lt;br /&gt;
    Cipher    : AES128-SHA&lt;br /&gt;
    Session-ID: 8A0A00002D51DE183AC2845C6B3FF4BC7485181B4DCBC1758E3A2D5399BDD71C&lt;br /&gt;
    Session-ID-ctx:&lt;br /&gt;
    Master-Key: B10B9370E4DF70E873873AB9851B3CEF19623E6ADA697955E375D931DEE8301D798B4CB14C8D33FCF1BA066C0CC23897&lt;br /&gt;
    Key-Arg   : None&lt;br /&gt;
    PSK identity: None&lt;br /&gt;
    PSK identity hint: None&lt;br /&gt;
    SRP username: None&lt;br /&gt;
    Start Time: 1413885416&lt;br /&gt;
    Timeout   : 300 (sec)&lt;br /&gt;
    Verify return code: 21 (unable to verify the first certificate)&lt;br /&gt;
---&lt;br /&gt;
DONE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== C. Check that you cannot CANNOT to https server using SSL3 ====&lt;br /&gt;
&lt;br /&gt;
 openssl s_client -ssl3 -host $HOST -port $PORT&lt;br /&gt;
&lt;br /&gt;
==== CAN CONNECT = VULNERABLE = NOT OK ====&lt;br /&gt;
&lt;br /&gt;
If you get this then you need to configure the server to prevent SSL3&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nagios@vm1m:~$ echo xxx|openssl s_client -ssl3 -host demo.neosys.com -port 4430&lt;br /&gt;
gethostbyname failure&lt;br /&gt;
connect:errno=0&lt;br /&gt;
nagios@vm1m:~$ echo xxx|openssl s_client -ssl3 -host demo.neosys.com -port 4430&lt;br /&gt;
CONNECTED(00000003)&lt;br /&gt;
depth=0 CN = demo.neosys.com&lt;br /&gt;
verify error:num=20:unable to get local issuer certificate&lt;br /&gt;
verify return:1&lt;br /&gt;
depth=0 CN = demo.neosys.com&lt;br /&gt;
verify error:num=21:unable to verify the first certificate&lt;br /&gt;
verify return:1&lt;br /&gt;
---&lt;br /&gt;
Certificate chain&lt;br /&gt;
 0 s:/CN=demo.neosys.com&lt;br /&gt;
   i:/CN=demo.neosys.com&lt;br /&gt;
---&lt;br /&gt;
Server certificate&lt;br /&gt;
-----BEGIN CERTIFICATE-----&lt;br /&gt;
MIIB3jCCAUugAwIBAgIQNj9FMjT1vIxGo2Mv2Ta9vzAJBgUrDgMCHQUAMB0xGzAZ&lt;br /&gt;
BgNVBAMTEmFkbGluZWQubmVvc3lzLmNvbTAeFw0wODAzMjUxMTIxMzFaFw0zNTA4&lt;br /&gt;
MTAxMTIxMzFaMB0xGzAZBgNVBAMTEmFkbGluZWQubmVvc3lzLmNvbTCBnzANBgkq&lt;br /&gt;
hkiG9w0BAQEFAAOBjQAwgYkCgYEArRuijA8jz3qBm2ZZEwITIJLWIMlQmZxcUvOo&lt;br /&gt;
HNZL0+3oJuX0AQqtpRZMp/7ob9agngfwJQ36vK+424zcBbmKxA2MweKZRalN2jz+&lt;br /&gt;
rdr1oeZ6/Ff3r8+rCPFj/B8CfMOQbSv6YcR0kVc+8ugybB7qT6Nq5ZWOAczG3Ikt&lt;br /&gt;
4EnOlqUCAwEAAaMnMCUwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDgYDVR0PBAcDBQCw&lt;br /&gt;
AAAAMAkGBSsOAwIdBQADgYEAHIq5Gn2LiMgXFaUYrFEfHeajD4jAwdFw+zrjcBDZ&lt;br /&gt;
qM9LnhndHhdPogow9m9cCv1n57ne9rZL1v7w7Y6C53359hTUVZFqtHFfzcWnNyKD&lt;br /&gt;
uHD9a8QDk6/dSwBr/SWIE6OdFUYAj/kDXRQNB5H459spRVa3Yws8vpwrWZhoklxq&lt;br /&gt;
CQg=&lt;br /&gt;
-----END CERTIFICATE-----&lt;br /&gt;
subject=/CN=demo.neosys.com&lt;br /&gt;
issuer=/CN=demo.neosys.com&lt;br /&gt;
---&lt;br /&gt;
No client certificate CA names sent&lt;br /&gt;
---&lt;br /&gt;
SSL handshake has read 649 bytes and written 342 bytes&lt;br /&gt;
---&lt;br /&gt;
New, TLSv1/SSLv3, Cipher is RC4-MD5&lt;br /&gt;
Server public key is 1024 bit&lt;br /&gt;
Secure Renegotiation IS supported&lt;br /&gt;
Compression: NONE&lt;br /&gt;
Expansion: NONE&lt;br /&gt;
SSL-Session:&lt;br /&gt;
    Protocol  : SSLv3&lt;br /&gt;
    Cipher    : RC4-MD5&lt;br /&gt;
    Session-ID: 441A0000EBC1D634B2CDB12924F9B980D2A4CF8C4DD6D3FB9728D3C74F62A8FE&lt;br /&gt;
    Session-ID-ctx:&lt;br /&gt;
    Master-Key: 38F040BE3E7098857B7CB9FF3B44937786F8F8C002B0042370B29F20EFB582833F9E24CFC8E6560AFD06751DC93412D3&lt;br /&gt;
    Key-Arg   : None&lt;br /&gt;
    PSK identity: None&lt;br /&gt;
    PSK identity hint: None&lt;br /&gt;
    SRP username: None&lt;br /&gt;
    Start Time: 1413885545&lt;br /&gt;
    Timeout   : 7200 (sec)&lt;br /&gt;
    Verify return code: 21 (unable to verify the first certificate)&lt;br /&gt;
---&lt;br /&gt;
DONE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== CANNOT CONNECT = NOT VULNERABLE = OK ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nagios@vm1m:~$ echo|openssl s_client -ssl3 -host demo.neosys.com -port 443&lt;br /&gt;
CONNECTED(00000003)&lt;br /&gt;
write:errno=104&lt;br /&gt;
---&lt;br /&gt;
no peer certificate available&lt;br /&gt;
---&lt;br /&gt;
No client certificate CA names sent&lt;br /&gt;
---&lt;br /&gt;
SSL handshake has read 0 bytes and written 0 bytes&lt;br /&gt;
---&lt;br /&gt;
New, (NONE), Cipher is (NONE)&lt;br /&gt;
Secure Renegotiation IS NOT supported&lt;br /&gt;
Compression: NONE&lt;br /&gt;
Expansion: NONE&lt;br /&gt;
SSL-Session:&lt;br /&gt;
    Protocol  : SSLv3&lt;br /&gt;
    Cipher    : 0000&lt;br /&gt;
    Session-ID:&lt;br /&gt;
    Session-ID-ctx:&lt;br /&gt;
    Master-Key:&lt;br /&gt;
    Key-Arg   : None&lt;br /&gt;
    PSK identity: None&lt;br /&gt;
    PSK identity hint: None&lt;br /&gt;
    SRP username: None&lt;br /&gt;
    Start Time: 1413885702&lt;br /&gt;
    Timeout   : 7200 (sec)&lt;br /&gt;
    Verify return code: 0 (ok)&lt;br /&gt;
---&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Enabling Internet Explorer 6 to access secured https web servers ===&lt;br /&gt;
&lt;br /&gt;
To use Internet explorer 6 (on win2003 and XP-before-SP3) to access secured http web sites you need to enable IE6 to use TLS 1.0. Internet Explorer 6 is present in Windows Server 2003 and Windows XP-pre-SP3.&lt;br /&gt;
&lt;br /&gt;
You can also disable SSL 2.0 and SSL 3.0 for additional safety. This good for later versions of Internet Explorer too.&lt;br /&gt;
&lt;br /&gt;
[[File:IE_options.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Generating IIS certificates for https using openssl ==&lt;br /&gt;
&lt;br /&gt;
This covers the two main type of certificates:&lt;br /&gt;
&lt;br /&gt;
#&amp;quot;proper&amp;quot; certificates (accepted by all browsers without complaint) - issued by bona fide certification authority only on proof of control of a domain name - usually for a small fee&lt;br /&gt;
#&amp;quot;self signed&amp;quot; certificates (not accepted by all browsers without error messages without special configuration) - easily&lt;br /&gt;
issued by anybody without the slightest restriction&lt;br /&gt;
&lt;br /&gt;
NEOSYS&#039; proper https certificate for *.hosts.neosys.com, valid approx Jan-Dec 2016, issued by Comodo, was purchased from namecheap.com for a small fraction of the price of purchasing from Comodo or one of the other main certification authorities.&lt;br /&gt;
&lt;br /&gt;
There is no technical requirement to renew certificates with the same issuing authority, nor is their any restriction whatsoever from having multiple concurrent overlapping certificates, in any combination, for the the same domain name or subsets of a domain name. For a certificate to be &amp;quot;proper&amp;quot; it merely has to be issued by (not necessarily purchased from) one of the certificate authorities registered in all the main browsers using by NEOSYS clients. Unlike DNS domain name registrars, of which you can only have one at any one time, and which take to change, certificates are simply installed in particular servers without reference to each other, nor to any imaginary central internet registry, as IS the case for the DNS domain name registry.&lt;br /&gt;
&lt;br /&gt;
The sales of certificates is a bit of scam really because anybody can get a certificate from the main commercial certificate authorities merely by proving control over a domain name - for example, by receiving an email to ADMIN@xxxxx.com. Except for EV certificates such as those issued to banks etc, most https certificates are issued without any check on physical identity or reputation, therefore the cost of issuing https certificates rests merely on the fact that the certification authority has managed to inveigle itself into all the main browsers and have their public key installed along with the browser software. Hoowever, the market seems to be collapsing, with even free certificate authorities appearing although with some minor limitations like short duration of validity of certificates.&lt;br /&gt;
&lt;br /&gt;
Excellent summary of using openssl to manage certificates .. no Alternate Names though&lt;br /&gt;
https://www.digitalocean.com/community/tutorials/openssl-essentials-working-with-ssl-certificates-private-keys-and-csrs&lt;br /&gt;
&lt;br /&gt;
Excellent summary of selfsigned and properly signed certificate&lt;br /&gt;
https://httpd.apache.org/docs/2.4/ssl/ssl_faq.html&lt;br /&gt;
&lt;br /&gt;
==== Commentary on https security ====&lt;br /&gt;
&lt;br /&gt;
With the general move to using https instead of http after the Snowdon revelations, people have begun to better understand how https certificates really work. People are more aware now that most https certificates mean little more than that their communication with the server is a) confidential b) not tampered with c) is truly with the server/domain name apparent and not some other. ALL WITH THE EXCEPTION OF *ANYBODY* WHO IS A CERTIFICATE AUTHORITY REGISTERED IN THE MAIN BROWSERS - WHICH IS MANY - INCLUDING NON-FRIENDLY NATIONAL STATE ACTORS!&lt;br /&gt;
&lt;br /&gt;
It is possible however to be virtually certain of confidentiality and accuracy of your communication using standard browsers, EVEN VERSUS CERTIFICATION AUTHORITIES. If, by inspecting the certificate when you are browsing a particular web site, you can satisfy  yourself that it is in fact truly the one in use by the web server, the chances of your communication being secure is virtually 100% The only chance is some failure in fundamental encryption protocols. Such failures would either be public knowledge very quickly, or not used versus you, for fear of it becoming public knowledge, unless you really have something incredibly valuable to hide. In this sense, self-certified certificates are the most secure, since you can obtain them by some other secure channel directly from the web server operator and do not change without your action. Note that in order to ensure that a certificate does not change during your session, to say an unknown valid certificate that breaks your security, your browser must support certificate pinning, in which case the browser will either prevent, or inform you if the certificate for the web site changes, either between or within sessions.&lt;br /&gt;
&lt;br /&gt;
To gain a practical understanding of the issues raised if you trust the certification authorities built in to your browser, consider the fact that many companies require an additional certificate authority to be installed in all corporate browsers (and in some famous cases have installed it covertly), and thereafter all https communications are decrypted in the company firewall/proxy using the corporate certificate, checked for content and reencrypted with the true certificate before being passed on - or vice versa, depending on the direction of flow of information. This, for example means that an employee accessing their bank account would be completely exposed to the corporate gaze. Two factor security would prevent corporate interference in say, instructions to make payments, but all information would be exposed and probably logged in possibly long term records. The same would apply to all https web sites accessed by the employee. Courts seem to agree that corporations have every right to do this but the average person is commonly not aware of it. If a person understood how https security works, they could inspect the https certificate to make sure it is the correct (same one issued by their bank apparent at home for example), since it is unlikely that an adversary (or in this case their employer) would control their actual browser software, but security is an arms race and once everybody knows how to defend themselves, adversaries and security operators will simply move to the next level. The next level may be preventing users from using their own browsers. This is already the case in most secure environment, but not all, and BYOD attitudes may prevail in the long run. Whatever the issues are in this case, the same general principle apply in other situations involving security.&lt;br /&gt;
&lt;br /&gt;
=== Generating a self signed certificate in pfx form for IIS ===&lt;br /&gt;
&lt;br /&gt;
Generating certificates and keys https://httpd.apache.org/docs/2.4/ssl/ssl_faq.html&lt;br /&gt;
&lt;br /&gt;
Generating a pfx using openssl https://langui.sh/2009/01/24/generating-a-pkcs12-pfx-via-openssl/&lt;br /&gt;
&lt;br /&gt;
==== Generate standard cert and key pair ====&lt;br /&gt;
&lt;br /&gt;
First generate a matching pair of certificate and key files (x509 and rsa format respectively)&lt;br /&gt;
&lt;br /&gt;
Example for *.mydomain and validity 9999 days from now&lt;br /&gt;
&lt;br /&gt;
 signer=self&lt;br /&gt;
 mydomain=neosys.com&lt;br /&gt;
 mydomains=*.neosys.com&lt;br /&gt;
 expirydays=9999&lt;br /&gt;
 keyno=`date`&lt;br /&gt;
 certno=$keyno&lt;br /&gt;
 #&lt;br /&gt;
 certfilename=$mydomain-$signer-$certno.cer&lt;br /&gt;
 keyfilename=$mydomain-$keyno.key&lt;br /&gt;
 #&amp;quot;-nodes&amp;quot; means -no-DES ie no encryption ie generate a key file without encrypting it and therefore without requiring a password on it&lt;br /&gt;
 openssl req -new -x509 -nodes -days $expirydays -out &amp;quot;$certfilename&amp;quot; -keyout &amp;quot;$keyfilename&amp;quot; \&lt;br /&gt;
     -subj &amp;quot;/C=AE/ST=DUBAI/O=NEOSYS/CN=*.neosys.com&amp;quot; \&lt;br /&gt;
     -reqexts SAN     -config &amp;lt;(cat /etc/ssl/openssl.cnf \&lt;br /&gt;
      &amp;lt;(printf &amp;quot;[SAN]\nsubjectAltName=DNS:*.hosts.neosys.com,DNS:*.support.neosys.com&amp;quot;)) \&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consider adding subject and subject alternative names&lt;br /&gt;
&lt;br /&gt;
 openssl x509 -req -new -sha256 \&lt;br /&gt;
     -newkey rsa:2048 \&lt;br /&gt;
     -keyout neosys.com-102.key \&lt;br /&gt;
     -subj &amp;quot;/C=AE/ST=DUBAI/O=NEOSYS/CN=*.neosys.com&amp;quot; \&lt;br /&gt;
     -reqexts SAN     -config &amp;lt;(cat /etc/ssl/openssl.cnf \&lt;br /&gt;
      &amp;lt;(printf &amp;quot;[SAN]\nsubjectAltName=DNS:*.hosts.neosys.com,DNS:*.support.neosys.com&amp;quot;)) \&lt;br /&gt;
     -out neosys.com-102.crt \&lt;br /&gt;
     -nodes \&lt;br /&gt;
     -days 9999&lt;br /&gt;
&lt;br /&gt;
Example session:&lt;br /&gt;
&lt;br /&gt;
 Country Name (2 letter code) [AU]:AE&lt;br /&gt;
 State or Province Name (full name) [Some-State]:DUBAI&lt;br /&gt;
 Locality Name (eg, city) []:DUBAI&lt;br /&gt;
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:NEOSYS&lt;br /&gt;
 Organizational Unit Name (eg, section) []:IT&lt;br /&gt;
 Common Name (e.g. server FQDN or YOUR name) []:*.neosys.com&lt;br /&gt;
 Email Address []:it@neosys.com&lt;br /&gt;
&lt;br /&gt;
=== Generating a properly signed certificate ===&lt;br /&gt;
&lt;br /&gt;
http://wiki.gandi.net/en/ssl/csr#sha-2_certificate_request&lt;br /&gt;
&lt;br /&gt;
==== Generate key and CSR file ====&lt;br /&gt;
&lt;br /&gt;
A certificate signing request file (.csr) for *.hosts.neosys.com (wildcard certificate)&lt;br /&gt;
&lt;br /&gt;
if you are renewing (and want to reuse an existing secret server key file mydomain.key, although not clear on the benefit ATM)&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -nodes -sha256 -key mydomain.key -subj &amp;quot;/C=AE/ST=DUBAI/O=NEOSYS/CN=*.hosts.neosys.com&amp;quot; -out mydomain.csr&lt;br /&gt;
&lt;br /&gt;
or if you want to generate a new secret server key file&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -nodes -sha256 -newkey rsa:2048 -keyout mydomain.key -subj &amp;quot;/C=AE/ST=DUBAI/O=NEOSYS/CN=*.hosts.neosys.com&amp;quot; -out mydomain.csr&lt;br /&gt;
&lt;br /&gt;
or if you want to request SAN subdomain wildcards (unlikely to be granted by main cert authorities but perfectly legal and can be self certified)&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -nodes -sha256 -newkey rsa:2048 -keyout mydomain.key -subj &amp;quot;/C=AE/ST=DUBAI/O=NEOSYS/CN=*.neosys.com&amp;quot; -out mydomain.csr \&lt;br /&gt;
     -reqexts SAN     -config &amp;lt;(cat /etc/ssl/openssl.cnf \&lt;br /&gt;
        &amp;lt;(printf &amp;quot;[SAN]\nsubjectAltName=DNS:neosys.com,DNS:*.neosys.com,DNS:*.support.neosys.com,DNS:*.hosts.neosys.com&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
View the csr and verify correct (check that SAN additional domains are listed if you requested them above)&lt;br /&gt;
&lt;br /&gt;
 openssl req -in mydomain.csr -noout -text&lt;br /&gt;
&lt;br /&gt;
==== Either send to CA and get crt/cer file back ====&lt;br /&gt;
&lt;br /&gt;
Send the csr file to the certifying authority and put their response in a mydomain.crt file&lt;br /&gt;
&lt;br /&gt;
Make sure you inform them that the type of software you used to generate the csr is &amp;quot;mod Apache/ModSSL&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 mydomain.csr -&amp;gt; mydomain.cer&lt;br /&gt;
&lt;br /&gt;
==== Or self sign to test all ok ====&lt;br /&gt;
&lt;br /&gt;
 nano ssl.conf&lt;br /&gt;
&lt;br /&gt;
 [req_distinguished_name]&lt;br /&gt;
 countryName = Country Name (2 letter code)&lt;br /&gt;
 countryName_default = AE&lt;br /&gt;
 stateOrProvinceName = State or Province Name (full name)&lt;br /&gt;
 stateOrProvinceName_default = Dubai&lt;br /&gt;
 localityName = Locality Name (eg, city)&lt;br /&gt;
 localityName_default = Dubai&lt;br /&gt;
 organizationalUnitName  = Organizational Unit Name (eg, section)&lt;br /&gt;
 organizationalUnitName_default  = IT&lt;br /&gt;
 commonName = *.neosys.com&lt;br /&gt;
 commonName_max  = 64&lt;br /&gt;
 #&lt;br /&gt;
 [ v3_req ]&lt;br /&gt;
 # Extensions to add to a certificate request&lt;br /&gt;
 basicConstraints = CA:FALSE&lt;br /&gt;
 #keyUsage = nonRepudiation, digitalSignature, keyEncipherment&lt;br /&gt;
 subjectAltName = @alt_names&lt;br /&gt;
 #&lt;br /&gt;
 [alt_names]&lt;br /&gt;
 DNS.1 = neosys.com&lt;br /&gt;
 DNS.2 = *.neosys.com&lt;br /&gt;
 DNS.3 = *.hosts.neosys.com&lt;br /&gt;
 DNS.4 = *.support.neosys.com&lt;br /&gt;
&lt;br /&gt;
 openssl x509 -signkey mydomain.key -in mydomain.csr -req -days 9999 -extensions v3_req   -extfile ssl.conf -out mydomain.crt&lt;br /&gt;
&lt;br /&gt;
view the cert and check extensions (additional domain names) are present if required&lt;br /&gt;
&lt;br /&gt;
 openssl x509 -in mydomain.crt -text -noout&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Merge private key and signed public cert into password protected pfx file ====&lt;br /&gt;
&lt;br /&gt;
Convert the pair of standard files into a single pfx file that IIS can import&lt;br /&gt;
&lt;br /&gt;
 friendlyname=&amp;quot;COMODO SIGNED hosts.neosys.com *.hosts.neosys.com&amp;quot;&lt;br /&gt;
 openssl pkcs12 -export -in mydomain.crt -inkey mydomain.key -name &amp;quot;$friendlyname&amp;quot; -out mydomain.pfx&lt;br /&gt;
&lt;br /&gt;
It will ask for a password .. the usual NEOSYS one is 1f... which will be required when you import the pfx file into IIS before binding to web sites&lt;br /&gt;
&lt;br /&gt;
Example session:&lt;br /&gt;
&lt;br /&gt;
 Enter Export Password:&lt;br /&gt;
 Verifying - Enter Export Password:&lt;br /&gt;
&lt;br /&gt;
Check the pfx file&lt;br /&gt;
&lt;br /&gt;
 openssl pkcs12 -in mydomain.pfx&lt;br /&gt;
&lt;br /&gt;
 openssl pkcs12 -in mydomain.pfx | openssl x509 -noout -text&lt;br /&gt;
&lt;br /&gt;
==== Copy the pfx file to the IIS server and import/bind in the usual way ====&lt;br /&gt;
&lt;br /&gt;
Copy it to the https server&lt;br /&gt;
&lt;br /&gt;
 mysshport=&amp;quot;-P 19510&amp;quot;&lt;br /&gt;
 mysshtarget=&amp;quot;administrator@win3.neosys.com:/cygdrive/d/hosts/CERTIFICATES&amp;quot;&lt;br /&gt;
 scp $mysshport mydomain.pfx $mysshtarget&lt;br /&gt;
&lt;br /&gt;
==== Friendly name in pfx file ====&lt;br /&gt;
&lt;br /&gt;
On the IIS server after importing, if you have multiple certificates for the same domain name you might like to add a &amp;quot;friendly name&amp;quot; to distinguish them in the dropdown when binding certificates to web sites.&lt;br /&gt;
&lt;br /&gt;
You might also want to add the friendly name to the pfx file if you intend to import it again or elsewhere using certificate export to pfx with options Include All and Export All&lt;br /&gt;
&lt;br /&gt;
https://rickardrobin.wordpress.com/2012/12/05/specifying-a-friendly-name-to-a-certificate/&lt;br /&gt;
&lt;br /&gt;
=== Understanding SSL certificates ===&lt;br /&gt;
&lt;br /&gt;
==== What are RSA Private Keys, CSRs and Certificates? ====&lt;br /&gt;
&lt;br /&gt;
YOUR RSA PRIVATE KEY FILE&lt;br /&gt;
&lt;br /&gt;
is a digital file created by you and never ever shared with others. It is USED ONLY BY YOU (never by others) to either:&lt;br /&gt;
&lt;br /&gt;
*to DECRYPT secret, encrypted, messages received by you from others&lt;br /&gt;
*to SIGN messages before sending them to others providing them certainty that the message came from you without being tampered with and that you cannot deny signing them.&lt;br /&gt;
&lt;br /&gt;
YOUR RSA PUBLIC KEY FILE&lt;br /&gt;
&lt;br /&gt;
is a digital file created by you and freely shared with others. It is USED BY OTHERS (never by you) to either:&lt;br /&gt;
&lt;br /&gt;
*ENCRYPT messages before sending them to you&lt;br /&gt;
*VERIFY that signed messages were in fact signed by you and not tampered with and you cannot deny signing them.&lt;br /&gt;
&lt;br /&gt;
OTHER PERSON&#039;S RSA PUBLIC KEY FILE&lt;br /&gt;
&lt;br /&gt;
is a digital file created by the other person and freely shared with you and others. It is USED BY YOU OR ANYBODY (never by the other person) to either:&lt;br /&gt;
&lt;br /&gt;
*ENCRYPT messages to achieve secrecy before sending them to the other person.&lt;br /&gt;
*VERIFY that signed messages received were in fact signed by the other person and that they cannot deny signing them nor claim they have been tampered with.&lt;br /&gt;
&lt;br /&gt;
To obtain someone&#039;s public key, you need a trusted channel, ie a signed channel, but not a secret or encrypted channel since the information is public and not confidential.&lt;br /&gt;
&lt;br /&gt;
Using your private key and someones public key together:&lt;br /&gt;
&lt;br /&gt;
*If you want to send a signed secret message to someone and allow them to be sure it came unmodified from you, you first sign the message using YOUR PRIVATE KEY, then encrypt the message using THEIR PUBLIC KEY&lt;br /&gt;
*If you want to receive a secret message and verify that it came unmodified from someone in particular, you first you decrypt the message using YOUR PRIVATE KEY, then verify the message using THEIR PUBLIC KEY&lt;br /&gt;
&lt;br /&gt;
Signing and Verification = Encryption and Decryption Mathematical Process with keys reversed&lt;br /&gt;
&lt;br /&gt;
Actually, the process of &amp;quot;signing&amp;quot; is doing the same mathematical process as encryption, but since you use the recipients public key, the resultant &amp;quot;encrypted&amp;quot; messege is not secret because it can be &amp;quot;decrypted&amp;quot; using a public key which are freely available.&lt;br /&gt;
&lt;br /&gt;
Likewise, the process of &amp;quot;verification&amp;quot; on a received message is doing the same mathematical process as decryption, but since you are using the senders public key, and anybody could &amp;quot;decrypt&amp;quot; the message, it was not really encrypted in the sense of being secret.&lt;br /&gt;
&lt;br /&gt;
So we have two processes, one called Encryption/Signing but is exactly the same mathematical process with two names depending on whether we use a public or private key, and another process called Decryption/Verification which uses the opposite key.&lt;br /&gt;
&lt;br /&gt;
What YOU use for what:&lt;br /&gt;
&lt;br /&gt;
*YOUR (PRIVATE) KEY = USED BY YOU for decryption and signing&lt;br /&gt;
*THEIR (PUBLIC) KEY = USED BY YOU for encryption and verification&lt;br /&gt;
&lt;br /&gt;
*YOUR (PUBLIC) KEY = NEVER USED BY YOU - since anybody else could do the same thing so no trust or secrecy could be obtained&lt;br /&gt;
*THEIR (PRIVATE) KEY = NEVER USED BY YOU - since you dont have it!&lt;br /&gt;
&lt;br /&gt;
What to use:&lt;br /&gt;
&lt;br /&gt;
*ENCRYPT OUTGOING = Use THEIR (public) key&lt;br /&gt;
*VERIFY INCOMING = Use THEIR (public) key&lt;br /&gt;
&lt;br /&gt;
*DECRYPT INCOMING = Use YOUR (private) key&lt;br /&gt;
*SIGN OUTGOING = Use YOUR (private) key&lt;br /&gt;
&lt;br /&gt;
So the slightly strange thing is that you dont encrypt messages with your private key as might be assumed naturally. You encrypt using the target recipient&#039;s public key. This is perfectly logical if you understand the concept asymmetric cryptography.&lt;br /&gt;
&lt;br /&gt;
One thing to note is that, while it is obvious that other people never use your private key, since they dont have it, it is not obvious, but perfectly true, that you never use your public key. NOBODY EVER USES THEIR OWN PUBLIC KEY ... THEY ONLY GIVE IT TO OTHERS TO USE.&lt;br /&gt;
&lt;br /&gt;
CERTIFICATE&lt;br /&gt;
&lt;br /&gt;
It has a public component which you distribute (via your Certificate file) which allows people to encrypt those messages to you. It can also be used by you to sign messages that can be verified as having come from you by anyone who receives the signed message, using your public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CSR FILE&lt;br /&gt;
&lt;br /&gt;
A Certificate Signing Request (CSR) is a digital file which contains your public key and your details eg name/domain name etc. You send the CSR to a Certifying Authority (CA), who will create a real Certificate containing your detail eg your domain name and your public key, signed by them using their private RSA private key.&lt;br /&gt;
&lt;br /&gt;
CERTIFICATE&lt;br /&gt;
&lt;br /&gt;
A Certificate contains your RSA public key, your name, the name of the CA, and is digitally signed by the CA. Browsers that know the CA can verify the signature on that Certificate, thereby obtaining your RSA public key. That enables them to send messages which only you can decrypt.&lt;br /&gt;
&lt;br /&gt;
==== What is Asymmetric cryptography? ====&lt;br /&gt;
&lt;br /&gt;
Asymmetric cryptography allows you to freely publish an encryption key that can be used by anyone to send you encrypted messages. Such messages can only be decrypted by you using a decryption key which you always keep secret.&lt;br /&gt;
&lt;br /&gt;
It also allows you to publish messages that can be verified by anyone as coming from you without any modification by others.&lt;br /&gt;
&lt;br /&gt;
So we have a pair of keys that if either one is used for encryption, then the other one is required for decryption. In that sense, we should not refer to the private key as the encryption key and the public key a&lt;br /&gt;
&lt;br /&gt;
To start encrypting or signing, you need a matched pair of keys and you need to forever keep one of them secret.&lt;br /&gt;
&lt;br /&gt;
.key a file that contains a random collection of characters that can be used to encrypt&lt;br /&gt;
&lt;br /&gt;
.cer a file that contains a random collection of characters that can be given out publically and used by anybody to encrypt something to be sent to you&lt;br /&gt;
&lt;br /&gt;
A certificate is some information that has been processed by a private and secret key.&lt;br /&gt;
&lt;br /&gt;
pfx contains a private key and public certificate which contains your public key embedded. Usually pfx files are encrypted and you have to enter a password before using them, ie importing them.&lt;br /&gt;
&lt;br /&gt;
==[[Backing up and Restoring IIS configuration]]==&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=File:Uploaderror.png&amp;diff=2630</id>
		<title>File:Uploaderror.png</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=File:Uploaderror.png&amp;diff=2630"/>
		<updated>2016-04-13T12:29:42Z</updated>

		<summary type="html">&lt;p&gt;Ruku: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Configuring_IIS&amp;diff=2629</id>
		<title>Configuring IIS</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Configuring_IIS&amp;diff=2629"/>
		<updated>2016-04-13T12:25:41Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Create IMAGES directory */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;After you have installed all the NEOSYS program files you need to configure IIS so that you can operate NEOSYS. Instructions are below.&lt;br /&gt;
&lt;br /&gt;
== Configuring IIS for windows 2003 ==&lt;br /&gt;
&lt;br /&gt;
=== Creating a new website in IIS ===&lt;br /&gt;
&lt;br /&gt;
First step is to stop the default website in IIS. Right click on Default Web Site and select &amp;quot;Stop&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039; Create a website called neosys linked to D:\neosys\neosys.net:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3 Server:&#039;&#039;&#039; Create a website called &amp;quot;clientname&amp;quot; linked to D:\hosts\clientfolder\neosys.net &lt;br /&gt;
&lt;br /&gt;
[[image:figure1.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[image:figure3.jpg]]&lt;br /&gt;
&lt;br /&gt;
A new window will pop up &amp;quot;IP Address and Port Setting&amp;quot; after completion of the above step.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039;  Select *(All Unassigned)* from the drop down list of &amp;quot;Enter the IP address to use for the Web site&amp;quot; and keep the default port as 80. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3 Server:&#039;&#039;&#039; Select the static Ip from the drop down list of &amp;quot;Enter the IP address to use for the Web site&amp;quot; and enter then next port available and click on next.&lt;br /&gt;
&lt;br /&gt;
[[image:Figure_2.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039; Within the above neosys web site folder create a virtual directory called data linked to D:\neosys\data: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3 Server:&#039;&#039;&#039; Within the above clientwebsite folder create a virtual directory called data linked to D:\hosts\clientfolder\data:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(I haven’t got the screenshot because I can only get it once I create the above)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== To allow file uploads ===&lt;br /&gt;
&lt;br /&gt;
==== Create IMAGES directory ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client server:&#039;&#039;&#039; create a folder IMAGES under D:\neosys and within the neosys web site folder create a virtual directory called images linked to D:\neosys\images: Modes: READ and WRITE&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3 Server:&#039;&#039;&#039; create a folder IMAGES under D:\hosts\clientfolder and within the client web site folder create a virtual directory called images linked to D:\hosts\clientfolder\images: Modes: READ and WRITE&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(I haven’t got the screenshot because I can only get it once I create the above)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Permit upload.dll ====&lt;br /&gt;
&lt;br /&gt;
# Right click on dll ( Default Web Site, neosys, NEOSYS, dll) &lt;br /&gt;
# Under Permissions set Execute Permissions: Scripts and Executables&lt;br /&gt;
&lt;br /&gt;
# Internet Information Services (IIS) Manager&lt;br /&gt;
# Web Service Extensions&lt;br /&gt;
# All Unknown ISAPI Extensions: Allowed&lt;br /&gt;
&lt;br /&gt;
===[[Backing_up_and_Restoring_IIS_configuration#Set_IIS_automatic_backup_location_to_d:| Set IIS automatic backup location to D:]] ===&lt;br /&gt;
&lt;br /&gt;
== Configuring IIS for Windows 2008 ==&lt;br /&gt;
&lt;br /&gt;
=== Installing IIS ===&lt;br /&gt;
&lt;br /&gt;
First install IIS from Control Panel &amp;gt; Programs &amp;amp; Features &amp;gt; Turn Windows Features ON or OFF &amp;gt; Add Roles:&lt;br /&gt;
&lt;br /&gt;
[[image:iis1.jpg]]&lt;br /&gt;
&lt;br /&gt;
On the window that pops up click on next and you will get this screen, tick Web Server (IIS) - on the prompt click on Add Required Resources and then on Next:&lt;br /&gt;
&lt;br /&gt;
[[image:iis2.jpg]]&lt;br /&gt;
&lt;br /&gt;
On the next window, click on next until you get this window - tick ASP and ISAPI Extensions:&lt;br /&gt;
&lt;br /&gt;
[[image:iis3.jpg]]&lt;br /&gt;
&lt;br /&gt;
Click on Next and Finish&lt;br /&gt;
&lt;br /&gt;
=== Configuring IIS ===&lt;br /&gt;
====Create a new Website====&lt;br /&gt;
After successfully installing IIS, go to Control Panel &amp;gt; Administrative Tools &amp;gt; Computer Management &amp;gt; Services and Applications &amp;gt; Internet Information Services (IIS) &amp;gt; Machine Name &amp;gt; Sites &amp;gt; Default Website. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039; Stop the Default Website and then right click on Sites folder and click on Add Website called &#039;&#039;&#039;neosys&#039;&#039;&#039; linked to {{Client server Installation Location}}neosys.net as shown in the screenshot below&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3:&#039;&#039;&#039; Right click on Sites folder and click on Add Website. Create a website called &amp;quot;clientname&amp;quot; linked to {{NEOSYS server Installation Location}}neosys.net; &lt;br /&gt;
Since win3 is not connected to any LAN and exclusively serves https only, therefore setup a https binding only with a port number which is unique, unused and one greater than the previous port used in the series which is 4431 onwards. The highest port number used in this series can be found by checking IIS manager -&amp;gt; NEOSYS -&amp;gt;Sites.&lt;br /&gt;
&lt;br /&gt;
Refer to [[Setting_up_HTTPS#Creating_multiple_HTTPS_web_sites_on_NEOSYS_hosted_server| setting up the https for a site on NEOSYS hosted server]] for details.&lt;br /&gt;
&lt;br /&gt;
[[image:iis4.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Link Data Folder====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039; Within the neosys website folder create a virtual directory called &#039;&#039;&#039;data&#039;&#039;&#039; linked to {{Client server Installation Location}}data&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3:&#039;&#039;&#039; Within the &amp;quot;clientname&amp;quot; website folder create a virtual directory called &#039;&#039;&#039;data&#039;&#039;&#039; linked to {{NEOSYS server Installation Location}}data &lt;br /&gt;
&lt;br /&gt;
[[image:iis5.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Allow file uploads====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039; create a folder &#039;&#039;&#039;images&#039;&#039;&#039; under D:\neosys and within the neosys web site folder create a virtual directory called &#039;&#039;&#039;images&#039;&#039;&#039; linked to {{Client server Installation Location}}images&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3:&#039;&#039;&#039; create a folder &#039;&#039;&#039;images&#039;&#039;&#039; under D:\hosts\clientfolder and within the &amp;quot;clientname&amp;quot; website folder create a virtual directory called &#039;&#039;&#039;images&#039;&#039;&#039; linked to {{NEOSYS server Installation Location}}images&lt;br /&gt;
&lt;br /&gt;
[[image:iis7.jpg]]&lt;br /&gt;
&lt;br /&gt;
After you add all virtual directories the tree map of the Default Website should look as follows:&lt;br /&gt;
&lt;br /&gt;
[[image:iis8.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Configure file uploads besides adding the images directory====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;For single site servers&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go under IIS &amp;gt; Default Website &amp;gt; neosys&lt;br /&gt;
&lt;br /&gt;
Click on Handler Mappings and delete the ISAPI you see there&lt;br /&gt;
&lt;br /&gt;
[[image:iis9a.jpg]]&lt;br /&gt;
&lt;br /&gt;
Thereafter click on Add Script Map and fill in the details as follows – &lt;br /&gt;
&lt;br /&gt;
Request path: *.dll &lt;br /&gt;
&lt;br /&gt;
Executable: {{Client server Installation Location}}neosys.net\NEOSYS\dll\upload.dll&lt;br /&gt;
&lt;br /&gt;
Name: ISAPI &lt;br /&gt;
&lt;br /&gt;
Click on OK and on YES in the confirmation box&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:iis9b.jpg]]&lt;br /&gt;
[[image:hm.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;For multiple site servers&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go under IIS&amp;gt;NEOSYS&amp;gt;Click on Handler Mappings &amp;gt; Edit Feature Permissions &amp;gt; Select Read, Script and Execute &lt;br /&gt;
&lt;br /&gt;
For WIN3 the above setting is already setup&lt;br /&gt;
&lt;br /&gt;
===Editing the hosts file===&lt;br /&gt;
Edit the hosts file under c:\windows\system32\drivers\etc\ - delete the # sign next to 127.0.0.1 localhost and include the # sign before ::1 localhost&lt;br /&gt;
&lt;br /&gt;
[[image:iis10.jpg]]&lt;br /&gt;
&lt;br /&gt;
===[[Backing_up_and_Restoring_IIS_configuration#Set_IIS_automatic_backup_location_to_d:| Set IIS automatic backup location to D:]] ===&lt;br /&gt;
&lt;br /&gt;
== Solving IIS errors ==&lt;br /&gt;
&lt;br /&gt;
=== Solving error during file upload: &amp;quot;Page cannot be displayed&amp;quot; HTTP Error 405 in windows 2003 ===&lt;br /&gt;
&lt;br /&gt;
This error should not occur in normal NEOSYS installations but the solution is as follows:&lt;br /&gt;
&lt;br /&gt;
# Go to Control Panel, Administrative Tools, Internet Information Services&lt;br /&gt;
# Expand the tree to COMPUTERNAME, Web Sites&lt;br /&gt;
# Right-click &amp;quot;Default Web Site&amp;quot; (or specific Web Site if multiple NEOSYS http/https installations on the server as per WIN3)&lt;br /&gt;
# Properties&lt;br /&gt;
# Home Directory&lt;br /&gt;
# Configuration&lt;br /&gt;
# Mappings, Add&lt;br /&gt;
# Browse&lt;br /&gt;
# Dynamic Link Libraries *.dll&amp;quot; from the &amp;quot;Files of Type&amp;quot; dropdown&lt;br /&gt;
# Find and select D:\NEOSYS\neosys.net\NEOSYS\dll\upload.dll (OR upload.dll in the installation directory)&lt;br /&gt;
# Extension Type: dll&lt;br /&gt;
# Limit to: All&lt;br /&gt;
# Click the &amp;quot;OK&amp;quot; button&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Solving HTTP Error 404 Error occurring immediately on opening NEOSYS login page on a new server installation: &amp;quot;System Failure. Do you want to retry?&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
This error message is caused by failing to enable Active Server Pages in the IIS configuration. To resolve this in windows 2008, [[Configuring_IIS#Configure_file_uploads_besides_adding_the_images_directory| ensure that Read, Script, Execute is ticked (enabled) in the feature permissions of these Handler Mappings.]]&lt;br /&gt;
&lt;br /&gt;
This message is from IE8 and a Windows 2003 server. The message may be different for other browser versions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Message from web page.&lt;br /&gt;
&lt;br /&gt;
System Failure. Do you want to retry?&lt;br /&gt;
&lt;br /&gt;
The page cannot be found&lt;br /&gt;
The page you are looking for might have been removed, had its name change, or it temporarily unavailable.&lt;br /&gt;
&lt;br /&gt;
Please try the following:&lt;br /&gt;
(omitted)&lt;br /&gt;
HTTP Error 404 - File or directory not found.&lt;br /&gt;
Internet Information Services (IIS)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:http404.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Solving HTTP 404 Webpage cannot be found ===&lt;br /&gt;
&lt;br /&gt;
This error message clearly states that the page cannot be found. Check for the requested page in the client website folder under the virtual directory data. This page will be available under the data folder in D:\neosys\data. A possible cause of this error is by failing to create a virtual directory called data linked to D:\neosys\data:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:http404p.jpg]]&lt;br /&gt;
===Solving Error &amp;quot;The specified Executable does not exist on the server&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
While adding Script Map in Handler Mappings in the above step, if you get the below error, this means you have not yet run the Maintenance window/ NEOSYS processes and skipped steps in Installing NEOSYS. File upload.dl_ is installed from NEOSYS.EXE or NEOSYS2.EXE and converted to .dll the first time you run NEOSYS Maintenance/Process. You can also manually rename the file to upload.dll. &lt;br /&gt;
&lt;br /&gt;
[[image:Dll_error.png]]&lt;br /&gt;
&lt;br /&gt;
=== Solving IIS error 500 on uploading for windows 2008===&lt;br /&gt;
&lt;br /&gt;
To test if permissions are the problem, in grant full control to IUSR over the whole client directory e.g d:\neosys or d:\hosts\clientx in security tab of windows explorer and see if you can upload.&lt;br /&gt;
&lt;br /&gt;
Regardless of the result, remove the full control permissions since they are a security risk.&lt;br /&gt;
&lt;br /&gt;
If permissions are the problem then grant specific permissions as follows:&lt;br /&gt;
&lt;br /&gt;
#images folder - read and write permissions (but not execute)&lt;br /&gt;
#dll folder - read and execute permission (no write permission)&lt;br /&gt;
&lt;br /&gt;
=== Solving error &amp;quot;Upload folder cannot be created.The system cannot find the drive specified&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
This error message comes up when the File uploads are configured to a different location in the software than what is set up in IIS.&lt;br /&gt;
&lt;br /&gt;
There is an internal system configuration in line 49 of the DOS SYSTEM.CFG file which mentions the upload folder location (normally blank which means xxxxxx\images\ where xxxxxx is the installation directory e.g d:\neosys)&lt;br /&gt;
&lt;br /&gt;
Where we want the images uploaded to a place other than the installation directory the configuration may say something like h:\images\ where ever the folder should be e.g on an external USB drive. This may be done in case of client installations where file uploads are configured on USB drives due to a huge number of files getting uploaded.&lt;br /&gt;
&lt;br /&gt;
The IIS and internal configuration must agree otherwise you will probably not be able to upload files or uploaded files may not go in the right place and may be lost, not backed up and/or not viewable.&lt;br /&gt;
&lt;br /&gt;
To fix this issue, you MUST link the &#039;&#039;&#039;images&#039;&#039;&#039; folder in IIS to {{NEOSYS server Installation Location}}images&lt;br /&gt;
&lt;br /&gt;
== Disabling unsecure SSL3 protocol on Windows IIS web server ==&lt;br /&gt;
&lt;br /&gt;
POODLE is an information leakage attack on client browsers while accessing web server that support the older SSL3 protocol. It is easy to prevent it by reconfiguring web servers to not support SSL3.&lt;br /&gt;
&lt;br /&gt;
=== Securing IIS web server on win2003 and 2008 by disabling unsafe SSL3 protocol ===&lt;br /&gt;
&lt;br /&gt;
#For Systems with https installed check if the web server is vulnerable (see [[Configuring_IIS#Testing_for_IIS_vulnerability| Testing for IIS vulnerability]] ). For systems with no https installed,continue to step2 to prevent SSL3 accidentally being enabled if https is installed in the server in future and then test for vulnerability.&lt;br /&gt;
# run the following commands on the server&lt;br /&gt;
#reg add &amp;quot;HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#reg add &amp;quot;HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#reg add &amp;quot;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 40/128&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#reg add &amp;quot;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 56/128&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#reg add &amp;quot;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 64/128&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#reg add &amp;quot;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 128/128&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#Reboot the server (at any time later using standard NEOSYS rebooting procedure without disturbing users)&lt;br /&gt;
#Perform the diagnostic for vulnerability&lt;br /&gt;
&lt;br /&gt;
=== Testing for IIS vulnerability ===&lt;br /&gt;
==== A. Determine host and port and where to test from ==== &lt;br /&gt;
If you have a public https server that you can access like https://demo.neosys.com:443, in a linux command prompt eg nagios login:&lt;br /&gt;
&lt;br /&gt;
*$HOST for host name like demo.neosys.com&lt;br /&gt;
*$PORT with something like 443 or 4430 depending on port forwarding on the public router&lt;br /&gt;
&lt;br /&gt;
or if testing a private https server with no public access, using a cygwin installation on the same server in the cygwin prompt:&lt;br /&gt;
&lt;br /&gt;
*$HOST for host name like 127.0.0.1&lt;br /&gt;
*$PORT with something like 443 or 4430 as per IIS manager configuration&lt;br /&gt;
&lt;br /&gt;
If https is enabled on the server/website and you are able to access the website via https using a browser, then you must be able to test for openssl on the same browsed host and port. You must also test this locally to ensure that the right server is being fixed. If the website is not public, then https must not be enabled, which means there is no reason for using cygwin openssl.&lt;br /&gt;
&lt;br /&gt;
==== B. Check you CAN connect to https server using TLS ====&lt;br /&gt;
&lt;br /&gt;
 openssl s_client -host $HOST -port $PORT&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nagios@vm1m:~$ echo|openssl s_client -host demo.neosys.com -port 443&lt;br /&gt;
CONNECTED(00000003)&lt;br /&gt;
depth=0 CN = demo.neosys.com&lt;br /&gt;
verify error:num=20:unable to get local issuer certificate&lt;br /&gt;
verify return:1&lt;br /&gt;
depth=0 CN = demo.neosys.com&lt;br /&gt;
verify error:num=21:unable to verify the first certificate&lt;br /&gt;
verify return:1&lt;br /&gt;
---&lt;br /&gt;
Certificate chain&lt;br /&gt;
 0 s:/CN=demo.neosys.com&lt;br /&gt;
   i:/CN=demo.neosys.com&lt;br /&gt;
---&lt;br /&gt;
Server certificate&lt;br /&gt;
-----BEGIN CERTIFICATE-----&lt;br /&gt;
MIIB2DCCAUWgAwIBAgIQd0J0l4kJrpJHonAv5U8VLjAJBgUrDgMCHQUAMBoxGDAW&lt;br /&gt;
BgNVBAMTD2RlbW8ubmVvc3lzLmNvbTAeFw0wODA3MjcxOTUxMDNaFw0zNTEyMTIx&lt;br /&gt;
OTUxMDNaMBoxGDAWBgNVBAMTD2RlbW8ubmVvc3lzLmNvbTCBnzANBgkqhkiG9w0B&lt;br /&gt;
AQEFAAOBjQAwgYkCgYEAxzwtoqq49vV7pyBQ6Ej+PvbB1QxkdsxNn5EZSLSOppCb&lt;br /&gt;
jNjV8fFa98unPR0pGM0UdjWMUYodj12c2pnIrfrtXv7pYf+iC1corPEY7607Icbs&lt;br /&gt;
rSOc5aFwnlUYpktoysV1G1crGYgYgXbXgVOUO9phHXJarpKf6SjVw3uXTLlmPUkC&lt;br /&gt;
AwEAAaMnMCUwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDgYDVR0PBAcDBQCwAAAAMAkG&lt;br /&gt;
BSsOAwIdBQADgYEAmgyW60pT62JuM8GH+KogHW7viaMsifXitm3BC/GfaORpJCox&lt;br /&gt;
aS20fAlzGyAlDe9nZWN4roLSxQv0laJkxyNPDuHvLJt1l0FVdk6/vGB6QH0KqM+S&lt;br /&gt;
UaUTLsDZ99UNS/inotobxD9vXuKl58Uoe2lu7r9vJ+1DWDC6AyueSZ6xnno=&lt;br /&gt;
-----END CERTIFICATE-----&lt;br /&gt;
subject=/CN=demo.neosys.com&lt;br /&gt;
issuer=/CN=demo.neosys.com&lt;br /&gt;
---&lt;br /&gt;
No client certificate CA names sent&lt;br /&gt;
---&lt;br /&gt;
SSL handshake has read 635 bytes and written 411 bytes&lt;br /&gt;
---&lt;br /&gt;
New, TLSv1/SSLv3, Cipher is AES128-SHA&lt;br /&gt;
Server public key is 1024 bit&lt;br /&gt;
Secure Renegotiation IS supported&lt;br /&gt;
Compression: NONE&lt;br /&gt;
Expansion: NONE&lt;br /&gt;
SSL-Session:&lt;br /&gt;
    Protocol  : TLSv1&lt;br /&gt;
    Cipher    : AES128-SHA&lt;br /&gt;
    Session-ID: 8A0A00002D51DE183AC2845C6B3FF4BC7485181B4DCBC1758E3A2D5399BDD71C&lt;br /&gt;
    Session-ID-ctx:&lt;br /&gt;
    Master-Key: B10B9370E4DF70E873873AB9851B3CEF19623E6ADA697955E375D931DEE8301D798B4CB14C8D33FCF1BA066C0CC23897&lt;br /&gt;
    Key-Arg   : None&lt;br /&gt;
    PSK identity: None&lt;br /&gt;
    PSK identity hint: None&lt;br /&gt;
    SRP username: None&lt;br /&gt;
    Start Time: 1413885416&lt;br /&gt;
    Timeout   : 300 (sec)&lt;br /&gt;
    Verify return code: 21 (unable to verify the first certificate)&lt;br /&gt;
---&lt;br /&gt;
DONE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== C. Check that you cannot CANNOT to https server using SSL3 ====&lt;br /&gt;
&lt;br /&gt;
 openssl s_client -ssl3 -host $HOST -port $PORT&lt;br /&gt;
&lt;br /&gt;
==== CAN CONNECT = VULNERABLE = NOT OK ====&lt;br /&gt;
&lt;br /&gt;
If you get this then you need to configure the server to prevent SSL3&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nagios@vm1m:~$ echo xxx|openssl s_client -ssl3 -host demo.neosys.com -port 4430&lt;br /&gt;
gethostbyname failure&lt;br /&gt;
connect:errno=0&lt;br /&gt;
nagios@vm1m:~$ echo xxx|openssl s_client -ssl3 -host demo.neosys.com -port 4430&lt;br /&gt;
CONNECTED(00000003)&lt;br /&gt;
depth=0 CN = demo.neosys.com&lt;br /&gt;
verify error:num=20:unable to get local issuer certificate&lt;br /&gt;
verify return:1&lt;br /&gt;
depth=0 CN = demo.neosys.com&lt;br /&gt;
verify error:num=21:unable to verify the first certificate&lt;br /&gt;
verify return:1&lt;br /&gt;
---&lt;br /&gt;
Certificate chain&lt;br /&gt;
 0 s:/CN=demo.neosys.com&lt;br /&gt;
   i:/CN=demo.neosys.com&lt;br /&gt;
---&lt;br /&gt;
Server certificate&lt;br /&gt;
-----BEGIN CERTIFICATE-----&lt;br /&gt;
MIIB3jCCAUugAwIBAgIQNj9FMjT1vIxGo2Mv2Ta9vzAJBgUrDgMCHQUAMB0xGzAZ&lt;br /&gt;
BgNVBAMTEmFkbGluZWQubmVvc3lzLmNvbTAeFw0wODAzMjUxMTIxMzFaFw0zNTA4&lt;br /&gt;
MTAxMTIxMzFaMB0xGzAZBgNVBAMTEmFkbGluZWQubmVvc3lzLmNvbTCBnzANBgkq&lt;br /&gt;
hkiG9w0BAQEFAAOBjQAwgYkCgYEArRuijA8jz3qBm2ZZEwITIJLWIMlQmZxcUvOo&lt;br /&gt;
HNZL0+3oJuX0AQqtpRZMp/7ob9agngfwJQ36vK+424zcBbmKxA2MweKZRalN2jz+&lt;br /&gt;
rdr1oeZ6/Ff3r8+rCPFj/B8CfMOQbSv6YcR0kVc+8ugybB7qT6Nq5ZWOAczG3Ikt&lt;br /&gt;
4EnOlqUCAwEAAaMnMCUwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDgYDVR0PBAcDBQCw&lt;br /&gt;
AAAAMAkGBSsOAwIdBQADgYEAHIq5Gn2LiMgXFaUYrFEfHeajD4jAwdFw+zrjcBDZ&lt;br /&gt;
qM9LnhndHhdPogow9m9cCv1n57ne9rZL1v7w7Y6C53359hTUVZFqtHFfzcWnNyKD&lt;br /&gt;
uHD9a8QDk6/dSwBr/SWIE6OdFUYAj/kDXRQNB5H459spRVa3Yws8vpwrWZhoklxq&lt;br /&gt;
CQg=&lt;br /&gt;
-----END CERTIFICATE-----&lt;br /&gt;
subject=/CN=demo.neosys.com&lt;br /&gt;
issuer=/CN=demo.neosys.com&lt;br /&gt;
---&lt;br /&gt;
No client certificate CA names sent&lt;br /&gt;
---&lt;br /&gt;
SSL handshake has read 649 bytes and written 342 bytes&lt;br /&gt;
---&lt;br /&gt;
New, TLSv1/SSLv3, Cipher is RC4-MD5&lt;br /&gt;
Server public key is 1024 bit&lt;br /&gt;
Secure Renegotiation IS supported&lt;br /&gt;
Compression: NONE&lt;br /&gt;
Expansion: NONE&lt;br /&gt;
SSL-Session:&lt;br /&gt;
    Protocol  : SSLv3&lt;br /&gt;
    Cipher    : RC4-MD5&lt;br /&gt;
    Session-ID: 441A0000EBC1D634B2CDB12924F9B980D2A4CF8C4DD6D3FB9728D3C74F62A8FE&lt;br /&gt;
    Session-ID-ctx:&lt;br /&gt;
    Master-Key: 38F040BE3E7098857B7CB9FF3B44937786F8F8C002B0042370B29F20EFB582833F9E24CFC8E6560AFD06751DC93412D3&lt;br /&gt;
    Key-Arg   : None&lt;br /&gt;
    PSK identity: None&lt;br /&gt;
    PSK identity hint: None&lt;br /&gt;
    SRP username: None&lt;br /&gt;
    Start Time: 1413885545&lt;br /&gt;
    Timeout   : 7200 (sec)&lt;br /&gt;
    Verify return code: 21 (unable to verify the first certificate)&lt;br /&gt;
---&lt;br /&gt;
DONE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== CANNOT CONNECT = NOT VULNERABLE = OK ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nagios@vm1m:~$ echo|openssl s_client -ssl3 -host demo.neosys.com -port 443&lt;br /&gt;
CONNECTED(00000003)&lt;br /&gt;
write:errno=104&lt;br /&gt;
---&lt;br /&gt;
no peer certificate available&lt;br /&gt;
---&lt;br /&gt;
No client certificate CA names sent&lt;br /&gt;
---&lt;br /&gt;
SSL handshake has read 0 bytes and written 0 bytes&lt;br /&gt;
---&lt;br /&gt;
New, (NONE), Cipher is (NONE)&lt;br /&gt;
Secure Renegotiation IS NOT supported&lt;br /&gt;
Compression: NONE&lt;br /&gt;
Expansion: NONE&lt;br /&gt;
SSL-Session:&lt;br /&gt;
    Protocol  : SSLv3&lt;br /&gt;
    Cipher    : 0000&lt;br /&gt;
    Session-ID:&lt;br /&gt;
    Session-ID-ctx:&lt;br /&gt;
    Master-Key:&lt;br /&gt;
    Key-Arg   : None&lt;br /&gt;
    PSK identity: None&lt;br /&gt;
    PSK identity hint: None&lt;br /&gt;
    SRP username: None&lt;br /&gt;
    Start Time: 1413885702&lt;br /&gt;
    Timeout   : 7200 (sec)&lt;br /&gt;
    Verify return code: 0 (ok)&lt;br /&gt;
---&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Enabling Internet Explorer 6 to access secured https web servers ===&lt;br /&gt;
&lt;br /&gt;
To use Internet explorer 6 (on win2003 and XP-before-SP3) to access secured http web sites you need to enable IE6 to use TLS 1.0. Internet Explorer 6 is present in Windows Server 2003 and Windows XP-pre-SP3.&lt;br /&gt;
&lt;br /&gt;
You can also disable SSL 2.0 and SSL 3.0 for additional safety. This good for later versions of Internet Explorer too.&lt;br /&gt;
&lt;br /&gt;
[[File:IE_options.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Generating IIS certificates for https using openssl ==&lt;br /&gt;
&lt;br /&gt;
This covers the two main type of certificates:&lt;br /&gt;
&lt;br /&gt;
#&amp;quot;proper&amp;quot; certificates (accepted by all browsers without complaint) - issued by bona fide certification authority only on proof of control of a domain name - usually for a small fee&lt;br /&gt;
#&amp;quot;self signed&amp;quot; certificates (not accepted by all browsers without error messages without special configuration) - easily&lt;br /&gt;
issued by anybody without the slightest restriction&lt;br /&gt;
&lt;br /&gt;
NEOSYS&#039; proper https certificate for *.hosts.neosys.com, valid approx Jan-Dec 2016, issued by Comodo, was purchased from namecheap.com for a small fraction of the price of purchasing from Comodo or one of the other main certification authorities.&lt;br /&gt;
&lt;br /&gt;
There is no technical requirement to renew certificates with the same issuing authority, nor is their any restriction whatsoever from having multiple concurrent overlapping certificates, in any combination, for the the same domain name or subsets of a domain name. For a certificate to be &amp;quot;proper&amp;quot; it merely has to be issued by (not necessarily purchased from) one of the certificate authorities registered in all the main browsers using by NEOSYS clients. Unlike DNS domain name registrars, of which you can only have one at any one time, and which take to change, certificates are simply installed in particular servers without reference to each other, nor to any imaginary central internet registry, as IS the case for the DNS domain name registry.&lt;br /&gt;
&lt;br /&gt;
The sales of certificates is a bit of scam really because anybody can get a certificate from the main commercial certificate authorities merely by proving control over a domain name - for example, by receiving an email to ADMIN@xxxxx.com. Except for EV certificates such as those issued to banks etc, most https certificates are issued without any check on physical identity or reputation, therefore the cost of issuing https certificates rests merely on the fact that the certification authority has managed to inveigle itself into all the main browsers and have their public key installed along with the browser software. Hoowever, the market seems to be collapsing, with even free certificate authorities appearing although with some minor limitations like short duration of validity of certificates.&lt;br /&gt;
&lt;br /&gt;
Excellent summary of using openssl to manage certificates .. no Alternate Names though&lt;br /&gt;
https://www.digitalocean.com/community/tutorials/openssl-essentials-working-with-ssl-certificates-private-keys-and-csrs&lt;br /&gt;
&lt;br /&gt;
Excellent summary of selfsigned and properly signed certificate&lt;br /&gt;
https://httpd.apache.org/docs/2.4/ssl/ssl_faq.html&lt;br /&gt;
&lt;br /&gt;
==== Commentary on https security ====&lt;br /&gt;
&lt;br /&gt;
With the general move to using https instead of http after the Snowdon revelations, people have begun to better understand how https certificates really work. People are more aware now that most https certificates mean little more than that their communication with the server is a) confidential b) not tampered with c) is truly with the server/domain name apparent and not some other. ALL WITH THE EXCEPTION OF *ANYBODY* WHO IS A CERTIFICATE AUTHORITY REGISTERED IN THE MAIN BROWSERS - WHICH IS MANY - INCLUDING NON-FRIENDLY NATIONAL STATE ACTORS!&lt;br /&gt;
&lt;br /&gt;
It is possible however to be virtually certain of confidentiality and accuracy of your communication using standard browsers, EVEN VERSUS CERTIFICATION AUTHORITIES. If, by inspecting the certificate when you are browsing a particular web site, you can satisfy  yourself that it is in fact truly the one in use by the web server, the chances of your communication being secure is virtually 100% The only chance is some failure in fundamental encryption protocols. Such failures would either be public knowledge very quickly, or not used versus you, for fear of it becoming public knowledge, unless you really have something incredibly valuable to hide. In this sense, self-certified certificates are the most secure, since you can obtain them by some other secure channel directly from the web server operator and do not change without your action. Note that in order to ensure that a certificate does not change during your session, to say an unknown valid certificate that breaks your security, your browser must support certificate pinning, in which case the browser will either prevent, or inform you if the certificate for the web site changes, either between or within sessions.&lt;br /&gt;
&lt;br /&gt;
To gain a practical understanding of the issues raised if you trust the certification authorities built in to your browser, consider the fact that many companies require an additional certificate authority to be installed in all corporate browsers (and in some famous cases have installed it covertly), and thereafter all https communications are decrypted in the company firewall/proxy using the corporate certificate, checked for content and reencrypted with the true certificate before being passed on - or vice versa, depending on the direction of flow of information. This, for example means that an employee accessing their bank account would be completely exposed to the corporate gaze. Two factor security would prevent corporate interference in say, instructions to make payments, but all information would be exposed and probably logged in possibly long term records. The same would apply to all https web sites accessed by the employee. Courts seem to agree that corporations have every right to do this but the average person is commonly not aware of it. If a person understood how https security works, they could inspect the https certificate to make sure it is the correct (same one issued by their bank apparent at home for example), since it is unlikely that an adversary (or in this case their employer) would control their actual browser software, but security is an arms race and once everybody knows how to defend themselves, adversaries and security operators will simply move to the next level. The next level may be preventing users from using their own browsers. This is already the case in most secure environment, but not all, and BYOD attitudes may prevail in the long run. Whatever the issues are in this case, the same general principle apply in other situations involving security.&lt;br /&gt;
&lt;br /&gt;
=== Generating a self signed certificate in pfx form for IIS ===&lt;br /&gt;
&lt;br /&gt;
Generating certificates and keys https://httpd.apache.org/docs/2.4/ssl/ssl_faq.html&lt;br /&gt;
&lt;br /&gt;
Generating a pfx using openssl https://langui.sh/2009/01/24/generating-a-pkcs12-pfx-via-openssl/&lt;br /&gt;
&lt;br /&gt;
==== Generate standard cert and key pair ====&lt;br /&gt;
&lt;br /&gt;
First generate a matching pair of certificate and key files (x509 and rsa format respectively)&lt;br /&gt;
&lt;br /&gt;
Example for *.mydomain and validity 9999 days from now&lt;br /&gt;
&lt;br /&gt;
 signer=self&lt;br /&gt;
 mydomain=neosys.com&lt;br /&gt;
 mydomains=*.neosys.com&lt;br /&gt;
 expirydays=9999&lt;br /&gt;
 keyno=`date`&lt;br /&gt;
 certno=$keyno&lt;br /&gt;
 #&lt;br /&gt;
 certfilename=$mydomain-$signer-$certno.cer&lt;br /&gt;
 keyfilename=$mydomain-$keyno.key&lt;br /&gt;
 #&amp;quot;-nodes&amp;quot; means -no-DES ie no encryption ie generate a key file without encrypting it and therefore without requiring a password on it&lt;br /&gt;
 openssl req -new -x509 -nodes -days $expirydays -out &amp;quot;$certfilename&amp;quot; -keyout &amp;quot;$keyfilename&amp;quot; \&lt;br /&gt;
     -subj &amp;quot;/C=AE/ST=DUBAI/O=NEOSYS/CN=*.neosys.com&amp;quot; \&lt;br /&gt;
     -reqexts SAN     -config &amp;lt;(cat /etc/ssl/openssl.cnf \&lt;br /&gt;
      &amp;lt;(printf &amp;quot;[SAN]\nsubjectAltName=DNS:*.hosts.neosys.com,DNS:*.support.neosys.com&amp;quot;)) \&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consider adding subject and subject alternative names&lt;br /&gt;
&lt;br /&gt;
 openssl x509 -req -new -sha256 \&lt;br /&gt;
     -newkey rsa:2048 \&lt;br /&gt;
     -keyout neosys.com-102.key \&lt;br /&gt;
     -subj &amp;quot;/C=AE/ST=DUBAI/O=NEOSYS/CN=*.neosys.com&amp;quot; \&lt;br /&gt;
     -reqexts SAN     -config &amp;lt;(cat /etc/ssl/openssl.cnf \&lt;br /&gt;
      &amp;lt;(printf &amp;quot;[SAN]\nsubjectAltName=DNS:*.hosts.neosys.com,DNS:*.support.neosys.com&amp;quot;)) \&lt;br /&gt;
     -out neosys.com-102.crt \&lt;br /&gt;
     -nodes \&lt;br /&gt;
     -days 9999&lt;br /&gt;
&lt;br /&gt;
Example session:&lt;br /&gt;
&lt;br /&gt;
 Country Name (2 letter code) [AU]:AE&lt;br /&gt;
 State or Province Name (full name) [Some-State]:DUBAI&lt;br /&gt;
 Locality Name (eg, city) []:DUBAI&lt;br /&gt;
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:NEOSYS&lt;br /&gt;
 Organizational Unit Name (eg, section) []:IT&lt;br /&gt;
 Common Name (e.g. server FQDN or YOUR name) []:*.neosys.com&lt;br /&gt;
 Email Address []:it@neosys.com&lt;br /&gt;
&lt;br /&gt;
=== Generating a properly signed certificate ===&lt;br /&gt;
&lt;br /&gt;
http://wiki.gandi.net/en/ssl/csr#sha-2_certificate_request&lt;br /&gt;
&lt;br /&gt;
==== Generate key and CSR file ====&lt;br /&gt;
&lt;br /&gt;
A certificate signing request file (.csr) for *.hosts.neosys.com (wildcard certificate)&lt;br /&gt;
&lt;br /&gt;
if you are renewing (and want to reuse an existing secret server key file mydomain.key, although not clear on the benefit ATM)&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -nodes -sha256 -key mydomain.key -subj &amp;quot;/C=AE/ST=DUBAI/O=NEOSYS/CN=*.hosts.neosys.com&amp;quot; -out mydomain.csr&lt;br /&gt;
&lt;br /&gt;
or if you want to generate a new secret server key file&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -nodes -sha256 -newkey rsa:2048 -keyout mydomain.key -subj &amp;quot;/C=AE/ST=DUBAI/O=NEOSYS/CN=*.hosts.neosys.com&amp;quot; -out mydomain.csr&lt;br /&gt;
&lt;br /&gt;
or if you want to request SAN subdomain wildcards (unlikely to be granted by main cert authorities but perfectly legal and can be self certified)&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -nodes -sha256 -newkey rsa:2048 -keyout mydomain.key -subj &amp;quot;/C=AE/ST=DUBAI/O=NEOSYS/CN=*.neosys.com&amp;quot; -out mydomain.csr \&lt;br /&gt;
     -reqexts SAN     -config &amp;lt;(cat /etc/ssl/openssl.cnf \&lt;br /&gt;
        &amp;lt;(printf &amp;quot;[SAN]\nsubjectAltName=DNS:neosys.com,DNS:*.neosys.com,DNS:*.support.neosys.com,DNS:*.hosts.neosys.com&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
View the csr and verify correct (check that SAN additional domains are listed if you requested them above)&lt;br /&gt;
&lt;br /&gt;
 openssl req -in mydomain.csr -noout -text&lt;br /&gt;
&lt;br /&gt;
==== Either send to CA and get crt/cer file back ====&lt;br /&gt;
&lt;br /&gt;
Send the csr file to the certifying authority and put their response in a mydomain.crt file&lt;br /&gt;
&lt;br /&gt;
Make sure you inform them that the type of software you used to generate the csr is &amp;quot;mod Apache/ModSSL&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 mydomain.csr -&amp;gt; mydomain.cer&lt;br /&gt;
&lt;br /&gt;
==== Or self sign to test all ok ====&lt;br /&gt;
&lt;br /&gt;
 nano ssl.conf&lt;br /&gt;
&lt;br /&gt;
 [req_distinguished_name]&lt;br /&gt;
 countryName = Country Name (2 letter code)&lt;br /&gt;
 countryName_default = AE&lt;br /&gt;
 stateOrProvinceName = State or Province Name (full name)&lt;br /&gt;
 stateOrProvinceName_default = Dubai&lt;br /&gt;
 localityName = Locality Name (eg, city)&lt;br /&gt;
 localityName_default = Dubai&lt;br /&gt;
 organizationalUnitName  = Organizational Unit Name (eg, section)&lt;br /&gt;
 organizationalUnitName_default  = IT&lt;br /&gt;
 commonName = *.neosys.com&lt;br /&gt;
 commonName_max  = 64&lt;br /&gt;
 #&lt;br /&gt;
 [ v3_req ]&lt;br /&gt;
 # Extensions to add to a certificate request&lt;br /&gt;
 basicConstraints = CA:FALSE&lt;br /&gt;
 #keyUsage = nonRepudiation, digitalSignature, keyEncipherment&lt;br /&gt;
 subjectAltName = @alt_names&lt;br /&gt;
 #&lt;br /&gt;
 [alt_names]&lt;br /&gt;
 DNS.1 = neosys.com&lt;br /&gt;
 DNS.2 = *.neosys.com&lt;br /&gt;
 DNS.3 = *.hosts.neosys.com&lt;br /&gt;
 DNS.4 = *.support.neosys.com&lt;br /&gt;
&lt;br /&gt;
 openssl x509 -signkey mydomain.key -in mydomain.csr -req -days 9999 -extensions v3_req   -extfile ssl.conf -out mydomain.crt&lt;br /&gt;
&lt;br /&gt;
view the cert and check extensions (additional domain names) are present if required&lt;br /&gt;
&lt;br /&gt;
 openssl x509 -in mydomain.crt -text -noout&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Merge private key and signed public cert into password protected pfx file ====&lt;br /&gt;
&lt;br /&gt;
Convert the pair of standard files into a single pfx file that IIS can import&lt;br /&gt;
&lt;br /&gt;
 friendlyname=&amp;quot;COMODO SIGNED hosts.neosys.com *.hosts.neosys.com&amp;quot;&lt;br /&gt;
 openssl pkcs12 -export -in mydomain.crt -inkey mydomain.key -name &amp;quot;$friendlyname&amp;quot; -out mydomain.pfx&lt;br /&gt;
&lt;br /&gt;
It will ask for a password .. the usual NEOSYS one is 1f... which will be required when you import the pfx file into IIS before binding to web sites&lt;br /&gt;
&lt;br /&gt;
Example session:&lt;br /&gt;
&lt;br /&gt;
 Enter Export Password:&lt;br /&gt;
 Verifying - Enter Export Password:&lt;br /&gt;
&lt;br /&gt;
Check the pfx file&lt;br /&gt;
&lt;br /&gt;
 openssl pkcs12 -in mydomain.pfx&lt;br /&gt;
&lt;br /&gt;
 openssl pkcs12 -in mydomain.pfx | openssl x509 -noout -text&lt;br /&gt;
&lt;br /&gt;
==== Copy the pfx file to the IIS server and import/bind in the usual way ====&lt;br /&gt;
&lt;br /&gt;
Copy it to the https server&lt;br /&gt;
&lt;br /&gt;
 mysshport=&amp;quot;-P 19510&amp;quot;&lt;br /&gt;
 mysshtarget=&amp;quot;administrator@win3.neosys.com:/cygdrive/d/hosts/CERTIFICATES&amp;quot;&lt;br /&gt;
 scp $mysshport mydomain.pfx $mysshtarget&lt;br /&gt;
&lt;br /&gt;
==== Friendly name in pfx file ====&lt;br /&gt;
&lt;br /&gt;
On the IIS server after importing, if you have multiple certificates for the same domain name you might like to add a &amp;quot;friendly name&amp;quot; to distinguish them in the dropdown when binding certificates to web sites.&lt;br /&gt;
&lt;br /&gt;
You might also want to add the friendly name to the pfx file if you intend to import it again or elsewhere using certificate export to pfx with options Include All and Export All&lt;br /&gt;
&lt;br /&gt;
https://rickardrobin.wordpress.com/2012/12/05/specifying-a-friendly-name-to-a-certificate/&lt;br /&gt;
&lt;br /&gt;
=== Understanding SSL certificates ===&lt;br /&gt;
&lt;br /&gt;
==== What are RSA Private Keys, CSRs and Certificates? ====&lt;br /&gt;
&lt;br /&gt;
YOUR RSA PRIVATE KEY FILE&lt;br /&gt;
&lt;br /&gt;
is a digital file created by you and never ever shared with others. It is USED ONLY BY YOU (never by others) to either:&lt;br /&gt;
&lt;br /&gt;
*to DECRYPT secret, encrypted, messages received by you from others&lt;br /&gt;
*to SIGN messages before sending them to others providing them certainty that the message came from you without being tampered with and that you cannot deny signing them.&lt;br /&gt;
&lt;br /&gt;
YOUR RSA PUBLIC KEY FILE&lt;br /&gt;
&lt;br /&gt;
is a digital file created by you and freely shared with others. It is USED BY OTHERS (never by you) to either:&lt;br /&gt;
&lt;br /&gt;
*ENCRYPT messages before sending them to you&lt;br /&gt;
*VERIFY that signed messages were in fact signed by you and not tampered with and you cannot deny signing them.&lt;br /&gt;
&lt;br /&gt;
OTHER PERSON&#039;S RSA PUBLIC KEY FILE&lt;br /&gt;
&lt;br /&gt;
is a digital file created by the other person and freely shared with you and others. It is USED BY YOU OR ANYBODY (never by the other person) to either:&lt;br /&gt;
&lt;br /&gt;
*ENCRYPT messages to achieve secrecy before sending them to the other person.&lt;br /&gt;
*VERIFY that signed messages received were in fact signed by the other person and that they cannot deny signing them nor claim they have been tampered with.&lt;br /&gt;
&lt;br /&gt;
To obtain someone&#039;s public key, you need a trusted channel, ie a signed channel, but not a secret or encrypted channel since the information is public and not confidential.&lt;br /&gt;
&lt;br /&gt;
Using your private key and someones public key together:&lt;br /&gt;
&lt;br /&gt;
*If you want to send a signed secret message to someone and allow them to be sure it came unmodified from you, you first sign the message using YOUR PRIVATE KEY, then encrypt the message using THEIR PUBLIC KEY&lt;br /&gt;
*If you want to receive a secret message and verify that it came unmodified from someone in particular, you first you decrypt the message using YOUR PRIVATE KEY, then verify the message using THEIR PUBLIC KEY&lt;br /&gt;
&lt;br /&gt;
Signing and Verification = Encryption and Decryption Mathematical Process with keys reversed&lt;br /&gt;
&lt;br /&gt;
Actually, the process of &amp;quot;signing&amp;quot; is doing the same mathematical process as encryption, but since you use the recipients public key, the resultant &amp;quot;encrypted&amp;quot; messege is not secret because it can be &amp;quot;decrypted&amp;quot; using a public key which are freely available.&lt;br /&gt;
&lt;br /&gt;
Likewise, the process of &amp;quot;verification&amp;quot; on a received message is doing the same mathematical process as decryption, but since you are using the senders public key, and anybody could &amp;quot;decrypt&amp;quot; the message, it was not really encrypted in the sense of being secret.&lt;br /&gt;
&lt;br /&gt;
So we have two processes, one called Encryption/Signing but is exactly the same mathematical process with two names depending on whether we use a public or private key, and another process called Decryption/Verification which uses the opposite key.&lt;br /&gt;
&lt;br /&gt;
What YOU use for what:&lt;br /&gt;
&lt;br /&gt;
*YOUR (PRIVATE) KEY = USED BY YOU for decryption and signing&lt;br /&gt;
*THEIR (PUBLIC) KEY = USED BY YOU for encryption and verification&lt;br /&gt;
&lt;br /&gt;
*YOUR (PUBLIC) KEY = NEVER USED BY YOU - since anybody else could do the same thing so no trust or secrecy could be obtained&lt;br /&gt;
*THEIR (PRIVATE) KEY = NEVER USED BY YOU - since you dont have it!&lt;br /&gt;
&lt;br /&gt;
What to use:&lt;br /&gt;
&lt;br /&gt;
*ENCRYPT OUTGOING = Use THEIR (public) key&lt;br /&gt;
*VERIFY INCOMING = Use THEIR (public) key&lt;br /&gt;
&lt;br /&gt;
*DECRYPT INCOMING = Use YOUR (private) key&lt;br /&gt;
*SIGN OUTGOING = Use YOUR (private) key&lt;br /&gt;
&lt;br /&gt;
So the slightly strange thing is that you dont encrypt messages with your private key as might be assumed naturally. You encrypt using the target recipient&#039;s public key. This is perfectly logical if you understand the concept asymmetric cryptography.&lt;br /&gt;
&lt;br /&gt;
One thing to note is that, while it is obvious that other people never use your private key, since they dont have it, it is not obvious, but perfectly true, that you never use your public key. NOBODY EVER USES THEIR OWN PUBLIC KEY ... THEY ONLY GIVE IT TO OTHERS TO USE.&lt;br /&gt;
&lt;br /&gt;
CERTIFICATE&lt;br /&gt;
&lt;br /&gt;
It has a public component which you distribute (via your Certificate file) which allows people to encrypt those messages to you. It can also be used by you to sign messages that can be verified as having come from you by anyone who receives the signed message, using your public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CSR FILE&lt;br /&gt;
&lt;br /&gt;
A Certificate Signing Request (CSR) is a digital file which contains your public key and your details eg name/domain name etc. You send the CSR to a Certifying Authority (CA), who will create a real Certificate containing your detail eg your domain name and your public key, signed by them using their private RSA private key.&lt;br /&gt;
&lt;br /&gt;
CERTIFICATE&lt;br /&gt;
&lt;br /&gt;
A Certificate contains your RSA public key, your name, the name of the CA, and is digitally signed by the CA. Browsers that know the CA can verify the signature on that Certificate, thereby obtaining your RSA public key. That enables them to send messages which only you can decrypt.&lt;br /&gt;
&lt;br /&gt;
==== What is Asymmetric cryptography? ====&lt;br /&gt;
&lt;br /&gt;
Asymmetric cryptography allows you to freely publish an encryption key that can be used by anyone to send you encrypted messages. Such messages can only be decrypted by you using a decryption key which you always keep secret.&lt;br /&gt;
&lt;br /&gt;
It also allows you to publish messages that can be verified by anyone as coming from you without any modification by others.&lt;br /&gt;
&lt;br /&gt;
So we have a pair of keys that if either one is used for encryption, then the other one is required for decryption. In that sense, we should not refer to the private key as the encryption key and the public key a&lt;br /&gt;
&lt;br /&gt;
To start encrypting or signing, you need a matched pair of keys and you need to forever keep one of them secret.&lt;br /&gt;
&lt;br /&gt;
.key a file that contains a random collection of characters that can be used to encrypt&lt;br /&gt;
&lt;br /&gt;
.cer a file that contains a random collection of characters that can be given out publically and used by anybody to encrypt something to be sent to you&lt;br /&gt;
&lt;br /&gt;
A certificate is some information that has been processed by a private and secret key.&lt;br /&gt;
&lt;br /&gt;
pfx contains a private key and public certificate which contains your public key embedded. Usually pfx files are encrypted and you have to enter a password before using them, ie importing them.&lt;br /&gt;
&lt;br /&gt;
==[[Backing up and Restoring IIS configuration]]==&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Configuring_IIS&amp;diff=2628</id>
		<title>Configuring IIS</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Configuring_IIS&amp;diff=2628"/>
		<updated>2016-04-13T12:25:07Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Allow file uploads */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;After you have installed all the NEOSYS program files you need to configure IIS so that you can operate NEOSYS. Instructions are below.&lt;br /&gt;
&lt;br /&gt;
== Configuring IIS for windows 2003 ==&lt;br /&gt;
&lt;br /&gt;
=== Creating a new website in IIS ===&lt;br /&gt;
&lt;br /&gt;
First step is to stop the default website in IIS. Right click on Default Web Site and select &amp;quot;Stop&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039; Create a website called neosys linked to D:\neosys\neosys.net:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3 Server:&#039;&#039;&#039; Create a website called &amp;quot;clientname&amp;quot; linked to D:\hosts\clientfolder\neosys.net &lt;br /&gt;
&lt;br /&gt;
[[image:figure1.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[image:figure3.jpg]]&lt;br /&gt;
&lt;br /&gt;
A new window will pop up &amp;quot;IP Address and Port Setting&amp;quot; after completion of the above step.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039;  Select *(All Unassigned)* from the drop down list of &amp;quot;Enter the IP address to use for the Web site&amp;quot; and keep the default port as 80. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3 Server:&#039;&#039;&#039; Select the static Ip from the drop down list of &amp;quot;Enter the IP address to use for the Web site&amp;quot; and enter then next port available and click on next.&lt;br /&gt;
&lt;br /&gt;
[[image:Figure_2.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039; Within the above neosys web site folder create a virtual directory called data linked to D:\neosys\data: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3 Server:&#039;&#039;&#039; Within the above clientwebsite folder create a virtual directory called data linked to D:\hosts\clientfolder\data:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(I haven’t got the screenshot because I can only get it once I create the above)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== To allow file uploads ===&lt;br /&gt;
&lt;br /&gt;
==== Create IMAGES directory ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client server:&#039;&#039;&#039; create a folder IMAGES under D:\neosys and within the neosys web site folder create a virtual directory called images linked to D:\neosys\images: Modes: READ and WRITE&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3 Server:&#039;&#039;&#039; create a folder IMAGES under D:\hosts\clientfolder and within the client web site folder create a virtual directory called images linked to D:\hosts\clientfolder\images: Modes: READ and WRITE&lt;br /&gt;
&lt;br /&gt;
In case of client installations where image uploads have to be configured on USB drives due to a huge number of files getting uploaded, create IMAGES folder in the USB drive instead of the client installation folder. Then link the same to the images virtual directory in IIS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(I haven’t got the screenshot because I can only get it once I create the above)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Permit upload.dll ====&lt;br /&gt;
&lt;br /&gt;
# Right click on dll ( Default Web Site, neosys, NEOSYS, dll) &lt;br /&gt;
# Under Permissions set Execute Permissions: Scripts and Executables&lt;br /&gt;
&lt;br /&gt;
# Internet Information Services (IIS) Manager&lt;br /&gt;
# Web Service Extensions&lt;br /&gt;
# All Unknown ISAPI Extensions: Allowed&lt;br /&gt;
&lt;br /&gt;
===[[Backing_up_and_Restoring_IIS_configuration#Set_IIS_automatic_backup_location_to_d:| Set IIS automatic backup location to D:]] ===&lt;br /&gt;
&lt;br /&gt;
== Configuring IIS for Windows 2008 ==&lt;br /&gt;
&lt;br /&gt;
=== Installing IIS ===&lt;br /&gt;
&lt;br /&gt;
First install IIS from Control Panel &amp;gt; Programs &amp;amp; Features &amp;gt; Turn Windows Features ON or OFF &amp;gt; Add Roles:&lt;br /&gt;
&lt;br /&gt;
[[image:iis1.jpg]]&lt;br /&gt;
&lt;br /&gt;
On the window that pops up click on next and you will get this screen, tick Web Server (IIS) - on the prompt click on Add Required Resources and then on Next:&lt;br /&gt;
&lt;br /&gt;
[[image:iis2.jpg]]&lt;br /&gt;
&lt;br /&gt;
On the next window, click on next until you get this window - tick ASP and ISAPI Extensions:&lt;br /&gt;
&lt;br /&gt;
[[image:iis3.jpg]]&lt;br /&gt;
&lt;br /&gt;
Click on Next and Finish&lt;br /&gt;
&lt;br /&gt;
=== Configuring IIS ===&lt;br /&gt;
====Create a new Website====&lt;br /&gt;
After successfully installing IIS, go to Control Panel &amp;gt; Administrative Tools &amp;gt; Computer Management &amp;gt; Services and Applications &amp;gt; Internet Information Services (IIS) &amp;gt; Machine Name &amp;gt; Sites &amp;gt; Default Website. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039; Stop the Default Website and then right click on Sites folder and click on Add Website called &#039;&#039;&#039;neosys&#039;&#039;&#039; linked to {{Client server Installation Location}}neosys.net as shown in the screenshot below&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3:&#039;&#039;&#039; Right click on Sites folder and click on Add Website. Create a website called &amp;quot;clientname&amp;quot; linked to {{NEOSYS server Installation Location}}neosys.net; &lt;br /&gt;
Since win3 is not connected to any LAN and exclusively serves https only, therefore setup a https binding only with a port number which is unique, unused and one greater than the previous port used in the series which is 4431 onwards. The highest port number used in this series can be found by checking IIS manager -&amp;gt; NEOSYS -&amp;gt;Sites.&lt;br /&gt;
&lt;br /&gt;
Refer to [[Setting_up_HTTPS#Creating_multiple_HTTPS_web_sites_on_NEOSYS_hosted_server| setting up the https for a site on NEOSYS hosted server]] for details.&lt;br /&gt;
&lt;br /&gt;
[[image:iis4.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Link Data Folder====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039; Within the neosys website folder create a virtual directory called &#039;&#039;&#039;data&#039;&#039;&#039; linked to {{Client server Installation Location}}data&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3:&#039;&#039;&#039; Within the &amp;quot;clientname&amp;quot; website folder create a virtual directory called &#039;&#039;&#039;data&#039;&#039;&#039; linked to {{NEOSYS server Installation Location}}data &lt;br /&gt;
&lt;br /&gt;
[[image:iis5.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Allow file uploads====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039; create a folder &#039;&#039;&#039;images&#039;&#039;&#039; under D:\neosys and within the neosys web site folder create a virtual directory called &#039;&#039;&#039;images&#039;&#039;&#039; linked to {{Client server Installation Location}}images&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3:&#039;&#039;&#039; create a folder &#039;&#039;&#039;images&#039;&#039;&#039; under D:\hosts\clientfolder and within the &amp;quot;clientname&amp;quot; website folder create a virtual directory called &#039;&#039;&#039;images&#039;&#039;&#039; linked to {{NEOSYS server Installation Location}}images&lt;br /&gt;
&lt;br /&gt;
[[image:iis7.jpg]]&lt;br /&gt;
&lt;br /&gt;
After you add all virtual directories the tree map of the Default Website should look as follows:&lt;br /&gt;
&lt;br /&gt;
[[image:iis8.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Configure file uploads besides adding the images directory====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;For single site servers&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go under IIS &amp;gt; Default Website &amp;gt; neosys&lt;br /&gt;
&lt;br /&gt;
Click on Handler Mappings and delete the ISAPI you see there&lt;br /&gt;
&lt;br /&gt;
[[image:iis9a.jpg]]&lt;br /&gt;
&lt;br /&gt;
Thereafter click on Add Script Map and fill in the details as follows – &lt;br /&gt;
&lt;br /&gt;
Request path: *.dll &lt;br /&gt;
&lt;br /&gt;
Executable: {{Client server Installation Location}}neosys.net\NEOSYS\dll\upload.dll&lt;br /&gt;
&lt;br /&gt;
Name: ISAPI &lt;br /&gt;
&lt;br /&gt;
Click on OK and on YES in the confirmation box&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:iis9b.jpg]]&lt;br /&gt;
[[image:hm.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;For multiple site servers&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go under IIS&amp;gt;NEOSYS&amp;gt;Click on Handler Mappings &amp;gt; Edit Feature Permissions &amp;gt; Select Read, Script and Execute &lt;br /&gt;
&lt;br /&gt;
For WIN3 the above setting is already setup&lt;br /&gt;
&lt;br /&gt;
===Editing the hosts file===&lt;br /&gt;
Edit the hosts file under c:\windows\system32\drivers\etc\ - delete the # sign next to 127.0.0.1 localhost and include the # sign before ::1 localhost&lt;br /&gt;
&lt;br /&gt;
[[image:iis10.jpg]]&lt;br /&gt;
&lt;br /&gt;
===[[Backing_up_and_Restoring_IIS_configuration#Set_IIS_automatic_backup_location_to_d:| Set IIS automatic backup location to D:]] ===&lt;br /&gt;
&lt;br /&gt;
== Solving IIS errors ==&lt;br /&gt;
&lt;br /&gt;
=== Solving error during file upload: &amp;quot;Page cannot be displayed&amp;quot; HTTP Error 405 in windows 2003 ===&lt;br /&gt;
&lt;br /&gt;
This error should not occur in normal NEOSYS installations but the solution is as follows:&lt;br /&gt;
&lt;br /&gt;
# Go to Control Panel, Administrative Tools, Internet Information Services&lt;br /&gt;
# Expand the tree to COMPUTERNAME, Web Sites&lt;br /&gt;
# Right-click &amp;quot;Default Web Site&amp;quot; (or specific Web Site if multiple NEOSYS http/https installations on the server as per WIN3)&lt;br /&gt;
# Properties&lt;br /&gt;
# Home Directory&lt;br /&gt;
# Configuration&lt;br /&gt;
# Mappings, Add&lt;br /&gt;
# Browse&lt;br /&gt;
# Dynamic Link Libraries *.dll&amp;quot; from the &amp;quot;Files of Type&amp;quot; dropdown&lt;br /&gt;
# Find and select D:\NEOSYS\neosys.net\NEOSYS\dll\upload.dll (OR upload.dll in the installation directory)&lt;br /&gt;
# Extension Type: dll&lt;br /&gt;
# Limit to: All&lt;br /&gt;
# Click the &amp;quot;OK&amp;quot; button&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Solving HTTP Error 404 Error occurring immediately on opening NEOSYS login page on a new server installation: &amp;quot;System Failure. Do you want to retry?&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
This error message is caused by failing to enable Active Server Pages in the IIS configuration. To resolve this in windows 2008, [[Configuring_IIS#Configure_file_uploads_besides_adding_the_images_directory| ensure that Read, Script, Execute is ticked (enabled) in the feature permissions of these Handler Mappings.]]&lt;br /&gt;
&lt;br /&gt;
This message is from IE8 and a Windows 2003 server. The message may be different for other browser versions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Message from web page.&lt;br /&gt;
&lt;br /&gt;
System Failure. Do you want to retry?&lt;br /&gt;
&lt;br /&gt;
The page cannot be found&lt;br /&gt;
The page you are looking for might have been removed, had its name change, or it temporarily unavailable.&lt;br /&gt;
&lt;br /&gt;
Please try the following:&lt;br /&gt;
(omitted)&lt;br /&gt;
HTTP Error 404 - File or directory not found.&lt;br /&gt;
Internet Information Services (IIS)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:http404.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Solving HTTP 404 Webpage cannot be found ===&lt;br /&gt;
&lt;br /&gt;
This error message clearly states that the page cannot be found. Check for the requested page in the client website folder under the virtual directory data. This page will be available under the data folder in D:\neosys\data. A possible cause of this error is by failing to create a virtual directory called data linked to D:\neosys\data:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:http404p.jpg]]&lt;br /&gt;
===Solving Error &amp;quot;The specified Executable does not exist on the server&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
While adding Script Map in Handler Mappings in the above step, if you get the below error, this means you have not yet run the Maintenance window/ NEOSYS processes and skipped steps in Installing NEOSYS. File upload.dl_ is installed from NEOSYS.EXE or NEOSYS2.EXE and converted to .dll the first time you run NEOSYS Maintenance/Process. You can also manually rename the file to upload.dll. &lt;br /&gt;
&lt;br /&gt;
[[image:Dll_error.png]]&lt;br /&gt;
&lt;br /&gt;
=== Solving IIS error 500 on uploading for windows 2008===&lt;br /&gt;
&lt;br /&gt;
To test if permissions are the problem, in grant full control to IUSR over the whole client directory e.g d:\neosys or d:\hosts\clientx in security tab of windows explorer and see if you can upload.&lt;br /&gt;
&lt;br /&gt;
Regardless of the result, remove the full control permissions since they are a security risk.&lt;br /&gt;
&lt;br /&gt;
If permissions are the problem then grant specific permissions as follows:&lt;br /&gt;
&lt;br /&gt;
#images folder - read and write permissions (but not execute)&lt;br /&gt;
#dll folder - read and execute permission (no write permission)&lt;br /&gt;
&lt;br /&gt;
=== Solving error &amp;quot;Upload folder cannot be created.The system cannot find the drive specified&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
This error message comes up when the File uploads are configured to a different location in the software than what is set up in IIS.&lt;br /&gt;
&lt;br /&gt;
There is an internal system configuration in line 49 of the DOS SYSTEM.CFG file which mentions the upload folder location (normally blank which means xxxxxx\images\ where xxxxxx is the installation directory e.g d:\neosys)&lt;br /&gt;
&lt;br /&gt;
Where we want the images uploaded to a place other than the installation directory the configuration may say something like h:\images\ where ever the folder should be e.g on an external USB drive. This may be done in case of client installations where file uploads are configured on USB drives due to a huge number of files getting uploaded.&lt;br /&gt;
&lt;br /&gt;
The IIS and internal configuration must agree otherwise you will probably not be able to upload files or uploaded files may not go in the right place and may be lost, not backed up and/or not viewable.&lt;br /&gt;
&lt;br /&gt;
To fix this issue, you MUST link the &#039;&#039;&#039;images&#039;&#039;&#039; folder in IIS to {{NEOSYS server Installation Location}}images&lt;br /&gt;
&lt;br /&gt;
== Disabling unsecure SSL3 protocol on Windows IIS web server ==&lt;br /&gt;
&lt;br /&gt;
POODLE is an information leakage attack on client browsers while accessing web server that support the older SSL3 protocol. It is easy to prevent it by reconfiguring web servers to not support SSL3.&lt;br /&gt;
&lt;br /&gt;
=== Securing IIS web server on win2003 and 2008 by disabling unsafe SSL3 protocol ===&lt;br /&gt;
&lt;br /&gt;
#For Systems with https installed check if the web server is vulnerable (see [[Configuring_IIS#Testing_for_IIS_vulnerability| Testing for IIS vulnerability]] ). For systems with no https installed,continue to step2 to prevent SSL3 accidentally being enabled if https is installed in the server in future and then test for vulnerability.&lt;br /&gt;
# run the following commands on the server&lt;br /&gt;
#reg add &amp;quot;HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#reg add &amp;quot;HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#reg add &amp;quot;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 40/128&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#reg add &amp;quot;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 56/128&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#reg add &amp;quot;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 64/128&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#reg add &amp;quot;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 128/128&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#Reboot the server (at any time later using standard NEOSYS rebooting procedure without disturbing users)&lt;br /&gt;
#Perform the diagnostic for vulnerability&lt;br /&gt;
&lt;br /&gt;
=== Testing for IIS vulnerability ===&lt;br /&gt;
==== A. Determine host and port and where to test from ==== &lt;br /&gt;
If you have a public https server that you can access like https://demo.neosys.com:443, in a linux command prompt eg nagios login:&lt;br /&gt;
&lt;br /&gt;
*$HOST for host name like demo.neosys.com&lt;br /&gt;
*$PORT with something like 443 or 4430 depending on port forwarding on the public router&lt;br /&gt;
&lt;br /&gt;
or if testing a private https server with no public access, using a cygwin installation on the same server in the cygwin prompt:&lt;br /&gt;
&lt;br /&gt;
*$HOST for host name like 127.0.0.1&lt;br /&gt;
*$PORT with something like 443 or 4430 as per IIS manager configuration&lt;br /&gt;
&lt;br /&gt;
If https is enabled on the server/website and you are able to access the website via https using a browser, then you must be able to test for openssl on the same browsed host and port. You must also test this locally to ensure that the right server is being fixed. If the website is not public, then https must not be enabled, which means there is no reason for using cygwin openssl.&lt;br /&gt;
&lt;br /&gt;
==== B. Check you CAN connect to https server using TLS ====&lt;br /&gt;
&lt;br /&gt;
 openssl s_client -host $HOST -port $PORT&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nagios@vm1m:~$ echo|openssl s_client -host demo.neosys.com -port 443&lt;br /&gt;
CONNECTED(00000003)&lt;br /&gt;
depth=0 CN = demo.neosys.com&lt;br /&gt;
verify error:num=20:unable to get local issuer certificate&lt;br /&gt;
verify return:1&lt;br /&gt;
depth=0 CN = demo.neosys.com&lt;br /&gt;
verify error:num=21:unable to verify the first certificate&lt;br /&gt;
verify return:1&lt;br /&gt;
---&lt;br /&gt;
Certificate chain&lt;br /&gt;
 0 s:/CN=demo.neosys.com&lt;br /&gt;
   i:/CN=demo.neosys.com&lt;br /&gt;
---&lt;br /&gt;
Server certificate&lt;br /&gt;
-----BEGIN CERTIFICATE-----&lt;br /&gt;
MIIB2DCCAUWgAwIBAgIQd0J0l4kJrpJHonAv5U8VLjAJBgUrDgMCHQUAMBoxGDAW&lt;br /&gt;
BgNVBAMTD2RlbW8ubmVvc3lzLmNvbTAeFw0wODA3MjcxOTUxMDNaFw0zNTEyMTIx&lt;br /&gt;
OTUxMDNaMBoxGDAWBgNVBAMTD2RlbW8ubmVvc3lzLmNvbTCBnzANBgkqhkiG9w0B&lt;br /&gt;
AQEFAAOBjQAwgYkCgYEAxzwtoqq49vV7pyBQ6Ej+PvbB1QxkdsxNn5EZSLSOppCb&lt;br /&gt;
jNjV8fFa98unPR0pGM0UdjWMUYodj12c2pnIrfrtXv7pYf+iC1corPEY7607Icbs&lt;br /&gt;
rSOc5aFwnlUYpktoysV1G1crGYgYgXbXgVOUO9phHXJarpKf6SjVw3uXTLlmPUkC&lt;br /&gt;
AwEAAaMnMCUwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDgYDVR0PBAcDBQCwAAAAMAkG&lt;br /&gt;
BSsOAwIdBQADgYEAmgyW60pT62JuM8GH+KogHW7viaMsifXitm3BC/GfaORpJCox&lt;br /&gt;
aS20fAlzGyAlDe9nZWN4roLSxQv0laJkxyNPDuHvLJt1l0FVdk6/vGB6QH0KqM+S&lt;br /&gt;
UaUTLsDZ99UNS/inotobxD9vXuKl58Uoe2lu7r9vJ+1DWDC6AyueSZ6xnno=&lt;br /&gt;
-----END CERTIFICATE-----&lt;br /&gt;
subject=/CN=demo.neosys.com&lt;br /&gt;
issuer=/CN=demo.neosys.com&lt;br /&gt;
---&lt;br /&gt;
No client certificate CA names sent&lt;br /&gt;
---&lt;br /&gt;
SSL handshake has read 635 bytes and written 411 bytes&lt;br /&gt;
---&lt;br /&gt;
New, TLSv1/SSLv3, Cipher is AES128-SHA&lt;br /&gt;
Server public key is 1024 bit&lt;br /&gt;
Secure Renegotiation IS supported&lt;br /&gt;
Compression: NONE&lt;br /&gt;
Expansion: NONE&lt;br /&gt;
SSL-Session:&lt;br /&gt;
    Protocol  : TLSv1&lt;br /&gt;
    Cipher    : AES128-SHA&lt;br /&gt;
    Session-ID: 8A0A00002D51DE183AC2845C6B3FF4BC7485181B4DCBC1758E3A2D5399BDD71C&lt;br /&gt;
    Session-ID-ctx:&lt;br /&gt;
    Master-Key: B10B9370E4DF70E873873AB9851B3CEF19623E6ADA697955E375D931DEE8301D798B4CB14C8D33FCF1BA066C0CC23897&lt;br /&gt;
    Key-Arg   : None&lt;br /&gt;
    PSK identity: None&lt;br /&gt;
    PSK identity hint: None&lt;br /&gt;
    SRP username: None&lt;br /&gt;
    Start Time: 1413885416&lt;br /&gt;
    Timeout   : 300 (sec)&lt;br /&gt;
    Verify return code: 21 (unable to verify the first certificate)&lt;br /&gt;
---&lt;br /&gt;
DONE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== C. Check that you cannot CANNOT to https server using SSL3 ====&lt;br /&gt;
&lt;br /&gt;
 openssl s_client -ssl3 -host $HOST -port $PORT&lt;br /&gt;
&lt;br /&gt;
==== CAN CONNECT = VULNERABLE = NOT OK ====&lt;br /&gt;
&lt;br /&gt;
If you get this then you need to configure the server to prevent SSL3&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nagios@vm1m:~$ echo xxx|openssl s_client -ssl3 -host demo.neosys.com -port 4430&lt;br /&gt;
gethostbyname failure&lt;br /&gt;
connect:errno=0&lt;br /&gt;
nagios@vm1m:~$ echo xxx|openssl s_client -ssl3 -host demo.neosys.com -port 4430&lt;br /&gt;
CONNECTED(00000003)&lt;br /&gt;
depth=0 CN = demo.neosys.com&lt;br /&gt;
verify error:num=20:unable to get local issuer certificate&lt;br /&gt;
verify return:1&lt;br /&gt;
depth=0 CN = demo.neosys.com&lt;br /&gt;
verify error:num=21:unable to verify the first certificate&lt;br /&gt;
verify return:1&lt;br /&gt;
---&lt;br /&gt;
Certificate chain&lt;br /&gt;
 0 s:/CN=demo.neosys.com&lt;br /&gt;
   i:/CN=demo.neosys.com&lt;br /&gt;
---&lt;br /&gt;
Server certificate&lt;br /&gt;
-----BEGIN CERTIFICATE-----&lt;br /&gt;
MIIB3jCCAUugAwIBAgIQNj9FMjT1vIxGo2Mv2Ta9vzAJBgUrDgMCHQUAMB0xGzAZ&lt;br /&gt;
BgNVBAMTEmFkbGluZWQubmVvc3lzLmNvbTAeFw0wODAzMjUxMTIxMzFaFw0zNTA4&lt;br /&gt;
MTAxMTIxMzFaMB0xGzAZBgNVBAMTEmFkbGluZWQubmVvc3lzLmNvbTCBnzANBgkq&lt;br /&gt;
hkiG9w0BAQEFAAOBjQAwgYkCgYEArRuijA8jz3qBm2ZZEwITIJLWIMlQmZxcUvOo&lt;br /&gt;
HNZL0+3oJuX0AQqtpRZMp/7ob9agngfwJQ36vK+424zcBbmKxA2MweKZRalN2jz+&lt;br /&gt;
rdr1oeZ6/Ff3r8+rCPFj/B8CfMOQbSv6YcR0kVc+8ugybB7qT6Nq5ZWOAczG3Ikt&lt;br /&gt;
4EnOlqUCAwEAAaMnMCUwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDgYDVR0PBAcDBQCw&lt;br /&gt;
AAAAMAkGBSsOAwIdBQADgYEAHIq5Gn2LiMgXFaUYrFEfHeajD4jAwdFw+zrjcBDZ&lt;br /&gt;
qM9LnhndHhdPogow9m9cCv1n57ne9rZL1v7w7Y6C53359hTUVZFqtHFfzcWnNyKD&lt;br /&gt;
uHD9a8QDk6/dSwBr/SWIE6OdFUYAj/kDXRQNB5H459spRVa3Yws8vpwrWZhoklxq&lt;br /&gt;
CQg=&lt;br /&gt;
-----END CERTIFICATE-----&lt;br /&gt;
subject=/CN=demo.neosys.com&lt;br /&gt;
issuer=/CN=demo.neosys.com&lt;br /&gt;
---&lt;br /&gt;
No client certificate CA names sent&lt;br /&gt;
---&lt;br /&gt;
SSL handshake has read 649 bytes and written 342 bytes&lt;br /&gt;
---&lt;br /&gt;
New, TLSv1/SSLv3, Cipher is RC4-MD5&lt;br /&gt;
Server public key is 1024 bit&lt;br /&gt;
Secure Renegotiation IS supported&lt;br /&gt;
Compression: NONE&lt;br /&gt;
Expansion: NONE&lt;br /&gt;
SSL-Session:&lt;br /&gt;
    Protocol  : SSLv3&lt;br /&gt;
    Cipher    : RC4-MD5&lt;br /&gt;
    Session-ID: 441A0000EBC1D634B2CDB12924F9B980D2A4CF8C4DD6D3FB9728D3C74F62A8FE&lt;br /&gt;
    Session-ID-ctx:&lt;br /&gt;
    Master-Key: 38F040BE3E7098857B7CB9FF3B44937786F8F8C002B0042370B29F20EFB582833F9E24CFC8E6560AFD06751DC93412D3&lt;br /&gt;
    Key-Arg   : None&lt;br /&gt;
    PSK identity: None&lt;br /&gt;
    PSK identity hint: None&lt;br /&gt;
    SRP username: None&lt;br /&gt;
    Start Time: 1413885545&lt;br /&gt;
    Timeout   : 7200 (sec)&lt;br /&gt;
    Verify return code: 21 (unable to verify the first certificate)&lt;br /&gt;
---&lt;br /&gt;
DONE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== CANNOT CONNECT = NOT VULNERABLE = OK ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nagios@vm1m:~$ echo|openssl s_client -ssl3 -host demo.neosys.com -port 443&lt;br /&gt;
CONNECTED(00000003)&lt;br /&gt;
write:errno=104&lt;br /&gt;
---&lt;br /&gt;
no peer certificate available&lt;br /&gt;
---&lt;br /&gt;
No client certificate CA names sent&lt;br /&gt;
---&lt;br /&gt;
SSL handshake has read 0 bytes and written 0 bytes&lt;br /&gt;
---&lt;br /&gt;
New, (NONE), Cipher is (NONE)&lt;br /&gt;
Secure Renegotiation IS NOT supported&lt;br /&gt;
Compression: NONE&lt;br /&gt;
Expansion: NONE&lt;br /&gt;
SSL-Session:&lt;br /&gt;
    Protocol  : SSLv3&lt;br /&gt;
    Cipher    : 0000&lt;br /&gt;
    Session-ID:&lt;br /&gt;
    Session-ID-ctx:&lt;br /&gt;
    Master-Key:&lt;br /&gt;
    Key-Arg   : None&lt;br /&gt;
    PSK identity: None&lt;br /&gt;
    PSK identity hint: None&lt;br /&gt;
    SRP username: None&lt;br /&gt;
    Start Time: 1413885702&lt;br /&gt;
    Timeout   : 7200 (sec)&lt;br /&gt;
    Verify return code: 0 (ok)&lt;br /&gt;
---&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Enabling Internet Explorer 6 to access secured https web servers ===&lt;br /&gt;
&lt;br /&gt;
To use Internet explorer 6 (on win2003 and XP-before-SP3) to access secured http web sites you need to enable IE6 to use TLS 1.0. Internet Explorer 6 is present in Windows Server 2003 and Windows XP-pre-SP3.&lt;br /&gt;
&lt;br /&gt;
You can also disable SSL 2.0 and SSL 3.0 for additional safety. This good for later versions of Internet Explorer too.&lt;br /&gt;
&lt;br /&gt;
[[File:IE_options.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Generating IIS certificates for https using openssl ==&lt;br /&gt;
&lt;br /&gt;
This covers the two main type of certificates:&lt;br /&gt;
&lt;br /&gt;
#&amp;quot;proper&amp;quot; certificates (accepted by all browsers without complaint) - issued by bona fide certification authority only on proof of control of a domain name - usually for a small fee&lt;br /&gt;
#&amp;quot;self signed&amp;quot; certificates (not accepted by all browsers without error messages without special configuration) - easily&lt;br /&gt;
issued by anybody without the slightest restriction&lt;br /&gt;
&lt;br /&gt;
NEOSYS&#039; proper https certificate for *.hosts.neosys.com, valid approx Jan-Dec 2016, issued by Comodo, was purchased from namecheap.com for a small fraction of the price of purchasing from Comodo or one of the other main certification authorities.&lt;br /&gt;
&lt;br /&gt;
There is no technical requirement to renew certificates with the same issuing authority, nor is their any restriction whatsoever from having multiple concurrent overlapping certificates, in any combination, for the the same domain name or subsets of a domain name. For a certificate to be &amp;quot;proper&amp;quot; it merely has to be issued by (not necessarily purchased from) one of the certificate authorities registered in all the main browsers using by NEOSYS clients. Unlike DNS domain name registrars, of which you can only have one at any one time, and which take to change, certificates are simply installed in particular servers without reference to each other, nor to any imaginary central internet registry, as IS the case for the DNS domain name registry.&lt;br /&gt;
&lt;br /&gt;
The sales of certificates is a bit of scam really because anybody can get a certificate from the main commercial certificate authorities merely by proving control over a domain name - for example, by receiving an email to ADMIN@xxxxx.com. Except for EV certificates such as those issued to banks etc, most https certificates are issued without any check on physical identity or reputation, therefore the cost of issuing https certificates rests merely on the fact that the certification authority has managed to inveigle itself into all the main browsers and have their public key installed along with the browser software. Hoowever, the market seems to be collapsing, with even free certificate authorities appearing although with some minor limitations like short duration of validity of certificates.&lt;br /&gt;
&lt;br /&gt;
Excellent summary of using openssl to manage certificates .. no Alternate Names though&lt;br /&gt;
https://www.digitalocean.com/community/tutorials/openssl-essentials-working-with-ssl-certificates-private-keys-and-csrs&lt;br /&gt;
&lt;br /&gt;
Excellent summary of selfsigned and properly signed certificate&lt;br /&gt;
https://httpd.apache.org/docs/2.4/ssl/ssl_faq.html&lt;br /&gt;
&lt;br /&gt;
==== Commentary on https security ====&lt;br /&gt;
&lt;br /&gt;
With the general move to using https instead of http after the Snowdon revelations, people have begun to better understand how https certificates really work. People are more aware now that most https certificates mean little more than that their communication with the server is a) confidential b) not tampered with c) is truly with the server/domain name apparent and not some other. ALL WITH THE EXCEPTION OF *ANYBODY* WHO IS A CERTIFICATE AUTHORITY REGISTERED IN THE MAIN BROWSERS - WHICH IS MANY - INCLUDING NON-FRIENDLY NATIONAL STATE ACTORS!&lt;br /&gt;
&lt;br /&gt;
It is possible however to be virtually certain of confidentiality and accuracy of your communication using standard browsers, EVEN VERSUS CERTIFICATION AUTHORITIES. If, by inspecting the certificate when you are browsing a particular web site, you can satisfy  yourself that it is in fact truly the one in use by the web server, the chances of your communication being secure is virtually 100% The only chance is some failure in fundamental encryption protocols. Such failures would either be public knowledge very quickly, or not used versus you, for fear of it becoming public knowledge, unless you really have something incredibly valuable to hide. In this sense, self-certified certificates are the most secure, since you can obtain them by some other secure channel directly from the web server operator and do not change without your action. Note that in order to ensure that a certificate does not change during your session, to say an unknown valid certificate that breaks your security, your browser must support certificate pinning, in which case the browser will either prevent, or inform you if the certificate for the web site changes, either between or within sessions.&lt;br /&gt;
&lt;br /&gt;
To gain a practical understanding of the issues raised if you trust the certification authorities built in to your browser, consider the fact that many companies require an additional certificate authority to be installed in all corporate browsers (and in some famous cases have installed it covertly), and thereafter all https communications are decrypted in the company firewall/proxy using the corporate certificate, checked for content and reencrypted with the true certificate before being passed on - or vice versa, depending on the direction of flow of information. This, for example means that an employee accessing their bank account would be completely exposed to the corporate gaze. Two factor security would prevent corporate interference in say, instructions to make payments, but all information would be exposed and probably logged in possibly long term records. The same would apply to all https web sites accessed by the employee. Courts seem to agree that corporations have every right to do this but the average person is commonly not aware of it. If a person understood how https security works, they could inspect the https certificate to make sure it is the correct (same one issued by their bank apparent at home for example), since it is unlikely that an adversary (or in this case their employer) would control their actual browser software, but security is an arms race and once everybody knows how to defend themselves, adversaries and security operators will simply move to the next level. The next level may be preventing users from using their own browsers. This is already the case in most secure environment, but not all, and BYOD attitudes may prevail in the long run. Whatever the issues are in this case, the same general principle apply in other situations involving security.&lt;br /&gt;
&lt;br /&gt;
=== Generating a self signed certificate in pfx form for IIS ===&lt;br /&gt;
&lt;br /&gt;
Generating certificates and keys https://httpd.apache.org/docs/2.4/ssl/ssl_faq.html&lt;br /&gt;
&lt;br /&gt;
Generating a pfx using openssl https://langui.sh/2009/01/24/generating-a-pkcs12-pfx-via-openssl/&lt;br /&gt;
&lt;br /&gt;
==== Generate standard cert and key pair ====&lt;br /&gt;
&lt;br /&gt;
First generate a matching pair of certificate and key files (x509 and rsa format respectively)&lt;br /&gt;
&lt;br /&gt;
Example for *.mydomain and validity 9999 days from now&lt;br /&gt;
&lt;br /&gt;
 signer=self&lt;br /&gt;
 mydomain=neosys.com&lt;br /&gt;
 mydomains=*.neosys.com&lt;br /&gt;
 expirydays=9999&lt;br /&gt;
 keyno=`date`&lt;br /&gt;
 certno=$keyno&lt;br /&gt;
 #&lt;br /&gt;
 certfilename=$mydomain-$signer-$certno.cer&lt;br /&gt;
 keyfilename=$mydomain-$keyno.key&lt;br /&gt;
 #&amp;quot;-nodes&amp;quot; means -no-DES ie no encryption ie generate a key file without encrypting it and therefore without requiring a password on it&lt;br /&gt;
 openssl req -new -x509 -nodes -days $expirydays -out &amp;quot;$certfilename&amp;quot; -keyout &amp;quot;$keyfilename&amp;quot; \&lt;br /&gt;
     -subj &amp;quot;/C=AE/ST=DUBAI/O=NEOSYS/CN=*.neosys.com&amp;quot; \&lt;br /&gt;
     -reqexts SAN     -config &amp;lt;(cat /etc/ssl/openssl.cnf \&lt;br /&gt;
      &amp;lt;(printf &amp;quot;[SAN]\nsubjectAltName=DNS:*.hosts.neosys.com,DNS:*.support.neosys.com&amp;quot;)) \&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consider adding subject and subject alternative names&lt;br /&gt;
&lt;br /&gt;
 openssl x509 -req -new -sha256 \&lt;br /&gt;
     -newkey rsa:2048 \&lt;br /&gt;
     -keyout neosys.com-102.key \&lt;br /&gt;
     -subj &amp;quot;/C=AE/ST=DUBAI/O=NEOSYS/CN=*.neosys.com&amp;quot; \&lt;br /&gt;
     -reqexts SAN     -config &amp;lt;(cat /etc/ssl/openssl.cnf \&lt;br /&gt;
      &amp;lt;(printf &amp;quot;[SAN]\nsubjectAltName=DNS:*.hosts.neosys.com,DNS:*.support.neosys.com&amp;quot;)) \&lt;br /&gt;
     -out neosys.com-102.crt \&lt;br /&gt;
     -nodes \&lt;br /&gt;
     -days 9999&lt;br /&gt;
&lt;br /&gt;
Example session:&lt;br /&gt;
&lt;br /&gt;
 Country Name (2 letter code) [AU]:AE&lt;br /&gt;
 State or Province Name (full name) [Some-State]:DUBAI&lt;br /&gt;
 Locality Name (eg, city) []:DUBAI&lt;br /&gt;
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:NEOSYS&lt;br /&gt;
 Organizational Unit Name (eg, section) []:IT&lt;br /&gt;
 Common Name (e.g. server FQDN or YOUR name) []:*.neosys.com&lt;br /&gt;
 Email Address []:it@neosys.com&lt;br /&gt;
&lt;br /&gt;
=== Generating a properly signed certificate ===&lt;br /&gt;
&lt;br /&gt;
http://wiki.gandi.net/en/ssl/csr#sha-2_certificate_request&lt;br /&gt;
&lt;br /&gt;
==== Generate key and CSR file ====&lt;br /&gt;
&lt;br /&gt;
A certificate signing request file (.csr) for *.hosts.neosys.com (wildcard certificate)&lt;br /&gt;
&lt;br /&gt;
if you are renewing (and want to reuse an existing secret server key file mydomain.key, although not clear on the benefit ATM)&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -nodes -sha256 -key mydomain.key -subj &amp;quot;/C=AE/ST=DUBAI/O=NEOSYS/CN=*.hosts.neosys.com&amp;quot; -out mydomain.csr&lt;br /&gt;
&lt;br /&gt;
or if you want to generate a new secret server key file&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -nodes -sha256 -newkey rsa:2048 -keyout mydomain.key -subj &amp;quot;/C=AE/ST=DUBAI/O=NEOSYS/CN=*.hosts.neosys.com&amp;quot; -out mydomain.csr&lt;br /&gt;
&lt;br /&gt;
or if you want to request SAN subdomain wildcards (unlikely to be granted by main cert authorities but perfectly legal and can be self certified)&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -nodes -sha256 -newkey rsa:2048 -keyout mydomain.key -subj &amp;quot;/C=AE/ST=DUBAI/O=NEOSYS/CN=*.neosys.com&amp;quot; -out mydomain.csr \&lt;br /&gt;
     -reqexts SAN     -config &amp;lt;(cat /etc/ssl/openssl.cnf \&lt;br /&gt;
        &amp;lt;(printf &amp;quot;[SAN]\nsubjectAltName=DNS:neosys.com,DNS:*.neosys.com,DNS:*.support.neosys.com,DNS:*.hosts.neosys.com&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
View the csr and verify correct (check that SAN additional domains are listed if you requested them above)&lt;br /&gt;
&lt;br /&gt;
 openssl req -in mydomain.csr -noout -text&lt;br /&gt;
&lt;br /&gt;
==== Either send to CA and get crt/cer file back ====&lt;br /&gt;
&lt;br /&gt;
Send the csr file to the certifying authority and put their response in a mydomain.crt file&lt;br /&gt;
&lt;br /&gt;
Make sure you inform them that the type of software you used to generate the csr is &amp;quot;mod Apache/ModSSL&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 mydomain.csr -&amp;gt; mydomain.cer&lt;br /&gt;
&lt;br /&gt;
==== Or self sign to test all ok ====&lt;br /&gt;
&lt;br /&gt;
 nano ssl.conf&lt;br /&gt;
&lt;br /&gt;
 [req_distinguished_name]&lt;br /&gt;
 countryName = Country Name (2 letter code)&lt;br /&gt;
 countryName_default = AE&lt;br /&gt;
 stateOrProvinceName = State or Province Name (full name)&lt;br /&gt;
 stateOrProvinceName_default = Dubai&lt;br /&gt;
 localityName = Locality Name (eg, city)&lt;br /&gt;
 localityName_default = Dubai&lt;br /&gt;
 organizationalUnitName  = Organizational Unit Name (eg, section)&lt;br /&gt;
 organizationalUnitName_default  = IT&lt;br /&gt;
 commonName = *.neosys.com&lt;br /&gt;
 commonName_max  = 64&lt;br /&gt;
 #&lt;br /&gt;
 [ v3_req ]&lt;br /&gt;
 # Extensions to add to a certificate request&lt;br /&gt;
 basicConstraints = CA:FALSE&lt;br /&gt;
 #keyUsage = nonRepudiation, digitalSignature, keyEncipherment&lt;br /&gt;
 subjectAltName = @alt_names&lt;br /&gt;
 #&lt;br /&gt;
 [alt_names]&lt;br /&gt;
 DNS.1 = neosys.com&lt;br /&gt;
 DNS.2 = *.neosys.com&lt;br /&gt;
 DNS.3 = *.hosts.neosys.com&lt;br /&gt;
 DNS.4 = *.support.neosys.com&lt;br /&gt;
&lt;br /&gt;
 openssl x509 -signkey mydomain.key -in mydomain.csr -req -days 9999 -extensions v3_req   -extfile ssl.conf -out mydomain.crt&lt;br /&gt;
&lt;br /&gt;
view the cert and check extensions (additional domain names) are present if required&lt;br /&gt;
&lt;br /&gt;
 openssl x509 -in mydomain.crt -text -noout&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Merge private key and signed public cert into password protected pfx file ====&lt;br /&gt;
&lt;br /&gt;
Convert the pair of standard files into a single pfx file that IIS can import&lt;br /&gt;
&lt;br /&gt;
 friendlyname=&amp;quot;COMODO SIGNED hosts.neosys.com *.hosts.neosys.com&amp;quot;&lt;br /&gt;
 openssl pkcs12 -export -in mydomain.crt -inkey mydomain.key -name &amp;quot;$friendlyname&amp;quot; -out mydomain.pfx&lt;br /&gt;
&lt;br /&gt;
It will ask for a password .. the usual NEOSYS one is 1f... which will be required when you import the pfx file into IIS before binding to web sites&lt;br /&gt;
&lt;br /&gt;
Example session:&lt;br /&gt;
&lt;br /&gt;
 Enter Export Password:&lt;br /&gt;
 Verifying - Enter Export Password:&lt;br /&gt;
&lt;br /&gt;
Check the pfx file&lt;br /&gt;
&lt;br /&gt;
 openssl pkcs12 -in mydomain.pfx&lt;br /&gt;
&lt;br /&gt;
 openssl pkcs12 -in mydomain.pfx | openssl x509 -noout -text&lt;br /&gt;
&lt;br /&gt;
==== Copy the pfx file to the IIS server and import/bind in the usual way ====&lt;br /&gt;
&lt;br /&gt;
Copy it to the https server&lt;br /&gt;
&lt;br /&gt;
 mysshport=&amp;quot;-P 19510&amp;quot;&lt;br /&gt;
 mysshtarget=&amp;quot;administrator@win3.neosys.com:/cygdrive/d/hosts/CERTIFICATES&amp;quot;&lt;br /&gt;
 scp $mysshport mydomain.pfx $mysshtarget&lt;br /&gt;
&lt;br /&gt;
==== Friendly name in pfx file ====&lt;br /&gt;
&lt;br /&gt;
On the IIS server after importing, if you have multiple certificates for the same domain name you might like to add a &amp;quot;friendly name&amp;quot; to distinguish them in the dropdown when binding certificates to web sites.&lt;br /&gt;
&lt;br /&gt;
You might also want to add the friendly name to the pfx file if you intend to import it again or elsewhere using certificate export to pfx with options Include All and Export All&lt;br /&gt;
&lt;br /&gt;
https://rickardrobin.wordpress.com/2012/12/05/specifying-a-friendly-name-to-a-certificate/&lt;br /&gt;
&lt;br /&gt;
=== Understanding SSL certificates ===&lt;br /&gt;
&lt;br /&gt;
==== What are RSA Private Keys, CSRs and Certificates? ====&lt;br /&gt;
&lt;br /&gt;
YOUR RSA PRIVATE KEY FILE&lt;br /&gt;
&lt;br /&gt;
is a digital file created by you and never ever shared with others. It is USED ONLY BY YOU (never by others) to either:&lt;br /&gt;
&lt;br /&gt;
*to DECRYPT secret, encrypted, messages received by you from others&lt;br /&gt;
*to SIGN messages before sending them to others providing them certainty that the message came from you without being tampered with and that you cannot deny signing them.&lt;br /&gt;
&lt;br /&gt;
YOUR RSA PUBLIC KEY FILE&lt;br /&gt;
&lt;br /&gt;
is a digital file created by you and freely shared with others. It is USED BY OTHERS (never by you) to either:&lt;br /&gt;
&lt;br /&gt;
*ENCRYPT messages before sending them to you&lt;br /&gt;
*VERIFY that signed messages were in fact signed by you and not tampered with and you cannot deny signing them.&lt;br /&gt;
&lt;br /&gt;
OTHER PERSON&#039;S RSA PUBLIC KEY FILE&lt;br /&gt;
&lt;br /&gt;
is a digital file created by the other person and freely shared with you and others. It is USED BY YOU OR ANYBODY (never by the other person) to either:&lt;br /&gt;
&lt;br /&gt;
*ENCRYPT messages to achieve secrecy before sending them to the other person.&lt;br /&gt;
*VERIFY that signed messages received were in fact signed by the other person and that they cannot deny signing them nor claim they have been tampered with.&lt;br /&gt;
&lt;br /&gt;
To obtain someone&#039;s public key, you need a trusted channel, ie a signed channel, but not a secret or encrypted channel since the information is public and not confidential.&lt;br /&gt;
&lt;br /&gt;
Using your private key and someones public key together:&lt;br /&gt;
&lt;br /&gt;
*If you want to send a signed secret message to someone and allow them to be sure it came unmodified from you, you first sign the message using YOUR PRIVATE KEY, then encrypt the message using THEIR PUBLIC KEY&lt;br /&gt;
*If you want to receive a secret message and verify that it came unmodified from someone in particular, you first you decrypt the message using YOUR PRIVATE KEY, then verify the message using THEIR PUBLIC KEY&lt;br /&gt;
&lt;br /&gt;
Signing and Verification = Encryption and Decryption Mathematical Process with keys reversed&lt;br /&gt;
&lt;br /&gt;
Actually, the process of &amp;quot;signing&amp;quot; is doing the same mathematical process as encryption, but since you use the recipients public key, the resultant &amp;quot;encrypted&amp;quot; messege is not secret because it can be &amp;quot;decrypted&amp;quot; using a public key which are freely available.&lt;br /&gt;
&lt;br /&gt;
Likewise, the process of &amp;quot;verification&amp;quot; on a received message is doing the same mathematical process as decryption, but since you are using the senders public key, and anybody could &amp;quot;decrypt&amp;quot; the message, it was not really encrypted in the sense of being secret.&lt;br /&gt;
&lt;br /&gt;
So we have two processes, one called Encryption/Signing but is exactly the same mathematical process with two names depending on whether we use a public or private key, and another process called Decryption/Verification which uses the opposite key.&lt;br /&gt;
&lt;br /&gt;
What YOU use for what:&lt;br /&gt;
&lt;br /&gt;
*YOUR (PRIVATE) KEY = USED BY YOU for decryption and signing&lt;br /&gt;
*THEIR (PUBLIC) KEY = USED BY YOU for encryption and verification&lt;br /&gt;
&lt;br /&gt;
*YOUR (PUBLIC) KEY = NEVER USED BY YOU - since anybody else could do the same thing so no trust or secrecy could be obtained&lt;br /&gt;
*THEIR (PRIVATE) KEY = NEVER USED BY YOU - since you dont have it!&lt;br /&gt;
&lt;br /&gt;
What to use:&lt;br /&gt;
&lt;br /&gt;
*ENCRYPT OUTGOING = Use THEIR (public) key&lt;br /&gt;
*VERIFY INCOMING = Use THEIR (public) key&lt;br /&gt;
&lt;br /&gt;
*DECRYPT INCOMING = Use YOUR (private) key&lt;br /&gt;
*SIGN OUTGOING = Use YOUR (private) key&lt;br /&gt;
&lt;br /&gt;
So the slightly strange thing is that you dont encrypt messages with your private key as might be assumed naturally. You encrypt using the target recipient&#039;s public key. This is perfectly logical if you understand the concept asymmetric cryptography.&lt;br /&gt;
&lt;br /&gt;
One thing to note is that, while it is obvious that other people never use your private key, since they dont have it, it is not obvious, but perfectly true, that you never use your public key. NOBODY EVER USES THEIR OWN PUBLIC KEY ... THEY ONLY GIVE IT TO OTHERS TO USE.&lt;br /&gt;
&lt;br /&gt;
CERTIFICATE&lt;br /&gt;
&lt;br /&gt;
It has a public component which you distribute (via your Certificate file) which allows people to encrypt those messages to you. It can also be used by you to sign messages that can be verified as having come from you by anyone who receives the signed message, using your public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CSR FILE&lt;br /&gt;
&lt;br /&gt;
A Certificate Signing Request (CSR) is a digital file which contains your public key and your details eg name/domain name etc. You send the CSR to a Certifying Authority (CA), who will create a real Certificate containing your detail eg your domain name and your public key, signed by them using their private RSA private key.&lt;br /&gt;
&lt;br /&gt;
CERTIFICATE&lt;br /&gt;
&lt;br /&gt;
A Certificate contains your RSA public key, your name, the name of the CA, and is digitally signed by the CA. Browsers that know the CA can verify the signature on that Certificate, thereby obtaining your RSA public key. That enables them to send messages which only you can decrypt.&lt;br /&gt;
&lt;br /&gt;
==== What is Asymmetric cryptography? ====&lt;br /&gt;
&lt;br /&gt;
Asymmetric cryptography allows you to freely publish an encryption key that can be used by anyone to send you encrypted messages. Such messages can only be decrypted by you using a decryption key which you always keep secret.&lt;br /&gt;
&lt;br /&gt;
It also allows you to publish messages that can be verified by anyone as coming from you without any modification by others.&lt;br /&gt;
&lt;br /&gt;
So we have a pair of keys that if either one is used for encryption, then the other one is required for decryption. In that sense, we should not refer to the private key as the encryption key and the public key a&lt;br /&gt;
&lt;br /&gt;
To start encrypting or signing, you need a matched pair of keys and you need to forever keep one of them secret.&lt;br /&gt;
&lt;br /&gt;
.key a file that contains a random collection of characters that can be used to encrypt&lt;br /&gt;
&lt;br /&gt;
.cer a file that contains a random collection of characters that can be given out publically and used by anybody to encrypt something to be sent to you&lt;br /&gt;
&lt;br /&gt;
A certificate is some information that has been processed by a private and secret key.&lt;br /&gt;
&lt;br /&gt;
pfx contains a private key and public certificate which contains your public key embedded. Usually pfx files are encrypted and you have to enter a password before using them, ie importing them.&lt;br /&gt;
&lt;br /&gt;
==[[Backing up and Restoring IIS configuration]]==&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Configuring_IIS&amp;diff=2627</id>
		<title>Configuring IIS</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Configuring_IIS&amp;diff=2627"/>
		<updated>2016-04-13T12:24:42Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Solving IIS error 500 on uploading for windows 2008 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;After you have installed all the NEOSYS program files you need to configure IIS so that you can operate NEOSYS. Instructions are below.&lt;br /&gt;
&lt;br /&gt;
== Configuring IIS for windows 2003 ==&lt;br /&gt;
&lt;br /&gt;
=== Creating a new website in IIS ===&lt;br /&gt;
&lt;br /&gt;
First step is to stop the default website in IIS. Right click on Default Web Site and select &amp;quot;Stop&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039; Create a website called neosys linked to D:\neosys\neosys.net:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3 Server:&#039;&#039;&#039; Create a website called &amp;quot;clientname&amp;quot; linked to D:\hosts\clientfolder\neosys.net &lt;br /&gt;
&lt;br /&gt;
[[image:figure1.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[image:figure3.jpg]]&lt;br /&gt;
&lt;br /&gt;
A new window will pop up &amp;quot;IP Address and Port Setting&amp;quot; after completion of the above step.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039;  Select *(All Unassigned)* from the drop down list of &amp;quot;Enter the IP address to use for the Web site&amp;quot; and keep the default port as 80. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3 Server:&#039;&#039;&#039; Select the static Ip from the drop down list of &amp;quot;Enter the IP address to use for the Web site&amp;quot; and enter then next port available and click on next.&lt;br /&gt;
&lt;br /&gt;
[[image:Figure_2.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039; Within the above neosys web site folder create a virtual directory called data linked to D:\neosys\data: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3 Server:&#039;&#039;&#039; Within the above clientwebsite folder create a virtual directory called data linked to D:\hosts\clientfolder\data:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(I haven’t got the screenshot because I can only get it once I create the above)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== To allow file uploads ===&lt;br /&gt;
&lt;br /&gt;
==== Create IMAGES directory ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client server:&#039;&#039;&#039; create a folder IMAGES under D:\neosys and within the neosys web site folder create a virtual directory called images linked to D:\neosys\images: Modes: READ and WRITE&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3 Server:&#039;&#039;&#039; create a folder IMAGES under D:\hosts\clientfolder and within the client web site folder create a virtual directory called images linked to D:\hosts\clientfolder\images: Modes: READ and WRITE&lt;br /&gt;
&lt;br /&gt;
In case of client installations where image uploads have to be configured on USB drives due to a huge number of files getting uploaded, create IMAGES folder in the USB drive instead of the client installation folder. Then link the same to the images virtual directory in IIS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(I haven’t got the screenshot because I can only get it once I create the above)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Permit upload.dll ====&lt;br /&gt;
&lt;br /&gt;
# Right click on dll ( Default Web Site, neosys, NEOSYS, dll) &lt;br /&gt;
# Under Permissions set Execute Permissions: Scripts and Executables&lt;br /&gt;
&lt;br /&gt;
# Internet Information Services (IIS) Manager&lt;br /&gt;
# Web Service Extensions&lt;br /&gt;
# All Unknown ISAPI Extensions: Allowed&lt;br /&gt;
&lt;br /&gt;
===[[Backing_up_and_Restoring_IIS_configuration#Set_IIS_automatic_backup_location_to_d:| Set IIS automatic backup location to D:]] ===&lt;br /&gt;
&lt;br /&gt;
== Configuring IIS for Windows 2008 ==&lt;br /&gt;
&lt;br /&gt;
=== Installing IIS ===&lt;br /&gt;
&lt;br /&gt;
First install IIS from Control Panel &amp;gt; Programs &amp;amp; Features &amp;gt; Turn Windows Features ON or OFF &amp;gt; Add Roles:&lt;br /&gt;
&lt;br /&gt;
[[image:iis1.jpg]]&lt;br /&gt;
&lt;br /&gt;
On the window that pops up click on next and you will get this screen, tick Web Server (IIS) - on the prompt click on Add Required Resources and then on Next:&lt;br /&gt;
&lt;br /&gt;
[[image:iis2.jpg]]&lt;br /&gt;
&lt;br /&gt;
On the next window, click on next until you get this window - tick ASP and ISAPI Extensions:&lt;br /&gt;
&lt;br /&gt;
[[image:iis3.jpg]]&lt;br /&gt;
&lt;br /&gt;
Click on Next and Finish&lt;br /&gt;
&lt;br /&gt;
=== Configuring IIS ===&lt;br /&gt;
====Create a new Website====&lt;br /&gt;
After successfully installing IIS, go to Control Panel &amp;gt; Administrative Tools &amp;gt; Computer Management &amp;gt; Services and Applications &amp;gt; Internet Information Services (IIS) &amp;gt; Machine Name &amp;gt; Sites &amp;gt; Default Website. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039; Stop the Default Website and then right click on Sites folder and click on Add Website called &#039;&#039;&#039;neosys&#039;&#039;&#039; linked to {{Client server Installation Location}}neosys.net as shown in the screenshot below&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3:&#039;&#039;&#039; Right click on Sites folder and click on Add Website. Create a website called &amp;quot;clientname&amp;quot; linked to {{NEOSYS server Installation Location}}neosys.net; &lt;br /&gt;
Since win3 is not connected to any LAN and exclusively serves https only, therefore setup a https binding only with a port number which is unique, unused and one greater than the previous port used in the series which is 4431 onwards. The highest port number used in this series can be found by checking IIS manager -&amp;gt; NEOSYS -&amp;gt;Sites.&lt;br /&gt;
&lt;br /&gt;
Refer to [[Setting_up_HTTPS#Creating_multiple_HTTPS_web_sites_on_NEOSYS_hosted_server| setting up the https for a site on NEOSYS hosted server]] for details.&lt;br /&gt;
&lt;br /&gt;
[[image:iis4.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Link Data Folder====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039; Within the neosys website folder create a virtual directory called &#039;&#039;&#039;data&#039;&#039;&#039; linked to {{Client server Installation Location}}data&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3:&#039;&#039;&#039; Within the &amp;quot;clientname&amp;quot; website folder create a virtual directory called &#039;&#039;&#039;data&#039;&#039;&#039; linked to {{NEOSYS server Installation Location}}data &lt;br /&gt;
&lt;br /&gt;
[[image:iis5.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Allow file uploads====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039; create a folder &#039;&#039;&#039;images&#039;&#039;&#039; under D:\neosys and within the neosys web site folder create a virtual directory called &#039;&#039;&#039;images&#039;&#039;&#039; linked to {{Client server Installation Location}}images&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3:&#039;&#039;&#039; create a folder &#039;&#039;&#039;images&#039;&#039;&#039; under D:\hosts\clientfolder and within the &amp;quot;clientname&amp;quot; website folder create a virtual directory called &#039;&#039;&#039;images&#039;&#039;&#039; linked to {{NEOSYS server Installation Location}}images&lt;br /&gt;
&lt;br /&gt;
In case of client installations where image uploads have to be configured on USB drives due to a huge number of files getting uploaded, create IMAGES folder in the USB drive instead of the client installation folder. Then link the same to the Images virtual directory in IIS.&lt;br /&gt;
&lt;br /&gt;
[[image:iis7.jpg]]&lt;br /&gt;
&lt;br /&gt;
After you add all virtual directories the tree map of the Default Website should look as follows:&lt;br /&gt;
&lt;br /&gt;
[[image:iis8.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Configure file uploads besides adding the images directory====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;For single site servers&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go under IIS &amp;gt; Default Website &amp;gt; neosys&lt;br /&gt;
&lt;br /&gt;
Click on Handler Mappings and delete the ISAPI you see there&lt;br /&gt;
&lt;br /&gt;
[[image:iis9a.jpg]]&lt;br /&gt;
&lt;br /&gt;
Thereafter click on Add Script Map and fill in the details as follows – &lt;br /&gt;
&lt;br /&gt;
Request path: *.dll &lt;br /&gt;
&lt;br /&gt;
Executable: {{Client server Installation Location}}neosys.net\NEOSYS\dll\upload.dll&lt;br /&gt;
&lt;br /&gt;
Name: ISAPI &lt;br /&gt;
&lt;br /&gt;
Click on OK and on YES in the confirmation box&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:iis9b.jpg]]&lt;br /&gt;
[[image:hm.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;For multiple site servers&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go under IIS&amp;gt;NEOSYS&amp;gt;Click on Handler Mappings &amp;gt; Edit Feature Permissions &amp;gt; Select Read, Script and Execute &lt;br /&gt;
&lt;br /&gt;
For WIN3 the above setting is already setup&lt;br /&gt;
&lt;br /&gt;
===Editing the hosts file===&lt;br /&gt;
Edit the hosts file under c:\windows\system32\drivers\etc\ - delete the # sign next to 127.0.0.1 localhost and include the # sign before ::1 localhost&lt;br /&gt;
&lt;br /&gt;
[[image:iis10.jpg]]&lt;br /&gt;
&lt;br /&gt;
===[[Backing_up_and_Restoring_IIS_configuration#Set_IIS_automatic_backup_location_to_d:| Set IIS automatic backup location to D:]] ===&lt;br /&gt;
&lt;br /&gt;
== Solving IIS errors ==&lt;br /&gt;
&lt;br /&gt;
=== Solving error during file upload: &amp;quot;Page cannot be displayed&amp;quot; HTTP Error 405 in windows 2003 ===&lt;br /&gt;
&lt;br /&gt;
This error should not occur in normal NEOSYS installations but the solution is as follows:&lt;br /&gt;
&lt;br /&gt;
# Go to Control Panel, Administrative Tools, Internet Information Services&lt;br /&gt;
# Expand the tree to COMPUTERNAME, Web Sites&lt;br /&gt;
# Right-click &amp;quot;Default Web Site&amp;quot; (or specific Web Site if multiple NEOSYS http/https installations on the server as per WIN3)&lt;br /&gt;
# Properties&lt;br /&gt;
# Home Directory&lt;br /&gt;
# Configuration&lt;br /&gt;
# Mappings, Add&lt;br /&gt;
# Browse&lt;br /&gt;
# Dynamic Link Libraries *.dll&amp;quot; from the &amp;quot;Files of Type&amp;quot; dropdown&lt;br /&gt;
# Find and select D:\NEOSYS\neosys.net\NEOSYS\dll\upload.dll (OR upload.dll in the installation directory)&lt;br /&gt;
# Extension Type: dll&lt;br /&gt;
# Limit to: All&lt;br /&gt;
# Click the &amp;quot;OK&amp;quot; button&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Solving HTTP Error 404 Error occurring immediately on opening NEOSYS login page on a new server installation: &amp;quot;System Failure. Do you want to retry?&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
This error message is caused by failing to enable Active Server Pages in the IIS configuration. To resolve this in windows 2008, [[Configuring_IIS#Configure_file_uploads_besides_adding_the_images_directory| ensure that Read, Script, Execute is ticked (enabled) in the feature permissions of these Handler Mappings.]]&lt;br /&gt;
&lt;br /&gt;
This message is from IE8 and a Windows 2003 server. The message may be different for other browser versions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Message from web page.&lt;br /&gt;
&lt;br /&gt;
System Failure. Do you want to retry?&lt;br /&gt;
&lt;br /&gt;
The page cannot be found&lt;br /&gt;
The page you are looking for might have been removed, had its name change, or it temporarily unavailable.&lt;br /&gt;
&lt;br /&gt;
Please try the following:&lt;br /&gt;
(omitted)&lt;br /&gt;
HTTP Error 404 - File or directory not found.&lt;br /&gt;
Internet Information Services (IIS)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:http404.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Solving HTTP 404 Webpage cannot be found ===&lt;br /&gt;
&lt;br /&gt;
This error message clearly states that the page cannot be found. Check for the requested page in the client website folder under the virtual directory data. This page will be available under the data folder in D:\neosys\data. A possible cause of this error is by failing to create a virtual directory called data linked to D:\neosys\data:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:http404p.jpg]]&lt;br /&gt;
===Solving Error &amp;quot;The specified Executable does not exist on the server&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
While adding Script Map in Handler Mappings in the above step, if you get the below error, this means you have not yet run the Maintenance window/ NEOSYS processes and skipped steps in Installing NEOSYS. File upload.dl_ is installed from NEOSYS.EXE or NEOSYS2.EXE and converted to .dll the first time you run NEOSYS Maintenance/Process. You can also manually rename the file to upload.dll. &lt;br /&gt;
&lt;br /&gt;
[[image:Dll_error.png]]&lt;br /&gt;
&lt;br /&gt;
=== Solving IIS error 500 on uploading for windows 2008===&lt;br /&gt;
&lt;br /&gt;
To test if permissions are the problem, in grant full control to IUSR over the whole client directory e.g d:\neosys or d:\hosts\clientx in security tab of windows explorer and see if you can upload.&lt;br /&gt;
&lt;br /&gt;
Regardless of the result, remove the full control permissions since they are a security risk.&lt;br /&gt;
&lt;br /&gt;
If permissions are the problem then grant specific permissions as follows:&lt;br /&gt;
&lt;br /&gt;
#images folder - read and write permissions (but not execute)&lt;br /&gt;
#dll folder - read and execute permission (no write permission)&lt;br /&gt;
&lt;br /&gt;
=== Solving error &amp;quot;Upload folder cannot be created.The system cannot find the drive specified&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
This error message comes up when the File uploads are configured to a different location in the software than what is set up in IIS.&lt;br /&gt;
&lt;br /&gt;
There is an internal system configuration in line 49 of the DOS SYSTEM.CFG file which mentions the upload folder location (normally blank which means xxxxxx\images\ where xxxxxx is the installation directory e.g d:\neosys)&lt;br /&gt;
&lt;br /&gt;
Where we want the images uploaded to a place other than the installation directory the configuration may say something like h:\images\ where ever the folder should be e.g on an external USB drive. This may be done in case of client installations where file uploads are configured on USB drives due to a huge number of files getting uploaded.&lt;br /&gt;
&lt;br /&gt;
The IIS and internal configuration must agree otherwise you will probably not be able to upload files or uploaded files may not go in the right place and may be lost, not backed up and/or not viewable.&lt;br /&gt;
&lt;br /&gt;
To fix this issue, you MUST link the &#039;&#039;&#039;images&#039;&#039;&#039; folder in IIS to {{NEOSYS server Installation Location}}images&lt;br /&gt;
&lt;br /&gt;
== Disabling unsecure SSL3 protocol on Windows IIS web server ==&lt;br /&gt;
&lt;br /&gt;
POODLE is an information leakage attack on client browsers while accessing web server that support the older SSL3 protocol. It is easy to prevent it by reconfiguring web servers to not support SSL3.&lt;br /&gt;
&lt;br /&gt;
=== Securing IIS web server on win2003 and 2008 by disabling unsafe SSL3 protocol ===&lt;br /&gt;
&lt;br /&gt;
#For Systems with https installed check if the web server is vulnerable (see [[Configuring_IIS#Testing_for_IIS_vulnerability| Testing for IIS vulnerability]] ). For systems with no https installed,continue to step2 to prevent SSL3 accidentally being enabled if https is installed in the server in future and then test for vulnerability.&lt;br /&gt;
# run the following commands on the server&lt;br /&gt;
#reg add &amp;quot;HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#reg add &amp;quot;HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#reg add &amp;quot;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 40/128&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#reg add &amp;quot;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 56/128&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#reg add &amp;quot;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 64/128&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#reg add &amp;quot;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 128/128&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#Reboot the server (at any time later using standard NEOSYS rebooting procedure without disturbing users)&lt;br /&gt;
#Perform the diagnostic for vulnerability&lt;br /&gt;
&lt;br /&gt;
=== Testing for IIS vulnerability ===&lt;br /&gt;
==== A. Determine host and port and where to test from ==== &lt;br /&gt;
If you have a public https server that you can access like https://demo.neosys.com:443, in a linux command prompt eg nagios login:&lt;br /&gt;
&lt;br /&gt;
*$HOST for host name like demo.neosys.com&lt;br /&gt;
*$PORT with something like 443 or 4430 depending on port forwarding on the public router&lt;br /&gt;
&lt;br /&gt;
or if testing a private https server with no public access, using a cygwin installation on the same server in the cygwin prompt:&lt;br /&gt;
&lt;br /&gt;
*$HOST for host name like 127.0.0.1&lt;br /&gt;
*$PORT with something like 443 or 4430 as per IIS manager configuration&lt;br /&gt;
&lt;br /&gt;
If https is enabled on the server/website and you are able to access the website via https using a browser, then you must be able to test for openssl on the same browsed host and port. You must also test this locally to ensure that the right server is being fixed. If the website is not public, then https must not be enabled, which means there is no reason for using cygwin openssl.&lt;br /&gt;
&lt;br /&gt;
==== B. Check you CAN connect to https server using TLS ====&lt;br /&gt;
&lt;br /&gt;
 openssl s_client -host $HOST -port $PORT&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nagios@vm1m:~$ echo|openssl s_client -host demo.neosys.com -port 443&lt;br /&gt;
CONNECTED(00000003)&lt;br /&gt;
depth=0 CN = demo.neosys.com&lt;br /&gt;
verify error:num=20:unable to get local issuer certificate&lt;br /&gt;
verify return:1&lt;br /&gt;
depth=0 CN = demo.neosys.com&lt;br /&gt;
verify error:num=21:unable to verify the first certificate&lt;br /&gt;
verify return:1&lt;br /&gt;
---&lt;br /&gt;
Certificate chain&lt;br /&gt;
 0 s:/CN=demo.neosys.com&lt;br /&gt;
   i:/CN=demo.neosys.com&lt;br /&gt;
---&lt;br /&gt;
Server certificate&lt;br /&gt;
-----BEGIN CERTIFICATE-----&lt;br /&gt;
MIIB2DCCAUWgAwIBAgIQd0J0l4kJrpJHonAv5U8VLjAJBgUrDgMCHQUAMBoxGDAW&lt;br /&gt;
BgNVBAMTD2RlbW8ubmVvc3lzLmNvbTAeFw0wODA3MjcxOTUxMDNaFw0zNTEyMTIx&lt;br /&gt;
OTUxMDNaMBoxGDAWBgNVBAMTD2RlbW8ubmVvc3lzLmNvbTCBnzANBgkqhkiG9w0B&lt;br /&gt;
AQEFAAOBjQAwgYkCgYEAxzwtoqq49vV7pyBQ6Ej+PvbB1QxkdsxNn5EZSLSOppCb&lt;br /&gt;
jNjV8fFa98unPR0pGM0UdjWMUYodj12c2pnIrfrtXv7pYf+iC1corPEY7607Icbs&lt;br /&gt;
rSOc5aFwnlUYpktoysV1G1crGYgYgXbXgVOUO9phHXJarpKf6SjVw3uXTLlmPUkC&lt;br /&gt;
AwEAAaMnMCUwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDgYDVR0PBAcDBQCwAAAAMAkG&lt;br /&gt;
BSsOAwIdBQADgYEAmgyW60pT62JuM8GH+KogHW7viaMsifXitm3BC/GfaORpJCox&lt;br /&gt;
aS20fAlzGyAlDe9nZWN4roLSxQv0laJkxyNPDuHvLJt1l0FVdk6/vGB6QH0KqM+S&lt;br /&gt;
UaUTLsDZ99UNS/inotobxD9vXuKl58Uoe2lu7r9vJ+1DWDC6AyueSZ6xnno=&lt;br /&gt;
-----END CERTIFICATE-----&lt;br /&gt;
subject=/CN=demo.neosys.com&lt;br /&gt;
issuer=/CN=demo.neosys.com&lt;br /&gt;
---&lt;br /&gt;
No client certificate CA names sent&lt;br /&gt;
---&lt;br /&gt;
SSL handshake has read 635 bytes and written 411 bytes&lt;br /&gt;
---&lt;br /&gt;
New, TLSv1/SSLv3, Cipher is AES128-SHA&lt;br /&gt;
Server public key is 1024 bit&lt;br /&gt;
Secure Renegotiation IS supported&lt;br /&gt;
Compression: NONE&lt;br /&gt;
Expansion: NONE&lt;br /&gt;
SSL-Session:&lt;br /&gt;
    Protocol  : TLSv1&lt;br /&gt;
    Cipher    : AES128-SHA&lt;br /&gt;
    Session-ID: 8A0A00002D51DE183AC2845C6B3FF4BC7485181B4DCBC1758E3A2D5399BDD71C&lt;br /&gt;
    Session-ID-ctx:&lt;br /&gt;
    Master-Key: B10B9370E4DF70E873873AB9851B3CEF19623E6ADA697955E375D931DEE8301D798B4CB14C8D33FCF1BA066C0CC23897&lt;br /&gt;
    Key-Arg   : None&lt;br /&gt;
    PSK identity: None&lt;br /&gt;
    PSK identity hint: None&lt;br /&gt;
    SRP username: None&lt;br /&gt;
    Start Time: 1413885416&lt;br /&gt;
    Timeout   : 300 (sec)&lt;br /&gt;
    Verify return code: 21 (unable to verify the first certificate)&lt;br /&gt;
---&lt;br /&gt;
DONE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== C. Check that you cannot CANNOT to https server using SSL3 ====&lt;br /&gt;
&lt;br /&gt;
 openssl s_client -ssl3 -host $HOST -port $PORT&lt;br /&gt;
&lt;br /&gt;
==== CAN CONNECT = VULNERABLE = NOT OK ====&lt;br /&gt;
&lt;br /&gt;
If you get this then you need to configure the server to prevent SSL3&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nagios@vm1m:~$ echo xxx|openssl s_client -ssl3 -host demo.neosys.com -port 4430&lt;br /&gt;
gethostbyname failure&lt;br /&gt;
connect:errno=0&lt;br /&gt;
nagios@vm1m:~$ echo xxx|openssl s_client -ssl3 -host demo.neosys.com -port 4430&lt;br /&gt;
CONNECTED(00000003)&lt;br /&gt;
depth=0 CN = demo.neosys.com&lt;br /&gt;
verify error:num=20:unable to get local issuer certificate&lt;br /&gt;
verify return:1&lt;br /&gt;
depth=0 CN = demo.neosys.com&lt;br /&gt;
verify error:num=21:unable to verify the first certificate&lt;br /&gt;
verify return:1&lt;br /&gt;
---&lt;br /&gt;
Certificate chain&lt;br /&gt;
 0 s:/CN=demo.neosys.com&lt;br /&gt;
   i:/CN=demo.neosys.com&lt;br /&gt;
---&lt;br /&gt;
Server certificate&lt;br /&gt;
-----BEGIN CERTIFICATE-----&lt;br /&gt;
MIIB3jCCAUugAwIBAgIQNj9FMjT1vIxGo2Mv2Ta9vzAJBgUrDgMCHQUAMB0xGzAZ&lt;br /&gt;
BgNVBAMTEmFkbGluZWQubmVvc3lzLmNvbTAeFw0wODAzMjUxMTIxMzFaFw0zNTA4&lt;br /&gt;
MTAxMTIxMzFaMB0xGzAZBgNVBAMTEmFkbGluZWQubmVvc3lzLmNvbTCBnzANBgkq&lt;br /&gt;
hkiG9w0BAQEFAAOBjQAwgYkCgYEArRuijA8jz3qBm2ZZEwITIJLWIMlQmZxcUvOo&lt;br /&gt;
HNZL0+3oJuX0AQqtpRZMp/7ob9agngfwJQ36vK+424zcBbmKxA2MweKZRalN2jz+&lt;br /&gt;
rdr1oeZ6/Ff3r8+rCPFj/B8CfMOQbSv6YcR0kVc+8ugybB7qT6Nq5ZWOAczG3Ikt&lt;br /&gt;
4EnOlqUCAwEAAaMnMCUwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDgYDVR0PBAcDBQCw&lt;br /&gt;
AAAAMAkGBSsOAwIdBQADgYEAHIq5Gn2LiMgXFaUYrFEfHeajD4jAwdFw+zrjcBDZ&lt;br /&gt;
qM9LnhndHhdPogow9m9cCv1n57ne9rZL1v7w7Y6C53359hTUVZFqtHFfzcWnNyKD&lt;br /&gt;
uHD9a8QDk6/dSwBr/SWIE6OdFUYAj/kDXRQNB5H459spRVa3Yws8vpwrWZhoklxq&lt;br /&gt;
CQg=&lt;br /&gt;
-----END CERTIFICATE-----&lt;br /&gt;
subject=/CN=demo.neosys.com&lt;br /&gt;
issuer=/CN=demo.neosys.com&lt;br /&gt;
---&lt;br /&gt;
No client certificate CA names sent&lt;br /&gt;
---&lt;br /&gt;
SSL handshake has read 649 bytes and written 342 bytes&lt;br /&gt;
---&lt;br /&gt;
New, TLSv1/SSLv3, Cipher is RC4-MD5&lt;br /&gt;
Server public key is 1024 bit&lt;br /&gt;
Secure Renegotiation IS supported&lt;br /&gt;
Compression: NONE&lt;br /&gt;
Expansion: NONE&lt;br /&gt;
SSL-Session:&lt;br /&gt;
    Protocol  : SSLv3&lt;br /&gt;
    Cipher    : RC4-MD5&lt;br /&gt;
    Session-ID: 441A0000EBC1D634B2CDB12924F9B980D2A4CF8C4DD6D3FB9728D3C74F62A8FE&lt;br /&gt;
    Session-ID-ctx:&lt;br /&gt;
    Master-Key: 38F040BE3E7098857B7CB9FF3B44937786F8F8C002B0042370B29F20EFB582833F9E24CFC8E6560AFD06751DC93412D3&lt;br /&gt;
    Key-Arg   : None&lt;br /&gt;
    PSK identity: None&lt;br /&gt;
    PSK identity hint: None&lt;br /&gt;
    SRP username: None&lt;br /&gt;
    Start Time: 1413885545&lt;br /&gt;
    Timeout   : 7200 (sec)&lt;br /&gt;
    Verify return code: 21 (unable to verify the first certificate)&lt;br /&gt;
---&lt;br /&gt;
DONE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== CANNOT CONNECT = NOT VULNERABLE = OK ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nagios@vm1m:~$ echo|openssl s_client -ssl3 -host demo.neosys.com -port 443&lt;br /&gt;
CONNECTED(00000003)&lt;br /&gt;
write:errno=104&lt;br /&gt;
---&lt;br /&gt;
no peer certificate available&lt;br /&gt;
---&lt;br /&gt;
No client certificate CA names sent&lt;br /&gt;
---&lt;br /&gt;
SSL handshake has read 0 bytes and written 0 bytes&lt;br /&gt;
---&lt;br /&gt;
New, (NONE), Cipher is (NONE)&lt;br /&gt;
Secure Renegotiation IS NOT supported&lt;br /&gt;
Compression: NONE&lt;br /&gt;
Expansion: NONE&lt;br /&gt;
SSL-Session:&lt;br /&gt;
    Protocol  : SSLv3&lt;br /&gt;
    Cipher    : 0000&lt;br /&gt;
    Session-ID:&lt;br /&gt;
    Session-ID-ctx:&lt;br /&gt;
    Master-Key:&lt;br /&gt;
    Key-Arg   : None&lt;br /&gt;
    PSK identity: None&lt;br /&gt;
    PSK identity hint: None&lt;br /&gt;
    SRP username: None&lt;br /&gt;
    Start Time: 1413885702&lt;br /&gt;
    Timeout   : 7200 (sec)&lt;br /&gt;
    Verify return code: 0 (ok)&lt;br /&gt;
---&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Enabling Internet Explorer 6 to access secured https web servers ===&lt;br /&gt;
&lt;br /&gt;
To use Internet explorer 6 (on win2003 and XP-before-SP3) to access secured http web sites you need to enable IE6 to use TLS 1.0. Internet Explorer 6 is present in Windows Server 2003 and Windows XP-pre-SP3.&lt;br /&gt;
&lt;br /&gt;
You can also disable SSL 2.0 and SSL 3.0 for additional safety. This good for later versions of Internet Explorer too.&lt;br /&gt;
&lt;br /&gt;
[[File:IE_options.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Generating IIS certificates for https using openssl ==&lt;br /&gt;
&lt;br /&gt;
This covers the two main type of certificates:&lt;br /&gt;
&lt;br /&gt;
#&amp;quot;proper&amp;quot; certificates (accepted by all browsers without complaint) - issued by bona fide certification authority only on proof of control of a domain name - usually for a small fee&lt;br /&gt;
#&amp;quot;self signed&amp;quot; certificates (not accepted by all browsers without error messages without special configuration) - easily&lt;br /&gt;
issued by anybody without the slightest restriction&lt;br /&gt;
&lt;br /&gt;
NEOSYS&#039; proper https certificate for *.hosts.neosys.com, valid approx Jan-Dec 2016, issued by Comodo, was purchased from namecheap.com for a small fraction of the price of purchasing from Comodo or one of the other main certification authorities.&lt;br /&gt;
&lt;br /&gt;
There is no technical requirement to renew certificates with the same issuing authority, nor is their any restriction whatsoever from having multiple concurrent overlapping certificates, in any combination, for the the same domain name or subsets of a domain name. For a certificate to be &amp;quot;proper&amp;quot; it merely has to be issued by (not necessarily purchased from) one of the certificate authorities registered in all the main browsers using by NEOSYS clients. Unlike DNS domain name registrars, of which you can only have one at any one time, and which take to change, certificates are simply installed in particular servers without reference to each other, nor to any imaginary central internet registry, as IS the case for the DNS domain name registry.&lt;br /&gt;
&lt;br /&gt;
The sales of certificates is a bit of scam really because anybody can get a certificate from the main commercial certificate authorities merely by proving control over a domain name - for example, by receiving an email to ADMIN@xxxxx.com. Except for EV certificates such as those issued to banks etc, most https certificates are issued without any check on physical identity or reputation, therefore the cost of issuing https certificates rests merely on the fact that the certification authority has managed to inveigle itself into all the main browsers and have their public key installed along with the browser software. Hoowever, the market seems to be collapsing, with even free certificate authorities appearing although with some minor limitations like short duration of validity of certificates.&lt;br /&gt;
&lt;br /&gt;
Excellent summary of using openssl to manage certificates .. no Alternate Names though&lt;br /&gt;
https://www.digitalocean.com/community/tutorials/openssl-essentials-working-with-ssl-certificates-private-keys-and-csrs&lt;br /&gt;
&lt;br /&gt;
Excellent summary of selfsigned and properly signed certificate&lt;br /&gt;
https://httpd.apache.org/docs/2.4/ssl/ssl_faq.html&lt;br /&gt;
&lt;br /&gt;
==== Commentary on https security ====&lt;br /&gt;
&lt;br /&gt;
With the general move to using https instead of http after the Snowdon revelations, people have begun to better understand how https certificates really work. People are more aware now that most https certificates mean little more than that their communication with the server is a) confidential b) not tampered with c) is truly with the server/domain name apparent and not some other. ALL WITH THE EXCEPTION OF *ANYBODY* WHO IS A CERTIFICATE AUTHORITY REGISTERED IN THE MAIN BROWSERS - WHICH IS MANY - INCLUDING NON-FRIENDLY NATIONAL STATE ACTORS!&lt;br /&gt;
&lt;br /&gt;
It is possible however to be virtually certain of confidentiality and accuracy of your communication using standard browsers, EVEN VERSUS CERTIFICATION AUTHORITIES. If, by inspecting the certificate when you are browsing a particular web site, you can satisfy  yourself that it is in fact truly the one in use by the web server, the chances of your communication being secure is virtually 100% The only chance is some failure in fundamental encryption protocols. Such failures would either be public knowledge very quickly, or not used versus you, for fear of it becoming public knowledge, unless you really have something incredibly valuable to hide. In this sense, self-certified certificates are the most secure, since you can obtain them by some other secure channel directly from the web server operator and do not change without your action. Note that in order to ensure that a certificate does not change during your session, to say an unknown valid certificate that breaks your security, your browser must support certificate pinning, in which case the browser will either prevent, or inform you if the certificate for the web site changes, either between or within sessions.&lt;br /&gt;
&lt;br /&gt;
To gain a practical understanding of the issues raised if you trust the certification authorities built in to your browser, consider the fact that many companies require an additional certificate authority to be installed in all corporate browsers (and in some famous cases have installed it covertly), and thereafter all https communications are decrypted in the company firewall/proxy using the corporate certificate, checked for content and reencrypted with the true certificate before being passed on - or vice versa, depending on the direction of flow of information. This, for example means that an employee accessing their bank account would be completely exposed to the corporate gaze. Two factor security would prevent corporate interference in say, instructions to make payments, but all information would be exposed and probably logged in possibly long term records. The same would apply to all https web sites accessed by the employee. Courts seem to agree that corporations have every right to do this but the average person is commonly not aware of it. If a person understood how https security works, they could inspect the https certificate to make sure it is the correct (same one issued by their bank apparent at home for example), since it is unlikely that an adversary (or in this case their employer) would control their actual browser software, but security is an arms race and once everybody knows how to defend themselves, adversaries and security operators will simply move to the next level. The next level may be preventing users from using their own browsers. This is already the case in most secure environment, but not all, and BYOD attitudes may prevail in the long run. Whatever the issues are in this case, the same general principle apply in other situations involving security.&lt;br /&gt;
&lt;br /&gt;
=== Generating a self signed certificate in pfx form for IIS ===&lt;br /&gt;
&lt;br /&gt;
Generating certificates and keys https://httpd.apache.org/docs/2.4/ssl/ssl_faq.html&lt;br /&gt;
&lt;br /&gt;
Generating a pfx using openssl https://langui.sh/2009/01/24/generating-a-pkcs12-pfx-via-openssl/&lt;br /&gt;
&lt;br /&gt;
==== Generate standard cert and key pair ====&lt;br /&gt;
&lt;br /&gt;
First generate a matching pair of certificate and key files (x509 and rsa format respectively)&lt;br /&gt;
&lt;br /&gt;
Example for *.mydomain and validity 9999 days from now&lt;br /&gt;
&lt;br /&gt;
 signer=self&lt;br /&gt;
 mydomain=neosys.com&lt;br /&gt;
 mydomains=*.neosys.com&lt;br /&gt;
 expirydays=9999&lt;br /&gt;
 keyno=`date`&lt;br /&gt;
 certno=$keyno&lt;br /&gt;
 #&lt;br /&gt;
 certfilename=$mydomain-$signer-$certno.cer&lt;br /&gt;
 keyfilename=$mydomain-$keyno.key&lt;br /&gt;
 #&amp;quot;-nodes&amp;quot; means -no-DES ie no encryption ie generate a key file without encrypting it and therefore without requiring a password on it&lt;br /&gt;
 openssl req -new -x509 -nodes -days $expirydays -out &amp;quot;$certfilename&amp;quot; -keyout &amp;quot;$keyfilename&amp;quot; \&lt;br /&gt;
     -subj &amp;quot;/C=AE/ST=DUBAI/O=NEOSYS/CN=*.neosys.com&amp;quot; \&lt;br /&gt;
     -reqexts SAN     -config &amp;lt;(cat /etc/ssl/openssl.cnf \&lt;br /&gt;
      &amp;lt;(printf &amp;quot;[SAN]\nsubjectAltName=DNS:*.hosts.neosys.com,DNS:*.support.neosys.com&amp;quot;)) \&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consider adding subject and subject alternative names&lt;br /&gt;
&lt;br /&gt;
 openssl x509 -req -new -sha256 \&lt;br /&gt;
     -newkey rsa:2048 \&lt;br /&gt;
     -keyout neosys.com-102.key \&lt;br /&gt;
     -subj &amp;quot;/C=AE/ST=DUBAI/O=NEOSYS/CN=*.neosys.com&amp;quot; \&lt;br /&gt;
     -reqexts SAN     -config &amp;lt;(cat /etc/ssl/openssl.cnf \&lt;br /&gt;
      &amp;lt;(printf &amp;quot;[SAN]\nsubjectAltName=DNS:*.hosts.neosys.com,DNS:*.support.neosys.com&amp;quot;)) \&lt;br /&gt;
     -out neosys.com-102.crt \&lt;br /&gt;
     -nodes \&lt;br /&gt;
     -days 9999&lt;br /&gt;
&lt;br /&gt;
Example session:&lt;br /&gt;
&lt;br /&gt;
 Country Name (2 letter code) [AU]:AE&lt;br /&gt;
 State or Province Name (full name) [Some-State]:DUBAI&lt;br /&gt;
 Locality Name (eg, city) []:DUBAI&lt;br /&gt;
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:NEOSYS&lt;br /&gt;
 Organizational Unit Name (eg, section) []:IT&lt;br /&gt;
 Common Name (e.g. server FQDN or YOUR name) []:*.neosys.com&lt;br /&gt;
 Email Address []:it@neosys.com&lt;br /&gt;
&lt;br /&gt;
=== Generating a properly signed certificate ===&lt;br /&gt;
&lt;br /&gt;
http://wiki.gandi.net/en/ssl/csr#sha-2_certificate_request&lt;br /&gt;
&lt;br /&gt;
==== Generate key and CSR file ====&lt;br /&gt;
&lt;br /&gt;
A certificate signing request file (.csr) for *.hosts.neosys.com (wildcard certificate)&lt;br /&gt;
&lt;br /&gt;
if you are renewing (and want to reuse an existing secret server key file mydomain.key, although not clear on the benefit ATM)&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -nodes -sha256 -key mydomain.key -subj &amp;quot;/C=AE/ST=DUBAI/O=NEOSYS/CN=*.hosts.neosys.com&amp;quot; -out mydomain.csr&lt;br /&gt;
&lt;br /&gt;
or if you want to generate a new secret server key file&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -nodes -sha256 -newkey rsa:2048 -keyout mydomain.key -subj &amp;quot;/C=AE/ST=DUBAI/O=NEOSYS/CN=*.hosts.neosys.com&amp;quot; -out mydomain.csr&lt;br /&gt;
&lt;br /&gt;
or if you want to request SAN subdomain wildcards (unlikely to be granted by main cert authorities but perfectly legal and can be self certified)&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -nodes -sha256 -newkey rsa:2048 -keyout mydomain.key -subj &amp;quot;/C=AE/ST=DUBAI/O=NEOSYS/CN=*.neosys.com&amp;quot; -out mydomain.csr \&lt;br /&gt;
     -reqexts SAN     -config &amp;lt;(cat /etc/ssl/openssl.cnf \&lt;br /&gt;
        &amp;lt;(printf &amp;quot;[SAN]\nsubjectAltName=DNS:neosys.com,DNS:*.neosys.com,DNS:*.support.neosys.com,DNS:*.hosts.neosys.com&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
View the csr and verify correct (check that SAN additional domains are listed if you requested them above)&lt;br /&gt;
&lt;br /&gt;
 openssl req -in mydomain.csr -noout -text&lt;br /&gt;
&lt;br /&gt;
==== Either send to CA and get crt/cer file back ====&lt;br /&gt;
&lt;br /&gt;
Send the csr file to the certifying authority and put their response in a mydomain.crt file&lt;br /&gt;
&lt;br /&gt;
Make sure you inform them that the type of software you used to generate the csr is &amp;quot;mod Apache/ModSSL&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 mydomain.csr -&amp;gt; mydomain.cer&lt;br /&gt;
&lt;br /&gt;
==== Or self sign to test all ok ====&lt;br /&gt;
&lt;br /&gt;
 nano ssl.conf&lt;br /&gt;
&lt;br /&gt;
 [req_distinguished_name]&lt;br /&gt;
 countryName = Country Name (2 letter code)&lt;br /&gt;
 countryName_default = AE&lt;br /&gt;
 stateOrProvinceName = State or Province Name (full name)&lt;br /&gt;
 stateOrProvinceName_default = Dubai&lt;br /&gt;
 localityName = Locality Name (eg, city)&lt;br /&gt;
 localityName_default = Dubai&lt;br /&gt;
 organizationalUnitName  = Organizational Unit Name (eg, section)&lt;br /&gt;
 organizationalUnitName_default  = IT&lt;br /&gt;
 commonName = *.neosys.com&lt;br /&gt;
 commonName_max  = 64&lt;br /&gt;
 #&lt;br /&gt;
 [ v3_req ]&lt;br /&gt;
 # Extensions to add to a certificate request&lt;br /&gt;
 basicConstraints = CA:FALSE&lt;br /&gt;
 #keyUsage = nonRepudiation, digitalSignature, keyEncipherment&lt;br /&gt;
 subjectAltName = @alt_names&lt;br /&gt;
 #&lt;br /&gt;
 [alt_names]&lt;br /&gt;
 DNS.1 = neosys.com&lt;br /&gt;
 DNS.2 = *.neosys.com&lt;br /&gt;
 DNS.3 = *.hosts.neosys.com&lt;br /&gt;
 DNS.4 = *.support.neosys.com&lt;br /&gt;
&lt;br /&gt;
 openssl x509 -signkey mydomain.key -in mydomain.csr -req -days 9999 -extensions v3_req   -extfile ssl.conf -out mydomain.crt&lt;br /&gt;
&lt;br /&gt;
view the cert and check extensions (additional domain names) are present if required&lt;br /&gt;
&lt;br /&gt;
 openssl x509 -in mydomain.crt -text -noout&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Merge private key and signed public cert into password protected pfx file ====&lt;br /&gt;
&lt;br /&gt;
Convert the pair of standard files into a single pfx file that IIS can import&lt;br /&gt;
&lt;br /&gt;
 friendlyname=&amp;quot;COMODO SIGNED hosts.neosys.com *.hosts.neosys.com&amp;quot;&lt;br /&gt;
 openssl pkcs12 -export -in mydomain.crt -inkey mydomain.key -name &amp;quot;$friendlyname&amp;quot; -out mydomain.pfx&lt;br /&gt;
&lt;br /&gt;
It will ask for a password .. the usual NEOSYS one is 1f... which will be required when you import the pfx file into IIS before binding to web sites&lt;br /&gt;
&lt;br /&gt;
Example session:&lt;br /&gt;
&lt;br /&gt;
 Enter Export Password:&lt;br /&gt;
 Verifying - Enter Export Password:&lt;br /&gt;
&lt;br /&gt;
Check the pfx file&lt;br /&gt;
&lt;br /&gt;
 openssl pkcs12 -in mydomain.pfx&lt;br /&gt;
&lt;br /&gt;
 openssl pkcs12 -in mydomain.pfx | openssl x509 -noout -text&lt;br /&gt;
&lt;br /&gt;
==== Copy the pfx file to the IIS server and import/bind in the usual way ====&lt;br /&gt;
&lt;br /&gt;
Copy it to the https server&lt;br /&gt;
&lt;br /&gt;
 mysshport=&amp;quot;-P 19510&amp;quot;&lt;br /&gt;
 mysshtarget=&amp;quot;administrator@win3.neosys.com:/cygdrive/d/hosts/CERTIFICATES&amp;quot;&lt;br /&gt;
 scp $mysshport mydomain.pfx $mysshtarget&lt;br /&gt;
&lt;br /&gt;
==== Friendly name in pfx file ====&lt;br /&gt;
&lt;br /&gt;
On the IIS server after importing, if you have multiple certificates for the same domain name you might like to add a &amp;quot;friendly name&amp;quot; to distinguish them in the dropdown when binding certificates to web sites.&lt;br /&gt;
&lt;br /&gt;
You might also want to add the friendly name to the pfx file if you intend to import it again or elsewhere using certificate export to pfx with options Include All and Export All&lt;br /&gt;
&lt;br /&gt;
https://rickardrobin.wordpress.com/2012/12/05/specifying-a-friendly-name-to-a-certificate/&lt;br /&gt;
&lt;br /&gt;
=== Understanding SSL certificates ===&lt;br /&gt;
&lt;br /&gt;
==== What are RSA Private Keys, CSRs and Certificates? ====&lt;br /&gt;
&lt;br /&gt;
YOUR RSA PRIVATE KEY FILE&lt;br /&gt;
&lt;br /&gt;
is a digital file created by you and never ever shared with others. It is USED ONLY BY YOU (never by others) to either:&lt;br /&gt;
&lt;br /&gt;
*to DECRYPT secret, encrypted, messages received by you from others&lt;br /&gt;
*to SIGN messages before sending them to others providing them certainty that the message came from you without being tampered with and that you cannot deny signing them.&lt;br /&gt;
&lt;br /&gt;
YOUR RSA PUBLIC KEY FILE&lt;br /&gt;
&lt;br /&gt;
is a digital file created by you and freely shared with others. It is USED BY OTHERS (never by you) to either:&lt;br /&gt;
&lt;br /&gt;
*ENCRYPT messages before sending them to you&lt;br /&gt;
*VERIFY that signed messages were in fact signed by you and not tampered with and you cannot deny signing them.&lt;br /&gt;
&lt;br /&gt;
OTHER PERSON&#039;S RSA PUBLIC KEY FILE&lt;br /&gt;
&lt;br /&gt;
is a digital file created by the other person and freely shared with you and others. It is USED BY YOU OR ANYBODY (never by the other person) to either:&lt;br /&gt;
&lt;br /&gt;
*ENCRYPT messages to achieve secrecy before sending them to the other person.&lt;br /&gt;
*VERIFY that signed messages received were in fact signed by the other person and that they cannot deny signing them nor claim they have been tampered with.&lt;br /&gt;
&lt;br /&gt;
To obtain someone&#039;s public key, you need a trusted channel, ie a signed channel, but not a secret or encrypted channel since the information is public and not confidential.&lt;br /&gt;
&lt;br /&gt;
Using your private key and someones public key together:&lt;br /&gt;
&lt;br /&gt;
*If you want to send a signed secret message to someone and allow them to be sure it came unmodified from you, you first sign the message using YOUR PRIVATE KEY, then encrypt the message using THEIR PUBLIC KEY&lt;br /&gt;
*If you want to receive a secret message and verify that it came unmodified from someone in particular, you first you decrypt the message using YOUR PRIVATE KEY, then verify the message using THEIR PUBLIC KEY&lt;br /&gt;
&lt;br /&gt;
Signing and Verification = Encryption and Decryption Mathematical Process with keys reversed&lt;br /&gt;
&lt;br /&gt;
Actually, the process of &amp;quot;signing&amp;quot; is doing the same mathematical process as encryption, but since you use the recipients public key, the resultant &amp;quot;encrypted&amp;quot; messege is not secret because it can be &amp;quot;decrypted&amp;quot; using a public key which are freely available.&lt;br /&gt;
&lt;br /&gt;
Likewise, the process of &amp;quot;verification&amp;quot; on a received message is doing the same mathematical process as decryption, but since you are using the senders public key, and anybody could &amp;quot;decrypt&amp;quot; the message, it was not really encrypted in the sense of being secret.&lt;br /&gt;
&lt;br /&gt;
So we have two processes, one called Encryption/Signing but is exactly the same mathematical process with two names depending on whether we use a public or private key, and another process called Decryption/Verification which uses the opposite key.&lt;br /&gt;
&lt;br /&gt;
What YOU use for what:&lt;br /&gt;
&lt;br /&gt;
*YOUR (PRIVATE) KEY = USED BY YOU for decryption and signing&lt;br /&gt;
*THEIR (PUBLIC) KEY = USED BY YOU for encryption and verification&lt;br /&gt;
&lt;br /&gt;
*YOUR (PUBLIC) KEY = NEVER USED BY YOU - since anybody else could do the same thing so no trust or secrecy could be obtained&lt;br /&gt;
*THEIR (PRIVATE) KEY = NEVER USED BY YOU - since you dont have it!&lt;br /&gt;
&lt;br /&gt;
What to use:&lt;br /&gt;
&lt;br /&gt;
*ENCRYPT OUTGOING = Use THEIR (public) key&lt;br /&gt;
*VERIFY INCOMING = Use THEIR (public) key&lt;br /&gt;
&lt;br /&gt;
*DECRYPT INCOMING = Use YOUR (private) key&lt;br /&gt;
*SIGN OUTGOING = Use YOUR (private) key&lt;br /&gt;
&lt;br /&gt;
So the slightly strange thing is that you dont encrypt messages with your private key as might be assumed naturally. You encrypt using the target recipient&#039;s public key. This is perfectly logical if you understand the concept asymmetric cryptography.&lt;br /&gt;
&lt;br /&gt;
One thing to note is that, while it is obvious that other people never use your private key, since they dont have it, it is not obvious, but perfectly true, that you never use your public key. NOBODY EVER USES THEIR OWN PUBLIC KEY ... THEY ONLY GIVE IT TO OTHERS TO USE.&lt;br /&gt;
&lt;br /&gt;
CERTIFICATE&lt;br /&gt;
&lt;br /&gt;
It has a public component which you distribute (via your Certificate file) which allows people to encrypt those messages to you. It can also be used by you to sign messages that can be verified as having come from you by anyone who receives the signed message, using your public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CSR FILE&lt;br /&gt;
&lt;br /&gt;
A Certificate Signing Request (CSR) is a digital file which contains your public key and your details eg name/domain name etc. You send the CSR to a Certifying Authority (CA), who will create a real Certificate containing your detail eg your domain name and your public key, signed by them using their private RSA private key.&lt;br /&gt;
&lt;br /&gt;
CERTIFICATE&lt;br /&gt;
&lt;br /&gt;
A Certificate contains your RSA public key, your name, the name of the CA, and is digitally signed by the CA. Browsers that know the CA can verify the signature on that Certificate, thereby obtaining your RSA public key. That enables them to send messages which only you can decrypt.&lt;br /&gt;
&lt;br /&gt;
==== What is Asymmetric cryptography? ====&lt;br /&gt;
&lt;br /&gt;
Asymmetric cryptography allows you to freely publish an encryption key that can be used by anyone to send you encrypted messages. Such messages can only be decrypted by you using a decryption key which you always keep secret.&lt;br /&gt;
&lt;br /&gt;
It also allows you to publish messages that can be verified by anyone as coming from you without any modification by others.&lt;br /&gt;
&lt;br /&gt;
So we have a pair of keys that if either one is used for encryption, then the other one is required for decryption. In that sense, we should not refer to the private key as the encryption key and the public key a&lt;br /&gt;
&lt;br /&gt;
To start encrypting or signing, you need a matched pair of keys and you need to forever keep one of them secret.&lt;br /&gt;
&lt;br /&gt;
.key a file that contains a random collection of characters that can be used to encrypt&lt;br /&gt;
&lt;br /&gt;
.cer a file that contains a random collection of characters that can be given out publically and used by anybody to encrypt something to be sent to you&lt;br /&gt;
&lt;br /&gt;
A certificate is some information that has been processed by a private and secret key.&lt;br /&gt;
&lt;br /&gt;
pfx contains a private key and public certificate which contains your public key embedded. Usually pfx files are encrypted and you have to enter a password before using them, ie importing them.&lt;br /&gt;
&lt;br /&gt;
==[[Backing up and Restoring IIS configuration]]==&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Configuring_IIS&amp;diff=2626</id>
		<title>Configuring IIS</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Configuring_IIS&amp;diff=2626"/>
		<updated>2016-04-13T10:48:45Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Create IMAGES directory */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;After you have installed all the NEOSYS program files you need to configure IIS so that you can operate NEOSYS. Instructions are below.&lt;br /&gt;
&lt;br /&gt;
== Configuring IIS for windows 2003 ==&lt;br /&gt;
&lt;br /&gt;
=== Creating a new website in IIS ===&lt;br /&gt;
&lt;br /&gt;
First step is to stop the default website in IIS. Right click on Default Web Site and select &amp;quot;Stop&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039; Create a website called neosys linked to D:\neosys\neosys.net:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3 Server:&#039;&#039;&#039; Create a website called &amp;quot;clientname&amp;quot; linked to D:\hosts\clientfolder\neosys.net &lt;br /&gt;
&lt;br /&gt;
[[image:figure1.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[image:figure3.jpg]]&lt;br /&gt;
&lt;br /&gt;
A new window will pop up &amp;quot;IP Address and Port Setting&amp;quot; after completion of the above step.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039;  Select *(All Unassigned)* from the drop down list of &amp;quot;Enter the IP address to use for the Web site&amp;quot; and keep the default port as 80. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3 Server:&#039;&#039;&#039; Select the static Ip from the drop down list of &amp;quot;Enter the IP address to use for the Web site&amp;quot; and enter then next port available and click on next.&lt;br /&gt;
&lt;br /&gt;
[[image:Figure_2.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039; Within the above neosys web site folder create a virtual directory called data linked to D:\neosys\data: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3 Server:&#039;&#039;&#039; Within the above clientwebsite folder create a virtual directory called data linked to D:\hosts\clientfolder\data:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(I haven’t got the screenshot because I can only get it once I create the above)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== To allow file uploads ===&lt;br /&gt;
&lt;br /&gt;
==== Create IMAGES directory ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client server:&#039;&#039;&#039; create a folder IMAGES under D:\neosys and within the neosys web site folder create a virtual directory called images linked to D:\neosys\images: Modes: READ and WRITE&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3 Server:&#039;&#039;&#039; create a folder IMAGES under D:\hosts\clientfolder and within the client web site folder create a virtual directory called images linked to D:\hosts\clientfolder\images: Modes: READ and WRITE&lt;br /&gt;
&lt;br /&gt;
In case of client installations where image uploads have to be configured on USB drives due to a huge number of files getting uploaded, create IMAGES folder in the USB drive instead of the client installation folder. Then link the same to the images virtual directory in IIS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(I haven’t got the screenshot because I can only get it once I create the above)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Permit upload.dll ====&lt;br /&gt;
&lt;br /&gt;
# Right click on dll ( Default Web Site, neosys, NEOSYS, dll) &lt;br /&gt;
# Under Permissions set Execute Permissions: Scripts and Executables&lt;br /&gt;
&lt;br /&gt;
# Internet Information Services (IIS) Manager&lt;br /&gt;
# Web Service Extensions&lt;br /&gt;
# All Unknown ISAPI Extensions: Allowed&lt;br /&gt;
&lt;br /&gt;
===[[Backing_up_and_Restoring_IIS_configuration#Set_IIS_automatic_backup_location_to_d:| Set IIS automatic backup location to D:]] ===&lt;br /&gt;
&lt;br /&gt;
== Configuring IIS for Windows 2008 ==&lt;br /&gt;
&lt;br /&gt;
=== Installing IIS ===&lt;br /&gt;
&lt;br /&gt;
First install IIS from Control Panel &amp;gt; Programs &amp;amp; Features &amp;gt; Turn Windows Features ON or OFF &amp;gt; Add Roles:&lt;br /&gt;
&lt;br /&gt;
[[image:iis1.jpg]]&lt;br /&gt;
&lt;br /&gt;
On the window that pops up click on next and you will get this screen, tick Web Server (IIS) - on the prompt click on Add Required Resources and then on Next:&lt;br /&gt;
&lt;br /&gt;
[[image:iis2.jpg]]&lt;br /&gt;
&lt;br /&gt;
On the next window, click on next until you get this window - tick ASP and ISAPI Extensions:&lt;br /&gt;
&lt;br /&gt;
[[image:iis3.jpg]]&lt;br /&gt;
&lt;br /&gt;
Click on Next and Finish&lt;br /&gt;
&lt;br /&gt;
=== Configuring IIS ===&lt;br /&gt;
====Create a new Website====&lt;br /&gt;
After successfully installing IIS, go to Control Panel &amp;gt; Administrative Tools &amp;gt; Computer Management &amp;gt; Services and Applications &amp;gt; Internet Information Services (IIS) &amp;gt; Machine Name &amp;gt; Sites &amp;gt; Default Website. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039; Stop the Default Website and then right click on Sites folder and click on Add Website called &#039;&#039;&#039;neosys&#039;&#039;&#039; linked to {{Client server Installation Location}}neosys.net as shown in the screenshot below&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3:&#039;&#039;&#039; Right click on Sites folder and click on Add Website. Create a website called &amp;quot;clientname&amp;quot; linked to {{NEOSYS server Installation Location}}neosys.net; &lt;br /&gt;
Since win3 is not connected to any LAN and exclusively serves https only, therefore setup a https binding only with a port number which is unique, unused and one greater than the previous port used in the series which is 4431 onwards. The highest port number used in this series can be found by checking IIS manager -&amp;gt; NEOSYS -&amp;gt;Sites.&lt;br /&gt;
&lt;br /&gt;
Refer to [[Setting_up_HTTPS#Creating_multiple_HTTPS_web_sites_on_NEOSYS_hosted_server| setting up the https for a site on NEOSYS hosted server]] for details.&lt;br /&gt;
&lt;br /&gt;
[[image:iis4.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Link Data Folder====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039; Within the neosys website folder create a virtual directory called &#039;&#039;&#039;data&#039;&#039;&#039; linked to {{Client server Installation Location}}data&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3:&#039;&#039;&#039; Within the &amp;quot;clientname&amp;quot; website folder create a virtual directory called &#039;&#039;&#039;data&#039;&#039;&#039; linked to {{NEOSYS server Installation Location}}data &lt;br /&gt;
&lt;br /&gt;
[[image:iis5.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Allow file uploads====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039; create a folder &#039;&#039;&#039;images&#039;&#039;&#039; under D:\neosys and within the neosys web site folder create a virtual directory called &#039;&#039;&#039;images&#039;&#039;&#039; linked to {{Client server Installation Location}}images&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3:&#039;&#039;&#039; create a folder &#039;&#039;&#039;images&#039;&#039;&#039; under D:\hosts\clientfolder and within the &amp;quot;clientname&amp;quot; website folder create a virtual directory called &#039;&#039;&#039;images&#039;&#039;&#039; linked to {{NEOSYS server Installation Location}}images&lt;br /&gt;
&lt;br /&gt;
In case of client installations where image uploads have to be configured on USB drives due to a huge number of files getting uploaded, create IMAGES folder in the USB drive instead of the client installation folder. Then link the same to the Images virtual directory in IIS.&lt;br /&gt;
&lt;br /&gt;
[[image:iis7.jpg]]&lt;br /&gt;
&lt;br /&gt;
After you add all virtual directories the tree map of the Default Website should look as follows:&lt;br /&gt;
&lt;br /&gt;
[[image:iis8.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Configure file uploads besides adding the images directory====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;For single site servers&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go under IIS &amp;gt; Default Website &amp;gt; neosys&lt;br /&gt;
&lt;br /&gt;
Click on Handler Mappings and delete the ISAPI you see there&lt;br /&gt;
&lt;br /&gt;
[[image:iis9a.jpg]]&lt;br /&gt;
&lt;br /&gt;
Thereafter click on Add Script Map and fill in the details as follows – &lt;br /&gt;
&lt;br /&gt;
Request path: *.dll &lt;br /&gt;
&lt;br /&gt;
Executable: {{Client server Installation Location}}neosys.net\NEOSYS\dll\upload.dll&lt;br /&gt;
&lt;br /&gt;
Name: ISAPI &lt;br /&gt;
&lt;br /&gt;
Click on OK and on YES in the confirmation box&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:iis9b.jpg]]&lt;br /&gt;
[[image:hm.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;For multiple site servers&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go under IIS&amp;gt;NEOSYS&amp;gt;Click on Handler Mappings &amp;gt; Edit Feature Permissions &amp;gt; Select Read, Script and Execute &lt;br /&gt;
&lt;br /&gt;
For WIN3 the above setting is already setup&lt;br /&gt;
&lt;br /&gt;
===Editing the hosts file===&lt;br /&gt;
Edit the hosts file under c:\windows\system32\drivers\etc\ - delete the # sign next to 127.0.0.1 localhost and include the # sign before ::1 localhost&lt;br /&gt;
&lt;br /&gt;
[[image:iis10.jpg]]&lt;br /&gt;
&lt;br /&gt;
===[[Backing_up_and_Restoring_IIS_configuration#Set_IIS_automatic_backup_location_to_d:| Set IIS automatic backup location to D:]] ===&lt;br /&gt;
&lt;br /&gt;
== Solving IIS errors ==&lt;br /&gt;
&lt;br /&gt;
=== Solving error during file upload: &amp;quot;Page cannot be displayed&amp;quot; HTTP Error 405 in windows 2003 ===&lt;br /&gt;
&lt;br /&gt;
This error should not occur in normal NEOSYS installations but the solution is as follows:&lt;br /&gt;
&lt;br /&gt;
# Go to Control Panel, Administrative Tools, Internet Information Services&lt;br /&gt;
# Expand the tree to COMPUTERNAME, Web Sites&lt;br /&gt;
# Right-click &amp;quot;Default Web Site&amp;quot; (or specific Web Site if multiple NEOSYS http/https installations on the server as per WIN3)&lt;br /&gt;
# Properties&lt;br /&gt;
# Home Directory&lt;br /&gt;
# Configuration&lt;br /&gt;
# Mappings, Add&lt;br /&gt;
# Browse&lt;br /&gt;
# Dynamic Link Libraries *.dll&amp;quot; from the &amp;quot;Files of Type&amp;quot; dropdown&lt;br /&gt;
# Find and select D:\NEOSYS\neosys.net\NEOSYS\dll\upload.dll (OR upload.dll in the installation directory)&lt;br /&gt;
# Extension Type: dll&lt;br /&gt;
# Limit to: All&lt;br /&gt;
# Click the &amp;quot;OK&amp;quot; button&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Solving HTTP Error 404 Error occurring immediately on opening NEOSYS login page on a new server installation: &amp;quot;System Failure. Do you want to retry?&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
This error message is caused by failing to enable Active Server Pages in the IIS configuration. To resolve this in windows 2008, [[Configuring_IIS#Configure_file_uploads_besides_adding_the_images_directory| ensure that Read, Script, Execute is ticked (enabled) in the feature permissions of these Handler Mappings.]]&lt;br /&gt;
&lt;br /&gt;
This message is from IE8 and a Windows 2003 server. The message may be different for other browser versions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Message from web page.&lt;br /&gt;
&lt;br /&gt;
System Failure. Do you want to retry?&lt;br /&gt;
&lt;br /&gt;
The page cannot be found&lt;br /&gt;
The page you are looking for might have been removed, had its name change, or it temporarily unavailable.&lt;br /&gt;
&lt;br /&gt;
Please try the following:&lt;br /&gt;
(omitted)&lt;br /&gt;
HTTP Error 404 - File or directory not found.&lt;br /&gt;
Internet Information Services (IIS)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:http404.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Solving HTTP 404 Webpage cannot be found ===&lt;br /&gt;
&lt;br /&gt;
This error message clearly states that the page cannot be found. Check for the requested page in the client website folder under the virtual directory data. This page will be available under the data folder in D:\neosys\data. A possible cause of this error is by failing to create a virtual directory called data linked to D:\neosys\data:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:http404p.jpg]]&lt;br /&gt;
===Solving Error &amp;quot;The specified Executable does not exist on the server&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
While adding Script Map in Handler Mappings in the above step, if you get the below error, this means you have not yet run the Maintenance window/ NEOSYS processes and skipped steps in Installing NEOSYS. File upload.dl_ is installed from NEOSYS.EXE or NEOSYS2.EXE and converted to .dll the first time you run NEOSYS Maintenance/Process. You can also manually rename the file to upload.dll. &lt;br /&gt;
&lt;br /&gt;
[[image:Dll_error.png]]&lt;br /&gt;
&lt;br /&gt;
=== Solving IIS error 500 on uploading for windows 2008===&lt;br /&gt;
&lt;br /&gt;
To test if permissions are the problem, in grant full control to IUSR over the whole client drectory eg d:\neosys or d:\hosts\clientx in security tab of windows explorer and see if you can upload.&lt;br /&gt;
&lt;br /&gt;
Regardless of the result, remove the full control permissions since they are a security risk.&lt;br /&gt;
&lt;br /&gt;
If permissions are the problem then grant specific permissions as follows:&lt;br /&gt;
&lt;br /&gt;
#images folder - read and write permissions (but not execute)&lt;br /&gt;
#dll folder - read and execute permission (no write permission)&lt;br /&gt;
&lt;br /&gt;
== Disabling unsecure SSL3 protocol on Windows IIS web server ==&lt;br /&gt;
&lt;br /&gt;
POODLE is an information leakage attack on client browsers while accessing web server that support the older SSL3 protocol. It is easy to prevent it by reconfiguring web servers to not support SSL3.&lt;br /&gt;
&lt;br /&gt;
=== Securing IIS web server on win2003 and 2008 by disabling unsafe SSL3 protocol ===&lt;br /&gt;
&lt;br /&gt;
#For Systems with https installed check if the web server is vulnerable (see [[Configuring_IIS#Testing_for_IIS_vulnerability| Testing for IIS vulnerability]] ). For systems with no https installed,continue to step2 to prevent SSL3 accidentally being enabled if https is installed in the server in future and then test for vulnerability.&lt;br /&gt;
# run the following commands on the server&lt;br /&gt;
#reg add &amp;quot;HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#reg add &amp;quot;HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#reg add &amp;quot;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 40/128&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#reg add &amp;quot;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 56/128&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#reg add &amp;quot;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 64/128&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#reg add &amp;quot;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 128/128&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#Reboot the server (at any time later using standard NEOSYS rebooting procedure without disturbing users)&lt;br /&gt;
#Perform the diagnostic for vulnerability&lt;br /&gt;
&lt;br /&gt;
=== Testing for IIS vulnerability ===&lt;br /&gt;
==== A. Determine host and port and where to test from ==== &lt;br /&gt;
If you have a public https server that you can access like https://demo.neosys.com:443, in a linux command prompt eg nagios login:&lt;br /&gt;
&lt;br /&gt;
*$HOST for host name like demo.neosys.com&lt;br /&gt;
*$PORT with something like 443 or 4430 depending on port forwarding on the public router&lt;br /&gt;
&lt;br /&gt;
or if testing a private https server with no public access, using a cygwin installation on the same server in the cygwin prompt:&lt;br /&gt;
&lt;br /&gt;
*$HOST for host name like 127.0.0.1&lt;br /&gt;
*$PORT with something like 443 or 4430 as per IIS manager configuration&lt;br /&gt;
&lt;br /&gt;
If https is enabled on the server/website and you are able to access the website via https using a browser, then you must be able to test for openssl on the same browsed host and port. You must also test this locally to ensure that the right server is being fixed. If the website is not public, then https must not be enabled, which means there is no reason for using cygwin openssl.&lt;br /&gt;
&lt;br /&gt;
==== B. Check you CAN connect to https server using TLS ====&lt;br /&gt;
&lt;br /&gt;
 openssl s_client -host $HOST -port $PORT&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nagios@vm1m:~$ echo|openssl s_client -host demo.neosys.com -port 443&lt;br /&gt;
CONNECTED(00000003)&lt;br /&gt;
depth=0 CN = demo.neosys.com&lt;br /&gt;
verify error:num=20:unable to get local issuer certificate&lt;br /&gt;
verify return:1&lt;br /&gt;
depth=0 CN = demo.neosys.com&lt;br /&gt;
verify error:num=21:unable to verify the first certificate&lt;br /&gt;
verify return:1&lt;br /&gt;
---&lt;br /&gt;
Certificate chain&lt;br /&gt;
 0 s:/CN=demo.neosys.com&lt;br /&gt;
   i:/CN=demo.neosys.com&lt;br /&gt;
---&lt;br /&gt;
Server certificate&lt;br /&gt;
-----BEGIN CERTIFICATE-----&lt;br /&gt;
MIIB2DCCAUWgAwIBAgIQd0J0l4kJrpJHonAv5U8VLjAJBgUrDgMCHQUAMBoxGDAW&lt;br /&gt;
BgNVBAMTD2RlbW8ubmVvc3lzLmNvbTAeFw0wODA3MjcxOTUxMDNaFw0zNTEyMTIx&lt;br /&gt;
OTUxMDNaMBoxGDAWBgNVBAMTD2RlbW8ubmVvc3lzLmNvbTCBnzANBgkqhkiG9w0B&lt;br /&gt;
AQEFAAOBjQAwgYkCgYEAxzwtoqq49vV7pyBQ6Ej+PvbB1QxkdsxNn5EZSLSOppCb&lt;br /&gt;
jNjV8fFa98unPR0pGM0UdjWMUYodj12c2pnIrfrtXv7pYf+iC1corPEY7607Icbs&lt;br /&gt;
rSOc5aFwnlUYpktoysV1G1crGYgYgXbXgVOUO9phHXJarpKf6SjVw3uXTLlmPUkC&lt;br /&gt;
AwEAAaMnMCUwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDgYDVR0PBAcDBQCwAAAAMAkG&lt;br /&gt;
BSsOAwIdBQADgYEAmgyW60pT62JuM8GH+KogHW7viaMsifXitm3BC/GfaORpJCox&lt;br /&gt;
aS20fAlzGyAlDe9nZWN4roLSxQv0laJkxyNPDuHvLJt1l0FVdk6/vGB6QH0KqM+S&lt;br /&gt;
UaUTLsDZ99UNS/inotobxD9vXuKl58Uoe2lu7r9vJ+1DWDC6AyueSZ6xnno=&lt;br /&gt;
-----END CERTIFICATE-----&lt;br /&gt;
subject=/CN=demo.neosys.com&lt;br /&gt;
issuer=/CN=demo.neosys.com&lt;br /&gt;
---&lt;br /&gt;
No client certificate CA names sent&lt;br /&gt;
---&lt;br /&gt;
SSL handshake has read 635 bytes and written 411 bytes&lt;br /&gt;
---&lt;br /&gt;
New, TLSv1/SSLv3, Cipher is AES128-SHA&lt;br /&gt;
Server public key is 1024 bit&lt;br /&gt;
Secure Renegotiation IS supported&lt;br /&gt;
Compression: NONE&lt;br /&gt;
Expansion: NONE&lt;br /&gt;
SSL-Session:&lt;br /&gt;
    Protocol  : TLSv1&lt;br /&gt;
    Cipher    : AES128-SHA&lt;br /&gt;
    Session-ID: 8A0A00002D51DE183AC2845C6B3FF4BC7485181B4DCBC1758E3A2D5399BDD71C&lt;br /&gt;
    Session-ID-ctx:&lt;br /&gt;
    Master-Key: B10B9370E4DF70E873873AB9851B3CEF19623E6ADA697955E375D931DEE8301D798B4CB14C8D33FCF1BA066C0CC23897&lt;br /&gt;
    Key-Arg   : None&lt;br /&gt;
    PSK identity: None&lt;br /&gt;
    PSK identity hint: None&lt;br /&gt;
    SRP username: None&lt;br /&gt;
    Start Time: 1413885416&lt;br /&gt;
    Timeout   : 300 (sec)&lt;br /&gt;
    Verify return code: 21 (unable to verify the first certificate)&lt;br /&gt;
---&lt;br /&gt;
DONE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== C. Check that you cannot CANNOT to https server using SSL3 ====&lt;br /&gt;
&lt;br /&gt;
 openssl s_client -ssl3 -host $HOST -port $PORT&lt;br /&gt;
&lt;br /&gt;
==== CAN CONNECT = VULNERABLE = NOT OK ====&lt;br /&gt;
&lt;br /&gt;
If you get this then you need to configure the server to prevent SSL3&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nagios@vm1m:~$ echo xxx|openssl s_client -ssl3 -host demo.neosys.com -port 4430&lt;br /&gt;
gethostbyname failure&lt;br /&gt;
connect:errno=0&lt;br /&gt;
nagios@vm1m:~$ echo xxx|openssl s_client -ssl3 -host demo.neosys.com -port 4430&lt;br /&gt;
CONNECTED(00000003)&lt;br /&gt;
depth=0 CN = demo.neosys.com&lt;br /&gt;
verify error:num=20:unable to get local issuer certificate&lt;br /&gt;
verify return:1&lt;br /&gt;
depth=0 CN = demo.neosys.com&lt;br /&gt;
verify error:num=21:unable to verify the first certificate&lt;br /&gt;
verify return:1&lt;br /&gt;
---&lt;br /&gt;
Certificate chain&lt;br /&gt;
 0 s:/CN=demo.neosys.com&lt;br /&gt;
   i:/CN=demo.neosys.com&lt;br /&gt;
---&lt;br /&gt;
Server certificate&lt;br /&gt;
-----BEGIN CERTIFICATE-----&lt;br /&gt;
MIIB3jCCAUugAwIBAgIQNj9FMjT1vIxGo2Mv2Ta9vzAJBgUrDgMCHQUAMB0xGzAZ&lt;br /&gt;
BgNVBAMTEmFkbGluZWQubmVvc3lzLmNvbTAeFw0wODAzMjUxMTIxMzFaFw0zNTA4&lt;br /&gt;
MTAxMTIxMzFaMB0xGzAZBgNVBAMTEmFkbGluZWQubmVvc3lzLmNvbTCBnzANBgkq&lt;br /&gt;
hkiG9w0BAQEFAAOBjQAwgYkCgYEArRuijA8jz3qBm2ZZEwITIJLWIMlQmZxcUvOo&lt;br /&gt;
HNZL0+3oJuX0AQqtpRZMp/7ob9agngfwJQ36vK+424zcBbmKxA2MweKZRalN2jz+&lt;br /&gt;
rdr1oeZ6/Ff3r8+rCPFj/B8CfMOQbSv6YcR0kVc+8ugybB7qT6Nq5ZWOAczG3Ikt&lt;br /&gt;
4EnOlqUCAwEAAaMnMCUwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDgYDVR0PBAcDBQCw&lt;br /&gt;
AAAAMAkGBSsOAwIdBQADgYEAHIq5Gn2LiMgXFaUYrFEfHeajD4jAwdFw+zrjcBDZ&lt;br /&gt;
qM9LnhndHhdPogow9m9cCv1n57ne9rZL1v7w7Y6C53359hTUVZFqtHFfzcWnNyKD&lt;br /&gt;
uHD9a8QDk6/dSwBr/SWIE6OdFUYAj/kDXRQNB5H459spRVa3Yws8vpwrWZhoklxq&lt;br /&gt;
CQg=&lt;br /&gt;
-----END CERTIFICATE-----&lt;br /&gt;
subject=/CN=demo.neosys.com&lt;br /&gt;
issuer=/CN=demo.neosys.com&lt;br /&gt;
---&lt;br /&gt;
No client certificate CA names sent&lt;br /&gt;
---&lt;br /&gt;
SSL handshake has read 649 bytes and written 342 bytes&lt;br /&gt;
---&lt;br /&gt;
New, TLSv1/SSLv3, Cipher is RC4-MD5&lt;br /&gt;
Server public key is 1024 bit&lt;br /&gt;
Secure Renegotiation IS supported&lt;br /&gt;
Compression: NONE&lt;br /&gt;
Expansion: NONE&lt;br /&gt;
SSL-Session:&lt;br /&gt;
    Protocol  : SSLv3&lt;br /&gt;
    Cipher    : RC4-MD5&lt;br /&gt;
    Session-ID: 441A0000EBC1D634B2CDB12924F9B980D2A4CF8C4DD6D3FB9728D3C74F62A8FE&lt;br /&gt;
    Session-ID-ctx:&lt;br /&gt;
    Master-Key: 38F040BE3E7098857B7CB9FF3B44937786F8F8C002B0042370B29F20EFB582833F9E24CFC8E6560AFD06751DC93412D3&lt;br /&gt;
    Key-Arg   : None&lt;br /&gt;
    PSK identity: None&lt;br /&gt;
    PSK identity hint: None&lt;br /&gt;
    SRP username: None&lt;br /&gt;
    Start Time: 1413885545&lt;br /&gt;
    Timeout   : 7200 (sec)&lt;br /&gt;
    Verify return code: 21 (unable to verify the first certificate)&lt;br /&gt;
---&lt;br /&gt;
DONE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== CANNOT CONNECT = NOT VULNERABLE = OK ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nagios@vm1m:~$ echo|openssl s_client -ssl3 -host demo.neosys.com -port 443&lt;br /&gt;
CONNECTED(00000003)&lt;br /&gt;
write:errno=104&lt;br /&gt;
---&lt;br /&gt;
no peer certificate available&lt;br /&gt;
---&lt;br /&gt;
No client certificate CA names sent&lt;br /&gt;
---&lt;br /&gt;
SSL handshake has read 0 bytes and written 0 bytes&lt;br /&gt;
---&lt;br /&gt;
New, (NONE), Cipher is (NONE)&lt;br /&gt;
Secure Renegotiation IS NOT supported&lt;br /&gt;
Compression: NONE&lt;br /&gt;
Expansion: NONE&lt;br /&gt;
SSL-Session:&lt;br /&gt;
    Protocol  : SSLv3&lt;br /&gt;
    Cipher    : 0000&lt;br /&gt;
    Session-ID:&lt;br /&gt;
    Session-ID-ctx:&lt;br /&gt;
    Master-Key:&lt;br /&gt;
    Key-Arg   : None&lt;br /&gt;
    PSK identity: None&lt;br /&gt;
    PSK identity hint: None&lt;br /&gt;
    SRP username: None&lt;br /&gt;
    Start Time: 1413885702&lt;br /&gt;
    Timeout   : 7200 (sec)&lt;br /&gt;
    Verify return code: 0 (ok)&lt;br /&gt;
---&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Enabling Internet Explorer 6 to access secured https web servers ===&lt;br /&gt;
&lt;br /&gt;
To use Internet explorer 6 (on win2003 and XP-before-SP3) to access secured http web sites you need to enable IE6 to use TLS 1.0. Internet Explorer 6 is present in Windows Server 2003 and Windows XP-pre-SP3.&lt;br /&gt;
&lt;br /&gt;
You can also disable SSL 2.0 and SSL 3.0 for additional safety. This good for later versions of Internet Explorer too.&lt;br /&gt;
&lt;br /&gt;
[[File:IE_options.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Generating IIS certificates for https using openssl ==&lt;br /&gt;
&lt;br /&gt;
This covers the two main type of certificates:&lt;br /&gt;
&lt;br /&gt;
#&amp;quot;proper&amp;quot; certificates (accepted by all browsers without complaint) - issued by bona fide certification authority only on proof of control of a domain name - usually for a small fee&lt;br /&gt;
#&amp;quot;self signed&amp;quot; certificates (not accepted by all browsers without error messages without special configuration) - easily&lt;br /&gt;
issued by anybody without the slightest restriction&lt;br /&gt;
&lt;br /&gt;
NEOSYS&#039; proper https certificate for *.hosts.neosys.com, valid approx Jan-Dec 2016, issued by Comodo, was purchased from namecheap.com for a small fraction of the price of purchasing from Comodo or one of the other main certification authorities.&lt;br /&gt;
&lt;br /&gt;
There is no technical requirement to renew certificates with the same issuing authority, nor is their any restriction whatsoever from having multiple concurrent overlapping certificates, in any combination, for the the same domain name or subsets of a domain name. For a certificate to be &amp;quot;proper&amp;quot; it merely has to be issued by (not necessarily purchased from) one of the certificate authorities registered in all the main browsers using by NEOSYS clients. Unlike DNS domain name registrars, of which you can only have one at any one time, and which take to change, certificates are simply installed in particular servers without reference to each other, nor to any imaginary central internet registry, as IS the case for the DNS domain name registry.&lt;br /&gt;
&lt;br /&gt;
The sales of certificates is a bit of scam really because anybody can get a certificate from the main commercial certificate authorities merely by proving control over a domain name - for example, by receiving an email to ADMIN@xxxxx.com. Except for EV certificates such as those issued to banks etc, most https certificates are issued without any check on physical identity or reputation, therefore the cost of issuing https certificates rests merely on the fact that the certification authority has managed to inveigle itself into all the main browsers and have their public key installed along with the browser software. Hoowever, the market seems to be collapsing, with even free certificate authorities appearing although with some minor limitations like short duration of validity of certificates.&lt;br /&gt;
&lt;br /&gt;
Excellent summary of using openssl to manage certificates .. no Alternate Names though&lt;br /&gt;
https://www.digitalocean.com/community/tutorials/openssl-essentials-working-with-ssl-certificates-private-keys-and-csrs&lt;br /&gt;
&lt;br /&gt;
Excellent summary of selfsigned and properly signed certificate&lt;br /&gt;
https://httpd.apache.org/docs/2.4/ssl/ssl_faq.html&lt;br /&gt;
&lt;br /&gt;
==== Commentary on https security ====&lt;br /&gt;
&lt;br /&gt;
With the general move to using https instead of http after the Snowdon revelations, people have begun to better understand how https certificates really work. People are more aware now that most https certificates mean little more than that their communication with the server is a) confidential b) not tampered with c) is truly with the server/domain name apparent and not some other. ALL WITH THE EXCEPTION OF *ANYBODY* WHO IS A CERTIFICATE AUTHORITY REGISTERED IN THE MAIN BROWSERS - WHICH IS MANY - INCLUDING NON-FRIENDLY NATIONAL STATE ACTORS!&lt;br /&gt;
&lt;br /&gt;
It is possible however to be virtually certain of confidentiality and accuracy of your communication using standard browsers, EVEN VERSUS CERTIFICATION AUTHORITIES. If, by inspecting the certificate when you are browsing a particular web site, you can satisfy  yourself that it is in fact truly the one in use by the web server, the chances of your communication being secure is virtually 100% The only chance is some failure in fundamental encryption protocols. Such failures would either be public knowledge very quickly, or not used versus you, for fear of it becoming public knowledge, unless you really have something incredibly valuable to hide. In this sense, self-certified certificates are the most secure, since you can obtain them by some other secure channel directly from the web server operator and do not change without your action. Note that in order to ensure that a certificate does not change during your session, to say an unknown valid certificate that breaks your security, your browser must support certificate pinning, in which case the browser will either prevent, or inform you if the certificate for the web site changes, either between or within sessions.&lt;br /&gt;
&lt;br /&gt;
To gain a practical understanding of the issues raised if you trust the certification authorities built in to your browser, consider the fact that many companies require an additional certificate authority to be installed in all corporate browsers (and in some famous cases have installed it covertly), and thereafter all https communications are decrypted in the company firewall/proxy using the corporate certificate, checked for content and reencrypted with the true certificate before being passed on - or vice versa, depending on the direction of flow of information. This, for example means that an employee accessing their bank account would be completely exposed to the corporate gaze. Two factor security would prevent corporate interference in say, instructions to make payments, but all information would be exposed and probably logged in possibly long term records. The same would apply to all https web sites accessed by the employee. Courts seem to agree that corporations have every right to do this but the average person is commonly not aware of it. If a person understood how https security works, they could inspect the https certificate to make sure it is the correct (same one issued by their bank apparent at home for example), since it is unlikely that an adversary (or in this case their employer) would control their actual browser software, but security is an arms race and once everybody knows how to defend themselves, adversaries and security operators will simply move to the next level. The next level may be preventing users from using their own browsers. This is already the case in most secure environment, but not all, and BYOD attitudes may prevail in the long run. Whatever the issues are in this case, the same general principle apply in other situations involving security.&lt;br /&gt;
&lt;br /&gt;
=== Generating a self signed certificate in pfx form for IIS ===&lt;br /&gt;
&lt;br /&gt;
Generating certificates and keys https://httpd.apache.org/docs/2.4/ssl/ssl_faq.html&lt;br /&gt;
&lt;br /&gt;
Generating a pfx using openssl https://langui.sh/2009/01/24/generating-a-pkcs12-pfx-via-openssl/&lt;br /&gt;
&lt;br /&gt;
==== Generate standard cert and key pair ====&lt;br /&gt;
&lt;br /&gt;
First generate a matching pair of certificate and key files (x509 and rsa format respectively)&lt;br /&gt;
&lt;br /&gt;
Example for *.mydomain and validity 9999 days from now&lt;br /&gt;
&lt;br /&gt;
 signer=self&lt;br /&gt;
 mydomain=neosys.com&lt;br /&gt;
 mydomains=*.neosys.com&lt;br /&gt;
 expirydays=9999&lt;br /&gt;
 keyno=`date`&lt;br /&gt;
 certno=$keyno&lt;br /&gt;
 #&lt;br /&gt;
 certfilename=$mydomain-$signer-$certno.cer&lt;br /&gt;
 keyfilename=$mydomain-$keyno.key&lt;br /&gt;
 #&amp;quot;-nodes&amp;quot; means -no-DES ie no encryption ie generate a key file without encrypting it and therefore without requiring a password on it&lt;br /&gt;
 openssl req -new -x509 -nodes -days $expirydays -out &amp;quot;$certfilename&amp;quot; -keyout &amp;quot;$keyfilename&amp;quot; \&lt;br /&gt;
     -subj &amp;quot;/C=AE/ST=DUBAI/O=NEOSYS/CN=*.neosys.com&amp;quot; \&lt;br /&gt;
     -reqexts SAN     -config &amp;lt;(cat /etc/ssl/openssl.cnf \&lt;br /&gt;
      &amp;lt;(printf &amp;quot;[SAN]\nsubjectAltName=DNS:*.hosts.neosys.com,DNS:*.support.neosys.com&amp;quot;)) \&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consider adding subject and subject alternative names&lt;br /&gt;
&lt;br /&gt;
 openssl x509 -req -new -sha256 \&lt;br /&gt;
     -newkey rsa:2048 \&lt;br /&gt;
     -keyout neosys.com-102.key \&lt;br /&gt;
     -subj &amp;quot;/C=AE/ST=DUBAI/O=NEOSYS/CN=*.neosys.com&amp;quot; \&lt;br /&gt;
     -reqexts SAN     -config &amp;lt;(cat /etc/ssl/openssl.cnf \&lt;br /&gt;
      &amp;lt;(printf &amp;quot;[SAN]\nsubjectAltName=DNS:*.hosts.neosys.com,DNS:*.support.neosys.com&amp;quot;)) \&lt;br /&gt;
     -out neosys.com-102.crt \&lt;br /&gt;
     -nodes \&lt;br /&gt;
     -days 9999&lt;br /&gt;
&lt;br /&gt;
Example session:&lt;br /&gt;
&lt;br /&gt;
 Country Name (2 letter code) [AU]:AE&lt;br /&gt;
 State or Province Name (full name) [Some-State]:DUBAI&lt;br /&gt;
 Locality Name (eg, city) []:DUBAI&lt;br /&gt;
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:NEOSYS&lt;br /&gt;
 Organizational Unit Name (eg, section) []:IT&lt;br /&gt;
 Common Name (e.g. server FQDN or YOUR name) []:*.neosys.com&lt;br /&gt;
 Email Address []:it@neosys.com&lt;br /&gt;
&lt;br /&gt;
=== Generating a properly signed certificate ===&lt;br /&gt;
&lt;br /&gt;
http://wiki.gandi.net/en/ssl/csr#sha-2_certificate_request&lt;br /&gt;
&lt;br /&gt;
==== Generate key and CSR file ====&lt;br /&gt;
&lt;br /&gt;
A certificate signing request file (.csr) for *.hosts.neosys.com (wildcard certificate)&lt;br /&gt;
&lt;br /&gt;
if you are renewing (and want to reuse an existing secret server key file mydomain.key, although not clear on the benefit ATM)&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -nodes -sha256 -key mydomain.key -subj &amp;quot;/C=AE/ST=DUBAI/O=NEOSYS/CN=*.hosts.neosys.com&amp;quot; -out mydomain.csr&lt;br /&gt;
&lt;br /&gt;
or if you want to generate a new secret server key file&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -nodes -sha256 -newkey rsa:2048 -keyout mydomain.key -subj &amp;quot;/C=AE/ST=DUBAI/O=NEOSYS/CN=*.hosts.neosys.com&amp;quot; -out mydomain.csr&lt;br /&gt;
&lt;br /&gt;
or if you want to request SAN subdomain wildcards (unlikely to be granted by main cert authorities but perfectly legal and can be self certified)&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -nodes -sha256 -newkey rsa:2048 -keyout mydomain.key -subj &amp;quot;/C=AE/ST=DUBAI/O=NEOSYS/CN=*.neosys.com&amp;quot; -out mydomain.csr \&lt;br /&gt;
     -reqexts SAN     -config &amp;lt;(cat /etc/ssl/openssl.cnf \&lt;br /&gt;
        &amp;lt;(printf &amp;quot;[SAN]\nsubjectAltName=DNS:neosys.com,DNS:*.neosys.com,DNS:*.support.neosys.com,DNS:*.hosts.neosys.com&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
View the csr and verify correct (check that SAN additional domains are listed if you requested them above)&lt;br /&gt;
&lt;br /&gt;
 openssl req -in mydomain.csr -noout -text&lt;br /&gt;
&lt;br /&gt;
==== Either send to CA and get crt/cer file back ====&lt;br /&gt;
&lt;br /&gt;
Send the csr file to the certifying authority and put their response in a mydomain.crt file&lt;br /&gt;
&lt;br /&gt;
Make sure you inform them that the type of software you used to generate the csr is &amp;quot;mod Apache/ModSSL&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 mydomain.csr -&amp;gt; mydomain.cer&lt;br /&gt;
&lt;br /&gt;
==== Or self sign to test all ok ====&lt;br /&gt;
&lt;br /&gt;
 nano ssl.conf&lt;br /&gt;
&lt;br /&gt;
 [req_distinguished_name]&lt;br /&gt;
 countryName = Country Name (2 letter code)&lt;br /&gt;
 countryName_default = AE&lt;br /&gt;
 stateOrProvinceName = State or Province Name (full name)&lt;br /&gt;
 stateOrProvinceName_default = Dubai&lt;br /&gt;
 localityName = Locality Name (eg, city)&lt;br /&gt;
 localityName_default = Dubai&lt;br /&gt;
 organizationalUnitName  = Organizational Unit Name (eg, section)&lt;br /&gt;
 organizationalUnitName_default  = IT&lt;br /&gt;
 commonName = *.neosys.com&lt;br /&gt;
 commonName_max  = 64&lt;br /&gt;
 #&lt;br /&gt;
 [ v3_req ]&lt;br /&gt;
 # Extensions to add to a certificate request&lt;br /&gt;
 basicConstraints = CA:FALSE&lt;br /&gt;
 #keyUsage = nonRepudiation, digitalSignature, keyEncipherment&lt;br /&gt;
 subjectAltName = @alt_names&lt;br /&gt;
 #&lt;br /&gt;
 [alt_names]&lt;br /&gt;
 DNS.1 = neosys.com&lt;br /&gt;
 DNS.2 = *.neosys.com&lt;br /&gt;
 DNS.3 = *.hosts.neosys.com&lt;br /&gt;
 DNS.4 = *.support.neosys.com&lt;br /&gt;
&lt;br /&gt;
 openssl x509 -signkey mydomain.key -in mydomain.csr -req -days 9999 -extensions v3_req   -extfile ssl.conf -out mydomain.crt&lt;br /&gt;
&lt;br /&gt;
view the cert and check extensions (additional domain names) are present if required&lt;br /&gt;
&lt;br /&gt;
 openssl x509 -in mydomain.crt -text -noout&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Merge private key and signed public cert into password protected pfx file ====&lt;br /&gt;
&lt;br /&gt;
Convert the pair of standard files into a single pfx file that IIS can import&lt;br /&gt;
&lt;br /&gt;
 friendlyname=&amp;quot;COMODO SIGNED hosts.neosys.com *.hosts.neosys.com&amp;quot;&lt;br /&gt;
 openssl pkcs12 -export -in mydomain.crt -inkey mydomain.key -name &amp;quot;$friendlyname&amp;quot; -out mydomain.pfx&lt;br /&gt;
&lt;br /&gt;
It will ask for a password .. the usual NEOSYS one is 1f... which will be required when you import the pfx file into IIS before binding to web sites&lt;br /&gt;
&lt;br /&gt;
Example session:&lt;br /&gt;
&lt;br /&gt;
 Enter Export Password:&lt;br /&gt;
 Verifying - Enter Export Password:&lt;br /&gt;
&lt;br /&gt;
Check the pfx file&lt;br /&gt;
&lt;br /&gt;
 openssl pkcs12 -in mydomain.pfx&lt;br /&gt;
&lt;br /&gt;
 openssl pkcs12 -in mydomain.pfx | openssl x509 -noout -text&lt;br /&gt;
&lt;br /&gt;
==== Copy the pfx file to the IIS server and import/bind in the usual way ====&lt;br /&gt;
&lt;br /&gt;
Copy it to the https server&lt;br /&gt;
&lt;br /&gt;
 mysshport=&amp;quot;-P 19510&amp;quot;&lt;br /&gt;
 mysshtarget=&amp;quot;administrator@win3.neosys.com:/cygdrive/d/hosts/CERTIFICATES&amp;quot;&lt;br /&gt;
 scp $mysshport mydomain.pfx $mysshtarget&lt;br /&gt;
&lt;br /&gt;
==== Friendly name in pfx file ====&lt;br /&gt;
&lt;br /&gt;
On the IIS server after importing, if you have multiple certificates for the same domain name you might like to add a &amp;quot;friendly name&amp;quot; to distinguish them in the dropdown when binding certificates to web sites.&lt;br /&gt;
&lt;br /&gt;
You might also want to add the friendly name to the pfx file if you intend to import it again or elsewhere using certificate export to pfx with options Include All and Export All&lt;br /&gt;
&lt;br /&gt;
https://rickardrobin.wordpress.com/2012/12/05/specifying-a-friendly-name-to-a-certificate/&lt;br /&gt;
&lt;br /&gt;
=== Understanding SSL certificates ===&lt;br /&gt;
&lt;br /&gt;
==== What are RSA Private Keys, CSRs and Certificates? ====&lt;br /&gt;
&lt;br /&gt;
YOUR RSA PRIVATE KEY FILE&lt;br /&gt;
&lt;br /&gt;
is a digital file created by you and never ever shared with others. It is USED ONLY BY YOU (never by others) to either:&lt;br /&gt;
&lt;br /&gt;
*to DECRYPT secret, encrypted, messages received by you from others&lt;br /&gt;
*to SIGN messages before sending them to others providing them certainty that the message came from you without being tampered with and that you cannot deny signing them.&lt;br /&gt;
&lt;br /&gt;
YOUR RSA PUBLIC KEY FILE&lt;br /&gt;
&lt;br /&gt;
is a digital file created by you and freely shared with others. It is USED BY OTHERS (never by you) to either:&lt;br /&gt;
&lt;br /&gt;
*ENCRYPT messages before sending them to you&lt;br /&gt;
*VERIFY that signed messages were in fact signed by you and not tampered with and you cannot deny signing them.&lt;br /&gt;
&lt;br /&gt;
OTHER PERSON&#039;S RSA PUBLIC KEY FILE&lt;br /&gt;
&lt;br /&gt;
is a digital file created by the other person and freely shared with you and others. It is USED BY YOU OR ANYBODY (never by the other person) to either:&lt;br /&gt;
&lt;br /&gt;
*ENCRYPT messages to achieve secrecy before sending them to the other person.&lt;br /&gt;
*VERIFY that signed messages received were in fact signed by the other person and that they cannot deny signing them nor claim they have been tampered with.&lt;br /&gt;
&lt;br /&gt;
To obtain someone&#039;s public key, you need a trusted channel, ie a signed channel, but not a secret or encrypted channel since the information is public and not confidential.&lt;br /&gt;
&lt;br /&gt;
Using your private key and someones public key together:&lt;br /&gt;
&lt;br /&gt;
*If you want to send a signed secret message to someone and allow them to be sure it came unmodified from you, you first sign the message using YOUR PRIVATE KEY, then encrypt the message using THEIR PUBLIC KEY&lt;br /&gt;
*If you want to receive a secret message and verify that it came unmodified from someone in particular, you first you decrypt the message using YOUR PRIVATE KEY, then verify the message using THEIR PUBLIC KEY&lt;br /&gt;
&lt;br /&gt;
Signing and Verification = Encryption and Decryption Mathematical Process with keys reversed&lt;br /&gt;
&lt;br /&gt;
Actually, the process of &amp;quot;signing&amp;quot; is doing the same mathematical process as encryption, but since you use the recipients public key, the resultant &amp;quot;encrypted&amp;quot; messege is not secret because it can be &amp;quot;decrypted&amp;quot; using a public key which are freely available.&lt;br /&gt;
&lt;br /&gt;
Likewise, the process of &amp;quot;verification&amp;quot; on a received message is doing the same mathematical process as decryption, but since you are using the senders public key, and anybody could &amp;quot;decrypt&amp;quot; the message, it was not really encrypted in the sense of being secret.&lt;br /&gt;
&lt;br /&gt;
So we have two processes, one called Encryption/Signing but is exactly the same mathematical process with two names depending on whether we use a public or private key, and another process called Decryption/Verification which uses the opposite key.&lt;br /&gt;
&lt;br /&gt;
What YOU use for what:&lt;br /&gt;
&lt;br /&gt;
*YOUR (PRIVATE) KEY = USED BY YOU for decryption and signing&lt;br /&gt;
*THEIR (PUBLIC) KEY = USED BY YOU for encryption and verification&lt;br /&gt;
&lt;br /&gt;
*YOUR (PUBLIC) KEY = NEVER USED BY YOU - since anybody else could do the same thing so no trust or secrecy could be obtained&lt;br /&gt;
*THEIR (PRIVATE) KEY = NEVER USED BY YOU - since you dont have it!&lt;br /&gt;
&lt;br /&gt;
What to use:&lt;br /&gt;
&lt;br /&gt;
*ENCRYPT OUTGOING = Use THEIR (public) key&lt;br /&gt;
*VERIFY INCOMING = Use THEIR (public) key&lt;br /&gt;
&lt;br /&gt;
*DECRYPT INCOMING = Use YOUR (private) key&lt;br /&gt;
*SIGN OUTGOING = Use YOUR (private) key&lt;br /&gt;
&lt;br /&gt;
So the slightly strange thing is that you dont encrypt messages with your private key as might be assumed naturally. You encrypt using the target recipient&#039;s public key. This is perfectly logical if you understand the concept asymmetric cryptography.&lt;br /&gt;
&lt;br /&gt;
One thing to note is that, while it is obvious that other people never use your private key, since they dont have it, it is not obvious, but perfectly true, that you never use your public key. NOBODY EVER USES THEIR OWN PUBLIC KEY ... THEY ONLY GIVE IT TO OTHERS TO USE.&lt;br /&gt;
&lt;br /&gt;
CERTIFICATE&lt;br /&gt;
&lt;br /&gt;
It has a public component which you distribute (via your Certificate file) which allows people to encrypt those messages to you. It can also be used by you to sign messages that can be verified as having come from you by anyone who receives the signed message, using your public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CSR FILE&lt;br /&gt;
&lt;br /&gt;
A Certificate Signing Request (CSR) is a digital file which contains your public key and your details eg name/domain name etc. You send the CSR to a Certifying Authority (CA), who will create a real Certificate containing your detail eg your domain name and your public key, signed by them using their private RSA private key.&lt;br /&gt;
&lt;br /&gt;
CERTIFICATE&lt;br /&gt;
&lt;br /&gt;
A Certificate contains your RSA public key, your name, the name of the CA, and is digitally signed by the CA. Browsers that know the CA can verify the signature on that Certificate, thereby obtaining your RSA public key. That enables them to send messages which only you can decrypt.&lt;br /&gt;
&lt;br /&gt;
==== What is Asymmetric cryptography? ====&lt;br /&gt;
&lt;br /&gt;
Asymmetric cryptography allows you to freely publish an encryption key that can be used by anyone to send you encrypted messages. Such messages can only be decrypted by you using a decryption key which you always keep secret.&lt;br /&gt;
&lt;br /&gt;
It also allows you to publish messages that can be verified by anyone as coming from you without any modification by others.&lt;br /&gt;
&lt;br /&gt;
So we have a pair of keys that if either one is used for encryption, then the other one is required for decryption. In that sense, we should not refer to the private key as the encryption key and the public key a&lt;br /&gt;
&lt;br /&gt;
To start encrypting or signing, you need a matched pair of keys and you need to forever keep one of them secret.&lt;br /&gt;
&lt;br /&gt;
.key a file that contains a random collection of characters that can be used to encrypt&lt;br /&gt;
&lt;br /&gt;
.cer a file that contains a random collection of characters that can be given out publically and used by anybody to encrypt something to be sent to you&lt;br /&gt;
&lt;br /&gt;
A certificate is some information that has been processed by a private and secret key.&lt;br /&gt;
&lt;br /&gt;
pfx contains a private key and public certificate which contains your public key embedded. Usually pfx files are encrypted and you have to enter a password before using them, ie importing them.&lt;br /&gt;
&lt;br /&gt;
==[[Backing up and Restoring IIS configuration]]==&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Configuring_IIS&amp;diff=2625</id>
		<title>Configuring IIS</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Configuring_IIS&amp;diff=2625"/>
		<updated>2016-04-13T10:48:39Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* Allow file uploads */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;After you have installed all the NEOSYS program files you need to configure IIS so that you can operate NEOSYS. Instructions are below.&lt;br /&gt;
&lt;br /&gt;
== Configuring IIS for windows 2003 ==&lt;br /&gt;
&lt;br /&gt;
=== Creating a new website in IIS ===&lt;br /&gt;
&lt;br /&gt;
First step is to stop the default website in IIS. Right click on Default Web Site and select &amp;quot;Stop&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039; Create a website called neosys linked to D:\neosys\neosys.net:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3 Server:&#039;&#039;&#039; Create a website called &amp;quot;clientname&amp;quot; linked to D:\hosts\clientfolder\neosys.net &lt;br /&gt;
&lt;br /&gt;
[[image:figure1.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[image:figure3.jpg]]&lt;br /&gt;
&lt;br /&gt;
A new window will pop up &amp;quot;IP Address and Port Setting&amp;quot; after completion of the above step.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039;  Select *(All Unassigned)* from the drop down list of &amp;quot;Enter the IP address to use for the Web site&amp;quot; and keep the default port as 80. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3 Server:&#039;&#039;&#039; Select the static Ip from the drop down list of &amp;quot;Enter the IP address to use for the Web site&amp;quot; and enter then next port available and click on next.&lt;br /&gt;
&lt;br /&gt;
[[image:Figure_2.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039; Within the above neosys web site folder create a virtual directory called data linked to D:\neosys\data: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3 Server:&#039;&#039;&#039; Within the above clientwebsite folder create a virtual directory called data linked to D:\hosts\clientfolder\data:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(I haven’t got the screenshot because I can only get it once I create the above)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== To allow file uploads ===&lt;br /&gt;
&lt;br /&gt;
==== Create IMAGES directory ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client server:&#039;&#039;&#039; create a folder IMAGES under D:\neosys and within the neosys web site folder create a virtual directory called images linked to D:\neosys\images: Modes: READ and WRITE&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3 Server:&#039;&#039;&#039; create a folder IMAGES under D:\hosts\clientfolder and within the client web site folder create a virtual directory called images linked to D:\hosts\clientfolder\images: Modes: READ and WRITE&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(I haven’t got the screenshot because I can only get it once I create the above)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Permit upload.dll ====&lt;br /&gt;
&lt;br /&gt;
# Right click on dll ( Default Web Site, neosys, NEOSYS, dll) &lt;br /&gt;
# Under Permissions set Execute Permissions: Scripts and Executables&lt;br /&gt;
&lt;br /&gt;
# Internet Information Services (IIS) Manager&lt;br /&gt;
# Web Service Extensions&lt;br /&gt;
# All Unknown ISAPI Extensions: Allowed&lt;br /&gt;
&lt;br /&gt;
===[[Backing_up_and_Restoring_IIS_configuration#Set_IIS_automatic_backup_location_to_d:| Set IIS automatic backup location to D:]] ===&lt;br /&gt;
&lt;br /&gt;
== Configuring IIS for Windows 2008 ==&lt;br /&gt;
&lt;br /&gt;
=== Installing IIS ===&lt;br /&gt;
&lt;br /&gt;
First install IIS from Control Panel &amp;gt; Programs &amp;amp; Features &amp;gt; Turn Windows Features ON or OFF &amp;gt; Add Roles:&lt;br /&gt;
&lt;br /&gt;
[[image:iis1.jpg]]&lt;br /&gt;
&lt;br /&gt;
On the window that pops up click on next and you will get this screen, tick Web Server (IIS) - on the prompt click on Add Required Resources and then on Next:&lt;br /&gt;
&lt;br /&gt;
[[image:iis2.jpg]]&lt;br /&gt;
&lt;br /&gt;
On the next window, click on next until you get this window - tick ASP and ISAPI Extensions:&lt;br /&gt;
&lt;br /&gt;
[[image:iis3.jpg]]&lt;br /&gt;
&lt;br /&gt;
Click on Next and Finish&lt;br /&gt;
&lt;br /&gt;
=== Configuring IIS ===&lt;br /&gt;
====Create a new Website====&lt;br /&gt;
After successfully installing IIS, go to Control Panel &amp;gt; Administrative Tools &amp;gt; Computer Management &amp;gt; Services and Applications &amp;gt; Internet Information Services (IIS) &amp;gt; Machine Name &amp;gt; Sites &amp;gt; Default Website. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039; Stop the Default Website and then right click on Sites folder and click on Add Website called &#039;&#039;&#039;neosys&#039;&#039;&#039; linked to {{Client server Installation Location}}neosys.net as shown in the screenshot below&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3:&#039;&#039;&#039; Right click on Sites folder and click on Add Website. Create a website called &amp;quot;clientname&amp;quot; linked to {{NEOSYS server Installation Location}}neosys.net; &lt;br /&gt;
Since win3 is not connected to any LAN and exclusively serves https only, therefore setup a https binding only with a port number which is unique, unused and one greater than the previous port used in the series which is 4431 onwards. The highest port number used in this series can be found by checking IIS manager -&amp;gt; NEOSYS -&amp;gt;Sites.&lt;br /&gt;
&lt;br /&gt;
Refer to [[Setting_up_HTTPS#Creating_multiple_HTTPS_web_sites_on_NEOSYS_hosted_server| setting up the https for a site on NEOSYS hosted server]] for details.&lt;br /&gt;
&lt;br /&gt;
[[image:iis4.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Link Data Folder====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039; Within the neosys website folder create a virtual directory called &#039;&#039;&#039;data&#039;&#039;&#039; linked to {{Client server Installation Location}}data&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3:&#039;&#039;&#039; Within the &amp;quot;clientname&amp;quot; website folder create a virtual directory called &#039;&#039;&#039;data&#039;&#039;&#039; linked to {{NEOSYS server Installation Location}}data &lt;br /&gt;
&lt;br /&gt;
[[image:iis5.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Allow file uploads====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client Server:&#039;&#039;&#039; create a folder &#039;&#039;&#039;images&#039;&#039;&#039; under D:\neosys and within the neosys web site folder create a virtual directory called &#039;&#039;&#039;images&#039;&#039;&#039; linked to {{Client server Installation Location}}images&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WIN3:&#039;&#039;&#039; create a folder &#039;&#039;&#039;images&#039;&#039;&#039; under D:\hosts\clientfolder and within the &amp;quot;clientname&amp;quot; website folder create a virtual directory called &#039;&#039;&#039;images&#039;&#039;&#039; linked to {{NEOSYS server Installation Location}}images&lt;br /&gt;
&lt;br /&gt;
In case of client installations where image uploads have to be configured on USB drives due to a huge number of files getting uploaded, create IMAGES folder in the USB drive instead of the client installation folder. Then link the same to the Images virtual directory in IIS.&lt;br /&gt;
&lt;br /&gt;
[[image:iis7.jpg]]&lt;br /&gt;
&lt;br /&gt;
After you add all virtual directories the tree map of the Default Website should look as follows:&lt;br /&gt;
&lt;br /&gt;
[[image:iis8.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Configure file uploads besides adding the images directory====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;For single site servers&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go under IIS &amp;gt; Default Website &amp;gt; neosys&lt;br /&gt;
&lt;br /&gt;
Click on Handler Mappings and delete the ISAPI you see there&lt;br /&gt;
&lt;br /&gt;
[[image:iis9a.jpg]]&lt;br /&gt;
&lt;br /&gt;
Thereafter click on Add Script Map and fill in the details as follows – &lt;br /&gt;
&lt;br /&gt;
Request path: *.dll &lt;br /&gt;
&lt;br /&gt;
Executable: {{Client server Installation Location}}neosys.net\NEOSYS\dll\upload.dll&lt;br /&gt;
&lt;br /&gt;
Name: ISAPI &lt;br /&gt;
&lt;br /&gt;
Click on OK and on YES in the confirmation box&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:iis9b.jpg]]&lt;br /&gt;
[[image:hm.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;For multiple site servers&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go under IIS&amp;gt;NEOSYS&amp;gt;Click on Handler Mappings &amp;gt; Edit Feature Permissions &amp;gt; Select Read, Script and Execute &lt;br /&gt;
&lt;br /&gt;
For WIN3 the above setting is already setup&lt;br /&gt;
&lt;br /&gt;
===Editing the hosts file===&lt;br /&gt;
Edit the hosts file under c:\windows\system32\drivers\etc\ - delete the # sign next to 127.0.0.1 localhost and include the # sign before ::1 localhost&lt;br /&gt;
&lt;br /&gt;
[[image:iis10.jpg]]&lt;br /&gt;
&lt;br /&gt;
===[[Backing_up_and_Restoring_IIS_configuration#Set_IIS_automatic_backup_location_to_d:| Set IIS automatic backup location to D:]] ===&lt;br /&gt;
&lt;br /&gt;
== Solving IIS errors ==&lt;br /&gt;
&lt;br /&gt;
=== Solving error during file upload: &amp;quot;Page cannot be displayed&amp;quot; HTTP Error 405 in windows 2003 ===&lt;br /&gt;
&lt;br /&gt;
This error should not occur in normal NEOSYS installations but the solution is as follows:&lt;br /&gt;
&lt;br /&gt;
# Go to Control Panel, Administrative Tools, Internet Information Services&lt;br /&gt;
# Expand the tree to COMPUTERNAME, Web Sites&lt;br /&gt;
# Right-click &amp;quot;Default Web Site&amp;quot; (or specific Web Site if multiple NEOSYS http/https installations on the server as per WIN3)&lt;br /&gt;
# Properties&lt;br /&gt;
# Home Directory&lt;br /&gt;
# Configuration&lt;br /&gt;
# Mappings, Add&lt;br /&gt;
# Browse&lt;br /&gt;
# Dynamic Link Libraries *.dll&amp;quot; from the &amp;quot;Files of Type&amp;quot; dropdown&lt;br /&gt;
# Find and select D:\NEOSYS\neosys.net\NEOSYS\dll\upload.dll (OR upload.dll in the installation directory)&lt;br /&gt;
# Extension Type: dll&lt;br /&gt;
# Limit to: All&lt;br /&gt;
# Click the &amp;quot;OK&amp;quot; button&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Solving HTTP Error 404 Error occurring immediately on opening NEOSYS login page on a new server installation: &amp;quot;System Failure. Do you want to retry?&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
This error message is caused by failing to enable Active Server Pages in the IIS configuration. To resolve this in windows 2008, [[Configuring_IIS#Configure_file_uploads_besides_adding_the_images_directory| ensure that Read, Script, Execute is ticked (enabled) in the feature permissions of these Handler Mappings.]]&lt;br /&gt;
&lt;br /&gt;
This message is from IE8 and a Windows 2003 server. The message may be different for other browser versions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Message from web page.&lt;br /&gt;
&lt;br /&gt;
System Failure. Do you want to retry?&lt;br /&gt;
&lt;br /&gt;
The page cannot be found&lt;br /&gt;
The page you are looking for might have been removed, had its name change, or it temporarily unavailable.&lt;br /&gt;
&lt;br /&gt;
Please try the following:&lt;br /&gt;
(omitted)&lt;br /&gt;
HTTP Error 404 - File or directory not found.&lt;br /&gt;
Internet Information Services (IIS)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:http404.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Solving HTTP 404 Webpage cannot be found ===&lt;br /&gt;
&lt;br /&gt;
This error message clearly states that the page cannot be found. Check for the requested page in the client website folder under the virtual directory data. This page will be available under the data folder in D:\neosys\data. A possible cause of this error is by failing to create a virtual directory called data linked to D:\neosys\data:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:http404p.jpg]]&lt;br /&gt;
===Solving Error &amp;quot;The specified Executable does not exist on the server&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
While adding Script Map in Handler Mappings in the above step, if you get the below error, this means you have not yet run the Maintenance window/ NEOSYS processes and skipped steps in Installing NEOSYS. File upload.dl_ is installed from NEOSYS.EXE or NEOSYS2.EXE and converted to .dll the first time you run NEOSYS Maintenance/Process. You can also manually rename the file to upload.dll. &lt;br /&gt;
&lt;br /&gt;
[[image:Dll_error.png]]&lt;br /&gt;
&lt;br /&gt;
=== Solving IIS error 500 on uploading for windows 2008===&lt;br /&gt;
&lt;br /&gt;
To test if permissions are the problem, in grant full control to IUSR over the whole client drectory eg d:\neosys or d:\hosts\clientx in security tab of windows explorer and see if you can upload.&lt;br /&gt;
&lt;br /&gt;
Regardless of the result, remove the full control permissions since they are a security risk.&lt;br /&gt;
&lt;br /&gt;
If permissions are the problem then grant specific permissions as follows:&lt;br /&gt;
&lt;br /&gt;
#images folder - read and write permissions (but not execute)&lt;br /&gt;
#dll folder - read and execute permission (no write permission)&lt;br /&gt;
&lt;br /&gt;
== Disabling unsecure SSL3 protocol on Windows IIS web server ==&lt;br /&gt;
&lt;br /&gt;
POODLE is an information leakage attack on client browsers while accessing web server that support the older SSL3 protocol. It is easy to prevent it by reconfiguring web servers to not support SSL3.&lt;br /&gt;
&lt;br /&gt;
=== Securing IIS web server on win2003 and 2008 by disabling unsafe SSL3 protocol ===&lt;br /&gt;
&lt;br /&gt;
#For Systems with https installed check if the web server is vulnerable (see [[Configuring_IIS#Testing_for_IIS_vulnerability| Testing for IIS vulnerability]] ). For systems with no https installed,continue to step2 to prevent SSL3 accidentally being enabled if https is installed in the server in future and then test for vulnerability.&lt;br /&gt;
# run the following commands on the server&lt;br /&gt;
#reg add &amp;quot;HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#reg add &amp;quot;HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#reg add &amp;quot;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 40/128&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#reg add &amp;quot;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 56/128&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#reg add &amp;quot;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 64/128&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#reg add &amp;quot;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 128/128&amp;quot;  /t REG_DWORD  /v Enabled  /d 0 /f&lt;br /&gt;
#Reboot the server (at any time later using standard NEOSYS rebooting procedure without disturbing users)&lt;br /&gt;
#Perform the diagnostic for vulnerability&lt;br /&gt;
&lt;br /&gt;
=== Testing for IIS vulnerability ===&lt;br /&gt;
==== A. Determine host and port and where to test from ==== &lt;br /&gt;
If you have a public https server that you can access like https://demo.neosys.com:443, in a linux command prompt eg nagios login:&lt;br /&gt;
&lt;br /&gt;
*$HOST for host name like demo.neosys.com&lt;br /&gt;
*$PORT with something like 443 or 4430 depending on port forwarding on the public router&lt;br /&gt;
&lt;br /&gt;
or if testing a private https server with no public access, using a cygwin installation on the same server in the cygwin prompt:&lt;br /&gt;
&lt;br /&gt;
*$HOST for host name like 127.0.0.1&lt;br /&gt;
*$PORT with something like 443 or 4430 as per IIS manager configuration&lt;br /&gt;
&lt;br /&gt;
If https is enabled on the server/website and you are able to access the website via https using a browser, then you must be able to test for openssl on the same browsed host and port. You must also test this locally to ensure that the right server is being fixed. If the website is not public, then https must not be enabled, which means there is no reason for using cygwin openssl.&lt;br /&gt;
&lt;br /&gt;
==== B. Check you CAN connect to https server using TLS ====&lt;br /&gt;
&lt;br /&gt;
 openssl s_client -host $HOST -port $PORT&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nagios@vm1m:~$ echo|openssl s_client -host demo.neosys.com -port 443&lt;br /&gt;
CONNECTED(00000003)&lt;br /&gt;
depth=0 CN = demo.neosys.com&lt;br /&gt;
verify error:num=20:unable to get local issuer certificate&lt;br /&gt;
verify return:1&lt;br /&gt;
depth=0 CN = demo.neosys.com&lt;br /&gt;
verify error:num=21:unable to verify the first certificate&lt;br /&gt;
verify return:1&lt;br /&gt;
---&lt;br /&gt;
Certificate chain&lt;br /&gt;
 0 s:/CN=demo.neosys.com&lt;br /&gt;
   i:/CN=demo.neosys.com&lt;br /&gt;
---&lt;br /&gt;
Server certificate&lt;br /&gt;
-----BEGIN CERTIFICATE-----&lt;br /&gt;
MIIB2DCCAUWgAwIBAgIQd0J0l4kJrpJHonAv5U8VLjAJBgUrDgMCHQUAMBoxGDAW&lt;br /&gt;
BgNVBAMTD2RlbW8ubmVvc3lzLmNvbTAeFw0wODA3MjcxOTUxMDNaFw0zNTEyMTIx&lt;br /&gt;
OTUxMDNaMBoxGDAWBgNVBAMTD2RlbW8ubmVvc3lzLmNvbTCBnzANBgkqhkiG9w0B&lt;br /&gt;
AQEFAAOBjQAwgYkCgYEAxzwtoqq49vV7pyBQ6Ej+PvbB1QxkdsxNn5EZSLSOppCb&lt;br /&gt;
jNjV8fFa98unPR0pGM0UdjWMUYodj12c2pnIrfrtXv7pYf+iC1corPEY7607Icbs&lt;br /&gt;
rSOc5aFwnlUYpktoysV1G1crGYgYgXbXgVOUO9phHXJarpKf6SjVw3uXTLlmPUkC&lt;br /&gt;
AwEAAaMnMCUwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDgYDVR0PBAcDBQCwAAAAMAkG&lt;br /&gt;
BSsOAwIdBQADgYEAmgyW60pT62JuM8GH+KogHW7viaMsifXitm3BC/GfaORpJCox&lt;br /&gt;
aS20fAlzGyAlDe9nZWN4roLSxQv0laJkxyNPDuHvLJt1l0FVdk6/vGB6QH0KqM+S&lt;br /&gt;
UaUTLsDZ99UNS/inotobxD9vXuKl58Uoe2lu7r9vJ+1DWDC6AyueSZ6xnno=&lt;br /&gt;
-----END CERTIFICATE-----&lt;br /&gt;
subject=/CN=demo.neosys.com&lt;br /&gt;
issuer=/CN=demo.neosys.com&lt;br /&gt;
---&lt;br /&gt;
No client certificate CA names sent&lt;br /&gt;
---&lt;br /&gt;
SSL handshake has read 635 bytes and written 411 bytes&lt;br /&gt;
---&lt;br /&gt;
New, TLSv1/SSLv3, Cipher is AES128-SHA&lt;br /&gt;
Server public key is 1024 bit&lt;br /&gt;
Secure Renegotiation IS supported&lt;br /&gt;
Compression: NONE&lt;br /&gt;
Expansion: NONE&lt;br /&gt;
SSL-Session:&lt;br /&gt;
    Protocol  : TLSv1&lt;br /&gt;
    Cipher    : AES128-SHA&lt;br /&gt;
    Session-ID: 8A0A00002D51DE183AC2845C6B3FF4BC7485181B4DCBC1758E3A2D5399BDD71C&lt;br /&gt;
    Session-ID-ctx:&lt;br /&gt;
    Master-Key: B10B9370E4DF70E873873AB9851B3CEF19623E6ADA697955E375D931DEE8301D798B4CB14C8D33FCF1BA066C0CC23897&lt;br /&gt;
    Key-Arg   : None&lt;br /&gt;
    PSK identity: None&lt;br /&gt;
    PSK identity hint: None&lt;br /&gt;
    SRP username: None&lt;br /&gt;
    Start Time: 1413885416&lt;br /&gt;
    Timeout   : 300 (sec)&lt;br /&gt;
    Verify return code: 21 (unable to verify the first certificate)&lt;br /&gt;
---&lt;br /&gt;
DONE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== C. Check that you cannot CANNOT to https server using SSL3 ====&lt;br /&gt;
&lt;br /&gt;
 openssl s_client -ssl3 -host $HOST -port $PORT&lt;br /&gt;
&lt;br /&gt;
==== CAN CONNECT = VULNERABLE = NOT OK ====&lt;br /&gt;
&lt;br /&gt;
If you get this then you need to configure the server to prevent SSL3&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nagios@vm1m:~$ echo xxx|openssl s_client -ssl3 -host demo.neosys.com -port 4430&lt;br /&gt;
gethostbyname failure&lt;br /&gt;
connect:errno=0&lt;br /&gt;
nagios@vm1m:~$ echo xxx|openssl s_client -ssl3 -host demo.neosys.com -port 4430&lt;br /&gt;
CONNECTED(00000003)&lt;br /&gt;
depth=0 CN = demo.neosys.com&lt;br /&gt;
verify error:num=20:unable to get local issuer certificate&lt;br /&gt;
verify return:1&lt;br /&gt;
depth=0 CN = demo.neosys.com&lt;br /&gt;
verify error:num=21:unable to verify the first certificate&lt;br /&gt;
verify return:1&lt;br /&gt;
---&lt;br /&gt;
Certificate chain&lt;br /&gt;
 0 s:/CN=demo.neosys.com&lt;br /&gt;
   i:/CN=demo.neosys.com&lt;br /&gt;
---&lt;br /&gt;
Server certificate&lt;br /&gt;
-----BEGIN CERTIFICATE-----&lt;br /&gt;
MIIB3jCCAUugAwIBAgIQNj9FMjT1vIxGo2Mv2Ta9vzAJBgUrDgMCHQUAMB0xGzAZ&lt;br /&gt;
BgNVBAMTEmFkbGluZWQubmVvc3lzLmNvbTAeFw0wODAzMjUxMTIxMzFaFw0zNTA4&lt;br /&gt;
MTAxMTIxMzFaMB0xGzAZBgNVBAMTEmFkbGluZWQubmVvc3lzLmNvbTCBnzANBgkq&lt;br /&gt;
hkiG9w0BAQEFAAOBjQAwgYkCgYEArRuijA8jz3qBm2ZZEwITIJLWIMlQmZxcUvOo&lt;br /&gt;
HNZL0+3oJuX0AQqtpRZMp/7ob9agngfwJQ36vK+424zcBbmKxA2MweKZRalN2jz+&lt;br /&gt;
rdr1oeZ6/Ff3r8+rCPFj/B8CfMOQbSv6YcR0kVc+8ugybB7qT6Nq5ZWOAczG3Ikt&lt;br /&gt;
4EnOlqUCAwEAAaMnMCUwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDgYDVR0PBAcDBQCw&lt;br /&gt;
AAAAMAkGBSsOAwIdBQADgYEAHIq5Gn2LiMgXFaUYrFEfHeajD4jAwdFw+zrjcBDZ&lt;br /&gt;
qM9LnhndHhdPogow9m9cCv1n57ne9rZL1v7w7Y6C53359hTUVZFqtHFfzcWnNyKD&lt;br /&gt;
uHD9a8QDk6/dSwBr/SWIE6OdFUYAj/kDXRQNB5H459spRVa3Yws8vpwrWZhoklxq&lt;br /&gt;
CQg=&lt;br /&gt;
-----END CERTIFICATE-----&lt;br /&gt;
subject=/CN=demo.neosys.com&lt;br /&gt;
issuer=/CN=demo.neosys.com&lt;br /&gt;
---&lt;br /&gt;
No client certificate CA names sent&lt;br /&gt;
---&lt;br /&gt;
SSL handshake has read 649 bytes and written 342 bytes&lt;br /&gt;
---&lt;br /&gt;
New, TLSv1/SSLv3, Cipher is RC4-MD5&lt;br /&gt;
Server public key is 1024 bit&lt;br /&gt;
Secure Renegotiation IS supported&lt;br /&gt;
Compression: NONE&lt;br /&gt;
Expansion: NONE&lt;br /&gt;
SSL-Session:&lt;br /&gt;
    Protocol  : SSLv3&lt;br /&gt;
    Cipher    : RC4-MD5&lt;br /&gt;
    Session-ID: 441A0000EBC1D634B2CDB12924F9B980D2A4CF8C4DD6D3FB9728D3C74F62A8FE&lt;br /&gt;
    Session-ID-ctx:&lt;br /&gt;
    Master-Key: 38F040BE3E7098857B7CB9FF3B44937786F8F8C002B0042370B29F20EFB582833F9E24CFC8E6560AFD06751DC93412D3&lt;br /&gt;
    Key-Arg   : None&lt;br /&gt;
    PSK identity: None&lt;br /&gt;
    PSK identity hint: None&lt;br /&gt;
    SRP username: None&lt;br /&gt;
    Start Time: 1413885545&lt;br /&gt;
    Timeout   : 7200 (sec)&lt;br /&gt;
    Verify return code: 21 (unable to verify the first certificate)&lt;br /&gt;
---&lt;br /&gt;
DONE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== CANNOT CONNECT = NOT VULNERABLE = OK ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nagios@vm1m:~$ echo|openssl s_client -ssl3 -host demo.neosys.com -port 443&lt;br /&gt;
CONNECTED(00000003)&lt;br /&gt;
write:errno=104&lt;br /&gt;
---&lt;br /&gt;
no peer certificate available&lt;br /&gt;
---&lt;br /&gt;
No client certificate CA names sent&lt;br /&gt;
---&lt;br /&gt;
SSL handshake has read 0 bytes and written 0 bytes&lt;br /&gt;
---&lt;br /&gt;
New, (NONE), Cipher is (NONE)&lt;br /&gt;
Secure Renegotiation IS NOT supported&lt;br /&gt;
Compression: NONE&lt;br /&gt;
Expansion: NONE&lt;br /&gt;
SSL-Session:&lt;br /&gt;
    Protocol  : SSLv3&lt;br /&gt;
    Cipher    : 0000&lt;br /&gt;
    Session-ID:&lt;br /&gt;
    Session-ID-ctx:&lt;br /&gt;
    Master-Key:&lt;br /&gt;
    Key-Arg   : None&lt;br /&gt;
    PSK identity: None&lt;br /&gt;
    PSK identity hint: None&lt;br /&gt;
    SRP username: None&lt;br /&gt;
    Start Time: 1413885702&lt;br /&gt;
    Timeout   : 7200 (sec)&lt;br /&gt;
    Verify return code: 0 (ok)&lt;br /&gt;
---&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Enabling Internet Explorer 6 to access secured https web servers ===&lt;br /&gt;
&lt;br /&gt;
To use Internet explorer 6 (on win2003 and XP-before-SP3) to access secured http web sites you need to enable IE6 to use TLS 1.0. Internet Explorer 6 is present in Windows Server 2003 and Windows XP-pre-SP3.&lt;br /&gt;
&lt;br /&gt;
You can also disable SSL 2.0 and SSL 3.0 for additional safety. This good for later versions of Internet Explorer too.&lt;br /&gt;
&lt;br /&gt;
[[File:IE_options.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Generating IIS certificates for https using openssl ==&lt;br /&gt;
&lt;br /&gt;
This covers the two main type of certificates:&lt;br /&gt;
&lt;br /&gt;
#&amp;quot;proper&amp;quot; certificates (accepted by all browsers without complaint) - issued by bona fide certification authority only on proof of control of a domain name - usually for a small fee&lt;br /&gt;
#&amp;quot;self signed&amp;quot; certificates (not accepted by all browsers without error messages without special configuration) - easily&lt;br /&gt;
issued by anybody without the slightest restriction&lt;br /&gt;
&lt;br /&gt;
NEOSYS&#039; proper https certificate for *.hosts.neosys.com, valid approx Jan-Dec 2016, issued by Comodo, was purchased from namecheap.com for a small fraction of the price of purchasing from Comodo or one of the other main certification authorities.&lt;br /&gt;
&lt;br /&gt;
There is no technical requirement to renew certificates with the same issuing authority, nor is their any restriction whatsoever from having multiple concurrent overlapping certificates, in any combination, for the the same domain name or subsets of a domain name. For a certificate to be &amp;quot;proper&amp;quot; it merely has to be issued by (not necessarily purchased from) one of the certificate authorities registered in all the main browsers using by NEOSYS clients. Unlike DNS domain name registrars, of which you can only have one at any one time, and which take to change, certificates are simply installed in particular servers without reference to each other, nor to any imaginary central internet registry, as IS the case for the DNS domain name registry.&lt;br /&gt;
&lt;br /&gt;
The sales of certificates is a bit of scam really because anybody can get a certificate from the main commercial certificate authorities merely by proving control over a domain name - for example, by receiving an email to ADMIN@xxxxx.com. Except for EV certificates such as those issued to banks etc, most https certificates are issued without any check on physical identity or reputation, therefore the cost of issuing https certificates rests merely on the fact that the certification authority has managed to inveigle itself into all the main browsers and have their public key installed along with the browser software. Hoowever, the market seems to be collapsing, with even free certificate authorities appearing although with some minor limitations like short duration of validity of certificates.&lt;br /&gt;
&lt;br /&gt;
Excellent summary of using openssl to manage certificates .. no Alternate Names though&lt;br /&gt;
https://www.digitalocean.com/community/tutorials/openssl-essentials-working-with-ssl-certificates-private-keys-and-csrs&lt;br /&gt;
&lt;br /&gt;
Excellent summary of selfsigned and properly signed certificate&lt;br /&gt;
https://httpd.apache.org/docs/2.4/ssl/ssl_faq.html&lt;br /&gt;
&lt;br /&gt;
==== Commentary on https security ====&lt;br /&gt;
&lt;br /&gt;
With the general move to using https instead of http after the Snowdon revelations, people have begun to better understand how https certificates really work. People are more aware now that most https certificates mean little more than that their communication with the server is a) confidential b) not tampered with c) is truly with the server/domain name apparent and not some other. ALL WITH THE EXCEPTION OF *ANYBODY* WHO IS A CERTIFICATE AUTHORITY REGISTERED IN THE MAIN BROWSERS - WHICH IS MANY - INCLUDING NON-FRIENDLY NATIONAL STATE ACTORS!&lt;br /&gt;
&lt;br /&gt;
It is possible however to be virtually certain of confidentiality and accuracy of your communication using standard browsers, EVEN VERSUS CERTIFICATION AUTHORITIES. If, by inspecting the certificate when you are browsing a particular web site, you can satisfy  yourself that it is in fact truly the one in use by the web server, the chances of your communication being secure is virtually 100% The only chance is some failure in fundamental encryption protocols. Such failures would either be public knowledge very quickly, or not used versus you, for fear of it becoming public knowledge, unless you really have something incredibly valuable to hide. In this sense, self-certified certificates are the most secure, since you can obtain them by some other secure channel directly from the web server operator and do not change without your action. Note that in order to ensure that a certificate does not change during your session, to say an unknown valid certificate that breaks your security, your browser must support certificate pinning, in which case the browser will either prevent, or inform you if the certificate for the web site changes, either between or within sessions.&lt;br /&gt;
&lt;br /&gt;
To gain a practical understanding of the issues raised if you trust the certification authorities built in to your browser, consider the fact that many companies require an additional certificate authority to be installed in all corporate browsers (and in some famous cases have installed it covertly), and thereafter all https communications are decrypted in the company firewall/proxy using the corporate certificate, checked for content and reencrypted with the true certificate before being passed on - or vice versa, depending on the direction of flow of information. This, for example means that an employee accessing their bank account would be completely exposed to the corporate gaze. Two factor security would prevent corporate interference in say, instructions to make payments, but all information would be exposed and probably logged in possibly long term records. The same would apply to all https web sites accessed by the employee. Courts seem to agree that corporations have every right to do this but the average person is commonly not aware of it. If a person understood how https security works, they could inspect the https certificate to make sure it is the correct (same one issued by their bank apparent at home for example), since it is unlikely that an adversary (or in this case their employer) would control their actual browser software, but security is an arms race and once everybody knows how to defend themselves, adversaries and security operators will simply move to the next level. The next level may be preventing users from using their own browsers. This is already the case in most secure environment, but not all, and BYOD attitudes may prevail in the long run. Whatever the issues are in this case, the same general principle apply in other situations involving security.&lt;br /&gt;
&lt;br /&gt;
=== Generating a self signed certificate in pfx form for IIS ===&lt;br /&gt;
&lt;br /&gt;
Generating certificates and keys https://httpd.apache.org/docs/2.4/ssl/ssl_faq.html&lt;br /&gt;
&lt;br /&gt;
Generating a pfx using openssl https://langui.sh/2009/01/24/generating-a-pkcs12-pfx-via-openssl/&lt;br /&gt;
&lt;br /&gt;
==== Generate standard cert and key pair ====&lt;br /&gt;
&lt;br /&gt;
First generate a matching pair of certificate and key files (x509 and rsa format respectively)&lt;br /&gt;
&lt;br /&gt;
Example for *.mydomain and validity 9999 days from now&lt;br /&gt;
&lt;br /&gt;
 signer=self&lt;br /&gt;
 mydomain=neosys.com&lt;br /&gt;
 mydomains=*.neosys.com&lt;br /&gt;
 expirydays=9999&lt;br /&gt;
 keyno=`date`&lt;br /&gt;
 certno=$keyno&lt;br /&gt;
 #&lt;br /&gt;
 certfilename=$mydomain-$signer-$certno.cer&lt;br /&gt;
 keyfilename=$mydomain-$keyno.key&lt;br /&gt;
 #&amp;quot;-nodes&amp;quot; means -no-DES ie no encryption ie generate a key file without encrypting it and therefore without requiring a password on it&lt;br /&gt;
 openssl req -new -x509 -nodes -days $expirydays -out &amp;quot;$certfilename&amp;quot; -keyout &amp;quot;$keyfilename&amp;quot; \&lt;br /&gt;
     -subj &amp;quot;/C=AE/ST=DUBAI/O=NEOSYS/CN=*.neosys.com&amp;quot; \&lt;br /&gt;
     -reqexts SAN     -config &amp;lt;(cat /etc/ssl/openssl.cnf \&lt;br /&gt;
      &amp;lt;(printf &amp;quot;[SAN]\nsubjectAltName=DNS:*.hosts.neosys.com,DNS:*.support.neosys.com&amp;quot;)) \&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consider adding subject and subject alternative names&lt;br /&gt;
&lt;br /&gt;
 openssl x509 -req -new -sha256 \&lt;br /&gt;
     -newkey rsa:2048 \&lt;br /&gt;
     -keyout neosys.com-102.key \&lt;br /&gt;
     -subj &amp;quot;/C=AE/ST=DUBAI/O=NEOSYS/CN=*.neosys.com&amp;quot; \&lt;br /&gt;
     -reqexts SAN     -config &amp;lt;(cat /etc/ssl/openssl.cnf \&lt;br /&gt;
      &amp;lt;(printf &amp;quot;[SAN]\nsubjectAltName=DNS:*.hosts.neosys.com,DNS:*.support.neosys.com&amp;quot;)) \&lt;br /&gt;
     -out neosys.com-102.crt \&lt;br /&gt;
     -nodes \&lt;br /&gt;
     -days 9999&lt;br /&gt;
&lt;br /&gt;
Example session:&lt;br /&gt;
&lt;br /&gt;
 Country Name (2 letter code) [AU]:AE&lt;br /&gt;
 State or Province Name (full name) [Some-State]:DUBAI&lt;br /&gt;
 Locality Name (eg, city) []:DUBAI&lt;br /&gt;
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:NEOSYS&lt;br /&gt;
 Organizational Unit Name (eg, section) []:IT&lt;br /&gt;
 Common Name (e.g. server FQDN or YOUR name) []:*.neosys.com&lt;br /&gt;
 Email Address []:it@neosys.com&lt;br /&gt;
&lt;br /&gt;
=== Generating a properly signed certificate ===&lt;br /&gt;
&lt;br /&gt;
http://wiki.gandi.net/en/ssl/csr#sha-2_certificate_request&lt;br /&gt;
&lt;br /&gt;
==== Generate key and CSR file ====&lt;br /&gt;
&lt;br /&gt;
A certificate signing request file (.csr) for *.hosts.neosys.com (wildcard certificate)&lt;br /&gt;
&lt;br /&gt;
if you are renewing (and want to reuse an existing secret server key file mydomain.key, although not clear on the benefit ATM)&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -nodes -sha256 -key mydomain.key -subj &amp;quot;/C=AE/ST=DUBAI/O=NEOSYS/CN=*.hosts.neosys.com&amp;quot; -out mydomain.csr&lt;br /&gt;
&lt;br /&gt;
or if you want to generate a new secret server key file&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -nodes -sha256 -newkey rsa:2048 -keyout mydomain.key -subj &amp;quot;/C=AE/ST=DUBAI/O=NEOSYS/CN=*.hosts.neosys.com&amp;quot; -out mydomain.csr&lt;br /&gt;
&lt;br /&gt;
or if you want to request SAN subdomain wildcards (unlikely to be granted by main cert authorities but perfectly legal and can be self certified)&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -nodes -sha256 -newkey rsa:2048 -keyout mydomain.key -subj &amp;quot;/C=AE/ST=DUBAI/O=NEOSYS/CN=*.neosys.com&amp;quot; -out mydomain.csr \&lt;br /&gt;
     -reqexts SAN     -config &amp;lt;(cat /etc/ssl/openssl.cnf \&lt;br /&gt;
        &amp;lt;(printf &amp;quot;[SAN]\nsubjectAltName=DNS:neosys.com,DNS:*.neosys.com,DNS:*.support.neosys.com,DNS:*.hosts.neosys.com&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
View the csr and verify correct (check that SAN additional domains are listed if you requested them above)&lt;br /&gt;
&lt;br /&gt;
 openssl req -in mydomain.csr -noout -text&lt;br /&gt;
&lt;br /&gt;
==== Either send to CA and get crt/cer file back ====&lt;br /&gt;
&lt;br /&gt;
Send the csr file to the certifying authority and put their response in a mydomain.crt file&lt;br /&gt;
&lt;br /&gt;
Make sure you inform them that the type of software you used to generate the csr is &amp;quot;mod Apache/ModSSL&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 mydomain.csr -&amp;gt; mydomain.cer&lt;br /&gt;
&lt;br /&gt;
==== Or self sign to test all ok ====&lt;br /&gt;
&lt;br /&gt;
 nano ssl.conf&lt;br /&gt;
&lt;br /&gt;
 [req_distinguished_name]&lt;br /&gt;
 countryName = Country Name (2 letter code)&lt;br /&gt;
 countryName_default = AE&lt;br /&gt;
 stateOrProvinceName = State or Province Name (full name)&lt;br /&gt;
 stateOrProvinceName_default = Dubai&lt;br /&gt;
 localityName = Locality Name (eg, city)&lt;br /&gt;
 localityName_default = Dubai&lt;br /&gt;
 organizationalUnitName  = Organizational Unit Name (eg, section)&lt;br /&gt;
 organizationalUnitName_default  = IT&lt;br /&gt;
 commonName = *.neosys.com&lt;br /&gt;
 commonName_max  = 64&lt;br /&gt;
 #&lt;br /&gt;
 [ v3_req ]&lt;br /&gt;
 # Extensions to add to a certificate request&lt;br /&gt;
 basicConstraints = CA:FALSE&lt;br /&gt;
 #keyUsage = nonRepudiation, digitalSignature, keyEncipherment&lt;br /&gt;
 subjectAltName = @alt_names&lt;br /&gt;
 #&lt;br /&gt;
 [alt_names]&lt;br /&gt;
 DNS.1 = neosys.com&lt;br /&gt;
 DNS.2 = *.neosys.com&lt;br /&gt;
 DNS.3 = *.hosts.neosys.com&lt;br /&gt;
 DNS.4 = *.support.neosys.com&lt;br /&gt;
&lt;br /&gt;
 openssl x509 -signkey mydomain.key -in mydomain.csr -req -days 9999 -extensions v3_req   -extfile ssl.conf -out mydomain.crt&lt;br /&gt;
&lt;br /&gt;
view the cert and check extensions (additional domain names) are present if required&lt;br /&gt;
&lt;br /&gt;
 openssl x509 -in mydomain.crt -text -noout&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Merge private key and signed public cert into password protected pfx file ====&lt;br /&gt;
&lt;br /&gt;
Convert the pair of standard files into a single pfx file that IIS can import&lt;br /&gt;
&lt;br /&gt;
 friendlyname=&amp;quot;COMODO SIGNED hosts.neosys.com *.hosts.neosys.com&amp;quot;&lt;br /&gt;
 openssl pkcs12 -export -in mydomain.crt -inkey mydomain.key -name &amp;quot;$friendlyname&amp;quot; -out mydomain.pfx&lt;br /&gt;
&lt;br /&gt;
It will ask for a password .. the usual NEOSYS one is 1f... which will be required when you import the pfx file into IIS before binding to web sites&lt;br /&gt;
&lt;br /&gt;
Example session:&lt;br /&gt;
&lt;br /&gt;
 Enter Export Password:&lt;br /&gt;
 Verifying - Enter Export Password:&lt;br /&gt;
&lt;br /&gt;
Check the pfx file&lt;br /&gt;
&lt;br /&gt;
 openssl pkcs12 -in mydomain.pfx&lt;br /&gt;
&lt;br /&gt;
 openssl pkcs12 -in mydomain.pfx | openssl x509 -noout -text&lt;br /&gt;
&lt;br /&gt;
==== Copy the pfx file to the IIS server and import/bind in the usual way ====&lt;br /&gt;
&lt;br /&gt;
Copy it to the https server&lt;br /&gt;
&lt;br /&gt;
 mysshport=&amp;quot;-P 19510&amp;quot;&lt;br /&gt;
 mysshtarget=&amp;quot;administrator@win3.neosys.com:/cygdrive/d/hosts/CERTIFICATES&amp;quot;&lt;br /&gt;
 scp $mysshport mydomain.pfx $mysshtarget&lt;br /&gt;
&lt;br /&gt;
==== Friendly name in pfx file ====&lt;br /&gt;
&lt;br /&gt;
On the IIS server after importing, if you have multiple certificates for the same domain name you might like to add a &amp;quot;friendly name&amp;quot; to distinguish them in the dropdown when binding certificates to web sites.&lt;br /&gt;
&lt;br /&gt;
You might also want to add the friendly name to the pfx file if you intend to import it again or elsewhere using certificate export to pfx with options Include All and Export All&lt;br /&gt;
&lt;br /&gt;
https://rickardrobin.wordpress.com/2012/12/05/specifying-a-friendly-name-to-a-certificate/&lt;br /&gt;
&lt;br /&gt;
=== Understanding SSL certificates ===&lt;br /&gt;
&lt;br /&gt;
==== What are RSA Private Keys, CSRs and Certificates? ====&lt;br /&gt;
&lt;br /&gt;
YOUR RSA PRIVATE KEY FILE&lt;br /&gt;
&lt;br /&gt;
is a digital file created by you and never ever shared with others. It is USED ONLY BY YOU (never by others) to either:&lt;br /&gt;
&lt;br /&gt;
*to DECRYPT secret, encrypted, messages received by you from others&lt;br /&gt;
*to SIGN messages before sending them to others providing them certainty that the message came from you without being tampered with and that you cannot deny signing them.&lt;br /&gt;
&lt;br /&gt;
YOUR RSA PUBLIC KEY FILE&lt;br /&gt;
&lt;br /&gt;
is a digital file created by you and freely shared with others. It is USED BY OTHERS (never by you) to either:&lt;br /&gt;
&lt;br /&gt;
*ENCRYPT messages before sending them to you&lt;br /&gt;
*VERIFY that signed messages were in fact signed by you and not tampered with and you cannot deny signing them.&lt;br /&gt;
&lt;br /&gt;
OTHER PERSON&#039;S RSA PUBLIC KEY FILE&lt;br /&gt;
&lt;br /&gt;
is a digital file created by the other person and freely shared with you and others. It is USED BY YOU OR ANYBODY (never by the other person) to either:&lt;br /&gt;
&lt;br /&gt;
*ENCRYPT messages to achieve secrecy before sending them to the other person.&lt;br /&gt;
*VERIFY that signed messages received were in fact signed by the other person and that they cannot deny signing them nor claim they have been tampered with.&lt;br /&gt;
&lt;br /&gt;
To obtain someone&#039;s public key, you need a trusted channel, ie a signed channel, but not a secret or encrypted channel since the information is public and not confidential.&lt;br /&gt;
&lt;br /&gt;
Using your private key and someones public key together:&lt;br /&gt;
&lt;br /&gt;
*If you want to send a signed secret message to someone and allow them to be sure it came unmodified from you, you first sign the message using YOUR PRIVATE KEY, then encrypt the message using THEIR PUBLIC KEY&lt;br /&gt;
*If you want to receive a secret message and verify that it came unmodified from someone in particular, you first you decrypt the message using YOUR PRIVATE KEY, then verify the message using THEIR PUBLIC KEY&lt;br /&gt;
&lt;br /&gt;
Signing and Verification = Encryption and Decryption Mathematical Process with keys reversed&lt;br /&gt;
&lt;br /&gt;
Actually, the process of &amp;quot;signing&amp;quot; is doing the same mathematical process as encryption, but since you use the recipients public key, the resultant &amp;quot;encrypted&amp;quot; messege is not secret because it can be &amp;quot;decrypted&amp;quot; using a public key which are freely available.&lt;br /&gt;
&lt;br /&gt;
Likewise, the process of &amp;quot;verification&amp;quot; on a received message is doing the same mathematical process as decryption, but since you are using the senders public key, and anybody could &amp;quot;decrypt&amp;quot; the message, it was not really encrypted in the sense of being secret.&lt;br /&gt;
&lt;br /&gt;
So we have two processes, one called Encryption/Signing but is exactly the same mathematical process with two names depending on whether we use a public or private key, and another process called Decryption/Verification which uses the opposite key.&lt;br /&gt;
&lt;br /&gt;
What YOU use for what:&lt;br /&gt;
&lt;br /&gt;
*YOUR (PRIVATE) KEY = USED BY YOU for decryption and signing&lt;br /&gt;
*THEIR (PUBLIC) KEY = USED BY YOU for encryption and verification&lt;br /&gt;
&lt;br /&gt;
*YOUR (PUBLIC) KEY = NEVER USED BY YOU - since anybody else could do the same thing so no trust or secrecy could be obtained&lt;br /&gt;
*THEIR (PRIVATE) KEY = NEVER USED BY YOU - since you dont have it!&lt;br /&gt;
&lt;br /&gt;
What to use:&lt;br /&gt;
&lt;br /&gt;
*ENCRYPT OUTGOING = Use THEIR (public) key&lt;br /&gt;
*VERIFY INCOMING = Use THEIR (public) key&lt;br /&gt;
&lt;br /&gt;
*DECRYPT INCOMING = Use YOUR (private) key&lt;br /&gt;
*SIGN OUTGOING = Use YOUR (private) key&lt;br /&gt;
&lt;br /&gt;
So the slightly strange thing is that you dont encrypt messages with your private key as might be assumed naturally. You encrypt using the target recipient&#039;s public key. This is perfectly logical if you understand the concept asymmetric cryptography.&lt;br /&gt;
&lt;br /&gt;
One thing to note is that, while it is obvious that other people never use your private key, since they dont have it, it is not obvious, but perfectly true, that you never use your public key. NOBODY EVER USES THEIR OWN PUBLIC KEY ... THEY ONLY GIVE IT TO OTHERS TO USE.&lt;br /&gt;
&lt;br /&gt;
CERTIFICATE&lt;br /&gt;
&lt;br /&gt;
It has a public component which you distribute (via your Certificate file) which allows people to encrypt those messages to you. It can also be used by you to sign messages that can be verified as having come from you by anyone who receives the signed message, using your public key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CSR FILE&lt;br /&gt;
&lt;br /&gt;
A Certificate Signing Request (CSR) is a digital file which contains your public key and your details eg name/domain name etc. You send the CSR to a Certifying Authority (CA), who will create a real Certificate containing your detail eg your domain name and your public key, signed by them using their private RSA private key.&lt;br /&gt;
&lt;br /&gt;
CERTIFICATE&lt;br /&gt;
&lt;br /&gt;
A Certificate contains your RSA public key, your name, the name of the CA, and is digitally signed by the CA. Browsers that know the CA can verify the signature on that Certificate, thereby obtaining your RSA public key. That enables them to send messages which only you can decrypt.&lt;br /&gt;
&lt;br /&gt;
==== What is Asymmetric cryptography? ====&lt;br /&gt;
&lt;br /&gt;
Asymmetric cryptography allows you to freely publish an encryption key that can be used by anyone to send you encrypted messages. Such messages can only be decrypted by you using a decryption key which you always keep secret.&lt;br /&gt;
&lt;br /&gt;
It also allows you to publish messages that can be verified by anyone as coming from you without any modification by others.&lt;br /&gt;
&lt;br /&gt;
So we have a pair of keys that if either one is used for encryption, then the other one is required for decryption. In that sense, we should not refer to the private key as the encryption key and the public key a&lt;br /&gt;
&lt;br /&gt;
To start encrypting or signing, you need a matched pair of keys and you need to forever keep one of them secret.&lt;br /&gt;
&lt;br /&gt;
.key a file that contains a random collection of characters that can be used to encrypt&lt;br /&gt;
&lt;br /&gt;
.cer a file that contains a random collection of characters that can be given out publically and used by anybody to encrypt something to be sent to you&lt;br /&gt;
&lt;br /&gt;
A certificate is some information that has been processed by a private and secret key.&lt;br /&gt;
&lt;br /&gt;
pfx contains a private key and public certificate which contains your public key embedded. Usually pfx files are encrypted and you have to enter a password before using them, ie importing them.&lt;br /&gt;
&lt;br /&gt;
==[[Backing up and Restoring IIS configuration]]==&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
	<entry>
		<id>https://techwiki.neosys.com/index.php?title=Testing_NEOSYS&amp;diff=2620</id>
		<title>Testing NEOSYS</title>
		<link rel="alternate" type="text/html" href="https://techwiki.neosys.com/index.php?title=Testing_NEOSYS&amp;diff=2620"/>
		<updated>2016-04-13T07:36:33Z</updated>

		<summary type="html">&lt;p&gt;Ruku: /* General Instructions for Testing NEOSYS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== General Instructions for Testing NEOSYS ===&lt;br /&gt;
#Everytime a new version of NEOSYS is released, it must be tested thoroughly for all its features to ensure NEOSYS credibility to clients. &lt;br /&gt;
#Tests for each module must be carried out by logging in as different users as some issues do not show up when logged in as NEOSYS user.&lt;br /&gt;
#Whenever there are multiple rows, 2nd line must ALWAYS be tested and this must be the primary test. This is because many errors do not show in the first line and only show in the subsequent lines.&lt;br /&gt;
&lt;br /&gt;
===Lightning Test===&lt;br /&gt;
&lt;br /&gt;
Lightning Test is a quick test of NEOSYS where all essential features mostly used by clients must be tested. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lightning Test for all the modules in NEOSYS should not take more than 2 hours. All the tests listed [[Testing_NEOSYS#List_of_Tasks_to_be_tested_for_each_module|below]] with an asterisk are mandatory and the rest can be skipped in a Lightning Test.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== List of Tasks to be tested ===&lt;br /&gt;
===== Media =====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 60%; height: 100px; text-align: left ; margin: 1em 1em auto;&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | List of Tasks&lt;br /&gt;
|-&lt;br /&gt;
| * || Create a new plan&lt;br /&gt;
|- &lt;br /&gt;
| * || Check Plan Look up&lt;br /&gt;
|-&lt;br /&gt;
| * || Create a plan by copying from a plan/schedule&lt;br /&gt;
|-&lt;br /&gt;
| * || Take a plan printout, make use of filters on the screen&lt;br /&gt;
|- &lt;br /&gt;
| * || Create a new schedule&lt;br /&gt;
|-&lt;br /&gt;
|   || Check Schedule Look up&lt;br /&gt;
|- &lt;br /&gt;
| * || Create a schedule by copying from plan/schedule&lt;br /&gt;
|-&lt;br /&gt;
| * || Use shortcut keys like tab/f9/f7 etc while creating the schedule&lt;br /&gt;
|- &lt;br /&gt;
| * || Add vehicles with notes/Rate cards&lt;br /&gt;
|-&lt;br /&gt;
| * || Enter discount and fee for the vehicles&lt;br /&gt;
|- &lt;br /&gt;
| * || Check if discount and fee gets reflected in the cost and bill&lt;br /&gt;
|-&lt;br /&gt;
|   || Create free ads&lt;br /&gt;
|-&lt;br /&gt;
|   || Check if free ads reflect in the reports&lt;br /&gt;
|-&lt;br /&gt;
| * || Book ads&lt;br /&gt;
|-&lt;br /&gt;
| * || Certify ads&lt;br /&gt;
|-&lt;br /&gt;
| * || Invoice ads, reprint invoice/invoices in bulk (more than 2)&lt;br /&gt;
|-&lt;br /&gt;
| * || Generate media diary&lt;br /&gt;
|-&lt;br /&gt;
|   || Generate progress summary&lt;br /&gt;
|-&lt;br /&gt;
| * || Do cancellations&lt;br /&gt;
|-&lt;br /&gt;
| * || Generate credit notes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Finance =====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 60%; height: 100px; text-align: left ; margin: 1em 1em auto;&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | List of Tasks&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;width:10px; text-align:center;&amp;quot; | * || Create a new batches (INV/PUR/PAY/PUR) in Journal entry page&lt;br /&gt;
|- &lt;br /&gt;
|   || Check the Journal Setup page&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10px; text-align:center;&amp;quot; | * || Check Voucher file/deallocation&lt;br /&gt;
|-&lt;br /&gt;
|   || Generate the List of Vouchers&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;width:10px; text-align:center;&amp;quot; | * || Generate a Ledger print&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10px; text-align:center;&amp;quot; | * || Check the Statement of Accounts&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10px; text-align:center;&amp;quot; | * || Check the Chart of Accounts file&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;width:10px; text-align:center;&amp;quot; | * || Generate Trial Balances&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10px; text-align:center;&amp;quot; | * || Generate Financial Statements&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;width:10px; text-align:center;&amp;quot; | * || Check the Currency &amp;amp; Exchange Rate file&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10px; text-align:center;&amp;quot; | * || Edit the Company file &lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;width:10px; text-align:center;&amp;quot; | * || Check if discount and fee gets reflected in the cost and bill&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;width:10px; text-align:center;&amp;quot; | * || Test three basic styles of journals e.g &amp;quot;SIDE BY SIDE&amp;quot; format for Sales invoices, &amp;quot;MAIN ACCOUNT IN THE HEADING&amp;quot; format for Bank Payments, &amp;quot;VERTICAL&amp;quot; format for General journals(JOU).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Jobs =====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 60%; height: 100px; text-align: left ; margin: 1em 1em auto;&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | List of Tasks&lt;br /&gt;
|-&lt;br /&gt;
| * || Create new Job&lt;br /&gt;
|- &lt;br /&gt;
| * || Check Job Look up&lt;br /&gt;
|-&lt;br /&gt;
| * || Copy a job&lt;br /&gt;
|-&lt;br /&gt;
| * || Enter all details&lt;br /&gt;
|- &lt;br /&gt;
| * || Look up for Job Types&lt;br /&gt;
|-&lt;br /&gt;
|   || Use shortcut keys tab/f9/f7&lt;br /&gt;
|- &lt;br /&gt;
| * || Create Estimate&lt;br /&gt;
|-&lt;br /&gt;
| * || Create Purchase Order&lt;br /&gt;
|- &lt;br /&gt;
| * || Generate invoice in Estimates&lt;br /&gt;
|-&lt;br /&gt;
| * || Check invoice gets reflected correctly in Purchase order&lt;br /&gt;
|- &lt;br /&gt;
| * || Enter supplier invoice for Purchase orders&lt;br /&gt;
|-&lt;br /&gt;
| * || Check whether all above changes get reflected in the Job file&lt;br /&gt;
|-&lt;br /&gt;
|   || Create Credit Notes&lt;br /&gt;
|-&lt;br /&gt;
| * || Job printout&lt;br /&gt;
|-&lt;br /&gt;
| * || Purchase Order printout&lt;br /&gt;
|-&lt;br /&gt;
| * || Estimate printout&lt;br /&gt;
|-&lt;br /&gt;
| * || Minutely verify reports to check data consistency&lt;br /&gt;
|-&lt;br /&gt;
|   || Generate &amp;quot;List of Jobs pending estimates&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|   || Generate &amp;quot;List of Jobs with WIP/Accrued Cost&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Timesheets =====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 60%; height: 100px; text-align: left ; margin: 1em 1em auto;&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | List of Tasks&lt;br /&gt;
|-&lt;br /&gt;
| * || Edit the Timesheet Configuration file&lt;br /&gt;
|- &lt;br /&gt;
| * || Edit existing activities in Activity file&lt;br /&gt;
|-&lt;br /&gt;
| * || Create new activities in the Activity file&lt;br /&gt;
|-&lt;br /&gt;
| * || Create a new Timesheet for a user, test each and every field&lt;br /&gt;
|- &lt;br /&gt;
|   || Take Timesheet printouts, test all the options available&lt;br /&gt;
|-&lt;br /&gt;
|   || Test Approval emails according to the users in the Configuration file.&lt;br /&gt;
|- &lt;br /&gt;
| * || Test Reminder emails&lt;br /&gt;
|-&lt;br /&gt;
|   || Generate Timesheet Analysis report using various filters.&lt;br /&gt;
|- &lt;br /&gt;
| * || Generate invoice in Estimates&lt;br /&gt;
|-&lt;br /&gt;
|   || Save the report in Excel and verify the records present.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Login page, Support menu and Help menu =====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 60%; height: 100px; text-align: left ; margin: 1em 1em auto;&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | List of Tasks&lt;br /&gt;
|-&lt;br /&gt;
| * || Reset password from NEOSYS login page and check whether new password is received via email successfully&lt;br /&gt;
|-&lt;br /&gt;
| * || Create a new user in the Authorization File and save it&lt;br /&gt;
|- &lt;br /&gt;
| * || Edit and save the System Configuration File &lt;br /&gt;
|-&lt;br /&gt;
|   || Take a backup of NEOSYS&lt;br /&gt;
|-&lt;br /&gt;
|   || Generate a log report&lt;br /&gt;
|-&lt;br /&gt;
|   || Generate usage statistics report&lt;br /&gt;
|-&lt;br /&gt;
|   || Generate list of database processes&lt;br /&gt;
|-&lt;br /&gt;
|   || Generate list of documents in use while editing any document (eg. schedule file, job file, etc.)&lt;br /&gt;
|-&lt;br /&gt;
| * || Edit and save the User Details page&lt;br /&gt;
|-&lt;br /&gt;
| * || Login as a User group to check all locks/keys are working properly&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ruku</name></author>
	</entry>
</feed>