Forum Discussion
Is there a way to allow loading dlls from a non-trivial path in MSIX?
kerenor You didn't mention how the app is created.
If you are the developer, there are developer APIs to add folders to the dll loading list at runtime, such as "SetCurrentDirectory".
If you are not a developer, the AppXManifest has a package level extension called LoaderSearchorder which can be used to define static folders to add. If the dlls are contained within the package, you can also try one of the following:
- Package Support Framework (PSF) DynamicLibraryFixup
- Copy the dlls to the VFS\SystemX86 or VFS\SysWow64 folders in the package before creating it.
TIMOTHY_MANGAN Thanks for your response!
The dlls are not contained within the package, they are in some arbitrary path outside (specifically C:\gstreamer\1.0\msvc_x86_64\bin.) I will probably be able to get the development teams to add that directory in development, but I'm also curious to learn more about the LoaderSearchorder extension.
In the documentation I couldn't find it - I found https://learn.microsoft.com/en-us/uwp/schemas/appxpackage/uapmanifestschema/element-uap6-loadersearchpathoverride and https://learn.microsoft.com/en-us/uwp/schemas/appxpackage/uapmanifestschema/element-uap6-loadersearchpathentry, and both of them are relative to the app package root path which is not what I need (unless I'd do something like "..\..\..\..\gstreamer\1.0\msvc_x86_64\bin" ... which seems like not the greatest practice).
If you have reference to LoaderSearchorder that would be of great help
Thanks!
- Feb 04, 2024Here is the reference from the schema:
https://learn.microsoft.com/en-us/uwp/schemas/appxpackage/uapmanifestschema/element-uap6-loadersearchpathoverride
Paths added must be relative paths; part of the package.