Web Connection
Missing DLLs in Deploy folder when running COM mode.
Gravatar is a globally recognized avatar based on your email address. Missing DLLs in Deploy folder when running COM mode.
  Mike McDonald
  All
  Feb 22, 2019 @ 09:51pm

Rick -

A while back I installed Web Connection (7.0 initially, then 7.02) on a development system and have been working with a new project, using File Mode with the .NET Handler module. After I got things to a certain point, I tried switching to COM mode through the admin page. Hitting the site then returned an error message about "Cannot load 32-bit DLL wwIPStuff.dll" (and this page was wrapped in the _admintemplate.html template, with the 'Admin' link displayed).

I figured out that I needed to copy the DLLs over from \WConnect to my \Deploy folder, but it seems like those should be copied over by default to avoid this issue.

In file mode, the VFP path includes \WConnnect and the \Tools and \Classes subfolders (so it finds the DLLs), but in COM mode, the path is just the Deploy folder. Nothing in my default project is calling SetPaths.prg (should it be?).

I checked out the Build.bat file (which would copy the DLLs), but that seems to be something used when deploying to a live system, and I was just wanting to check out COM mode on my development system.

Anyway, I've got this working by copying over the DLLs, but this seems to be an unnecessary stumbling block for new users, or really any new project. Maybe something failed when setting up my project with the Management Console?

- Mike McDonald

Gravatar is a globally recognized avatar based on your email address. re: Missing DLLs in Deploy folder when running COM mode.
  Rick Strahl
  Mike McDonald
  Feb 23, 2019 @ 10:39pm

This is a known issue and a trade off between the folder based project approach and the old way where everything was generated into the Web Connection install folder.

As you point out the issue is that when running in COM mode the server won't look in the same folders that the IDE looks because it's not loading the config.fpw.

There are two solutions:

  • Copy the DLLs from the Web Connection install folder into the deploy folder
  • Compile the config.fpw into the EXE

The latter will fix the problem but it's also non-obvious and may not be what you want when the server is deployed.

I don't have a good answer for this other than perhaps updating the documentation, although I doubt that people will actually read that anyway before trying this the first time 😃

I suppose Web Connection could check and try to ensure that at least wwipstuff.dll is present when the app starts, but unfortunately there's no way to actually communicate that except an error page.

I've also updated the docs:

COM Server Configuration

+++ Rick ---

Gravatar is a globally recognized avatar based on your email address. re: Missing DLLs in Deploy folder when running COM mode.
  Mike McDonald
  Rick Strahl
  Mar 6, 2019 @ 06:02pm

Rick -

I read about the recent changes to how the New Project Wizard will now copy the DLLs to the Deploy folder, and the updated documentation page for COM Server Configuration which mentions updating the DLLs files after a new version is released and downloaded..

copy c:\wconnect\*.dll .\

However, there are also the wc.dll and WebConnectionModule.dll files in \wconnect\Web\bin which would need to be copied over to (myProject)\Web\bin after a version update.

In your emails announcing a new version, there is always include a link to the "What's New" documentation page, and I imagine most people who do the update will at least read that page. You might consider adding something at the top of (or somewhere on) the "What's New" page which mentions updating the DLL files, possibly a small highlighted section linking to a new documentation page which briefly describes updating the DLL files in both the \Deploy and the \Web\bin folders.

I always read the "What's New" page, and unzip the updated version, but then don't generally think about the DLL files until I happen to notice an older version number show up on the ModuleAdministration.wc page.

Is it feasible to show the version numbers of a few (West Wind) DLL files on one of the admin pages, from both the \Deploy and \Web\bin folders? That would also be a clue to users that their files are not all up to date.

- Mike McDonald

Gravatar is a globally recognized avatar based on your email address. re: Missing DLLs in Deploy folder when running COM mode.
  Mike McDonald
  Rick Strahl
  Mar 6, 2019 @ 07:09pm

Rick -

As to what should be updated there's a topic in the Help File:

Ah yes, that is a very informative, detailed description about what needs to be done when updating to a new version. I've seen that before, but it has been a while.

It might be helpful to some people if that page was linked somewhere on the "What's New" page, or included in the update email.

- Mike McDonald

© 1996-2019