Only downside is that restarted apps will be activated so you have to code around your app losing focus. Use the restart manager API to close all open explorers. So, if I want to make sure my users' windows aren't all lost, how should I now be restarting explorer, or better yet, is there an even better way to get the end-result for what I'm looking to do? I verified that CTRL+ SHIFT Right-Click on the Taskbar for Exit Explorer also shows the same diverging behavior, not just my little app. That's super invasive, and if I had a couple dozen windows open while working when that happened, I don't think I'd be very happy about the UX. This was working fine in Redstone 2, but in the current Insiders Preview WindRedstone 3 build of 16216-2023, it doesn't just kill the explorer shell, it kills all the open file explorer windows too. Var process = Process.GetProcessesByName('explorer') This is to help refresh the taskbar/registry entries, so that one of the virtual peripherals will appear on the taskbar after installation without rebooting.
For the current version of Windows 10, 1703, the Creators Update, I have this little C# app getting called to restart explorer.exe during an installation sequence.