diff --git a/release-notes/v1.2.1.md b/release-notes/v1.2.1.md
new file mode 100644
index 0000000..52c25db
--- /dev/null
+++ b/release-notes/v1.2.1.md
@@ -0,0 +1,3 @@
+## Fixes
+
+- **Photo scenery missing on the first flight after installing.** If you ticked **Launch OrthoStreamXP now** at the end of the installer and then pressed **Start XP**, X-Plane started without the photo scenery and removed the OrthoStream packages from its scenery list. Restarting OrthoStreamXP made it work. **Start XP** now starts X-Plane the same way a double-click in Windows does, so the first flight shows the photo scenery too. Your **X-Plane start options** are still passed to X-Plane as before.
diff --git a/src/OrthoStreamXP/Setup/Installation/DesktopShell.cs b/src/OrthoStreamXP/Setup/Installation/DesktopShell.cs
new file mode 100644
index 0000000..988063b
--- /dev/null
+++ b/src/OrthoStreamXP/Setup/Installation/DesktopShell.cs
@@ -0,0 +1,130 @@
+using System.Runtime.InteropServices;
+using Microsoft.CSharp.RuntimeBinder;
+
+namespace OrthoStreamXP.Setup;
+
+///
+/// Starts programs through the desktop's Explorer, as a double-click there would, so they get the person's own
+/// environment instead of inheriting this program's. Started by the installer's "Launch" box, this program's
+/// environment is the installer's, and an X-Plane started from it left the mounted packages out of its scenery.
+///
+internal static class DesktopShell
+{
+ private const int CsidlDesktop = 0, SwcDesktop = 8, SwfoNeedDispatch = 1, SvgioBackground = 0, SwShowNormal = 1;
+ private static readonly Guid ShellWindowsClass = new("9BA05972-F6A8-11CF-A442-00A0C90A8F39");
+ private static readonly Guid TopLevelBrowserService = new("4C96BE40-915C-11CF-99D3-00AA004AE837");
+ private static readonly Guid ShellBrowserInterface = typeof(IShellBrowser).GUID;
+ private static readonly Guid DispatchInterface = new("00020400-0000-0000-C000-000000000046");
+
+ ///
+ /// Asks the desktop's Explorer to start . Returns false, after logging why, when it could not
+ /// (no Explorer running as the desktop); call this from an STA thread such as the window's.
+ ///
+ public static bool TryStart(string program, string arguments, string workingDirectory)
+ {
+ var pending = new List