- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
FortiClient VPN install fails with a nonsensical "FortiClient VPN requires Windows 10 or higher"
There doesn't seem to be any way to report bugs like this so I'll post it here: Installing the free FortiClient VPN under Windows 11 fails with the nonsensical error message "FortiClient VPN requires Windows 10 or higher". This is due to a bug in the installer, it tries to call NetWkstaGetInfo() alongside the more obvious GetVersionEx() and if it fails it bails out with that error message.
What's happening is that GetVersionEx() returns version 602 = Windows 8 while NetWkstaGetInfo() returns version 1000 = Windows 10/11. Since the NetWkstaGetInfo() call has failed and so the version is never updated to 1000, the installer continues while thinking Windows 11 is Windows 8 and bails with the nonsensical error message.
- Labels:
-
FortiClient
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Which FortiClient VPN version?
It seem many community members have installed FCT VPN 7.4.0 on Win11 without such issue.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Version 7.4.0.1658, the latest one. To see the bug, temporarily disable the Workstation service (which will cause NetWkstaGetInfo() to fail) and try installing.
Created on ‎03-03-2025 01:19 PM Edited on ‎03-03-2025 01:49 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Offering an update. I attempted this on W11. Did not take. I'm open to suggestions.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Uhh, I'm not seeing what that has to do with the fact that the FortiClient installer has a bug in its version checking code. Is that the correct link?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello BitFlip. I'm with an IT shop experiencing the same "FortiClient VPN requires Windows 10 or higher" error. We're running Windows 11, with full updates. The version we had the problem with is FortiClientVPNSetup_7.4.0.1658_x64.exe. I believe this is the latest.
This group offered an option to nominate your post into a knowledge base article, so I took it. I hope this catches Fordinet's attention, and they manage to come up with a solve, patch or workaround.
Did anyone here find a viable solution? The web is short on clues. After working the problem, the only solution we could come up with is running a slightly earlier version.
I did try the "temporarily disable the Workstation service" suggested in this thread. No go.
If it is what you said, then Fordinet should simply roll forward with an incremental update, or roll on with the next version, in either case, fixing the bug along the way.
If Fordinet could get involved in the community thread itself, that would be great also.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Temporarily disabling the Workstation service is a means of demonstrating the presence of the bug by causing the NetWkstaGetInfo() call to fail, it doesn't fix it. From memory I worked around it by patching the return value in a debugger, but this isn't a scalable solution - Fortinet needs to fix the bug (actually several bugs) in their software so that it correctly checks the version. GetVersionEx() has been deprecated by Microsoft for a long time, in any case Fortinet is using it incorrectly and identifying Windows 10 or 11 as Windows 8, and then calling NetWkstaGetInfo() which is guaranteed to fail under certain circumstances. The fact that it usually appears to work is because of a series of bugs that cancel each other out most of the time.
The correct, and portable, way to do it is with IsWindows10OrGreater().
