mirror of
https://github.com/ChrisTitusTech/winutil.git
synced 2024-12-22 05:51:30 -06:00
Test 2023 12 19 (#1294)
* Compile Winutil * Issue #1283, #1280 fixes, more (#1288) * Explorer Fix * Wifi, Explorer Crash, WinUtil Icon fixes. First attempt at white theme * White theme * Fix for clashing microwin directories if process fails, now new directory will be generated * * Tested latest Windows 10 (22H2) images work fine * Made dialog box more clear for issue #1283 * Added better logic for handling takeown /D flag for different locals issue #1280 * Refreshed the UI to more modern look * Improved white theme * Regrouped Tweak tab to make more sense * Advanced tweaks were in a separate column but the button applied both Essential and advanced now they are in the same column and button applies both * All instant action buttons were moved to Customize preferences column * Explorer lockup Fix * Wifi, Explorer Crash, WinUtil Icon fixes. * Fix for clashing microwin directories if process fails, now new directory will be generated * Merge all * Theme improvement, adding icon to the shortcut * Ability to download oscdimg from github, reorginizing Apps to fit better on more (smaller screens) * Fixing release branch to WinUtil * Adding double click to fullscreen * Update Get-Oscdimg.ps1 --------- Co-authored-by: KonTy <KonTy@github.com> Co-authored-by: Chris Titus <contact@christitus.com> * Update winutil.ps1 * remove merc and thorium * Ashlyn Programs * Also inject drivers into boot.wim * copy #1291 new branch --------- Co-authored-by: ChrisTitusTech <ChrisTitusTech@users.noreply.github.com> Co-authored-by: KonTy <9524513+KonTy@users.noreply.github.com> Co-authored-by: KonTy <KonTy@github.com> Co-authored-by: Cedric Lewe <0skillallluck@pm.me>
This commit is contained in:
parent
4be4805e7c
commit
d02146be0e
@ -31,6 +31,10 @@
|
|||||||
"winget": "AIMP.AIMP",
|
"winget": "AIMP.AIMP",
|
||||||
"choco": "aimp"
|
"choco": "aimp"
|
||||||
},
|
},
|
||||||
|
"WPFInstallarch": {
|
||||||
|
"winget": "9MZNMNKSM73X",
|
||||||
|
"choco": "na"
|
||||||
|
},
|
||||||
"WPFInstallaudacity": {
|
"WPFInstallaudacity": {
|
||||||
"winget": "Audacity.Audacity",
|
"winget": "Audacity.Audacity",
|
||||||
"choco": "audacity"
|
"choco": "audacity"
|
||||||
@ -39,6 +43,14 @@
|
|||||||
"winget": "AutoHotkey.AutoHotkey",
|
"winget": "AutoHotkey.AutoHotkey",
|
||||||
"choco": "autohotkey"
|
"choco": "autohotkey"
|
||||||
},
|
},
|
||||||
|
"WPFInstallbarrier": {
|
||||||
|
"winget": "DebaucheeOpenSourceGroup.Barrier",
|
||||||
|
"choco": "barrier"
|
||||||
|
},
|
||||||
|
"WPFInstallbat": {
|
||||||
|
"winget": "sharkdp.bat",
|
||||||
|
"choco": "bat"
|
||||||
|
},
|
||||||
"WPFInstallbitwarden": {
|
"WPFInstallbitwarden": {
|
||||||
"winget": "Bitwarden.Bitwarden",
|
"winget": "Bitwarden.Bitwarden",
|
||||||
"choco": "bitwarden"
|
"choco": "bitwarden"
|
||||||
@ -63,14 +75,22 @@
|
|||||||
"winget": "calibre.calibre",
|
"winget": "calibre.calibre",
|
||||||
"choco": "calibre"
|
"choco": "calibre"
|
||||||
},
|
},
|
||||||
|
"WPFInstallcarnac": {
|
||||||
|
"winget": "code52.Carnac",
|
||||||
|
"choco": "carnac"
|
||||||
|
},
|
||||||
|
"WPFInstallcemu": {
|
||||||
|
"winget": "Cemu.Cemu",
|
||||||
|
"choco": "cemu"
|
||||||
|
},
|
||||||
|
"WPFInstallchatterino": {
|
||||||
|
"winget": "ChatterinoTeam.Chatterino",
|
||||||
|
"choco": "chatterino"
|
||||||
|
},
|
||||||
"WPFInstallchrome": {
|
"WPFInstallchrome": {
|
||||||
"winget": "Google.Chrome",
|
"winget": "Google.Chrome",
|
||||||
"choco": "googlechrome"
|
"choco": "googlechrome"
|
||||||
},
|
},
|
||||||
"WPFInstallcopyq": {
|
|
||||||
"winget": "copyq",
|
|
||||||
"choco": "copyq"
|
|
||||||
},
|
|
||||||
"WPFInstallchromium": {
|
"WPFInstallchromium": {
|
||||||
"winget": "eloston.ungoogled-chromium",
|
"winget": "eloston.ungoogled-chromium",
|
||||||
"choco": "chromium"
|
"choco": "chromium"
|
||||||
@ -79,6 +99,10 @@
|
|||||||
"winget": "CiderCollective.Cider",
|
"winget": "CiderCollective.Cider",
|
||||||
"choco": "cider"
|
"choco": "cider"
|
||||||
},
|
},
|
||||||
|
"WPFInstallclementine": {
|
||||||
|
"winget": "Clementine.Clementine",
|
||||||
|
"choco": "clementine"
|
||||||
|
},
|
||||||
"WPFInstallclink": {
|
"WPFInstallclink": {
|
||||||
"winget": "chrisant996.Clink",
|
"winget": "chrisant996.Clink",
|
||||||
"choco": "clink"
|
"choco": "clink"
|
||||||
@ -87,14 +111,34 @@
|
|||||||
"winget": "na",
|
"winget": "na",
|
||||||
"choco": "clipgrab"
|
"choco": "clipgrab"
|
||||||
},
|
},
|
||||||
|
"WPFInstallclonehero": {
|
||||||
|
"winget": "CloneHeroTeam.CloneHero",
|
||||||
|
"choco": "na"
|
||||||
|
},
|
||||||
|
"WPFInstallcopyq": {
|
||||||
|
"winget": "hluk.CopyQ",
|
||||||
|
"choco": "copyq"
|
||||||
|
},
|
||||||
"WPFInstallcpuz": {
|
"WPFInstallcpuz": {
|
||||||
"winget": "CPUID.CPU-Z",
|
"winget": "CPUID.CPU-Z",
|
||||||
"choco": "cpu-z"
|
"choco": "cpu-z"
|
||||||
},
|
},
|
||||||
|
"WPFInstallcrystaldiskinfo": {
|
||||||
|
"winget": "CrystalDewWorld.CrystalDiskInfo",
|
||||||
|
"choco": "crystaldiskinfo"
|
||||||
|
},
|
||||||
|
"WPFInstallcrystaldiskmark": {
|
||||||
|
"winget": "CrystalDewWorld.CrystalDiskMark",
|
||||||
|
"choco": "crystaldiskmark"
|
||||||
|
},
|
||||||
"WPFInstallddu": {
|
"WPFInstallddu": {
|
||||||
"winget": "ddu",
|
"winget": "ddu",
|
||||||
"choco": "ddu"
|
"choco": "ddu"
|
||||||
},
|
},
|
||||||
|
"WPFInstalldebian": {
|
||||||
|
"winget": "Debian.Debian",
|
||||||
|
"choco": "na"
|
||||||
|
},
|
||||||
"WPFInstalldeluge": {
|
"WPFInstalldeluge": {
|
||||||
"winget": "DelugeTeam.Deluge",
|
"winget": "DelugeTeam.Deluge",
|
||||||
"choco": "deluge"
|
"choco": "deluge"
|
||||||
@ -103,6 +147,10 @@
|
|||||||
"winget": "devtoys",
|
"winget": "devtoys",
|
||||||
"choco": "devToys"
|
"choco": "devToys"
|
||||||
},
|
},
|
||||||
|
"WPFInstalldigikam": {
|
||||||
|
"winget": "KDE.digikam",
|
||||||
|
"choco": "digikam"
|
||||||
|
},
|
||||||
"WPFInstalldiscord": {
|
"WPFInstalldiscord": {
|
||||||
"winget": "Discord.Discord",
|
"winget": "Discord.Discord",
|
||||||
"choco": "discord"
|
"choco": "discord"
|
||||||
@ -131,6 +179,10 @@
|
|||||||
"winget": "KDE.Dolphin",
|
"winget": "KDE.Dolphin",
|
||||||
"choco": "na"
|
"choco": "na"
|
||||||
},
|
},
|
||||||
|
"WPFInstalldoxbox": {
|
||||||
|
"winget": "DOSBox.DOSBox",
|
||||||
|
"choco": "dosbox"
|
||||||
|
},
|
||||||
"WPFInstallduplicati": {
|
"WPFInstallduplicati": {
|
||||||
"winget": "Duplicati.Duplicati",
|
"winget": "Duplicati.Duplicati",
|
||||||
"choco": "duplicati"
|
"choco": "duplicati"
|
||||||
@ -147,10 +199,22 @@
|
|||||||
"winget": "Microsoft.Edge",
|
"winget": "Microsoft.Edge",
|
||||||
"choco": "microsoft-edge"
|
"choco": "microsoft-edge"
|
||||||
},
|
},
|
||||||
|
"WPFInstallefibooteditor": {
|
||||||
|
"winget": "EFIBootEditor.EFIBootEditor",
|
||||||
|
"choco": "na"
|
||||||
|
},
|
||||||
|
"WPFInstallemulationstation": {
|
||||||
|
"winget": "Emulationstation.Emulationstation",
|
||||||
|
"choco": "emulationstation"
|
||||||
|
},
|
||||||
"WPFInstallepicgames": {
|
"WPFInstallepicgames": {
|
||||||
"winget": "EpicGames.EpicGamesLauncher",
|
"winget": "EpicGames.EpicGamesLauncher",
|
||||||
"choco": "epicgameslauncher"
|
"choco": "epicgameslauncher"
|
||||||
},
|
},
|
||||||
|
"WPFInstallerrorlookup": {
|
||||||
|
"winget": "Henry++.ErrorLookup",
|
||||||
|
"choco": "na"
|
||||||
|
},
|
||||||
"WPFInstallesearch": {
|
"WPFInstallesearch": {
|
||||||
"winget": "voidtools.Everything",
|
"winget": "voidtools.Everything",
|
||||||
"choco": "everything"
|
"choco": "everything"
|
||||||
@ -159,6 +223,26 @@
|
|||||||
"winget": "Balena.Etcher",
|
"winget": "Balena.Etcher",
|
||||||
"choco": "etcher"
|
"choco": "etcher"
|
||||||
},
|
},
|
||||||
|
"WPFInstallfalkon": {
|
||||||
|
"winget": "KDE.Falkon",
|
||||||
|
"choco": "falkon"
|
||||||
|
},
|
||||||
|
"WPFInstallfedora": {
|
||||||
|
"winget": "whitewaterfoundry.fedora-remix-for-wsl",
|
||||||
|
"choco": "na"
|
||||||
|
},
|
||||||
|
"WPFInstallferdium": {
|
||||||
|
"winget": "Ferdium.Ferdium",
|
||||||
|
"choco": "ferdium"
|
||||||
|
},
|
||||||
|
"WPFInstallfiles": {
|
||||||
|
"winget": "YairAichenbaum.Files",
|
||||||
|
"choco": "files"
|
||||||
|
},
|
||||||
|
"WPFInstallfirealpaca": {
|
||||||
|
"winget": "FireAlpaca.FireAlpaca",
|
||||||
|
"choco": "firealpaca"
|
||||||
|
},
|
||||||
"WPFInstallfirefox": {
|
"WPFInstallfirefox": {
|
||||||
"winget": "Mozilla.Firefox",
|
"winget": "Mozilla.Firefox",
|
||||||
"choco": "firefox"
|
"choco": "firefox"
|
||||||
@ -183,6 +267,10 @@
|
|||||||
"winget": "Foxit.PhantomPDF",
|
"winget": "Foxit.PhantomPDF",
|
||||||
"choco": "na"
|
"choco": "na"
|
||||||
},
|
},
|
||||||
|
"WPFInstallfreecad": {
|
||||||
|
"winget": "FreeCAD.FreeCAD",
|
||||||
|
"choco": "freecad"
|
||||||
|
},
|
||||||
"WPFInstallgeforcenow": {
|
"WPFInstallgeforcenow": {
|
||||||
"winget": "Nvidia.GeForceNow",
|
"winget": "Nvidia.GeForceNow",
|
||||||
"choco": "nvidia-geforce-now"
|
"choco": "nvidia-geforce-now"
|
||||||
@ -251,6 +339,10 @@
|
|||||||
"winget": "REALiX.HWiNFO",
|
"winget": "REALiX.HWiNFO",
|
||||||
"choco": "hwinfo"
|
"choco": "hwinfo"
|
||||||
},
|
},
|
||||||
|
"WPFInstallimgburn": {
|
||||||
|
"winget": "LIGHTNINGUK.ImgBurn",
|
||||||
|
"choco": "imgburn"
|
||||||
|
},
|
||||||
"WPFInstallimageglass": {
|
"WPFInstallimageglass": {
|
||||||
"winget": "DuongDieuPhap.ImageGlass",
|
"winget": "DuongDieuPhap.ImageGlass",
|
||||||
"choco": "imageglass"
|
"choco": "imageglass"
|
||||||
@ -259,6 +351,10 @@
|
|||||||
"winget": "Inkscape.Inkscape",
|
"winget": "Inkscape.Inkscape",
|
||||||
"choco": "inkscape"
|
"choco": "inkscape"
|
||||||
},
|
},
|
||||||
|
"WPFInstallitch": {
|
||||||
|
"winget": "ItchIo.Itch",
|
||||||
|
"choco": "itch"
|
||||||
|
},
|
||||||
"WPFInstallitunes": {
|
"WPFInstallitunes": {
|
||||||
"winget": "Apple.iTunes",
|
"winget": "Apple.iTunes",
|
||||||
"choco": "itunes"
|
"choco": "itunes"
|
||||||
@ -303,6 +399,10 @@
|
|||||||
"winget": "Azul.Zulu.20.JDK",
|
"winget": "Azul.Zulu.20.JDK",
|
||||||
"choco": "na"
|
"choco": "na"
|
||||||
},
|
},
|
||||||
|
"WPFInstalljava21": {
|
||||||
|
"winget": "Azul.Zulu.21.JDK",
|
||||||
|
"choco": "na"
|
||||||
|
},
|
||||||
"WPFInstalljdownloader": {
|
"WPFInstalljdownloader": {
|
||||||
"winget": "AppWork.JDownloader",
|
"winget": "AppWork.JDownloader",
|
||||||
"choco": "jdownloader"
|
"choco": "jdownloader"
|
||||||
@ -339,6 +439,10 @@
|
|||||||
"winget": "KDE.Krita",
|
"winget": "KDE.Krita",
|
||||||
"choco": "krita"
|
"choco": "krita"
|
||||||
},
|
},
|
||||||
|
"WPFInstalllbry": {
|
||||||
|
"winget": "LBRY.LBRY",
|
||||||
|
"choco": "lbry"
|
||||||
|
},
|
||||||
"WPFInstalllibreoffice": {
|
"WPFInstalllibreoffice": {
|
||||||
"winget": "TheDocumentFoundation.LibreOffice",
|
"winget": "TheDocumentFoundation.LibreOffice",
|
||||||
"choco": "libreoffice-fresh"
|
"choco": "libreoffice-fresh"
|
||||||
@ -363,9 +467,13 @@
|
|||||||
"winget": "Element.Element",
|
"winget": "Element.Element",
|
||||||
"choco": "element-desktop"
|
"choco": "element-desktop"
|
||||||
},
|
},
|
||||||
"WPFInstallmercury": {
|
"WPFInstallmeld": {
|
||||||
"winget": "Alex313031.Mercury",
|
"winget": "Meld.Meld",
|
||||||
"choco": "na"
|
"choco": "meld"
|
||||||
|
},
|
||||||
|
"WPFInstallmoonlight": {
|
||||||
|
"winget": "MoonlightGameStreamingProject.Moonlight",
|
||||||
|
"choco": "moonlight-qt"
|
||||||
},
|
},
|
||||||
"WPFInstallmonitorian": {
|
"WPFInstallmonitorian": {
|
||||||
"winget": "emoacht.Monitorian",
|
"winget": "emoacht.Monitorian",
|
||||||
@ -379,6 +487,10 @@
|
|||||||
"winget": "mRemoteNG.mRemoteNG",
|
"winget": "mRemoteNG.mRemoteNG",
|
||||||
"choco": "mremoteng"
|
"choco": "mremoteng"
|
||||||
},
|
},
|
||||||
|
"WPFInstallmspaintide": {
|
||||||
|
"winget": "MSPaintIDE.MSPaintIDE",
|
||||||
|
"choco": "na"
|
||||||
|
},
|
||||||
"WPFInstallmsiafterburner": {
|
"WPFInstallmsiafterburner": {
|
||||||
"winget": "Guru3D.Afterburner",
|
"winget": "Guru3D.Afterburner",
|
||||||
"choco": "msiafterburner"
|
"choco": "msiafterburner"
|
||||||
@ -399,6 +511,10 @@
|
|||||||
"winget": "Cyanfish.NAPS2",
|
"winget": "Cyanfish.NAPS2",
|
||||||
"choco": "naps2"
|
"choco": "naps2"
|
||||||
},
|
},
|
||||||
|
"WPFInstallneofetchwin": {
|
||||||
|
"winget": "nepnep.neofetch-win",
|
||||||
|
"choco": "na"
|
||||||
|
},
|
||||||
"WPFInstallneovim": {
|
"WPFInstallneovim": {
|
||||||
"winget": "Neovim.Neovim",
|
"winget": "Neovim.Neovim",
|
||||||
"choco": "neovim"
|
"choco": "neovim"
|
||||||
@ -411,6 +527,10 @@
|
|||||||
"winget": "ZeusSoftware.nGlide",
|
"winget": "ZeusSoftware.nGlide",
|
||||||
"choco": "na"
|
"choco": "na"
|
||||||
},
|
},
|
||||||
|
"WPFInstallnmap": {
|
||||||
|
"winget": "Insecure.Nmap",
|
||||||
|
"choco": "nmap"
|
||||||
|
},
|
||||||
"WPFInstallnodejs": {
|
"WPFInstallnodejs": {
|
||||||
"winget": "OpenJS.NodeJS",
|
"winget": "OpenJS.NodeJS",
|
||||||
"choco": "nodejs"
|
"choco": "nodejs"
|
||||||
@ -431,6 +551,10 @@
|
|||||||
"winget": "Microsoft.NuGet",
|
"winget": "Microsoft.NuGet",
|
||||||
"choco": "nuget.commandline"
|
"choco": "nuget.commandline"
|
||||||
},
|
},
|
||||||
|
"WPFInstallnushell": {
|
||||||
|
"winget": "Nushell.Nushell",
|
||||||
|
"choco": "nushell"
|
||||||
|
},
|
||||||
"WPFInstallnvclean": {
|
"WPFInstallnvclean": {
|
||||||
"winget": "TechPowerUp.NVCleanstall",
|
"winget": "TechPowerUp.NVCleanstall",
|
||||||
"choco": "na"
|
"choco": "na"
|
||||||
@ -459,6 +583,18 @@
|
|||||||
"winget": "ONLYOFFICE.DesktopEditors",
|
"winget": "ONLYOFFICE.DesktopEditors",
|
||||||
"choco": "onlyoffice"
|
"choco": "onlyoffice"
|
||||||
},
|
},
|
||||||
|
"WPFInstallopenscad": {
|
||||||
|
"winget": "OpenSCAD.OpenSCAD",
|
||||||
|
"choco": "openscad"
|
||||||
|
},
|
||||||
|
"WPFInstallopensuseleap": {
|
||||||
|
"winget": "9NJGLDP5G04B",
|
||||||
|
"choco": "na"
|
||||||
|
},
|
||||||
|
"WPFInstallopensusetw": {
|
||||||
|
"winget": "9MSSK2ZXXN11",
|
||||||
|
"choco": "na"
|
||||||
|
},
|
||||||
"WPFInstallopenoffice": {
|
"WPFInstallopenoffice": {
|
||||||
"winget": "Apache.OpenOffice",
|
"winget": "Apache.OpenOffice",
|
||||||
"choco": "openoffice"
|
"choco": "openoffice"
|
||||||
@ -495,6 +631,10 @@
|
|||||||
"winget": "Giorgiotani.Peazip",
|
"winget": "Giorgiotani.Peazip",
|
||||||
"choco": "peazip"
|
"choco": "peazip"
|
||||||
},
|
},
|
||||||
|
"WPFInstallplaynite": {
|
||||||
|
"winget": "Playnite.Playnite",
|
||||||
|
"choco": "playnite"
|
||||||
|
},
|
||||||
"WPFInstallpostman": {
|
"WPFInstallpostman": {
|
||||||
"winget": "Postman.Postman",
|
"winget": "Postman.Postman",
|
||||||
"choco": "postman"
|
"choco": "postman"
|
||||||
@ -527,6 +667,10 @@
|
|||||||
"winget": "Microsoft.Sysinternals.ProcessMonitor",
|
"winget": "Microsoft.Sysinternals.ProcessMonitor",
|
||||||
"choco": "procexp"
|
"choco": "procexp"
|
||||||
},
|
},
|
||||||
|
"WPFInstallprucaslicer": {
|
||||||
|
"winget": "Prusa3d.PrusaSlicer",
|
||||||
|
"choco": "prusaslicer"
|
||||||
|
},
|
||||||
"WPFInstallputty": {
|
"WPFInstallputty": {
|
||||||
"winget": "PuTTY.PuTTY",
|
"winget": "PuTTY.PuTTY",
|
||||||
"choco": "putty"
|
"choco": "putty"
|
||||||
@ -539,6 +683,14 @@
|
|||||||
"winget": "qBittorrent.qBittorrent",
|
"winget": "qBittorrent.qBittorrent",
|
||||||
"choco": "qbittorrent"
|
"choco": "qbittorrent"
|
||||||
},
|
},
|
||||||
|
"WPFInstallqtox": {
|
||||||
|
"winget": "Tox.qTox",
|
||||||
|
"choco": "qtox"
|
||||||
|
},
|
||||||
|
"WPFInstallrainmeter": {
|
||||||
|
"winget": "Rainmeter.Rainmeter",
|
||||||
|
"choco": "na"
|
||||||
|
},
|
||||||
"WPFInstallrevo": {
|
"WPFInstallrevo": {
|
||||||
"winget": "RevoUninstaller.RevoUninstaller",
|
"winget": "RevoUninstaller.RevoUninstaller",
|
||||||
"choco": "revo-uninstaller"
|
"choco": "revo-uninstaller"
|
||||||
@ -575,6 +727,10 @@
|
|||||||
"winget": "Nilesoft.Shell",
|
"winget": "Nilesoft.Shell",
|
||||||
"choco": "nilesoft-shell"
|
"choco": "nilesoft-shell"
|
||||||
},
|
},
|
||||||
|
"WPFInstallsidequest": {
|
||||||
|
"winget": "SideQuestVR.SideQuest",
|
||||||
|
"choco": "sidequest"
|
||||||
|
},
|
||||||
"WPFInstallsignal": {
|
"WPFInstallsignal": {
|
||||||
"winget": "OpenWhisperSystems.Signal",
|
"winget": "OpenWhisperSystems.Signal",
|
||||||
"choco": "signal"
|
"choco": "signal"
|
||||||
@ -591,6 +747,10 @@
|
|||||||
"winget": "SlackTechnologies.Slack",
|
"winget": "SlackTechnologies.Slack",
|
||||||
"choco": "slack"
|
"choco": "slack"
|
||||||
},
|
},
|
||||||
|
"WPFInstallspotify": {
|
||||||
|
"winget": "Spotify.Spotify",
|
||||||
|
"choco": "spotify"
|
||||||
|
},
|
||||||
"WPFInstallsqlstudio": {
|
"WPFInstallsqlstudio": {
|
||||||
"winget": "Microsoft.SQLServerManagementStudio",
|
"winget": "Microsoft.SQLServerManagementStudio",
|
||||||
"choco": "sql-server-management-studio"
|
"choco": "sql-server-management-studio"
|
||||||
@ -619,10 +779,22 @@
|
|||||||
"winget": "SumatraPDF.SumatraPDF",
|
"winget": "SumatraPDF.SumatraPDF",
|
||||||
"choco": "sumatrapdf"
|
"choco": "sumatrapdf"
|
||||||
},
|
},
|
||||||
|
"WPFInstallsunshine": {
|
||||||
|
"winget": "LizardByte.Sunshine",
|
||||||
|
"choco": "sunshine"
|
||||||
|
},
|
||||||
"WPFInstallsuperf4": {
|
"WPFInstallsuperf4": {
|
||||||
"winget": "StefanSundin.Superf4",
|
"winget": "StefanSundin.Superf4",
|
||||||
"choco": "superf4"
|
"choco": "superf4"
|
||||||
},
|
},
|
||||||
|
"WPFInstallspacedrive": {
|
||||||
|
"winget": "spacedrive.Spacedrive",
|
||||||
|
"choco": "na"
|
||||||
|
},
|
||||||
|
"WPFInstalltailscale": {
|
||||||
|
"winget": "tailscale.tailscale",
|
||||||
|
"choco": "tailscale"
|
||||||
|
},
|
||||||
"WPFInstalltcpview": {
|
"WPFInstalltcpview": {
|
||||||
"winget": "Microsoft.Sysinternals.TCPView",
|
"winget": "Microsoft.Sysinternals.TCPView",
|
||||||
"choco": "tcpview"
|
"choco": "tcpview"
|
||||||
@ -643,10 +815,6 @@
|
|||||||
"winget": "Microsoft.WindowsTerminal",
|
"winget": "Microsoft.WindowsTerminal",
|
||||||
"choco": "microsoft-windows-terminal"
|
"choco": "microsoft-windows-terminal"
|
||||||
},
|
},
|
||||||
"WPFInstallthorium": {
|
|
||||||
"winget": "Alex313031.Thorium",
|
|
||||||
"choco": "na"
|
|
||||||
},
|
|
||||||
"WPFInstalltor": {
|
"WPFInstalltor": {
|
||||||
"Winget": "TorProject.TorBrowser",
|
"Winget": "TorProject.TorBrowser",
|
||||||
"choco": "tor-browser"
|
"choco": "tor-browser"
|
||||||
@ -663,6 +831,10 @@
|
|||||||
"winget": "Mozilla.Thunderbird",
|
"winget": "Mozilla.Thunderbird",
|
||||||
"choco": "thunderbird"
|
"choco": "thunderbird"
|
||||||
},
|
},
|
||||||
|
"WPFInstalltweeten": {
|
||||||
|
"winget": "MehediHassan.Tweeten",
|
||||||
|
"choco": "na"
|
||||||
|
},
|
||||||
"WPFInstalltwinkletray": {
|
"WPFInstalltwinkletray": {
|
||||||
"Winget": "xanderfrangos.twinkletray",
|
"Winget": "xanderfrangos.twinkletray",
|
||||||
"choco": "na"
|
"choco": "na"
|
||||||
@ -675,10 +847,30 @@
|
|||||||
"winget": "Ubisoft.Connect",
|
"winget": "Ubisoft.Connect",
|
||||||
"choco": "ubisoft-connect"
|
"choco": "ubisoft-connect"
|
||||||
},
|
},
|
||||||
|
"WPFInstallubuntu1604": {
|
||||||
|
"winget": " Canonical.Ubuntu.1604",
|
||||||
|
"choco": "na"
|
||||||
|
},
|
||||||
|
"WPFInstallubuntu1804": {
|
||||||
|
"winget": " Canonical.Ubuntu.1804",
|
||||||
|
"choco": "na"
|
||||||
|
},
|
||||||
|
"WPFInstallubuntu2004": {
|
||||||
|
"winget": " Canonical.Ubuntu.2004",
|
||||||
|
"choco": "na"
|
||||||
|
},
|
||||||
|
"WPFInstallubuntu2204": {
|
||||||
|
"winget": "Canonical.Ubuntu.2204",
|
||||||
|
"choco": "na"
|
||||||
|
},
|
||||||
"WPFInstallunity": {
|
"WPFInstallunity": {
|
||||||
"winget": "Unity.UnityHub",
|
"winget": "Unity.UnityHub",
|
||||||
"choco": "unityhub"
|
"choco": "unityhub"
|
||||||
},
|
},
|
||||||
|
"WPFInstallvagrant": {
|
||||||
|
"winget": "Hashicorp.Vagrant",
|
||||||
|
"choco": "vagrant"
|
||||||
|
},
|
||||||
"WPFInstallvc2015_32": {
|
"WPFInstallvc2015_32": {
|
||||||
"winget": "Microsoft.VCRedist.2015+.x86",
|
"winget": "Microsoft.VCRedist.2015+.x86",
|
||||||
"choco": "na"
|
"choco": "na"
|
||||||
@ -707,6 +899,10 @@
|
|||||||
"winget": "VideoLAN.VLC",
|
"winget": "VideoLAN.VLC",
|
||||||
"choco": "vlc"
|
"choco": "vlc"
|
||||||
},
|
},
|
||||||
|
"WPFInstallvmwareplayer": {
|
||||||
|
"winget": "VMware.WorkstationPlayer",
|
||||||
|
"choco": "vmware-workstation-player"
|
||||||
|
},
|
||||||
"WPFInstallvoicemeeter": {
|
"WPFInstallvoicemeeter": {
|
||||||
"winget": "VB-Audio.Voicemeeter",
|
"winget": "VB-Audio.Voicemeeter",
|
||||||
"choco": "voicemeeter"
|
"choco": "voicemeeter"
|
||||||
@ -735,18 +931,34 @@
|
|||||||
"winget": "WinMerge.WinMerge",
|
"winget": "WinMerge.WinMerge",
|
||||||
"choco": "winmerge"
|
"choco": "winmerge"
|
||||||
},
|
},
|
||||||
|
"WPFInstallwinpaletter": {
|
||||||
|
"winget": "Abdelrhman-AK.WinPaletter",
|
||||||
|
"choco": "WinPaletter"
|
||||||
|
},
|
||||||
"WPFInstallwinrar": {
|
"WPFInstallwinrar": {
|
||||||
"winget": "RARLab.WinRAR",
|
"winget": "RARLab.WinRAR",
|
||||||
"choco": "winrar"
|
"choco": "winrar"
|
||||||
},
|
},
|
||||||
|
"WPFIntallwslmanager": {
|
||||||
|
"Winget": "Bostrot.WSLManager",
|
||||||
|
"choco": "wsl2-distro-manager"
|
||||||
|
},
|
||||||
"WPFInstallwinscp": {
|
"WPFInstallwinscp": {
|
||||||
"winget": "WinSCP.WinSCP",
|
"winget": "WinSCP.WinSCP",
|
||||||
"choco": "winscp"
|
"choco": "winscp"
|
||||||
},
|
},
|
||||||
|
"WPFInstallwireguard": {
|
||||||
|
"winget": "WireGuard.WireGuard",
|
||||||
|
"choco": "wireguard"
|
||||||
|
},
|
||||||
"WPFInstallwireshark": {
|
"WPFInstallwireshark": {
|
||||||
"winget": "WiresharkFoundation.Wireshark",
|
"winget": "WiresharkFoundation.Wireshark",
|
||||||
"choco": "wireshark"
|
"choco": "wireshark"
|
||||||
},
|
},
|
||||||
|
"WPFInstallwisetoys": {
|
||||||
|
"winget": "WiseCleaner.WiseToys",
|
||||||
|
"choco": "na"
|
||||||
|
},
|
||||||
"WPFInstallwiztree": {
|
"WPFInstallwiztree": {
|
||||||
"Winget": "AntibodySoftware.WizTree",
|
"Winget": "AntibodySoftware.WizTree",
|
||||||
"choco": "wiztree"
|
"choco": "wiztree"
|
||||||
@ -755,12 +967,48 @@
|
|||||||
"winget": "subhra74.XtremeDownloadManager",
|
"winget": "subhra74.XtremeDownloadManager",
|
||||||
"choco": "xdm"
|
"choco": "xdm"
|
||||||
},
|
},
|
||||||
|
"WPFInstallxemu": {
|
||||||
|
"winget": "xemu-project.xemu",
|
||||||
|
"choco": "na"
|
||||||
|
},
|
||||||
|
"WPFInstallxournal": {
|
||||||
|
"winget": "Xournal++.Xournal++",
|
||||||
|
"choco": "xournalplusplus"
|
||||||
|
},
|
||||||
|
"WPFInstallxpipe": {
|
||||||
|
"winget": "xpipe-io.xpipe",
|
||||||
|
"choco": "xpipe"
|
||||||
|
},
|
||||||
|
"WPFInstallyarn": {
|
||||||
|
"winget": "Yarn.Yarn",
|
||||||
|
"choco": "yarn"
|
||||||
|
},
|
||||||
"WPFInstallzerotierone": {
|
"WPFInstallzerotierone": {
|
||||||
"winget": "ZeroTier.ZeroTierOne",
|
"winget": "ZeroTier.ZeroTierOne",
|
||||||
"choco": "zerotier-one"
|
"choco": "zerotier-one"
|
||||||
},
|
},
|
||||||
|
"WPFInstallzim": {
|
||||||
|
"winget": "Zimwiki.Zim",
|
||||||
|
"choco": "zim"
|
||||||
|
},
|
||||||
|
"WPFInstallznote": {
|
||||||
|
"winget": "alagrede.znote",
|
||||||
|
"choco": "na"
|
||||||
|
},
|
||||||
"WPFInstallzoom": {
|
"WPFInstallzoom": {
|
||||||
"winget": "Zoom.Zoom",
|
"winget": "Zoom.Zoom",
|
||||||
"choco": "zoom"
|
"choco": "zoom"
|
||||||
|
},
|
||||||
|
"WPFInstallzotero": {
|
||||||
|
"winget": "DigitalScholar.Zotero",
|
||||||
|
"choco": "zotero"
|
||||||
|
},
|
||||||
|
"WPFInstallzoxide": {
|
||||||
|
"winget": "ajeetdsouza.zoxide",
|
||||||
|
"choco": "zoxide"
|
||||||
|
},
|
||||||
|
"WPFInstallzulip": {
|
||||||
|
"winget": "Zulip.Zulip",
|
||||||
|
"choco": "zulip"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,41 @@
|
|||||||
"ButtonForegroundColor": "#000000",
|
"ButtonForegroundColor": "#000000",
|
||||||
"ButtonBorderThickness": "0",
|
"ButtonBorderThickness": "0",
|
||||||
"ButtonMargin": "0,3,0,3",
|
"ButtonMargin": "0,3,0,3",
|
||||||
"ButtonCornerRadius": "0"
|
"ButtonCornerRadius": "0",
|
||||||
|
"ToggleButtonHeight": "40",
|
||||||
|
"BorderColor": "#000000",
|
||||||
|
"BorderOpacity": "0.2",
|
||||||
|
"ShadowPulse": "Forever"
|
||||||
|
},
|
||||||
|
"Classic": {
|
||||||
|
"ComboBoxBackgroundColor": "#FFFFFF",
|
||||||
|
"LabelboxForegroundColor": "#000000",
|
||||||
|
"MainForegroundColor": "#000000",
|
||||||
|
"MainBackgroundColor": "#FFFFFF",
|
||||||
|
"LabelBackgroundColor": "#FAFAFA",
|
||||||
|
"GroupBorderBackgroundColor": "#000000",
|
||||||
|
"ComboBoxForegroundColor": "#000000",
|
||||||
|
"ButtonInstallBackgroundColor": "#FFFFFF",
|
||||||
|
"ButtonTweaksBackgroundColor": "#FFFFFF",
|
||||||
|
"ButtonConfigBackgroundColor": "#FFFFFF",
|
||||||
|
"ButtonUpdatesBackgroundColor": "#FFFFFF",
|
||||||
|
"ButtonInstallForegroundColor": "#000000",
|
||||||
|
"ButtonTweaksForegroundColor": "#000000",
|
||||||
|
"ButtonConfigForegroundColor": "#000000",
|
||||||
|
"ButtonUpdatesForegroundColor": "#000000",
|
||||||
|
"ButtonBackgroundColor": "#F5F5F5",
|
||||||
|
"ButtonBackgroundPressedColor": "#1A1A1A",
|
||||||
|
"CheckboxMouseOverColor": "#999999",
|
||||||
|
"ButtonBackgroundMouseoverColor": "#C2C2C2",
|
||||||
|
"ButtonBackgroundSelectedColor": "#F0F0F0",
|
||||||
|
"ButtonForegroundColor": "#000000",
|
||||||
|
"ButtonBorderThickness": "1",
|
||||||
|
"ButtonMargin": "1",
|
||||||
|
"ButtonCornerRadius": "2",
|
||||||
|
"ToggleButtonHeight": "25",
|
||||||
|
"BorderColor": "#000000",
|
||||||
|
"BorderOpacity": "0.2",
|
||||||
|
"ShadowPulse": "Forever"
|
||||||
},
|
},
|
||||||
"Matrix": {
|
"Matrix": {
|
||||||
"ComboBoxBackgroundColor": "#000000",
|
"ComboBoxBackgroundColor": "#000000",
|
||||||
@ -45,6 +79,10 @@
|
|||||||
"ButtonForegroundColor": "#9CCC65",
|
"ButtonForegroundColor": "#9CCC65",
|
||||||
"ButtonBorderThickness": "1",
|
"ButtonBorderThickness": "1",
|
||||||
"ButtonMargin": "1",
|
"ButtonMargin": "1",
|
||||||
"ButtonCornerRadius": "2"
|
"ButtonCornerRadius": "2",
|
||||||
|
"ToggleButtonHeight": "25",
|
||||||
|
"BorderColor": "#FFAC1C",
|
||||||
|
"BorderOpacity": "0.8",
|
||||||
|
"ShadowPulse": "0:0:3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
27
functions/private/ConvertTo-Icon.ps1
Normal file
27
functions/private/ConvertTo-Icon.ps1
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
function ConvertTo-Icon {
|
||||||
|
<#
|
||||||
|
|
||||||
|
.DESCRIPTION
|
||||||
|
This function will convert PNG to ICO file
|
||||||
|
|
||||||
|
.EXAMPLE
|
||||||
|
ConvertTo-Icon -bitmapPath "$env:TEMP\cttlogo.png" -iconPath $iconPath
|
||||||
|
#>
|
||||||
|
param( [Parameter(Mandatory=$true)]
|
||||||
|
$bitmapPath,
|
||||||
|
$iconPath = "$env:temp\newicon.ico"
|
||||||
|
)
|
||||||
|
|
||||||
|
Add-Type -AssemblyName System.Drawing
|
||||||
|
|
||||||
|
if (Test-Path $bitmapPath) {
|
||||||
|
$b = [System.Drawing.Bitmap]::FromFile($bitmapPath)
|
||||||
|
$icon = [System.Drawing.Icon]::FromHandle($b.GetHicon())
|
||||||
|
$file = New-Object System.IO.FileStream($iconPath, 'OpenOrCreate')
|
||||||
|
$icon.Save($file)
|
||||||
|
$file.Close()
|
||||||
|
$icon.Dispose()
|
||||||
|
#explorer "/SELECT,$iconpath"
|
||||||
|
}
|
||||||
|
else { Write-Warning "$BitmapPath does not exist" }
|
||||||
|
}
|
@ -13,17 +13,27 @@ function Get-LocalizedYesNo {
|
|||||||
#>
|
#>
|
||||||
|
|
||||||
# Run takeown.exe and capture its output
|
# Run takeown.exe and capture its output
|
||||||
$takeownOutput = & takeown.exe /? | Out-String
|
$takeownOutput = & takeown.exe /? | Out-String
|
||||||
|
|
||||||
# Parse the output and retrieve lines until there are at least 2 characters in the array
|
# Parse the output and retrieve lines until there are at least 2 characters in the array
|
||||||
$found = $false
|
$found = $false
|
||||||
$charactersArray = @()
|
$charactersArray = @()
|
||||||
foreach ($line in $takeownOutput -split "`r`n")
|
foreach ($line in $takeownOutput -split "`r`n")
|
||||||
{
|
{
|
||||||
|
# skip everything before /D flag help
|
||||||
if ($found)
|
if ($found)
|
||||||
{
|
{
|
||||||
$characters = $line -split '(")([A-Za-z])(")' | Where-Object { $_ -match '^[A-Za-z]$' }
|
# now that /D is found start looking for a single character in double quotes
|
||||||
$charactersArray += $characters
|
# in help text there is another string in double quotes but it is not a single character
|
||||||
|
$regexPattern = '"([a-zA-Z])"'
|
||||||
|
|
||||||
|
$charactersArray = [regex]::Matches($line, $regexPattern) | ForEach-Object { $_.Groups[1].Value }
|
||||||
|
|
||||||
|
# if ($charactersArray.Count -gt 0) {
|
||||||
|
# Write-Output "Extracted symbols: $($matches -join ', ')"
|
||||||
|
# } else {
|
||||||
|
# Write-Output "No matches found."
|
||||||
|
# }
|
||||||
|
|
||||||
if ($charactersArray.Count -ge 2)
|
if ($charactersArray.Count -ge 2)
|
||||||
{
|
{
|
||||||
|
28
functions/private/Get-Oscdimg.ps1
Normal file
28
functions/private/Get-Oscdimg.ps1
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
function Get-Oscdimg {
|
||||||
|
<#
|
||||||
|
|
||||||
|
.DESCRIPTION
|
||||||
|
This function will get oscdimg file for from github Release foldersand put it into env:temp
|
||||||
|
|
||||||
|
.EXAMPLE
|
||||||
|
Get-Oscdimg
|
||||||
|
#>
|
||||||
|
param( [Parameter(Mandatory=$true)]
|
||||||
|
$oscdimgPath = "$env:TEMP\oscdimg.exe"
|
||||||
|
)
|
||||||
|
|
||||||
|
$githubUserName = "ChrisTitusTech"
|
||||||
|
$downloadUrl = "https://github.com/$githubUserName/winutil/releases/oscdimg.exe"
|
||||||
|
Invoke-RestMethod -Uri $downloadUrl -OutFile $oscdimgPath
|
||||||
|
$hashResult = Get-FileHash -Path $oscdimgPath -Algorithm SHA256
|
||||||
|
$sha256Hash = $hashResult.Hash
|
||||||
|
|
||||||
|
Write-Host "[INFO] oscdimg.exe SHA-256 Hash: $sha256Hash"
|
||||||
|
|
||||||
|
$expectedHash = "F62B91A06F94019A878DD9D1713FFBA2140B863C131EB78A329B4CCD6102960E" # Replace with the actual expected hash
|
||||||
|
if ($sha256Hash -eq $expectedHash) {
|
||||||
|
Write-Host "Hashes match. File is verified."
|
||||||
|
} else {
|
||||||
|
Write-Host "Hashes do not match. File may be corrupted or tampered with."
|
||||||
|
}
|
||||||
|
}
|
@ -147,6 +147,7 @@ function Remove-FileOrDirectory([string] $pathToDelete, [string] $mask = "", [sw
|
|||||||
if (-not (Test-Path -Path "$($pathToDelete)")) { return }
|
if (-not (Test-Path -Path "$($pathToDelete)")) { return }
|
||||||
|
|
||||||
$yesNo = Get-LocalizedYesNo
|
$yesNo = Get-LocalizedYesNo
|
||||||
|
Write-Host "[INFO] In Your local takeown expects '$($yesNo[0])' as a Yes answer."
|
||||||
|
|
||||||
# Specify the path to the directory
|
# Specify the path to the directory
|
||||||
# $directoryPath = "$($scratchDir)\Windows\System32\LogFiles\WMI\RtBackup"
|
# $directoryPath = "$($scratchDir)\Windows\System32\LogFiles\WMI\RtBackup"
|
||||||
|
@ -55,5 +55,6 @@ function Invoke-WPFButton {
|
|||||||
"WPFGetInstalledTweaks" {Invoke-WPFGetInstalled -CheckBox "tweaks"}
|
"WPFGetInstalledTweaks" {Invoke-WPFGetInstalled -CheckBox "tweaks"}
|
||||||
"WPFGetIso" {Invoke-WPFGetIso}
|
"WPFGetIso" {Invoke-WPFGetIso}
|
||||||
"WPFMicrowin" {Invoke-WPFMicrowin}
|
"WPFMicrowin" {Invoke-WPFMicrowin}
|
||||||
|
"WPFCloseButton" {Invoke-CloseButton}
|
||||||
}
|
}
|
||||||
}
|
}
|
12
functions/public/Invoke-WPFCloseButton.ps1
Normal file
12
functions/public/Invoke-WPFCloseButton.ps1
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
function Invoke-CloseButton {
|
||||||
|
|
||||||
|
<#
|
||||||
|
|
||||||
|
.SYNOPSIS
|
||||||
|
Close application
|
||||||
|
|
||||||
|
.PARAMETER Button
|
||||||
|
#>
|
||||||
|
$sync["Form"].Close()
|
||||||
|
Write-Host "Bye bye!"
|
||||||
|
}
|
@ -18,25 +18,46 @@ function Invoke-WPFGetIso {
|
|||||||
Write-Host "/ /\/\ \| || (__ | | | (_) | \ /\ / | || | | | "
|
Write-Host "/ /\/\ \| || (__ | | | (_) | \ /\ / | || | | | "
|
||||||
Write-Host "\/ \/|_| \___||_| \___/ \/ \/ |_||_| |_| "
|
Write-Host "\/ \/|_| \___||_| \___/ \/ \/ |_||_| |_| "
|
||||||
|
|
||||||
$oscdImgFound = [bool] (Get-Command -ErrorAction Ignore -Type Application oscdimg)
|
$oscdImgFound = [bool] (Get-Command -ErrorAction Ignore -Type Application oscdimg.exe)
|
||||||
Write-Host "oscdimge.exe on system: $oscdImgFound"
|
Write-Host "oscdimg.exe on system: $oscdImgFound"
|
||||||
|
|
||||||
|
$oscdimgPath = Join-Path $env:TEMP 'oscdimg.exe'
|
||||||
|
$oscdImgFound = Test-Path $oscdimgPath -PathType Leaf
|
||||||
|
|
||||||
if (!$oscdImgFound)
|
if (!$oscdImgFound)
|
||||||
{
|
{
|
||||||
[System.Windows.MessageBox]::Show("oscdimge.exe is not found on the system, you need to download it first before running this function!")
|
$downloadFromGitHub = $sync.WPFMicrowinDownloadFromGitHub.IsChecked
|
||||||
|
|
||||||
# the step below needs choco to download oscdimg
|
if (!$downloadFromGitHub)
|
||||||
$chocoFound = [bool] (Get-Command -ErrorAction Ignore -Type Application choco)
|
|
||||||
Write-Host "choco on system: $oscdImgFound"
|
|
||||||
if (!$chocoFound)
|
|
||||||
{
|
{
|
||||||
[System.Windows.MessageBox]::Show("choco.exe is not found on the system, you need choco to download oscdimg.exe")
|
# only show the message to people who did check the box to download from github, if you check the box
|
||||||
|
# you consent to downloading it, no need to show extra dialogs
|
||||||
|
[System.Windows.MessageBox]::Show("oscdimge.exe is not found on the system, winutil will now attempt do download and install it using choco or github. This might take a long time.")
|
||||||
|
# the step below needs choco to download oscdimg
|
||||||
|
$chocoFound = [bool] (Get-Command -ErrorAction Ignore -Type Application choco)
|
||||||
|
Write-Host "choco on system: $chocoFound"
|
||||||
|
if (!$chocoFound)
|
||||||
|
{
|
||||||
|
[System.Windows.MessageBox]::Show("choco.exe is not found on the system, you need choco to download oscdimg.exe")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
Start-Process -Verb runas -FilePath powershell.exe -ArgumentList "choco install windows-adk-oscdimg"
|
||||||
|
[System.Windows.MessageBox]::Show("oscdimg is installed, now close, reopen PowerShell terminal and re-launch winutil.ps1")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
Start-Process -Verb runas -FilePath powershell.exe -ArgumentList "choco install windows-adk-oscdimg"
|
Get-Oscdimg -oscdimgPath $oscdimgPath
|
||||||
[System.Windows.MessageBox]::Show("oscdimg is installed, now close, reopen PowerShell terminal and re-launch winutil.ps1 !!!")
|
$oscdImgFound = Test-Path $oscdimgPath -PathType Leaf
|
||||||
return
|
if (!$oscdImgFound) {
|
||||||
|
$msg = "oscdimg was not downloaded can not proceed"
|
||||||
|
[System.Windows.MessageBox]::Show($msg, "Winutil", [System.Windows.MessageBoxButton]::OK, [System.Windows.MessageBoxImage]::Error)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Write-Host "oscdimg.exe was successfully downloaded from github"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") | Out-Null
|
[System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") | Out-Null
|
||||||
@ -49,7 +70,7 @@ function Invoke-WPFGetIso {
|
|||||||
if ([string]::IsNullOrEmpty($filePath))
|
if ([string]::IsNullOrEmpty($filePath))
|
||||||
{
|
{
|
||||||
Write-Host "No ISO is chosen"
|
Write-Host "No ISO is chosen"
|
||||||
break
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
Write-Host "File path $($filePath)"
|
Write-Host "File path $($filePath)"
|
||||||
@ -57,7 +78,7 @@ function Invoke-WPFGetIso {
|
|||||||
{
|
{
|
||||||
$msg = "File you've chosen doesn't exist"
|
$msg = "File you've chosen doesn't exist"
|
||||||
[System.Windows.MessageBox]::Show($msg, "Winutil", [System.Windows.MessageBoxButton]::OK, [System.Windows.MessageBoxImage]::Error)
|
[System.Windows.MessageBox]::Show($msg, "Winutil", [System.Windows.MessageBoxButton]::OK, [System.Windows.MessageBoxImage]::Error)
|
||||||
break
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
Write-Host "Mounting Iso. Please wait."
|
Write-Host "Mounting Iso. Please wait."
|
||||||
@ -70,15 +91,21 @@ function Invoke-WPFGetIso {
|
|||||||
$sync.MicrowinIsoDrive.Text = $driveLetter
|
$sync.MicrowinIsoDrive.Text = $driveLetter
|
||||||
|
|
||||||
Write-Host "Setting up mount dir and scratch dirs"
|
Write-Host "Setting up mount dir and scratch dirs"
|
||||||
$mountDir = "c:\microwin"
|
$timestamp = Get-Date -Format "yyyyMMdd_HHmmss"
|
||||||
$scratchDir = "c:\microwinscratch"
|
$randomNumber = Get-Random -Minimum 1 -Maximum 9999
|
||||||
|
$randomMicrowin = "Microwin_${timestamp}_${randomNumber}"
|
||||||
|
$randomMicrowinScratch = "MicrowinScratch_${timestamp}_${randomNumber}"
|
||||||
|
$mountDir = Join-Path $env:TEMP $randomMicrowin
|
||||||
|
$scratchDir = Join-Path $env:TEMP $randomMicrowinScratch
|
||||||
$sync.MicrowinMountDir.Text = $mountDir
|
$sync.MicrowinMountDir.Text = $mountDir
|
||||||
$sync.MicrowinScratchDir.Text = $scratchDir
|
$sync.MicrowinScratchDir.Text = $scratchDir
|
||||||
Write-Host "Done setting up mount dir and scratch dirs"
|
Write-Host "Done setting up mount dir and scratch dirs"
|
||||||
|
Write-Host "Scratch dir is $scratchDir"
|
||||||
|
Write-Host "Image dir is $mountDir"
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
$data = @($driveLetter, $filePath)
|
#$data = @($driveLetter, $filePath)
|
||||||
New-Item -ItemType Directory -Force -Path "$($mountDir)" | Out-Null
|
New-Item -ItemType Directory -Force -Path "$($mountDir)" | Out-Null
|
||||||
New-Item -ItemType Directory -Force -Path "$($scratchDir)" | Out-Null
|
New-Item -ItemType Directory -Force -Path "$($scratchDir)" | Out-Null
|
||||||
Write-Host "Copying Windows image. This will take awhile, please don't use UI or cancel this step!"
|
Write-Host "Copying Windows image. This will take awhile, please don't use UI or cancel this step!"
|
||||||
@ -93,7 +120,8 @@ function Invoke-WPFGetIso {
|
|||||||
|
|
||||||
if (-not (Test-Path -Path $wimFile -PathType Leaf))
|
if (-not (Test-Path -Path $wimFile -PathType Leaf))
|
||||||
{
|
{
|
||||||
$msg = "install wim file doesn't exist in the image, are you sure you used Windows image??"
|
$msg = "Install.wim file doesn't exist in the image, this could happen if you use unofficial Windows images, or a Media creation tool, which creates a final image that can not be modified. Please don't use shady images from the internet, use only official images. Here are instructions how to download ISO images if the Microsoft website is not showing the link to download and ISO. https://www.techrepublic.com/article/how-to-download-a-windows-10-iso-file-without-using-the-media-creation-tool/"
|
||||||
|
Write-Host $msg
|
||||||
[System.Windows.MessageBox]::Show($msg, "Winutil", [System.Windows.MessageBoxButton]::OK, [System.Windows.MessageBoxImage]::Error)
|
[System.Windows.MessageBox]::Show($msg, "Winutil", [System.Windows.MessageBoxButton]::OK, [System.Windows.MessageBoxImage]::Error)
|
||||||
throw
|
throw
|
||||||
}
|
}
|
||||||
|
@ -10,6 +10,7 @@ function Invoke-WPFMicrowin {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$index = $sync.MicrowinWindowsFlavors.SelectedValue.Split(":")[0].Trim()
|
$index = $sync.MicrowinWindowsFlavors.SelectedValue.Split(":")[0].Trim()
|
||||||
Write-Host "Index chosen: '$index' from $($sync.MicrowinWindowsFlavors.SelectedValue)"
|
Write-Host "Index chosen: '$index' from $($sync.MicrowinWindowsFlavors.SelectedValue)"
|
||||||
|
|
||||||
@ -145,13 +146,11 @@ function Invoke-WPFMicrowin {
|
|||||||
{
|
{
|
||||||
$pngPath = "$env:TEMP\cttlogo.png"
|
$pngPath = "$env:TEMP\cttlogo.png"
|
||||||
$icoPath = "$env:TEMP\cttlogo.ico"
|
$icoPath = "$env:TEMP\cttlogo.ico"
|
||||||
Add-Type -AssemblyName System.Drawing
|
ConvertTo-Icon -bitmapPath $pngPath -iconPath $icoPath
|
||||||
$pngImage = [System.Drawing.Image]::FromFile($pngPath)
|
|
||||||
$pngImage.Save($icoPath, [System.Drawing.Imaging.ImageFormat]::Icon)
|
|
||||||
Write-Host "ICO file created at: $icoPath"
|
Write-Host "ICO file created at: $icoPath"
|
||||||
Copy-Item "$env:TEMP\cttlogo.png" "$($scratchDir)\Windows\cttlogo.png" -force
|
Copy-Item "$env:TEMP\cttlogo.png" "$($scratchDir)\Windows\cttlogo.png" -force
|
||||||
Copy-Item "$env:TEMP\cttlogo.ico" "$($scratchDir)\cttlogo.ico" -force
|
Copy-Item "$env:TEMP\cttlogo.ico" "$($scratchDir)\Windows\cttlogo.ico" -force
|
||||||
$shortcut.IconLocation = "c:\cttlogo.ico"
|
$shortcut.IconLocation = "c:\Windows\cttlogo.ico"
|
||||||
}
|
}
|
||||||
|
|
||||||
$shortcut.TargetPath = "powershell.exe"
|
$shortcut.TargetPath = "powershell.exe"
|
||||||
@ -265,6 +264,20 @@ function Invoke-WPFMicrowin {
|
|||||||
Write-Host "Mounting boot image $mountDir\sources\boot.wim into $scratchDir"
|
Write-Host "Mounting boot image $mountDir\sources\boot.wim into $scratchDir"
|
||||||
dism /mount-image /imagefile:"$mountDir\sources\boot.wim" /index:2 /mountdir:"$scratchDir"
|
dism /mount-image /imagefile:"$mountDir\sources\boot.wim" /index:2 /mountdir:"$scratchDir"
|
||||||
|
|
||||||
|
if ($injectDrivers)
|
||||||
|
{
|
||||||
|
$driverPath = $sync.MicrowinDriverLocation.Text
|
||||||
|
if (Test-Path $driverPath)
|
||||||
|
{
|
||||||
|
Write-Host "Adding Windows Drivers image($scratchDir) drivers($driverPath) "
|
||||||
|
dism /image:$scratchDir /add-driver /driver:$driverPath /recurse | Out-Host
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Write-Host "Path to drivers is invalid continuing without driver injection"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Write-Host "Loading registry..."
|
Write-Host "Loading registry..."
|
||||||
reg load HKLM\zCOMPONENTS "$($scratchDir)\Windows\System32\config\COMPONENTS" >$null
|
reg load HKLM\zCOMPONENTS "$($scratchDir)\Windows\System32\config\COMPONENTS" >$null
|
||||||
reg load HKLM\zDEFAULT "$($scratchDir)\Windows\System32\config\default" >$null
|
reg load HKLM\zDEFAULT "$($scratchDir)\Windows\System32\config\default" >$null
|
||||||
@ -298,8 +311,19 @@ function Invoke-WPFMicrowin {
|
|||||||
dism /unmount-image /mountdir:$scratchDir /commit
|
dism /unmount-image /mountdir:$scratchDir /commit
|
||||||
|
|
||||||
Write-Host "Creating ISO image"
|
Write-Host "Creating ISO image"
|
||||||
|
|
||||||
|
# if we downloaded oscdimg from github it will be in the temp directory so use it
|
||||||
|
# if it is not in temp it is part of ADK and is in global PATH so just set it to oscdimg.exe
|
||||||
|
$oscdimgPath = Join-Path $env:TEMP 'oscdimg.exe'
|
||||||
|
$oscdImgFound = Test-Path $oscdimgPath -PathType Leaf
|
||||||
|
if (!$oscdImgFound)
|
||||||
|
{
|
||||||
|
$oscdimgPath = "oscdimg.exe"
|
||||||
|
}
|
||||||
|
|
||||||
|
Write-Host "[INFO] Using oscdimg.exe from: $oscdimgPath"
|
||||||
#& oscdimg.exe -m -o -u2 -udfver102 -bootdata:2#p0,e,b$mountDir\boot\etfsboot.com#pEF,e,b$mountDir\efi\microsoft\boot\efisys.bin $mountDir $env:temp\microwin.iso
|
#& oscdimg.exe -m -o -u2 -udfver102 -bootdata:2#p0,e,b$mountDir\boot\etfsboot.com#pEF,e,b$mountDir\efi\microsoft\boot\efisys.bin $mountDir $env:temp\microwin.iso
|
||||||
Start-Process -FilePath "oscdimg.exe" -ArgumentList "-m -o -u2 -udfver102 -bootdata:2#p0,e,b$mountDir\boot\etfsboot.com#pEF,e,b$mountDir\efi\microsoft\boot\efisys.bin $mountDir $env:temp\microwin.iso" -NoNewWindow -Wait
|
Start-Process -FilePath $oscdimgPath -ArgumentList "-m -o -u2 -udfver102 -bootdata:2#p0,e,b$mountDir\boot\etfsboot.com#pEF,e,b$mountDir\efi\microsoft\boot\efisys.bin $mountDir $env:temp\microwin.iso" -NoNewWindow -Wait
|
||||||
|
|
||||||
if ($copyToUSB)
|
if ($copyToUSB)
|
||||||
{
|
{
|
||||||
@ -317,10 +341,12 @@ function Invoke-WPFMicrowin {
|
|||||||
|
|
||||||
# Check if the ISO was successfully created - CTT edit
|
# Check if the ISO was successfully created - CTT edit
|
||||||
if ($LASTEXITCODE -eq 0) {
|
if ($LASTEXITCODE -eq 0) {
|
||||||
Write-Host "Done. ISO image is located here: $env:temp\microwin.iso"
|
Write-Host "`n`nPerforming Cleanup..."
|
||||||
Write-Host "Performing Cleanup"
|
|
||||||
Remove-Item -Recurse -Force "$($scratchDir)"
|
Remove-Item -Recurse -Force "$($scratchDir)"
|
||||||
Remove-Item -Recurse -Force "$($mountDir)"
|
Remove-Item -Recurse -Force "$($mountDir)"
|
||||||
|
$msg = "Done. ISO image is located here: $env:temp\microwin.iso"
|
||||||
|
Write-Host $msg
|
||||||
|
[System.Windows.MessageBox]::Show($msg, "Winutil", [System.Windows.MessageBoxButton]::OK, [System.Windows.MessageBoxImage]::Information)
|
||||||
} else {
|
} else {
|
||||||
Write-Host "ISO creation failed. The "$($mountDir)" directory has not been removed."
|
Write-Host "ISO creation failed. The "$($mountDir)" directory has not been removed."
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
|
||||||
function Invoke-WPFShortcut {
|
function Invoke-WPFShortcut {
|
||||||
<#
|
<#
|
||||||
|
|
||||||
@ -10,13 +11,19 @@ function Invoke-WPFShortcut {
|
|||||||
#>
|
#>
|
||||||
param($ShortcutToAdd)
|
param($ShortcutToAdd)
|
||||||
|
|
||||||
Switch ($ShortcutToAdd) {
|
$iconPath = $null
|
||||||
|
Switch ($ShortcutToAdd) {
|
||||||
"WinUtil" {
|
"WinUtil" {
|
||||||
$SourceExe = "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell.exe"
|
$SourceExe = "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell.exe"
|
||||||
$IRM = 'irm https://christitus.com/win | iex'
|
$IRM = 'irm https://christitus.com/win | iex'
|
||||||
$Powershell = '-ExecutionPolicy Bypass -Command "Start-Process powershell.exe -verb runas -ArgumentList'
|
$Powershell = '-ExecutionPolicy Bypass -Command "Start-Process powershell.exe -verb runas -ArgumentList'
|
||||||
$ArgumentsToSourceExe = "$powershell '$IRM'"
|
$ArgumentsToSourceExe = "$powershell '$IRM'"
|
||||||
$DestinationName = "WinUtil.lnk"
|
$DestinationName = "WinUtil.lnk"
|
||||||
|
|
||||||
|
if (Test-Path -Path "$env:TEMP\cttlogo.png") {
|
||||||
|
$iconPath = "$env:SystempRoot\cttlogo.ico"
|
||||||
|
ConvertTo-Icon -bitmapPath "$env:TEMP\cttlogo.png" -iconPath $iconPath
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -30,6 +37,9 @@ function Invoke-WPFShortcut {
|
|||||||
$Shortcut = $WshShell.CreateShortcut($FileBrowser.FileName)
|
$Shortcut = $WshShell.CreateShortcut($FileBrowser.FileName)
|
||||||
$Shortcut.TargetPath = $SourceExe
|
$Shortcut.TargetPath = $SourceExe
|
||||||
$Shortcut.Arguments = $ArgumentsToSourceExe
|
$Shortcut.Arguments = $ArgumentsToSourceExe
|
||||||
|
if ($iconPath -ne $null) {
|
||||||
|
$shortcut.IconLocation = $iconPath
|
||||||
|
}
|
||||||
$Shortcut.Save()
|
$Shortcut.Save()
|
||||||
|
|
||||||
Write-Host "Shortcut for $ShortcutToAdd has been saved to $($FileBrowser.FileName)"
|
Write-Host "Shortcut for $ShortcutToAdd has been saved to $($FileBrowser.FileName)"
|
||||||
|
@ -161,7 +161,7 @@ $commonKeyEvents = {
|
|||||||
|
|
||||||
# Escape removes focus from the searchbox that way all shortcuts will start workinf again
|
# Escape removes focus from the searchbox that way all shortcuts will start workinf again
|
||||||
if ($_.Key -eq "Escape") {
|
if ($_.Key -eq "Escape") {
|
||||||
if ($sync.CheckboxFilter.IsFocused)
|
#if ($sync.CheckboxFilter.IsFocused)
|
||||||
{
|
{
|
||||||
$sync.CheckboxFilter.SelectAll()
|
$sync.CheckboxFilter.SelectAll()
|
||||||
$sync.CheckboxFilter.Text = ""
|
$sync.CheckboxFilter.Text = ""
|
||||||
@ -232,6 +232,19 @@ $sync["Form"].Add_MouseLeftButtonDown({
|
|||||||
$sync["Form"].DragMove()
|
$sync["Form"].DragMove()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
$sync["Form"].Add_MouseDoubleClick({
|
||||||
|
if ($sync["Form"].WindowState -eq [Windows.WindowState]::Normal)
|
||||||
|
{
|
||||||
|
$sync["Form"].WindowState = [Windows.WindowState]::Maximized;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$sync["Form"].WindowState = [Windows.WindowState]::Normal;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# setting window icon to make it look more professional
|
# setting window icon to make it look more professional
|
||||||
$sync["Form"].Add_Loaded({
|
$sync["Form"].Add_Loaded({
|
||||||
|
|
||||||
@ -243,7 +256,7 @@ $sync["Form"].Add_Loaded({
|
|||||||
# File does not exist, download it
|
# File does not exist, download it
|
||||||
$wc = New-Object System.Net.WebClient
|
$wc = New-Object System.Net.WebClient
|
||||||
$wc.DownloadFile($downloadUrl, $destinationPath)
|
$wc.DownloadFile($downloadUrl, $destinationPath)
|
||||||
Write-Output "File downloaded to: $destinationPath"
|
Write-Host "File downloaded to: $destinationPath"
|
||||||
} else {
|
} else {
|
||||||
Write-Output "File already exists at: $destinationPath"
|
Write-Output "File already exists at: $destinationPath"
|
||||||
}
|
}
|
||||||
@ -288,6 +301,7 @@ $sync["Form"].Add_Loaded({
|
|||||||
|
|
||||||
# Move the window to that position...
|
# Move the window to that position...
|
||||||
[Void][Window]::MoveWindow($windowHandle, $x, $y, $width, $height, $True)
|
[Void][Window]::MoveWindow($windowHandle, $x, $y, $width, $height, $True)
|
||||||
|
|
||||||
Invoke-WPFTab "WPFTab1BT"
|
Invoke-WPFTab "WPFTab1BT"
|
||||||
$sync["Form"].Focus()
|
$sync["Form"].Focus()
|
||||||
})
|
})
|
||||||
@ -312,20 +326,6 @@ $sync["CheckboxFilter"].Add_TextChanged({
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
$downloadUrl = "https://christitus.com/images/logo-full.png"
|
|
||||||
$destinationPath = Join-Path $env:TEMP "cttlogo.png"
|
|
||||||
|
|
||||||
# Check if the file already exists
|
|
||||||
if (-not (Test-Path $destinationPath)) {
|
|
||||||
# File does not exist, download it
|
|
||||||
$wc = New-Object System.Net.WebClient
|
|
||||||
$wc.DownloadFile($downloadUrl, $destinationPath)
|
|
||||||
Write-Output "File downloaded to: $destinationPath"
|
|
||||||
} else {
|
|
||||||
Write-Output "File already exists at: $destinationPath"
|
|
||||||
}
|
|
||||||
|
|
||||||
# show current windowsd Product ID
|
# show current windowsd Product ID
|
||||||
#Write-Host "Your Windows Product Key: $((Get-WmiObject -query 'select * from SoftwareLicensingService').OA3xOriginalProductKey)"
|
#Write-Host "Your Windows Product Key: $((Get-WmiObject -query 'select * from SoftwareLicensingService').OA3xOriginalProductKey)"
|
||||||
|
|
||||||
|
1900
winutil.ps1
Executable file → Normal file
1900
winutil.ps1
Executable file → Normal file
File diff suppressed because it is too large
Load Diff
1349
xaml/inputXML.xaml
1349
xaml/inputXML.xaml
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user