microsoft / microsoft/msix-packaging

Can't load external DLLs from MSIX packed application

Open
#497 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Area-MSIX Question
Dominant language
C
Stars
1.1k
Forks
193
Avg merge
2h 16m
Merged PRs (30d)
2

Description

What works in normal desktop application

When we try to load a dll from a normal desktop application the system automatically checks the directories specified in the environment variable "PATH" and finally, the dll is found. E.g. we are using NVidia CUDA dlls this way.

What doesn't work when application is packed into MSIX?

When we pack this application into MSIX the dlls can't be found any more, because the packed application doesn't check the folders specified in the environment variable "PATH".

In some cases a workaround would be to load the dll dynamically from code, but it only works when the dll has no dependencies. Otherwise the loaded dll is not able to find it's dependecies.

What's the recommended approach to load the dlls to which path is defined in environment variable "path"?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the difference between a normal desktop application and an MSIX-packed application when loading NVIDIA CUDA DLLs through PATH. Compare the behavior of dynamic loading and dependency resolution, then document or implement the supported approach for resolving external DLLs and their dependencies in the packaged application.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
build-system, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.