* [Enhance] Configure all apps view in start menu
To keep look consistent with older Win11
* [Enhance] Additional Start menu settings
* [MicroWin] Change Write-Host to Write-Debug on debug lines. (#13)
* Add a resolution to scripts being disabled (#14)
* [MicroWin] Change Write-Host to Write-Debug on debug lines.
* Add a resolution to scripts being disabled
* Add skip first logon anim option
* Unrelated: indentation fixes from compile script
* Some little touches to the first-run script
---------
Co-authored-by: Real-MullaC <callumjanes2007new+github@gmail.com>
* Disable "Microsoft account" notification source
* [WinPE] Remove driver addition block for WinPE
WE DO NOT TOUCH THE DRIVERS IN WinPE. There are reports of people getting "Install driver to show hardware" screens all over this repository, and on Discord; and the less drivers we touch in WinPE, the better.
Drivers can still be added to Preinstallation Environments in the following ways:
- Using the driver installation screens
- Firing up "drvload.exe <driver>" in cmd
* [Fix] Added fallback for DISM export command
This is a port of the fix in #3305
* [Cleanup] Removed some comments that no longer make sense
* [Fix] Same DISM export image fallback fix
* Merge branch 'main' into microwin-202506
* [Fix] Improve UI consistency for instructions
Fixes#3394
* Merge branch 'main' into microwin-202506
* [Unattended answer file] Remove it from drive root
The answer file, on the drive root, is not necessary for us to apply it. In fact, it's not even used there
* Merge branch 'main' into microwin-202506
* [MicroWin] June-August 2025 Update (#3) -- Contributions from Callum
* Allow people without compatible hardware or a USB to use MicroWin.
* Update functions/microwin/Microwin-NewUnattend.ps1
Co-authored-by: CodingWonders <101426328+CodingWonders@users.noreply.github.com>
* Update Invoke-Microwin.ps1
* Update Microwin-NewUnattend.ps1
* Update Microwin-NewUnattend.ps1
* Add error pop up if ISO Creation fails.
Issue 2653
* Add Disable WPBT Execution to MicroWin.
* Update functions/microwin/Invoke-Microwin.ps1
Co-authored-by: CodingWonders <101426328+CodingWonders@users.noreply.github.com>
* modified: functions/microwin/Invoke-Microwin.ps1
modified: xaml/inputXML.xaml
---------
Co-authored-by: CodingWonders <101426328+CodingWonders@users.noreply.github.com>
* Add conversion to ESD (#4)
* Add conversion to ESD
Issue - #3450
* Update Invoke-Microwin.ps1
Added quotes to the file paths. Put all the arguments in 1 string (as that also works fine)
---------
Co-authored-by: CodingWonders <101426328+CodingWonders@users.noreply.github.com>
* Update MicroWin contributor list
* Merge branch 'main' into microwin-202506
* Merge branch 'main' into microwin-202506
* [MicroWin] Add automatic configuration settings
Originally implemented in #2618. Adapted to follow the new file structure. And it works.
Though there are issues that will be detailed very soon
* [Fix] Fixed typos, updated descriptions
* Re-add WinPE driver addition
We're not yet sure if that is the actual problem of missing storage controllers. Logs can tell us more about this. Maybe for a future PR?
* [Fix/WPBT] Add spaces to reg key path
Avoid REG failure
* [Fix/XAML] Fix word wrapping issue for checkboxes
* Adaptive Busy Icon + Message
- added adaptive color & message of busy indicator
- fixed placement at some places for "Set-WinUtilTaskbaritem" as dialogbox which waits for user input came before
* seperate long Errormessaged for BusyIndication
* add CharacterEllipsis as TextTrimming on BusyText
Co-authored-by: CodingWonders <101426328+CodingWonders@users.noreply.github.com>
* fix BusyIndication + add more detailed one
* removing wip busymessages before process
* Improve reporting of messages significantly (#15)
- Added parameter sets
- Implemented detections for interactive/noninteractive processes
* Fix hidden message action (#16)
---------
Co-authored-by: CodingWonders <101426328+CodingWonders@users.noreply.github.com>
* Implement app installation progress overlay and refactor progress bar handling
* Add overlay background color settings and ensure minimum progress bar value
* Add busy overlay functionality and progress bar updates for installation process
* Refactor busy overlay implementation to dynamically adjust size based on app area dimensions
* Initial Remove Expanded View
* more cleanup
* Add word wrapping for Tooltips
* Update tooltip colors in themes and XAML styles
* Rename Properties for consistency
* More Cleanup, and simplification. Also added support for screenreaders
* Remove unused variables and shorten window naming
* Rename Invoke-WPFUIApps to Initialize-WPFUI and update function calls for consistency
* Rename Invoke-WPFUIApps.ps1 to Initialize-WPFUI.ps1
* Add TODO comments for sidebar UI generation in Initialize-WPFUI function
* Correct the Header Font Size naming and simplify the creation of the Selected Apps Button
* Adjust HeaderFontSize from 18 to 16 for improved readability
* initial visual implementation
- remove idiotic border logic from Invoke-WPFUIElements
- add "application" type & style
- add "radiobutton" type & style
- remove prefer choco checkbox (did not modify logic outside of xaml, so i currently get errors due to that)
* add image support via choco db
- add image support via choco db
- backup image should be taken from unigetui db
- backup backup image is some random package one rn
* add compatibility for every app
* performance improvements
- move get logo to runspace (not working rn)
- readd choco checkbox to mute errors
* add border name
* fix scrollviewer & reimplement logo logic into ui elements
* noimage fix
* add notes
* cleanup & remove nav from search effects
* add button action
* rename buttons
* add sort by options
* move scrollviewer & app buttons into uielements logic
* format logic for app action buttons
* fix app action button logic & move get & clear to sidepanel
* change category of new buttons
* add virtualisation & layouting fixes
- commented out prefer choco logic
- add virtualisation
- layouting improvements
* fix radiobuttons
* LETS GOOO (#12)
* Add Selected Apps Label, Reshuffel the nesting of the checkbox and the label to be able to reference the name from the actual checkbox
* Add visual selection and allow click on the whole app section
* Fix Theme definition to work with theme change
* Fix Highlight on if label or icon is clicked
* change applications.json to powershell object list and refactor UI Creation logic
* Optimization and Add Collapsable Categories
* Add Button functionality for install, uninstall, info, install selected, uninstall selected, clear and implement search
* Rest application.json to Main
* Reset Compile to main
* Pretty much revamp_apps but without changes to applications.json
* Small fixes
* Add Get-Installed Loading Indicator + small fixes
* Re-Add Choco Preference
* Remove Logic from Invoke-WPFUIElements that is Moved to Invoke-WPFUIApps
* Remove Alphabetical List, Sort Apps inside Category Alphabetically
* Small fixes to the Get-Installed function and formatting stuff
* Style for Hidden Checkbox but visible Content
* Hotfix for Category Expansion during search
* Replace Category Label with ToggleButton, Fix Search Bugs
* First Try at implementing a Compact Mode for the App page
* Fix Whitespace when using Search
* Keep the search status when switching between compact and full view
* Fix weird buggy behaviour in regards to switching the Display Mode and using Show-SelectedOnly
* Improve Togglebutton
- add initial implementation of togglebutton style
- add togglebuttons to appnavigation.json
- refractor UI element creation for Togglebutton
- commit preprocessing changes
* Togglebutton fixes
- move dot to the right in style
- cleanup code
- fix arrangement of content
* Add logic to the new ToggleButtons in the sidebar of the install tab and remove old buttons
* reorder buttons & fix Togglebutton toggling if action not possible
- reorder getinstalled and clearselection
- set togglebutton back if no app is selected
* Slight modificatoin to togglebutton style & fix sidebar width
* Add hover effect for the app tiles
* ToggleButtonStyle animation
- add hover animation to white dot
- remove IsPressed trigger
- improve some comments
* disable show selected filter on clear selection
* Add a Popup Dropdown for Selected Apps with the ability to deselect them
* Split up the functions to seperate files like the rest of the repo
* Fix Bug where Scrollviewer dosnt work
* disable autofallback checkbox
* run preprocessing
* remove installation scope
- remove all 3 radiobuttons from appnavigation.json
* remove scrollviewer from WPFUIElements
* toggle showselected on GetInstalled
* remove unused autofallback
---------
Co-authored-by: Martin Wiethan <47688561+Marterich@users.noreply.github.com>
Co-authored-by: Chris Titus <contact@christitus.com>
* Set Boot Manager entry timeout to 0
Fixes#2562
* Exclude Windows Hello stuff from package removal
* Obscure passwords with Base64 and fix indentation
Fixes#3064
* Fix name of excluded package
* Update comment
It reflects my feelings towards Microsoft when it comes to security a lot better
* Remove jargon of scratch directory options
* Package exclusion improvements
- Removed AppX packages from OS package exclusion list
- Added exclusion of PowerShell ISE (source: Discord server - yes, some people still use the PowerShell ISE)
* Exclude Windows Photo Viewer from dir removal
* Improve copy operation to Ventoy drives
This change may fix the issues where there's a conflict between both Ventoy's and MicroWin's unattended answer files, causing target images to stop working as expected during OOBE
* Add VirtIO functionality and more enhancements
- Added the ability to grab VirtIO Guest Tools
- Modified the description of the Copy ISO files function because it basically had nonsense
* Fix typo (#3104)
* Access specific property of ISO image object
Only show the ISO path. No one is interested in the storage type
* Add detections for expedited app removal
They only affect 24H2 and newer. Earlier releases don't have these expedited apps
* Update message
* Add VirtIO instructions to MicroWin page
* Add DISM command fallback
This fallback is triggered if an exception occurs while getting information with the cmdlets (I couldn't test this on my host as everything magically works now - sometimes it threw the Class not registered error)
* Exclude OpenSSH from package removal
Some people need this to avoid installing third-party programs like PuTTY
* Fixed some more indentation
* Fix minor denomination problem for packages
* Fix incorrect filter of OS packages
Packages such as the metadata for capabilities (FoDs) or the foundation package were being incorrectly filtered. They were part of `Remove-ProvisionedPackages`, which only removes AppX packages. These are **OS packages**, something completely different
* Fixed indentation
* Exclude `Microsoft-RemoteDesktopConnection`
Exclude that from feature list. Fixes#2705
* Remove DISM from AppX removal listings
DISM is a system component. It will never be an AppX package. This is unnecessary
* Improve error handling for file copy
* Remove space (for some reason)
Compilation script is very adamant that this should be this way
* Exclude the VBSCRIPT Features on Demand from pkgs
Exclude the VBSCRIPT feature on demand (or capability) from package removal. Some people were reporting that excluding VBSCRIPT fixed problems with AMD chipset drivers on MicroWin
* Exclude Recall from feature listings
This fixes problems people were experiencing where the file explorer would go back to the Windows 10 layout
* Improve error output
* Add 24H2 to release list
* Detect Windows 10 and show compatibility dialog
* Disable some insane desktop stuff on Windows 10
I've only been able to disable Search Highlights. News and Interests persists
* Change policy for News and Interests
Avoid showing "Access denied" errors for this. This is still broken - News and Interests is still there. [louder]Linus Torvalds curse word here[/louder]
Anyway, if someone wants to give setting this up a shot, send me suggestions on how to do this
* Write suggestion for AV
* Hold errored packages in a list
Items are being added correctly, but I can't get that to show to the end-user. Perhaps a different approach will work
* Remove older Windows versions from download list
Sadly, the links for these had been removed by Microsoft, in favor of the latest version (24H2)
* Add sorting to error messages
Thanks @og-mrk for the suggestion and the patch (even though I applied it myself)
* Make error messages easier to view (#1)
* Make error messages easier to view
* Improve error output
---------
Co-authored-by: CodingWonders <101426328+CodingWonders@users.noreply.github.com>
* Disable Recall on first run
Keeps the Explorer look of modern Windows 11 builds whilst removing the Recall feature (which I think will manifest itself on PCs with Lunar Lake processors)
* Replace "C:\" with environment variable
This still works on single-boot configurations, but presents a more dynamic approach
* Fix Volume Mixer issues and removal of leftovers
Fix originally from @MyDrift-user on #2856
* Add missing piece to last commit
* Default to downloading OSCDIMG from GitHub repo
Chocolatey may not be the way to help us detect the presence of OSCDIMG.
Everyone, unless someone REALLY uses old deployment technology, has moved to Windows ADK 10.0
* Fix Sorting of Errored Packages by using 'Sort-Object' instead of 'IComparer' approach (#2)
Fixes startup issues in PWSH 7
* Remove reference to News and Interests from output
Even though the logic is still there, it doesn't work. I don't want to deal with that anymore. Search Highlights, on the other hand, is removed very easily
* Exclude License packages from removal
They throw an "Access denied" error when trying to remove them. This is a timesaver
---------
Co-authored-by: Mr.k <mineshtine28546271@gmail.com>
* try1
* little fix
* change back to using Fido
* little update
* fix some stuff
* fix (maybe?)
* remove architecture selection
* add somewhat of a lang support (needs improvement)
* WIP: refractor of existing logic & addition of language selection
* WIP: correct lang display (not working rn)
* improve, fix and more
- call ed with default windows edition (Home/Pro/Edu)
- fix language combobox logic
- add @CodingWonders 's "Get-FidoLangFromCulture"
- hide comboboxes if manual ISO selection is toggled
* little output fix
- added | Out-Null to combobox item additions to prevent unneeded console output
* improve coloring
- using ToggleButtonOnColor for Radiobuttons
- add theme color ToggleButtonOffColor and use where needed
* fix lang
* fix "en-" lang
remove (United States) bc it is wrong and not accepted by fido/ms
* always add "English"
* fix theming
- add ToggleButtonOffColor to all themes
* fix merge issue
* update instructions
* update ui
- manual download is primary option
- radiobuttons renamed to refrect what they are
- fix styling of instruction
- add margin to radiobuttons
* fix by adding line break to instructions
* fix merge issues
* Setup for testing
* Working Example for Background
* Almost all MainBackgrounColor working
* Random Color PoC
* Fix DBorderColor
* prevent old logic from replacing colors in memory at startup
* Comment out resources in xaml
* Finish new Button
* Remove Pulse, Load Windows default Theme
* Fix Colors
* Fix Toggle Colors
* working version, with shared still being mostly applied be replace instead of resouces
* Load all entries in themes.json as Resource and reference them in inputXML.xaml
* Rename File to match Function Name
* Hotfix for Sync with main
* Remove Static Set-WinUtilUITheme function/file
* Rename File and Function
* Cleanup and Stuff
* Unify Button Theme with rest of UI
* Refactor/Optimazation
* Performance optimization
* Add Comments
* Rename Functions and Variables to be more concise and descriptive
* Add persistence to the user Theme Preference across winutil restarts
* Reimplement Theme Chagnes from #2722
* Add AUTO option to follow window theme and add dropdown instead toggle
* Formatting and deleting temp file
* Fix small display bug where Dropdown would remain open for settings and themes
* Remove terniary operators because only PS7+ is supported
* enhance asset mgmt
- invoke ico directly
- invoke ico only at shortcut creation
- remove "ConvertTo-Icon" Function file
- removed image from xaml
- added stackpanel to xaml
- added functions to create viewbox with image
- added logic to add image via code to xaml & customdialog
- changed title color for customdialog
- remove webinvokes for assets from main.ps1
TODO: convert images into bitmap base64 string & add them directly into invoke-WinUtiltaskbaritem.ps1
* improve viewboxfunction
- add logo + checkmark + warning
- add params
- render on param "render"
- custom dialog logo function call fix
- main logo function call fix
- update winutiltaskbaritem to use new images
* fix sizing
- warning & checkmark sizing fix
- remove unneded comments
* fixes
- remove unneeded redundancy of "$canvas = New-Object Windows.Controls.Canvas"
- adjust empty lines
- use LimeGreen instead of Green
* fix layouting
* fixes
- use correct ctt blue color #0567ff
- remove unneeded comments
- rename Logoview to assets
* performance improvement
instead of rendering the image another time on each item switch, it caches it at the start and uses the render afterwards
* redo gray part of winutil logo
* correct gray shade
* fix coloring
* ise ico if available
---------
Co-authored-by: Chris Titus <contact@christitus.com>
* fixes
- change fontsize back to 12
- add correct handling of windows
- removed double click handling of winutil
* readd double click
* fixes
- argument passing on elevation & to windev script
- remove shell output of log
* improve compile -run
- added $args param for args that get passed to winutil
- improved starting new Shell logic
* fix: compile's run logic
- removed old logic
- fixed command to run in new shell
- replaced $args with $arg
* fix: logs & border
- move log start to after admin elevation
- fix color of border on fixed tweaks button.
* fix: MicrowinInjectDrivers's Margin
- use theme value instead of custom value
* change microwin checkbox margin
- set cutom microwin checkbox margin due to cut off content
* fix layouting of nav bar
- replace strange collumndefinition to fix bugs, make sense and look better
* rename $arg to $Arguments
* change maxresolution from 1380 to 1280
* Improve 'Invoke-WPFPresets.ps1' Public Function as well as Simple Optimizations
* Simple Optimization by providing more info to 'Invoke-WPFPresets.ps1' function calls inside 'Invoke-WPFButton.ps1'
* Fix some logic issue in 'Invoke-WPFPresets.ps1' Public Function
* Rename Button Names to more clear and Make them follow CamelCase Naming
* Remove leftover comment & update another comment in 'Get-TabXaml' Private Function
* Add new 'CloseIconFontSize' Theme Option
This's done to fix the Visual Issue of the Close Button being smaller than the Settings Button.
* Rename 'CheckBoxBulletDecoratorFontSize' to 'CheckBoxBulletDecoratorSize'
* Experiment with DPI Aware Units
* Remove extra whitespace characters in 'theme.json'
* Implement Default Theming - Add Error Checking & Quitting Early upon XML Related Failures - Simple Code Formatting here & there
* Replace Tabs with Spaces to follow the conventions
* Fix some logic issue in 'Set-WinUtilUITheme.ps1' Private Function - Rename 'Set-WinUtilUiTheme.ps1' -> 'Set-WinUtilUITheme.ps1'
* Change output info from 'Write-Warning' to 'Write-Host' to make sure it's displayed even in RunSpaces as well as PowerShell 5 Environments
* Revert back to default Unit of Measuring for WPF (1/96 in)
* Revert "Remove leftover comment & update another comment in 'Get-TabXaml' Private Function"
This reverts commit 368e5980df9810a180b8df2f657345c210ffbfe6.
* Update 'themes.json' so the general changes will work with PR #2629
* Support the fallback to default theme (if it exists)
* Update 'Set-WinUtilUITheme' Documentation
---------
Co-authored-by: MyDrift <personal@mdiana.ch>
Change to line 654 from {SearchBarTextBoxFontSize} to 12. This now now allows the text to display correctly in the text box.
Change to line 666 from 16 to 180 for the margin. This now allows text to be visible when searching, also positions the magnify glass to the right side of the text box.
Change to line 678 from 193 to 205, which now places the clear button (X) on the outside of the text box for clearing the text in the textbox.
* Compile Winutil
* first draft for Progress bar in GUI
* small optimizations to the loading bar
* Optimize the Winget Installation Function to make it more maintainable
* Apply loading bar to Tweaks
* Update colors
* Add docs
* Fix value range for the taskbar item
* Remove winutil.ps1 from PR
* Documention and fix an oversight in the uninstall logic
* Reduce even more repeaded code
---------
Co-authored-by: Marterich <Marterich@users.noreply.github.com>
* Update Documentation for 'Get-TabXaml' Function
* Add More checks for Passed Parameters for 'Get-TabXaml' Function & A One Line change
* Make 'Get-TabXaml' Function do Proper Indentation to the Generated XML String & Add more Theming Options
* Re-formatting for a few lines in 'Get-TabXaml' Function
* Improve UI a bit
* Fix Buttons for Config Tab
* Add optional 'ButtonWidth' Field to Config Json Files that use 'Button' Type
* Simple Code Formatting in 'inputXML.xaml' File
* Make naming More Clear to the Developers
Rename the name of an element from 'CheckboxFilterClear' to 'SearchBarClearButton' and renamed style from 'ClearButtonStyle' to 'SearchBarClearButtonStyle'
* Rename 'FontFamilyHeading' to 'HeaderFontFamily' to match conventions & Make new Theming Property called 'SearchBarClearButtonFontSize'
* Remove Un-necessary 'ToString' Convertion in 'Get-TabXaml' Function
* Make naming More Clear to the Developers again
Rename the name of an element from 'CheckboxFilter' to 'SearchBar'.. although after some realization.. the naming might make sense at first,
because it filters only the checkboxes.. but CheckBoxFilter is less "Intutive" when saying it compared to "SearchBar".. _This's my own opinion, and it can reverted easily with git if needed._
* Remove Un-necessary Attributes in 'Get-TabXaml' Private Function
* Improve UI a bit
* Improve UI a bit
* Re-order some tweaks & Update their Content Fields to be more descriptive
* Remove the changing 'Off' & 'On' TextBlock next to Toggle Button/Checkbox
Removed it as it only takes up space in the right side of the Toggle Button/Checkbox, as well as making it difficult to correctly align it when change from/to 'On' & 'Off' Text,
* Some changes to the Generated Toggle Button/Checkbox in 'Get-TabXaml' Private Function
Increase the Side Margins of Toggle Button/Checkbox, as well as Change its side to be on the Left hand-side of the Label, rather then the Right hand-side.
* Remove All Trailing Whitespace Characters in '.ps1' Files
* Remove All Trailing Whitespace Characters in '.json' Files
* Remove All Trailing Whitespace Characters in '.yaml' Files
* Remove All Trailing Whitespace Characters in Different Files
* Remove Even More Trailing Whitespace Characters
- added rectangle with backgroundcolor
- added xName for Application ScrollViewer for identification
- added style to rectangle to show itself if horizontal & vertical scrollviewers are shown
* Simple improvements to 'applications.json' File (#2043)
* Replace Spaces with Tabs in 'applications.json' File
* Correct 'AFFiNE' App Entry's Winget ID from 'AFFiNE.stable' to 'ToEverything.AFFiNE' in 'applications.json' File
* Compile Winutil
* Tweaks (#2051)
* Fix Numlock toggle (#2044)
* Fix Numlock at login
* Compile Winutil
---------
Co-authored-by: ChrisTitusTech <ChrisTitusTech@users.noreply.github.com>
* Compile Winutil
* fix typo (#2041)
* Compile Winutil
* Update README.md
* * Fixed .getignore issues, it's it not enough to just add to gitgnore if it was already tracked by git it will be continued to be tracked by git, so you have to 'git rm' it
* Fixed ooshutup, there is no need to download configs, they are
already compiled into winutil
+ Added a tweak to remove and disable Intel LMS, which have been
identifed as a potential backdoor into Windows.
* Update winget.ps1
* + Added new release actions, every time we merge into main it will
create a release by extracting the version fromwinutil.ps1 and setting
all appropriate tags and versions
* fix merge
* add compile back in
* Update action to latest tools
* Ensure Compile is finished
---------
Co-authored-by: Chris Titus <contact@christitus.com>
Co-authored-by: ChrisTitusTech <ChrisTitusTech@users.noreply.github.com>
Co-authored-by: nikolan <94351312+nikolan123@users.noreply.github.com>
Co-authored-by: KonTy <KonTy@github.com>
Co-authored-by: Chris Titus <dfm.titus@gmail.com>
* Compile Winutil
* Rework Compile (#2061)
* Compile Winutil
---------
Co-authored-by: Mr.k <mineshtine28546271@gmail.com>
Co-authored-by: ChrisTitusTech <ChrisTitusTech@users.noreply.github.com>
Co-authored-by: KonTy <9524513+KonTy@users.noreply.github.com>
Co-authored-by: nikolan <94351312+nikolan123@users.noreply.github.com>
Co-authored-by: KonTy <KonTy@github.com>
Co-authored-by: Martin Wiethan <47688561+Marterich@users.noreply.github.com>