Open softworkz opened 6 years ago
A number of users have copied the dlls from a Windows 10 installation.
But there's a better way to get the "right" dlls for the server version:
I wonder if we could also just compile ffmpeg for windows with all dependencies self-contained.
There is a msvfw32.lib but it is just a stub for dynamic linking to msvfw32.dll and suspect that it is similar for avicaps32. I guess, the reason is that these libraries are platform specific.
So no, we won't be able to compile this into ffmpeg, but in theory it might be possible to compile an ffmpeg version without these dependencies since we don't care about audio/video capabilities of the system we're running on. But I would need to investigate if this is high or low effort.
One more note about the Skia installation:
I don't know why we stopped distributing the ImageMagick dlls. ImageMagick wouldn't require all those dlls like Skia, but: We would need to install the VC++ 2013 Runtime additionally (full package including MP stuff).
Again: All those runtimes could be merged into a single MSI package that could be installed silently.
One more note: An MSI based setup for installing the runtimes would also solve the problem of #3027
Should we do anything here?
Yes. All those and even a few more more issues could be addressed all at once with a single strike (MSI setup). Namely:
Did I forget anything?
This is a wrap-up of all the things learned so far about problems when emby is installed on a Windows Server Core 2016.
Setup
This is to simplify the dll checking that will be required. I wouldn't expect this to happen anyway, but in this post it is being talked about 32bit dlls...
Check and fix missing DLLs
The following dlls are required for ffmpeg:
(crtdll and the mui resource files are not required)
And these dlls are required for SkiaSharp:
The last two dlls are installed with the VC++ 2015 runtime. They can only be used to check for successful installation of the VC runtime, they cannot be installed just by copying (a lot of side-by-side binaries with appropriate policies need to be intalled)
For all other dlls it is sufficient to copy them into the System32 folder.
Implementation
Having the emby setup do that would be nice, but I don't think that this is going to happen ;-)
But I think we should do two things at least: