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.* .
Is the DLL name always the same as the exe?
+++ Rick ---
Rick, yes dll name is same as exe. - RVB
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 ---
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
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 ---
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
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 ---