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