On various occasions I’ve gotten questions regarding how to figure out what version of Web Connection is running on the server. ‘Web Connection’ has several components so the version numbers may be separate and while it’s not absolutely critical that all components are on the same versions it’s a good idea to keep them in sync.
Web Connection has three different connector versions:
- Web Connection .NET Module (recommended for IIS 7 and later)
- Web Connection ISAPI Module
- Web Connection Apache Plug in
For most applications I’d recommend using the .NET module as it has the most features and is the most reliable, especially when running under COM since it has a high performance managed threadpool for managing the COM instances.
Each of these components has their own signature, but there are several ways you can check for versions:
- Check the actual DLLs
- Check the Status Form after a Request
- Check the Admin ISAPI Admin Form
Check the actual DLLs
The DLLs are stamped with a Version attribute that indicates the actual version. To check the version you can right click the file and use Properties | File Details to get to the embedded resource data that’ll contain the version number. The .NET module and ISAPI modules are updated regularly. You can find the version numbers in either dll right clicking and using File | Details:
Check Web Connection Status After a Request was fired
This is a good way to see if you’re getting the right DLL file. It’s also a good place to check the wcConfig path, which will tell you which configuration is being read which indirectly also tells you where the DLL lives (in the same folder for wc.dll or the bin folder for webconnectionmodule.dll).
Check the Web Connection Module Administration Page
The Web Connection Module page also shows the full version of the active DLL. The module screens looks slightly different depending which version of the DLL you are running – the .NET Module or the ISAPI component. But both contain the version number and status information. For the module it looks like this:
For the ISAPI page the DLL version shows (ISAPI) in parenthesis instead.
FoxPro Server Version
Note that the Module page also displays the compiled server’s EXE version number. This is useful to let you know what version your own code is. Note this is only avaiable with the module and not with the ISAPI component.
FoxPro Code Versions
To figure out the Web Connection code versions you can easily check the version number in wconnect.h. The version number in there shows up like this:
#DEFINE WWVERSION "Version 5.69" #DEFINE WWVERSION_NUMBER 5.69 #DEFINE WWVERSIONDATE "September 26th, 2014"
This is the only FoxPro code based version that Web Connection provides – individual components are not versioned directly, so if you make changes to any of the Web Connection code these version numbers may not be accurate.
Keeping Versions Straight
These days I get a lot of email in regards to old versions that still float around and lots of people are asking what versions they are running and how various components can interact and work with newer version framework code.
The short answer is that the update from .NET 4.x to 5.x is not major, but does require some changes. Updates from Version 5.0 to 5.50+ is almost seamless. There are very few changes on the latter upgrade path.
Smaller version changes are generally just small maintenance releases and I would recommend that from time to time you update to the latest version just to keep up to date. Newer versions tend to fix reported bugs, improve performance for some operations and are maintained for security and other critical changes that might be required. It’s probably not necessary to update to every new version that comes along but I suggest that at least once or twice a year you update your code to the latest. Partial version updates are free (5.50+ versions) and it’s a good idea to keep your code up to date to minimize future update pain. It’s easier to fix one or two minor items at a time, the 20.
I hope this addresses some of the questions that have come my way regarding versioning and on how to best keep your Web Connection version up to date.