Extender version is outdated

Started by scoutt, April 15, 2024, 07:10:22 AM

Previous topic - Next topic

scoutt

So I have 2021D both program and compiler and I needed to update some legacy code to update some Active Directory paths and we are migrating domains. I did that, I have addextender for wwwnt64i.dll in the code. When I compiled it for 64bit and go to run it, it tells me:

"AddExtender version is outdated: need newer version of extender"

We didn't upgrade OS's so why is it all of a sudden outdated? How do I go about getting it upgraded.  It's the only application that we have left on Winbatch so not looking to spend any money.

td

64-bit WinBatch became Large Address Aware with version 2018B. For that to work some extenders require re-coding and recompiling to work with 64-bit WinBatch. In the case of "wwwnt64i" you need at least version 39025. You likely need to use a newer version of the extender.
"No one who sees a peregrine falcon fly can ever forget the beauty and thrill of that flight."
  - Dr. Tom Cade

scoutt

That's just it, we have compiled 64bit with this version before back in 2021, it has worked ever since. Why can't I recompile with the same version now? Where do I get that version of the DLL? Shouldn't it be part of my package?

td

You need to check the extender version. It has happened more than a few times that users think they are using the same version of an extender or compiler from some time in the past but later find out they are not.

If you don't have at least version 39025 of the extender, you can download the latest version by clicking the Download button at the top of this forum. Scroll down the page to find the extender.

Also, make sure you are using the version of the compiler that you think you are using.
"No one who sees a peregrine falcon fly can ever forget the beauty and thrill of that flight."
  - Dr. Tom Cade

scoutt

Thank you, I finally found one that was 5 years newer on our system, it now works. I made sure I updated all of the older ones with the newer one. I inherited this project from a retire, so all is good now.

scoutt

One thing I am noticing is when I compile the program, it is a lot smaller than original currently running. I made it large exe and have that dll in the extenders box. Its almost like it is not adding the file to the compiled exe. If I put that dll in the same directory of the program it runs fine, when I remove it I get the error. The DLL is in the same directory as the wbt file when I compile. The code it not linking to some directory either:

AddExtender("WWWNT64i.DLL") ;Used for WntRemoteTime

Thoughts?

td

The compiled exe extracts extenders to the location of the exe. You need to confirm that you are selecting the extender "Select Extenders" dialog and the extender appears on the left-hand side list after selection. The exe size difference indicates that you have not properly selected the extender.
"No one who sees a peregrine falcon fly can ever forget the beauty and thrill of that flight."
  - Dr. Tom Cade

scoutt

Is this not how to select them?
You cannot view this attachment.

td

Check to make sure you don't have "Skip auto-extraction..." checked in the Modify Settings dialog.

The "Select Extenders" dialog should look something like the following:

"No one who sees a peregrine falcon fly can ever forget the beauty and thrill of that flight."
  - Dr. Tom Cade

scoutt

I don't have as many extenders as you do but yes, it looks exactly like that. I verified it does not have the checkbox checked.  Compiled and it is still 314K smaller then current one in production. Almost the exact size of that DLL.

td

No one ever reported an extender extraction or addition problem with your version. Extender addition to and extraction from the exe works with the current version. The only extraction problem addressed since your version involved "Other files..." and produced an error message. It did not involve adding files to the exe.

You might consider attempting to run your exe from a clean folder making sure the user account running the exe has read+write access to the folder.
"No one who sees a peregrine falcon fly can ever forget the beauty and thrill of that flight."
  - Dr. Tom Cade

scoutt

I agree, In fact I last used this same software to make a small change on 9/2021 and it worked great, so I am not sure what changed. This is a new login to a desktop on our new domain so everything is new, we are also admin on the boxes. The noticing factor for me is the file is smaller so I know that the extender is not in there.

Should I uninstall and reinstall Winbatch?

td

An uninstall and reinstall is worth a try. Make sure you have copies of any extender zip files of extenders you are currently using. You will not be able to install any extender versions that have been released after the expiry of your current WinBatch+Compiler version.
"No one who sees a peregrine falcon fly can ever forget the beauty and thrill of that flight."
  - Dr. Tom Cade

scoutt

So I re-installed and that did nothing. Still showing the extender is outdated. I did compile without the dll and it was much smaller. I then compiled it with the dll added and it did seem to add it, but still have same error. How do I get "select Extenders" list to populate? I mean I seen I am also doing a "AddExtender" in code for wwads64i.dll in the code but it is not in the list to select. It does look like it is in a sub-routine, will that make a difference?


scoutt

I found the setup for wwads64i.dll and installed it. I now have that in my list. I did the same for the wwwnt64i.dll but it still states it needs updated when it is ran

td

You need to check the version of the extender dll that is extracted to the exe directory (folder). You will likely find that it is not to old to work with your version of 64-bit WinBatch.
"No one who sees a peregrine falcon fly can ever forget the beauty and thrill of that flight."
  - Dr. Tom Cade

scoutt

That's just it, nothing gets extracted, but wbdud64i.dll. I did fix it, well a work-a-around to me, but I put the dll on the network and gave the AddExtender the full path to it. It now works without errors.

td

Apparently, the line that reads "it still states it needs updated when it is ran" means something different to you than it does to me.
"No one who sees a peregrine falcon fly can ever forget the beauty and thrill of that flight."
  - Dr. Tom Cade

scoutt

I was hoping that running the extender setup would correct a setting or two but it didn't do anything.

If I just have this

AddExtender("WWWNT64i.DLL") ;

It gives the error, but if I give it the path

AddExtender("\\path\to\dll\WWWNT64i.DLL") ;

It works just fine, no error. Same exact version of DLL both ways.