microsoft / msix-packaging

MSIX SDK
MIT License
963 stars 163 forks source link

[BUG] AddPackageByAppInstallerFileAsync causes crash when compiling for x86 on an ARM64 system #603

Open leo-hydraulic opened 8 months ago

leo-hydraulic commented 8 months ago

Project MSIX SDK or Win7Msix

Describe the bug Calling PackageManager.AddPackageByAppInstallerFileAsync causes a crash like: Exception thrown at 0x76B1DD80 (KernelBase.dll) in HelloWorld.exe: 0xC06D007E: Module not found (parameters: 0x032FED04).

To Reproduce Steps to reproduce the behavior: Simply start a "Hello World" project in Visual Studio, and add the following code:

hstring uri_str = winrt::to_hstring("https://github.com/hydraulic-software/eton-desktop/releases/latest/download/eton.appinstaller");   // Any URL will do, doesn't even need to exist.

Uri appInstallerUri{ uri_str };
PackageManager pm{};

const IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>& operation = 
    pm.AddPackageByAppInstallerFileAsync(appInstallerUri,
        AddPackageByAppInstallerOptions::ForceTargetAppShutdown, pm.GetDefaultPackageVolume());

Expected behavior The process of installing the app from the URL starts on the background, which is the exact behavior observed when compiling for x64 or ARM64, but not when compiling for x86.

Screenshots N/A

Platform Windows 11

Additional context Debugging with WinDbg seems to indicate failure loading delayed dlls like ext-ms-win-storage-sense-l1-1-0.dll.