t1m0thyj / WinDynamicDesktop

Port of macOS Mojave Dynamic Desktop feature to Windows

Home Page:https://windd.info

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[0x80070002] Program error after upgrading itself

MMMMMoris opened this issue · comments

  • WDD Version: 5.4.1
  • OS Version: Windows 11 Pro for Workstations 23H2 22631.3155

Steps to Reproduce:

  1. Just run the game with PC startup
  2. Look at the screen and wait for the error message.

Are you using the Microsoft Store version of WDD?: Yes/No No

Here is the error log

[2024-02-16 16:34:05.082] System.IO.FileNotFoundException: The system cannot find the file specified. (0x80070002)
   at WinDynamicDesktop.COM.IDesktopWallpaper.SetWallpaper(String monitorID, String wallpaper)
   at WinDynamicDesktop.WallpaperApi.SetWallpaper(String imagePath, Int32 displayIndex)
   at WinDynamicDesktop.UwpHelper.SetWallpaper(String imagePath, Int32 displayIndex)
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_1(Object state)
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
   at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()

[2024-02-17 03:24:59.016] System.IO.FileNotFoundException: The system cannot find the file specified. (0x80070002)
   at WinDynamicDesktop.COM.IDesktopWallpaper.SetWallpaper(String monitorID, String wallpaper)
   at WinDynamicDesktop.WallpaperApi.SetWallpaper(String imagePath, Int32 displayIndex)
   at WinDynamicDesktop.UwpHelper.SetWallpaper(String imagePath, Int32 displayIndex)
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_0(Object state)
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)

[2024-02-17 03:25:32.041] System.IO.FileNotFoundException: The system cannot find the file specified. (0x80070002)
   at WinDynamicDesktop.COM.IDesktopWallpaper.SetWallpaper(String monitorID, String wallpaper)
   at WinDynamicDesktop.WallpaperApi.SetWallpaper(String imagePath, Int32 displayIndex)
   at WinDynamicDesktop.UwpHelper.SetWallpaper(String imagePath, Int32 displayIndex)
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_0(Object state)
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)

This error just came out after the program upgraded itself yesterday.

I cannot see what file specified the program is looking for.

@MMMMMoris Thanks for reporting this. How many monitors/displays do you have and which theme do you have selected for each one?

Also if you navigate to the folder where WinDynamicDesktop EXE is located, there should be a "report.log" file that contains a more detailed error report. Please upload this file to the issue.

@MMMMMoris Thanks for reporting this. How many monitors/displays do you have and which theme do you have selected for each one?

Also if you navigate to the folder where WinDynamicDesktop EXE is located, there should be a "report.log" file that contains a more detailed error report. Please upload this file to the issue.

I have only one screen using. Themes I used were shuffled, and the one applied when I booted up was Mojave Desert.
The report.log is as below
report.log

  • WDD Version: 5.4.1
  • OS Version: Windows 11 Pro for Workstations 23H2 22631.3155

Steps to Reproduce:

  1. Just run the game with PC startup
  2. Look at the screen and wait for the error message.

Are you using the Microsoft Store version of WDD?: Yes/No No

Here is the error log

[2024-02-16 16:34:05.082] System.IO.FileNotFoundException: The system cannot find the file specified. (0x80070002)
   at WinDynamicDesktop.COM.IDesktopWallpaper.SetWallpaper(String monitorID, String wallpaper)
   at WinDynamicDesktop.WallpaperApi.SetWallpaper(String imagePath, Int32 displayIndex)
   at WinDynamicDesktop.UwpHelper.SetWallpaper(String imagePath, Int32 displayIndex)
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_1(Object state)
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
   at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()

[2024-02-17 03:24:59.016] System.IO.FileNotFoundException: The system cannot find the file specified. (0x80070002)
   at WinDynamicDesktop.COM.IDesktopWallpaper.SetWallpaper(String monitorID, String wallpaper)
   at WinDynamicDesktop.WallpaperApi.SetWallpaper(String imagePath, Int32 displayIndex)
   at WinDynamicDesktop.UwpHelper.SetWallpaper(String imagePath, Int32 displayIndex)
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_0(Object state)
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)

[2024-02-17 03:25:32.041] System.IO.FileNotFoundException: The system cannot find the file specified. (0x80070002)
   at WinDynamicDesktop.COM.IDesktopWallpaper.SetWallpaper(String monitorID, String wallpaper)
   at WinDynamicDesktop.WallpaperApi.SetWallpaper(String imagePath, Int32 displayIndex)
   at WinDynamicDesktop.UwpHelper.SetWallpaper(String imagePath, Int32 displayIndex)
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_0(Object state)
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)

This error just came out after the program upgraded itself yesterday.

I cannot see what file specified the program is looking for.

By the way, I have to mention that there was an error of my statement about the version of WDD.

The program I using currently is Microsoft Store version actually.

Thanks for providing details, will investigate this weekend. It looks like at the time of the error you had 2 active themes on multiple displays: Windows_11 and Win11Bloom23H2. And the image files on disk seem to have been missing for the Windows_11 theme so I suspect there may be a bug in WinDD that doesn't handle this "pre-installed" system theme properly.

After further investigation it seems this error may be caused by the Windows 11 theme being deleted while it was still in use. In the Select Theme dialog, can you select "Display 1" from the dropdown at top left, then select "Windows 11" theme and click Apply? This will copy the Windows 11 wallpapers from the Windows folder into the WinDD themes folder which should fix the error about missing files.

Please disregard my earlier comment. After further investigation it seems like the error is caused by a bug in WinDD when theme shuffling is enabled. Please try the following steps to fix the issue:

  • Download the latest test build from here. This should fix WinDD crashing (it will still show an error but keep running).
  • Open the Select Theme dialog and toggle the setting in "meatball menu" for shuffling themes to turn it off and back on.
  • Check the selected theme for each display and if it is "Windows 11", change it to another theme that you have installed.

Fixed in 5.4.2