West Wind Application Configuration
VFP C++ Compiler and WW Hotswapping
Gravatar is a globally recognized avatar based on your email address. VFP C++ Compiler and WW Hotswapping
  RVBoy
  All
  Jul 29, 2020 @ 12:34pm

Change Request:

The VFP C++ Compiler product converts a VFP project into a C++ dll containing most of the code, and a skeleton exe that calls the dll. Therefore to distribute your compiled result you need to supply both the exe and the dll.

This CR relates to the WW "Hotswapping" feature that allows upload of a replacement WW exe followed by an automated "swap" to replace the old exe with the new. To use this feature for a VFP C++ compiled app, you would need to upload the dll as well as the exe, and then swap the dll as well as the exe.

CR hopefully self-explanatory, though one option is to use the existing zip upload to upload a zipfile containing both myapp_update.exe and myapp_update.dll, then rename myapp_update.dll to myupdate.dll or even myapp_update.* to myupdate.* .

Gravatar is a globally recognized avatar based on your email address. re: VFP C++ Compiler and WW Hotswapping
  Rick Strahl
  RVBoy
  Jul 29, 2020 @ 02:44pm

Is the DLL name always the same as the exe?

+++ Rick ---

Gravatar is a globally recognized avatar based on your email address. re: VFP C++ Compiler and WW Hotswapping
  RVBoy
  Rick Strahl
  Jul 29, 2020 @ 04:23pm

Rick, yes dll name is same as exe. - RVB

Gravatar is a globally recognized avatar based on your email address. re: VFP C++ Compiler and WW Hotswapping
  Rick Strahl
  RVBoy
  Jul 29, 2020 @ 05:42pm

Ok...

Give this a try:

https://west-wind.com/files/WebConnectionExperimental.zip

This zip includes updated Web Connection .NET Module and Web Connection Web Server (.NET Core).

Note: This requires the latest version of Web Connection to work (7.13) in COM mode as it uses the binary messaging mode. This will work in file mode for older versions but not in COM.

You can now upload both an .exe and .dll (exactly 1 or 2 files) using the single File form variable name.

If you use the Admin page UI you can now pick multiple files and you can then pick both the EXE and the DLL.

If you're uploading with the bld_YourApp.prg script, you'll want to add an additional .AddPostKey() line into the script file:

*** Upload the exe
loHttp.AddPostKey("File",FULLPATH(EXE_FILE + ".exe"),.T.)

*** Upload the dll too
IF (FILE(FULLPATH(EXE_FILE + ".dll")))
      loHttp.AddPostKey("File",FULLPATH(EXE_FILE + ".dll"),.T.)
ENDIF

+++ Rick ---

Gravatar is a globally recognized avatar based on your email address. re: VFP C++ Compiler and WW Hotswapping
  RVBoy
  Rick Strahl
  Jul 29, 2020 @ 08:47pm

Thanks Rick, will give it a go and report back ? tomorrow.. - RVB

Gravatar is a globally recognized avatar based on your email address. re: VFP C++ Compiler and WW Hotswapping
  RVBoy
  RVBoy
  Jul 29, 2020 @ 10:41pm

Rick,

  • Unzipped WebConnectionModule.dll to web\bin;

  • Unzipped wwDotNetBridge.dll to deploy.

  • Restarted IIS.

  • Site not using WW7.13, so File mode.

  • Navigate to site/admin/admin.aspx: Select Upload Server exe (.NET Handler): File select dialog shows.

  • Able to select one exe, not multiselect. Selecting the dll causes a "Can't find exe" error.

Presuming I did something wrong? Site is under IIS so I did not deploy WebConnectionWebServer.

Regards, RVB

Gravatar is a globally recognized avatar based on your email address. re: VFP C++ Compiler and WW Hotswapping
  Rick Strahl
  RVBoy
  Jul 30, 2020 @ 02:20pm

If you're not seeing the multiple files to download you're not using hte latest.

What does the version on the Admin page say? It should be 7.14.6 or something like that.

+++ Rick ---

Gravatar is a globally recognized avatar based on your email address. re: VFP C++ Compiler and WW Hotswapping
  RVBoy
  Rick Strahl
  Jul 30, 2020 @ 04:10pm

Rick, Web Connection DLL Version: Web Connection Handler 7.14.8 (.NET Handler)

Web Connection Version: Version 6.21 - June 15th, 2018

Re updating to V7.14: no issue for me but after months transferring some regrettably munged antique V4.x sites to standard V6, there's not much tech appetite to update now... not a huge deal, the upload is a nice feature but not end of world.

I might update anyway to see what you did with script parsing; we found V6.2's ConvertASPToVFPCode() can generate over-long lines and we overrode to minimize TRANSFORM(EVALUATE()) constructs... guessing you'll have done stuff along similar lines. - J

Gravatar is a globally recognized avatar based on your email address. re: VFP C++ Compiler and WW Hotswapping
  Rick Strahl
  RVBoy
  Jul 30, 2020 @ 04:28pm

I'm not sure what you're saying. Are you saying it's working or not??? The first message you were describing behavior not working, now I'm not sure what you're saying. As I said, file mode works as it always has but COM mode (for .NET) has changed in how it calls the FoxPro server which will break in older versions (still works with ISAPI since that's not been and won't be updated).

FWIW, upgrading from Web Connection v6 to v7 is a much smaller update than the migration from 4.x to 6. Between 4 and 5 there were some major structural changes in the framework (moving to TRY/CATCH error handling, new routing, and Process class flow). Since 6.0 most of the changes have been on infrastructure, so very little in the way of breaking changes in the Web Connection engine and API code. Moving to 7.x is probably not a big job. You can look through the breaking change list in the What's new topic in the docs.

+++ Rick ---

Gravatar is a globally recognized avatar based on your email address. re: VFP C++ Compiler and WW Hotswapping
  RVBoy
  Rick Strahl
  Jul 30, 2020 @ 04:49pm

Results using File mode are as stated. You asked for version; provided. Happy to leave it there if I'm being confusing.

© 1996-2020