LMTOOLS "Windows preferred path c:\Program Files" error
January 27, 2020
A few clients, have come across this error in more recent versions of LMTOOLS (since 11.13.x) where when configuring the Service an error message pops up stating Windows preferred path
And may also be accompanied by this warning message in the status bar when trying to start the service:
VD is starting, please check vendor daemon's status in debug log
As a result, the service fails to start. The artwork.exe vendor daemon file is not running in Task Manager and the server status inquiry shows that the license manager is not running. Subsequently, there may not be a debug.log file created or the log file contains little to no data.
Reason: As it turns out, recent changes to the LMTOOLS permissions when creating the service have attributed to this error. It is also more likely to occur when using Windows Server 2012/2016, which has much more strict permissions constraints than client OS machines or Windows Server 2008. As a result of this change, the service is created with LocalService rights rather than LocalSystem, as it has been in the past. This minor change in permissions is enough to prevent your license manager from starting properly. This is why LMTOOLS has recently defaulted the location for the debug.log file to the C:\ProgramData folder because that is where LocalService has its write privileges.
Work-Around: As it turns out, many of us do not prefer the debug.log file to be in some random hidden folder used by the operating system. However, since the LocalService doesn't have the same write privileges as LocalSystem or your own administrative group user, you will often run into one of these errors and your NLM simply will not start. Whereas I suspect you could simply change the Log On properties to LocalService, I prefer a much easier solution.
1. Create a new folder in the root of C:\ called C:\FlexLM and copy all of your license manager files (lmgrd.exe, lmtools.exe, lmutil.exe, artwork.exe, license.dat) into this folder. Note: Since recent releases of FlexLM, the default location of C:\Program Files has been changed due to the restrictive permissions of recent Windows Server Operating Systems. It is now best practice to install in a root directory of your choosing. If you do choose to keep it under Program Files, then the following steps will still apply.
2. Right-click the folder and choose Properties from the context menu. In the folder properties, choose the Security tab and then click the Edit... button to change permissions.
3. In the Permissions properties window, click the Add... button. In the next window, type Everyone into the object names box, then click Check Names to verify. Then click OK to continue.
4. On the Permissions window, Everyone should now be listed under Group or user names. Make sure it selected and then check the box for Full control under Permissions. Click OK and then OK again to close all property windows.
Download VC Redistributable 2015 Libraries from Microsoft
If the issue persists, you should also install the 2015 VC Redistributable libraries from Microsoft.
These libraries are needed for Flexlm 11.14 and up.