├── X-FSE Hook.ico
├── XFSE-Hook.Export.ps1
├── LICENSE
└── README.md
/X-FSE Hook.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tetraguy/X-FSE-Hook/HEAD/X-FSE Hook.ico
--------------------------------------------------------------------------------
/XFSE-Hook.Export.ps1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tetraguy/X-FSE-Hook/HEAD/XFSE-Hook.Export.ps1
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2025 Richy Gomez
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # X-FSE Hook
2 |
3 |
4 | A tiny Windows helper that lets you **hook a launcher or game shell to start automatically at sign-in**, great for couch/handheld setups using the new **Xbox Full-Screen Experience (X-FSE)**. Pick Playnite Fullscreen, Steam, GOG, or any installed/UWP app with a click. Easily revert to the Windows default.
5 |
6 | > ⚠️ Requires **Administrator** rights. The app makes a safe, reversible change to the **Winlogon ➜ `Userinit`** registry value.
7 |
8 | ---
9 |
10 | ## ✨ Features
11 |
12 | * **Scan UWP apps** and **installed programs** and select the one you want to auto-start.
13 | * **One-click presets:** Playnite Fullscreen, Steam, GOG, or **Default** (restore Windows behavior).
14 | * **Manual hook:** Point to any executable if it’s not in the lists.
15 | * **Backup + verify:** Creates a backup and confirms the registry change.
16 | * **Simple UI:** Search, multi-select list, and clear status prompts.
17 |
18 | ---
19 |
20 | ## 🖼️ UI
21 |
22 |
23 |
24 | ---
25 |
26 | ## 🛠️ How it works (in one line)
27 |
28 | The app sets:
29 |
30 | ```
31 | HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit
32 | ```
33 |
34 | to include:
35 |
36 | ```
37 | C:\Windows\System32\userinit.exe,,
38 | ```
39 |
40 | This preserves normal sign-in while launching your selected app immediately after login.
41 |
42 | ---
43 |
44 | ## 📦 Installation
45 |
46 | 1. Download the latest release `.msi`.
47 | 2. Install it.
48 | 3. **Right-click ➜ Run as administrator**.
49 |
50 | > Built with PowerShell + WinForms. Works on Windows 10/11 (x64).
51 |
52 | ---
53 |
54 | ## 🚀 Usage
55 |
56 | 1. Launch **X-FSE Hook** as Administrator.
57 | 2. Click **Scan UWP Apps** and/or **Scan Installed Programs**.
58 | 3. Select an app in the list and press **Hook Selection**.
59 |
60 | * Or use a **Preset** (Playnite FS / Steam / GOG).
61 | * Or click **Hook Program Manually** to browse for an `.exe`.
62 | 4. You’ll get a success popup when the hook is set.
63 |
64 | **Revert:** Click **Default** to restore the stock `Userinit` value.
65 |
66 | ---
67 |
68 | ## 🔐 Safety Notes
69 |
70 | * Changes are limited to `HKLM\...\Winlogon\Userinit`.
71 | * Always run the tool from a **64-bit, elevated** session.
72 |
73 | ---
74 |
75 | ## ❓ Troubleshooting
76 |
77 | * **“Access denied / failed to update registry”**
78 | Run as Administrator (elevated PowerShell/EXE). Some EDR tools may require an allow-rule.
79 |
80 | * **App not detected (e.g., Playnite)**
81 | Install it to the default path or use **Hook Program Manually**. The tool will show a warning if the default Playnite FS executable isn’t found.
82 |
83 | * **Blank list after Scan**
84 | Click **Scan UWP Apps** and **Scan Installed Programs** again, or use the search box to filter.
85 |
86 | ---
87 |
88 | ## 🧩 Presets
89 |
90 | * **Hook Playnite FS** → `Playnite.FullscreenApp.exe`
91 | * **Hook Steam** → Steam client (Big Picture / BPM successor)
92 | * **Hook GOG** → GOG Galaxy
93 | * **Default** → Restore Windows default (`userinit.exe,` only)
94 |
95 | ---
96 |
97 | ## 🏗️ Build (devs)
98 |
99 | * PowerShell 5.1+ (or PowerShell 7 with Windows-compatibility)
100 | * .NET Framework WinForms assemblies available by default on Windows
101 | * Run the script as admin to test registry writes
102 | * Built with SAPIEN PowerShell Studio 2025
103 |
104 | ---
105 |
106 | ## 📜 License
107 |
108 | MIT. See `LICENSE` for details.
109 |
110 | ---
111 |
112 | ## 🙌 Credits
113 |
114 | * Community feedback and testing from PC-gaming/handheld users.
115 | * Playnite, Steam, and GOG are trademarks of their respective owners. This project is unaffiliated.
116 |
117 | ---
118 |
119 | ### Disclaimer
120 |
121 | Editing Winlogon settings can affect startup behavior. This tool keeps `userinit.exe` in place and appends your selection, which is the **safe** pattern. Use at your own risk and always keep a local admin account available.
122 |
--------------------------------------------------------------------------------