FPCOUNT - An ISAPI-based Hit Counter Replacement for FrontPage
(Back to Main)
FrontPage's built-in hit counter for Windows is still inexplicably a CGI (*.EXE) application instead of an ISAPI application. This causes serious problems if you use a tool like URLSCAN to block *.EXE files from executing. With that in mind, I built an ISAPI replacement that works on IIS for Windows, and FrontPage doesn't even realize that a switch has been made.
Click here to download the file.
This ISAPI-based version consists of two parts:
- An ISAPI filter (fpcntexe.dll) that modifies inbound fpcount.exe requests to fpcount.dll
- An ISAPI extension (fpcount.dll) that functions in place of the CGI-based fpcount.exe counter
NOTE - This uses source code from Hit Counter sample that was provided in the FrontPage 97 Software Development Kit (SDK), therefore portions of this ISAPI filter contain the following copyright:
Copyright (c) 1996 Vermeer Technologies, Inc., a wholly owned subsidiary of Microsoft Corp. All Rights Reserved
To implement the ISAPI counter, you need to do the following:
On IIS 5.0 and 5.1:
- Browse to the following folder using Windows Explorer:
%CommonProgramFiles%\Microsoft Shared\web server extensions\50\isapi
- Copy the "fpcount.dll" into to the folder.
- Rename the existing "fpcount.exe" file in that folder to "fpcount.old".
- Copy the "fpcntexe.dll" to your INETSRV folder.
- Add "fpcntexe.dll" as an ISAPI filter in the Internet Services Manager.
NOTE - If you are running something like URLSCAN that blocks .EXE files from being browsed, you will need to raise the priority of fpcntexe.dll so that it has a chance to process requests first.
- Recycle IIS.
On IIS 6.0:
- Perform all the same steps from for IIS 5.0 and 5.1.
- Open the Internet Services Manager and bring up the properties for the Web Service Extension named "FrontPage Server Extensions 2002".
- Add the "fpcount.dll" file to the Web Service Extension.
NOTE - This step allows the ISAPI-based counter to work, otherwise by default it would be blocked from executing by IIS.
- Recycle IIS.
|