msarilar / EDEngineer

An overlay to track Elite Dangerous blueprints progress in real time
MIT License
509 stars 173 forks source link

Toast Fixing approaches #463

Open MaximumWoahverdrive opened 6 years ago

MaximumWoahverdrive commented 6 years ago

As you probably noticed my attempt at fixing Toasts in #461 didn't work out. (Haven't had time to look into this but I assume the executing assembly doesn't have the same guid as the Startapps entry for EDEngineer) I've been looking into a fix for this but it would mean running a Powershell script to get the AppId of EDEngineer. And even ignoring the performance drawbacks I'm not sure whether that is something that should be in a working End-User program, as it's quite the Hack. Any Opinions would be highly appreciated.

MaximumWoahverdrive commented 6 years ago

Also regarding the requirements to get toasts working again I've found this quite helpful TL;DR: We have to pass an AppId when creating toasts. previously that was just a "EDEngineer" string which worked because of a loophole in windows' toast managment The Fall Creators Update fixed that loophole, so now we need to pass not just any AppId but one that matches an AppId registered in the startmenu. (which we can check by tunning the "Get-StartApps" command in powershell (or if we just want the AppId of EDEngineer we simply add "-Name EDEngineer"))

MaximumWoahverdrive commented 6 years ago

Another approach would be to either write a registy key with our appid (either on install or launch) and read that when needed Or we could do something stupid and just Hijack another applications Id (either that of one which is static(I'm not sure if they can be static) or one which already creates a registry key we can read)

msarilar commented 6 years ago

the app guid is (I think) different from the assembly GUID and should be obtainable from Windows.ApplicationModel.Store.CurrentApp.AppId, so this might be worth testing before considering writing to the computer registry