Hi,
Didn't realize I had been uninstalled for a few months.
I saw that V3 was released, so I gave it a shot. I unzipped the installation
files to a new "/SNF" folder. All files were expanded into the same folder
(your zip file had not subfolders!).
Following the instructions I customized the XML files.
I noticed THESE parameters:
<node identity='D:/IMail/declude/SNF/identity.xml'>
<paths>
<log path='D:/IMail/declude/SNF/Log/'/>
<rulebase path='D:/IMail/declude/SNF/Rulebase/'/>
<workspace path='D:/IMail/declude/SNF/Workspace/'/>
</paths>
I'm a believer in keeping different data in their distinct subfolders, so I
set up the /Log, /Rulebase and /Workspace subfolders by hand and updated the
XML file.
The I took a wild guess that SOME files would have to be moved into those
subfolders - but there are NO instructions WHAT files go WHERE for things to
actually work!
I found it annoying that further down in the same XML File was yet another
"path" that was NOT included in the "paths" node in the top of the XML file:
<update-script on-off='on'
call='D:/IMail/declude/SNF/getRulebase.cmd' guard-time='180'/>
Next I had to customize the "getRuleBase.cmd" - because it too does NOT
support the use of the rulebase/workspace paths. Here was yet ANOTHER place
where I had to manually configure the same path information again, as well
as the license key. Needless to say, I'm not a friend of having redundant
path information in several locations as this is an unnecessary source of
error.
Through testing I determined that some more files had to be moved to certain
sub folders for things to work:
UpdateReady.txt -> /Workspace
GBUdbIgnoreList.text -> /Workspace
Your .SNF -> /Rulebase
Then I had to further adapt the "getRuleBase.cmd" because throughout this
procedure, you need to prefix references to the rulebase and the
UpdateReady.* files with the appropriate paths for things to actually work.
At this point, I'm still no clear where the mingwm10.dll, exchndl.dll and
AuthenticationProtocol.swf need to reside! I didn't move them, but I'm not
sure if that creates a problem down the road.
Here are my suggestions:
a) Snf_engine.xml should have one "ApplPath" parameter where I can just
define 'D:/IMail/declude/SNF'. Unless I OVERRIDE any of the other paths, it
should know the that by default the other "paths" are all assumed to be
below the ApplPath and no extra parameters are necessary:
identity.xml
getRulebase.cmd
Log/
Rulebase/
Workspace/
b) There should be a simple command line utility (e.g., "SNFClient.exe
-Paths") to automatically create Environment Variables for the paths. This
way, this command can just be included at the beginning of the getRuleBase
script and one doesn't have to manually hardcode those same paths into yet
another location.
PS: Here is my corrected version of the getRuleBase CMD file that looks for
the files in the correct subfolders:
@ECHO OFF
SETLOCAL
REM ----- Edit This Section --------
SET SNIFFER_PATH=D:\IMail\declude\SNF
SET RULEBASE_PATH=%SNIFFER_PATH%\Rulebase
SET WORKSPACE_PATH=%SNIFFER_PATH%\Workspace
SET AUTHENTICATION=authenticationxx
SET LICENSE_ID=licenseid
REM --------------------------------
CD /d %SNIFFER_PATH%
if not exist %WORKSPACE_PATH%\UpdateReady.txt GOTO DONE
REM The next line may cause trouble if your system stops while this
REM script is running. It is not needed when this script is run
REM from SNF's <update-script/> feature since only one copy will run
REM at a time. However, if you are going to run a version of this
REM script as a scheduled task you will want to uncomment the next
REM line to make sure only one copy runs at a time-- just be sure to
REM clean out any stale .lck files after a restart.
REM if exist %WORKSPACE_PATH%\UpdateReady.lck GOTO DONE
:DOWNLOAD
COPY %WORKSPACE_PATH%\UpdateReady.txt %WORKSPACE_PATH%\UpdateReady.lck
wget http://www.sortmonster.net/Sniffer/Updates/%LICENSE_ID%.snf -O
%RULEBASE_PATH%\%LICENSE_ID%.new.gz --header=Accept-Encoding:gzip
--http-user=sniffer --http-passwd=ki11sp8m
if exist %RULEBASE_PATH%\%LICENSE_ID%.new.gz gzip -d -f
%RULEBASE_PATH%\%LICENSE_ID%.new.gz
snf2check.exe %RULEBASE_PATH%\%LICENSE_ID%.new %AUTHENTICATION%
if errorlevel 1 goto CLEANUP
if exist %RULEBASE_PATH%\%LICENSE_ID%.old del
%RULEBASE_PATH%\%LICENSE_ID%.old
rename %RULEBASE_PATH%\%LICENSE_ID%.snf %LICENSE_ID%.old
rename %RULEBASE_PATH%\%LICENSE_ID%.new %LICENSE_ID%.snf
if exist %WORKSPACE_PATH%\UpdateReady.txt del
%WORKSPACE_PATH%\UpdateReady.txt
if exist %WORKSPACE_PATH%\UpdateReady.lck del
%WORKSPACE_PATH%\UpdateReady.lck
:CLEANUP
if exist %RULEBASE_PATH%\%LICENSE_ID%.new del
%RULEBASE_PATH%\%LICENSE_ID%.new
if exist %WORKSPACE_PATH%\UpdateReady.lck del
%WORKSPACE_PATH%\UpdateReady.lck
:DONE
ENDLOCAL
Best Regards
Andy Schmidt
Phone: +1 201 934-3414 x20 (Business)
Fax: +1 201 934-9206