Bug #1998

Windows build of v4.1 not working on Windows 7

Added by Chris Cannam 7 months ago. Updated 5 months ago.

Status:ClosedStart date:2020-07-05
Priority:NormalDue date:
Assignee:-% Done:


Target version:-


From report:

"I have just tried to install and it failed with V4.1 with .msi installer
On Windows 7 with 64 bit install
Sonic Visualiser V4.1 api-ms-win-core-libraryloader-l1-2-0.dll missing
sonic Visualiser V4.0.1 OK and working

Install V4.01 then V4.1 still missing dll so uninstall and install V4.0.1 needed to get it working"


#1 Updated by Chris Cannam 6 months ago

Right, I think this is fixed by 1799e90689b5.

The problem was that the new code in 4.1 to detect whether the user is requesting light or dark backgrounds depends on WinRT, introduced with Windows 8. It's our only WinRT dependency.

To use it in a Win10 setting without requiring it on Win7, we have to put the code that makes these calls into its own tiny DLL so that the main Sonic Visualiser binary doesn't need WinRT itself. (Or we could introduce another helper, but this is slightly simpler since it's just one call and we don't want to make it asynchronous.) We build two versions of that DLL, one with the WinRT code in it and the other with stubs that just return "don't know" results. Then in the installer we introduce a pair of file installs to that DLL target, conditional on VersionNT64 >= 603 and VersionNT64 < 603 respectively, which install the WinRT version on Win10 and the stub version on Win7.

#2 Updated by Chris Cannam 5 months ago

  • Status changed from New to Closed

Also available in: Atom PDF