Prusa Slicer 2.7+ wifi feature breaks windows server installs of Prusa software due to wlanapi.dll dependency.
Issue:
Prusa-Slicer 2.7.0 alpha1 through to at least 2.7.1 will not run on any Windows Server product I tested.
Prusa-Slicer 2.6.1+win64 and earlier work great on Windows Server products, even through remote desktop and RDP. The issue first appears in 2.7.0 alpha1.
Symptoms:
Prusa gcode viewer, prusa-slicer or prusa-slicer-console will not start when run.
"PrusaSlicer.dll was not loaded" is the message you get if you attempt to use the console version of the slicer. PrusaSlicer and the gcode viewer do not give any error messages when they fail to start, but it is likely a safe assumption to assume its the same root issue.
Suspected/Confirmed cause based on my testing:
The problem appears to be a dependency on the computer having the Microsoft wlanapi.dll installed. This is a library for wireless services which are not installed on any Microsoft Server product. It makes sense for this library to be excluded from the server operating system install since it would be an odd situation for a Windows Server to be setup with WiFi networking. In theory it could also be absent from a workstation install if one was seeking to keep the install minimal and maximize security.
While there is no error message when Prusa-Slicer fails to run under Windows Server 2019, on Windows Server 2012R2 a helpful error message appears: "The program can't start because wlanapi.dll is missing from your computer. Try reinstalling the program to fix the problem."
On Windows Server 2019, when a copy of wlanapi.dll and related files were placed in the prusa executable directory to test if prusa-slicer is attempting to load the missing dll, it confirmed the dependency error we saw in 2012R2 with the erorr message: "wlanapi.dll is either not designed to run on Windows or it contains an error.."
Kludge non-solution:
None yet. I could not find any Microsoft supported patch/method to properly install wlanapi.dll on the server. (tbh, I don't want to install wifi dlls on a machine with no wifi functionality, so I didn't look very hard.)
It is *highly* advisable *not* to install wlanapi.dll downloaded from any source other than Microsoft for server security reasons.
Preferred solution:
PrusaSlicer.dll and the application be updated to not require wlanapi.dll to start or function.
Until fixed:
Windows Server installs, and workstations with the wifi removed, should stick with PrusaSlicer 2.6.1. I would strongly suggest making a note on the download page to use PursaSlicer 2.6.1 if using Windows Server products (unless issue gets fixed). If this is going to be a persistent issue I would suggest modifying the update program to check if the software version being updated too is supported by the OS before running the update and ruining the install.
I hope this saves someone else being frustrated by this, and I hope it is helpful to the Prusa software team.
-David
RE: Prusa Slicer 2.7+ wifi feature breaks windows server installs of Prusa software due to wlanapi.dll dependency.
Weird that the slicer should want a wireless DLL as that is the job of the OS, not an app.. Could be there is something else at play. To test the theory you could get a USB wireless device and then have your server install the basic drivers which should include that DLL. You can then remove the wireless device as you don’t want that service, but the DLL should be there for use. However, I can’t really see that being the issue. Now I’m not sure if your servers are “production” types and you don’t want just anything installed on them.
RE: Prusa Slicer 2.7+ wifi feature breaks windows server installs of Prusa software due to wlanapi.dll dependency.
The wireless dll is part of the OS. They use it for things like listing the SSIDs. With notepad you can open their DLL and see the references to it.
You are probably correct one could get the dll installed if they enabled the wireless service on the server, but testing needs to be someone else as I am only using virtualized servers, do not have USB wifi dongles and wouldn't want to mess with setting usb wifi dongles in a cloud/virtualized setting where it makes no sense. If someone encounters this problem and needs a current version of the slicer it is a good suggestion that they figure out how to enable the wireless services on their server/workstation as I bet that would get them up and running with 2.7.0+ versions of PrusaSlicer.
However, microsoft wireless service is not part of the default install for any version of Windows Server so very few server installs/upgrades are likely to succeed by default, and there is no warning or instruction for a workaround from the Prusa installer/updater. The user will naively install, or upgrade, and then find themselves with a PrusaSlicer which will not run, and no explanation why unless they manage to find posts like ours.
My post was mainly intended to save anyone encountering the same problem the hassle and time of trying to figure out what is wrong, and what version to roll back to, assuming they happen to search the forums. I would have submitted a bug report as well, but it looked like I needed to have a github account to do that, which I do not.
RE: Prusa Slicer 2.7+ wifi feature breaks windows server installs of Prusa software due to wlanapi.dll dependency.
This should be reported as GitHub issue https://github.com/prusa3d/PrusaSlicer
Also notice that PrusaSlicr do not mention any Windows Server as supported operating system.
Still, great finding.
See my GitHub and printables.com for some 3d stuff that you may like.
RE: Prusa Slicer 2.7+ wifi feature breaks windows server installs of Prusa software due to wlanapi.dll dependency.
Posted an issue to github link you provided. Thanks.
RE: Prusa Slicer 2.7+ wifi feature breaks windows server installs of Prusa software due to wlanapi.dll dependency.
Related GitHUB entry:
Win Server 2019 2.7 does not run · Issue #11790 · prusa3d/PrusaSlicer (github.com)
And post today indicates fixed in next release:
FidelCapo commented 3 hours ago
This issue should be fixed and the fix will be part of the next release.Closing.