A user of my app has reported the following error (he appears to be using Windows 7):
I use a URLConnection to send a POST request to my website to validate the app’s license key.
If the URLConnection.Error(e As RuntimeException) event is triggered, a MessageBox is displayed with e.ErrorNumber and e.Message
The ErrorNumber is 1968393984. The Message is blank. I cannot find the error number in a Google search nor on the Windows HTTP Errors page, which is suggested as the reference for Windows URLConnection error numbers in the documentation.
Apart from giving the user generic advice, like make sure Windows is up to date, or better yet upgrade to Windows 10, does anyone have any suggestions on what might be the cause of this error or how to troubleshoot it?
I would try building your app with the “Include Runtime DLL’s” switch to on and getting the user to try that. The switch is in the advanced tab of build settings.
Thanks for your response. In the InnoSetup installer for my app, it installs the Visual C++ Windows Runtime Redistributable. That would already achieve the same result as “Include Runtime DLLs”, I think.
You are most likely correct, but I think “Include DDL’s” actually copies the DLL’s to the build folder, while installing the C++ runtime installs it in the OS (which is better) but the users A/V may be blocking that process.
It’s still a guess which I think maybe worth trying. Otherwise @William Yu may chip in or email email@example.com & see what they say.
Ok. Well I might email firstname.lastname@example.org first then. It seems silly to have an error number generated, that can’t be identified anywhere.
Some things I’d check:
- They are using Windows 7 64bit
- They have SP1 installed
- They have the platform update installed from https://www.microsoft.com/en-gb/download/details.aspx?id=36805
- In the urlconnection.error make a call to GetLastError and also display that error number
If all that is ok, see if you can send them a small demo app that just fires off the urlconnection request to see if it errors on its own without the rest of your app’s code
PS. What version of xojo are you building with and is this a 32 or 64 bit app?
Thanks Julian. I am using Xojo version 2019 release 3.1 to build. I will ask the user to give me more information about their system and whether they are using the 32 or 64 bit version of my app and to install the update that you suggest. Jason from email@example.com answered my query - they could not identify the error number either and recommended that I follow Wayne and your suggestions.
Could I just confirm, this is the correct way to call GetLastError:
Declare Function GetLastError Lib “Kernel32” () As Integer
I will implement the changes and post back with the results. Thanks for your help.
Just on my mobile, looks good, UInt32 is dword
It is certainly a curious error code. Microsoft releases an error code lookup tool that unfortunately isn’t too helpful in this case. It identifies that error code as an NTStatus value without any additional details.
The context where this code happens must be analyzed, AFAIK, not all NTStatus is an error. Some can be just some “information” or “warning”. I wonder if this is not some of those “internal” conditions needing being handled by the “low level” Xojo code (like “when this, do that and continue”) and after handled, filtered out of the higher level user sight as it wasn’t really an error. As nobody found it yet, maybe MS should be interrogated about it.
The user finally got back to me. He said that he had “tried everything” and couldn’t get it to work, so had decided to just stick with the previous version of my app (built with Filemaker). He didn’t provide any details about his system or what he had tried, so unfortunately I don’t have any more info to share. Sorry, not a very satisfying ending, I appreciate the advice everyone gave me!