Skip to content

BUG: Missing Icons on ARM #4450

@felipemldias

Description

@felipemldias

Checks

  • I have checked that this issue has not already been reported.

  • I am using the latest version of Flow Launcher.

  • I am using the prerelease version of Flow Launcher.

Problem Description

Several App icons are missing since I've switched to an ARM windows install. Reindexing, cleaning cache, even reinstalling several times after removing any vestige of flow launcher from my PC hasn't solved it.

Claude tells me "the logs strongly point to an ARM-related issue. The key line is:
System.BadImageFormatException: is not a valid Win32 application. (0x800700C1)

This error code (0x800700C1) is the classic sign of an architecture mismatch. What's happening is Flow Launcher's WindowsThumbnailProvider calls the Windows Shell API (IShellItemImageFactory) to generate thumbnails for app icons. That Shell thumbnail handler is likely an x86/x64 native COM component that can't load in the ARM64 process (or vice versa), so it throws BadImageFormatException and the icon falls back to a blank/default.

[...]

the proper fix would be in Flow Launcher's code — catching BadImageFormatException in ThumbnailReader.cs and falling back to loading the PNG directly via a managed image library (like System.Drawing or ImageSharp) rather than relying on the native Shell thumbnail provider. "

To Reproduce

  1. Install on Windows Arm
  2. Several apps and even Flow launchers own icon's will be missing, replace by generic placeholder page icons

Screenshots

Image . Image

Flow Launcher Version

2.1.1

Windows Build Number

10.0.26200.8246

Error Log

16:18:45.2266-03:00 - ERROR - ImageLoader.LoadInternalAsync - Failed to get thumbnail for C:\Program Files\WindowsApps\88449BC3.TodoistPlannerCalendarMSIX_9.27.1.0_arm64__71ef4824z52ta\assets\Square44x44Logo.scale-150.png on second try
EXCEPTION OCCURS: System.InvalidOperationException: Failed to get thumbnail
---> System.BadImageFormatException: is not a valid Win32 application. (0x800700C1)
at void Windows.Win32.UI.Shell.IShellItemImageFactory.GetImage(SIZE size, SIIGBF flags, HBITMAP* phbm)
at HBITMAP Flow.Launcher.Infrastructure.Image.WindowsThumbnailProvider.GetHBitmap(string fileName, int width, int height, ThumbnailOptions options) in C:/projects/flow-launcher/Flow.Launcher.Infrastructure/Image/ThumbnailReader.cs:line 121
--- End of inner exception stack trace ---
at HBITMAP Flow.Launcher.Infrastructure.Image.WindowsThumbnailProvider.GetHBitmap(string fileName, int width, int height, ThumbnailOptions options) in C:/projects/flow-launcher/Flow.Launcher.Infrastructure/Image/ThumbnailReader.cs:line 137
at BitmapSource Flow.Launcher.Infrastructure.Image.WindowsThumbnailProvider.GetThumbnail(string fileName, int width, int height, ThumbnailOptions options) in C:/projects/flow-launcher/Flow.Launcher.Infrastructure/Image/ThumbnailReader.cs:line 63
at ImageResult Flow.Launcher.Infrastructure.Image.ImageLoader.GetThumbnailResult(ref string path, bool loadFullImage) in C:/projects/flow-launcher/Flow.Launcher.Infrastructure/Image/ImageLoader.cs:line 240
at async ValueTask Flow.Launcher.Infrastructure.Image.ImageLoader.LoadInternalAsync(string path, bool loadFullImage) in C:/projects/flow-launcher/Flow.Launcher.Infrastructure/Image/ImageLoader.cs:line 159

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions