Saturday, June 7, 2025

So, You Want to "Upgrade" to Windows 11?

So, You Want to "Upgrade" to Windows 11? Here's How to Do It Right

Upgrading to Windows 11 can be a challenge, especially if you're dealing with older hardware or unsupported systems. After wrestling with multiple machines and various upgrade methods, I've compiled this comprehensive guide to help you navigate the process successfully.

The Simple Upgrade Method

Try Flyby11 first.

If that doesn't work try Microsoft's own tools:

  1. Download the Media Creation Tool and grab the Windows 11 ISO in your preferred language
  2. Mount the ISO (it'll appear as a new drive, let's say drive E)
  3. Open Command Prompt as administrator
  4. Type e: to switch to the mounted drive
  5. Run the setup with: setup.exe /product server

For those who want more control over the process, use this extended command:

setup.exe /product server /auto upgrade /quiet /compat ignorewarning /dynamicupdate disable /eula accept /noreboot

Post-Installation Cleanup

Once Windows 11 is installed, you'll want to clean up the bloatware:

  • O&O AppBuster makes removing unwanted apps a breeze
  • O&O Shutup10++ helps disable privacy-invasive features
  • Wintoys will help you with many settings

Dealing with Unsupported Hardware

Most of my computers are older machines with unsupported hardware, and I've found success with tools like Flyby11 and Rufus for in-place upgrades. Interestingly, as of June 4th, 2025, Windows Defender has started flagging Flyby11 for deletion – which might actually be a good sign that it's effective!

Rufus Method

If you're struggling with Rufus (like I was with creating bootable drives), try running it as administrator. Alternatively, use the Media Creation Tool to create your boot drive and add Schneegan's autounattend.xml file.

Troubleshooting Common Issues

When Upgrades Fail

Even machines with identical CPU generations can behave differently during upgrades. Here's what to try:

  1. Update all drivers before attempting the upgrade
  2. Perform a clean boot using MSConfig (avoid Safe Boot – it won't work with in-place upgrades)
  3. Let the process run longer – I've seen upgrades get stuck at 31% for extended periods before completing

Success Story: Dell Optiplex 9010

One stubborn 3rd-gen i7 Dell Optiplex 9010 refused every upgrade method until I:

  1. Installed a blank drive
  2. Set BIOS to UEFI mode
  3. Used Media Creation Tool with Schneegan's autounattend.xml
  4. Disabled NIC boot options in BIOS

Success at last!

Essential Preparation Steps

Before attempting any upgrade:

  1. Clone your drive if you have important data (use disk clone, not system transfer)
  2. Update all drivers to the latest versions
  3. Close running applications that might interfere with the process

Backup and Recovery Strategy

Disk Cloning Advice

Finding reliable free cloning software can be challenging. Here are my recommendations:

  • Partition Wizard (older versions) – reboots and clones without Windows running, plus adjusts to use entire larger drives
  • Avoid Hasleo for USB-attached drives – it only allows "transfer OS" which doesn't copy all files
  • Rescuzilla on a Ventoy drive – perfect for cloning when Windows won't boot
Before cloning with Rescuzilla
Wintoys  > go to Health
1. Turn off Fast Startup
2. Turn off Hibernation

Pro tip: When cloning, choose "copy/clone disk" instead of "transfer OS" to ensure all files are copied.

Optimizing with Schneegan's Autounattend.xml

For clean installations, Schneegan's autounattend.xml file is invaluable. Key settings to enable:

  • Bypass TPM requirements
  • Hide PowerShell scripts
  • Add local offline account
  • Show file extensions
  • Use classic context menu
  • Hide search and widgets
  • Left-align taskbar
  • Disable app suggestions
  • Prevent device encryption
  • Turn on num lock

Final Tips and Tools

  • Remove annoying features: Use registry entries from Winaero to eliminate the "Learn more about this picture" icon
  • File management: FreeFileSync makes moving large numbers of files effortless
  • Patience is key: Some upgrades take much longer than expected – don't give up too early

Conclusion

Upgrading to Windows 11 on older or unsupported hardware requires patience and the right tools, but it's definitely achievable. The key is preparation: backup your data, update your drivers, and be ready to try multiple methods if the first one doesn't work.

Remember, if disaster strikes, you'll have that cloned drive as your safety net. Good luck with your upgrade journey!

Monday, June 2, 2025

BatToExe (In case I forget)

 Turn a bat file into exe and embed an icon.

Download this . . .
This is stand alone program so nothing installs.

Make a bat file. Here are a couple examples:

(To access a local folder)
@ECHO OFF 
start "" "%userprofile%\Pictures\Gimp Work"

or

(To open a web site)
@ECHO OFF 
start "" https://www.dropbox.com/h

Find an image you want to attach. 
Probably remove the background. 
Run it through icon software like Greenfish.
Attach this .ico file in BatToExe and convert.

Sunday, June 1, 2025

Medicat

 Medicat is full of stuff Widows Defender hates. You can't get it near a running OS.

Solution: I have an "Excluded" folder and I exclude it from Defender's scan.

Why bother? Sometimes I want to use something in Medicat without booting it up.
I can keep the PortableApps platform up to date as well.

Saturday, November 2, 2024

Curl, Wget, Winget & Powershell Install or Download Commands

After the mess I made in previous posts this summary might be useful.
    Thanks PatchMyPC, the great and powerful program downloader and updater.

Note: With both curl and wget, if a command keeps repeating without doing anything try
    curl.exe or wget.exe.(it has to do with alias or system path not worth tracing down)

curl
    Downloads into folder in which consol is active
curl -O https://patchmypc.com/freeupdater/PatchMyPC.exe
    Downloads into a specific folder
mkdir C:\Portable
curl -L https://patchmypc.com/freeupdater/PatchMyPC.exe -o C:\Portable\PatchMyPC.exe
In a multiple entry bat file I use the curl.exe command on each item
wget
    Download wget into the working directory (if link changes, fix it)
curl -o C:\Windows\System32\wget.exe https://eternallybored.org/misc/wget/1.21.4/64/wget.exe
    Downloads into folder in which consol is active
wget https://patchmypc.com/freeupdater/PatchMyPC.exe
    Downloads into specific folder
mkdir C:\Portable
wget https://patchmypc.com/freeupdater/PatchMyPC.exe -O C:\Portable\PatchMyPC.exe
    Downloads into folder in which consol is active from a list of urls in a .txt file
    (list.txt in the folder in which consol is active)
wget -i list.txt
    Downloads into specific folder from a list of urls in a .txt file
wget -i "path to list\list.txt" -P C:\Portable
If a "certifacte" error occurs ad this --no-check-certificate. It's good to add if processing a list.

powershell
    Downloads into specific folder
Invoke-WebRequest -Uri https://patchmypc.com/freeupdater/PatchMyPC.exe -OutFile $env:USERPROFILE\Desktop\PatchMyPC.exe 

winget
    Download winget installed programs list to specific folder
winget export -o %userprofile%\desktop\list.json
    Install from a downloaded .json file
winget import -i %userprofile%\desktop\list.json --accept-source-agreements --accept-package-agreements
    If  cmd or powershell is active in the same directory as the list.json
winget import -i list.json --accept-source-agreements --accept-package-agreements

Notepad++ does a great job of deleting the unwanted install lines in the exported json file.
It is also fast if you want to create a bat file from it.
    highlight a symbol ctl+f mark all & bookmark, search bookmark, remove bookmarked lines.
    highight the first " on the install line ctl+f all and replace with install commands
    alt+click and drag to highlight any column and delete.
    click and drag down/up to select rows for deletion
Notepad++ is the mother of all text editors :)

Saturday, October 26, 2024

Linking To A Specific Spot On A Url Page

Linking to a specific spot on a url page
url#:~:text=word1%20word2%20word3

%20 is used in place of a space

Find or if creating a post, add a word or phrase to which you want to link within the page.
Then create a link as usual and add the above without a space after the url

Friday, October 4, 2024

Downloading With Curl

Open CMD in directory into which you want to download the file.
    Shift + Right Click option "open Powershell window here"
    Powershell will run every CMD command plus many more so either works fine.

curl -O -L https://www.carifred.com/uvk/UVKPortable.exe
-O download the file named
-L follows redirects
It sometimes I need -O -L so I just usually use them.

This is how to redirect, within the command line, into the location in which you want the download.

curl -o C:\Portable\UVK.exe https://www.carifred.com/uvk/UVKPortable.exe

One way to structure for multiple file downloads.
    After the initial curl command, list them one after the other separated by a space.
        I think this is more difficult to edit.
curl -O -L https://patchmypc.com/freeupdater/PatchMyPC.exe https://www.carifred.com/uvk/UVKPortable.exe
    I prefer them in a vertical list with curl commands for each item.

Wget is great also. Maybe faster for some reason.
    It requires installing wget, wereas Curl is part of Win 10 and beyond.
        There is Wget2 but the added 2 in the command irritates me :)
            or find the wget.exe file somewhere and paste it into windows\system32
            Again, a continuous list separated by a single space.
    Just download the exe and place in C:\Windows\System32
    curl -o C:\Windows\System32\wget.exe https://eternallybored.org/misc/wget/1.21.4/64/wget.exe
or
    download and send to the directory
    curl https://eternallybored.org/misc/wget/1.21.4/64/wget.exe -o "C:\Windows\System32\wget.exe"
or
winget install JernejSimoncic.Wget
Open CMD in folder desired for downloads

wget --no-check-certificate  https://patchmypc.com/freeupdater/PatchMyPC.exe https://www.carifred.com/uvk/UVKPortable.exe https://www.sordum.org/files/download/defender-exclusion-tool/ExcTool.zip

or

create a text file containing a vertical list of all the urls and name the file "some_name.txt"
    then open cmd and cd to the folder containing the txt file
        wget -i some_name.txt
better yet
        wget --no-check-certificate -i some_name.txt

If wget does not work, just find the wget.exe file somewhere and copy it to the Windows\System32 folder.
fix certificate errors with wget --no-check-certificate http://example.com

Wednesday, October 2, 2024

Windows 11 Install - Recent

Depending on the Win11.iso do local account
    If offered to set up work/school, do that. Any domain name works.
    Works on Pro
or
    Shift + F10 (you may need to also press the Fn key also)
    start ms-cxh:localonly
    enter
    Bypasses all the prompts

Installing starts
First reboot 79%
Second reboot 62%
"Just a moment..."
Yes, Yes, Skip
"Let's connect you to a network"
shift + f10
oobe\bypassnro
"Just a moment..."
reboot
"Just a moment..."
Yes, Yes, Skip
"Let's connect you to a network"
click "I don't have internet"
Name
Next "blank password" set up later
No to everything
Accept
Hi

sysdm.cpl advanced>performanc>settings turn off everything that moves, fades or slides
indexing options remove everything except start menu

cmd
winget upgrade
to get list - then likely these need upgrading - ignore the others
winget install Microsoft.AppInstaller
winget install Microsoft.WindowsTerminal
winget install Microsoft.VCLibs.Desktop.14

winget install -e --id=RevoUninstaller.RevoUninstaller
 remove some stuff you don't like or need

Chris Titus WinUtil
  powershell admin
    irm christitus.com/win | iex
      standard tweeks, updates security, create shorcut

paste in notepad
  save as "somename.bat"
    right click, run as admin

---
winget install -e --id=Notepad++.Notepad++
winget install -e --id=Chocolatey.Chocolatey
winget install -e --id=Chocolatey.ChocolateyGUI
winget install -e --id=MartiCliment.UniGetUI
winget install -e --id=7zip.7zip
winget install -e --id=voidtools.Everything
winget install -e --id=ShareX.ShareX
winget install -e --id=winaero.tweaker
winget install -e --accept-package-agreements --id=9PF4KZ2VN4W9
winget install -e --accept-package-agreements --id=9P8LTPGCBZXD
pause
---

cmd
choco install launchyqt -y

Remember to:
sysdm.cpl > Advanced > Performance > turn off Animate, Fade, Slide
indexing options > leave only Start Menu

What about that Schneegans autounattended.xml?

Here we go . . .
    with aggressive app removal

create autounattended.xml
    If on Virtualbox
        start Anyburn edit win-iso and add autounattended.xml > rebuild > save
    If on hardware
        copy autounattended.xml and Win.iso to flash drive installer.

Start Install
"We are getting a few things ready"
Choose drive
"Installing Windows"
78% reboot #1
"Installing"
58% starts running powershell scripts
reboot #2
"Just a moment"
Holly Hanna!
"Checking for updates"
"Hi"
More powershell magic being run
    The programs were uninstalled but the shortcuts are still on start
Yikes, I can't log on . . .
OK, I intended to have a blank password but left the default "password" in xml file.
So, "password" it is then :)
Remember to delete "password" in the autounattended file if you want "blank" :)


Strange:
    Some Win.iso versions won't pick up the inserted autounattend.xml on VB

Too Much? :)





Monday, September 30, 2024

Winget Installing Multiple Programs

Using a .bat file

Note the agreements arguement with the windows store app

winget install -e --id=Chocolatey.Chocolatey
winget install -e --id=7zip.7zip
winget install -e --accept-package-agreements --id=9PF4KZ2VN4W9
pause

(the last install is a windows store package)

    Or

winget install --accept-package-agreements Chocolatey.Chocolatey 7zip.7zip 9PF4KZ2VN4W9
pause

Using a .ps1 file

Nice to have all the arguments on one line. All the "" & commas are a pain.

#Install software
$SoftwareToInstall = "MartiCliment.UniGetUI", "7zip.7zip"
foreach ($Software in $SoftwareToInstall) {
    WinGet.exe install $software --silent --force --accept-source-agreements --accept-package-agreements --disable-interactivity --source winget
}

Windows Sandbox makes it difficult to install Winget.

Here is a .ps1 script that works now but things change.

#Install WinGet, used https://learn.microsoft.com/en-us/windows/package-manager/winget/#install-winget-on-windows-sandbox
Start-Transcript C:\users\wdagutilityaccount\desktop\Installing.txt
$progressPreference = 'silentlyContinue'
Write-Information "Downloading WinGet and its dependencies..."
Invoke-WebRequest -Uri https://aka.ms/getwinget -OutFile $env:temp\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle
Invoke-WebRequest -Uri https://aka.ms/Microsoft.VCLibs.x64.14.00.Desktop.appx -OutFile $env:temp\Microsoft.VCLibs.x64.14.00.Desktop.appx
Invoke-WebRequest -Uri https://github.com/microsoft/microsoft-ui-xaml/releases/download/v2.8.6/Microsoft.UI.Xaml.2.8.x64.appx -OutFile $env:temp\Microsoft.UI.Xaml.2.8.x64.appx
Add-AppxPackage $env:temp\Microsoft.VCLibs.x64.14.00.Desktop.appx
Add-AppxPackage $env:temp\Microsoft.UI.Xaml.2.8.x64.appx
Add-AppxPackage $env:temp\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle

Stop-Transcript
Rename-Item -Path C:\users\wdagutilityaccount\desktop\Installing.txt -NewName C:\users\wdagutilityaccount\desktop\Done.txt 

Hints:
    For bat scripts just copy/paste into notepad and save/name file "anything.bat"
        Double click should run in Windows & Sandbox
    For ps1 scripts just copy/paste into notepad and save/name file "anything.ps1"
        In regular Windows, double clicking the file will run it.
        In Sandbox, right click and "run with Powershell"

Which one do I like for installing multiple probrams?
    I like the bat file's verticle list and ease of editing
    I also like the continuous list. 
    Just remember store apps need additional argument to avoid interaction during install but can be stated once  with continuous list version.
I guess you could go the Full Monty with below or pick and choose as needed.
--silent --force --accept-source-agreements --accept-package-agreements --disable-interactivity --source winget


Wednesday, September 25, 2024

Powershell 7 - How The Heck Do I Start It

 I installed Powershell 7.
    The default is v5 and it remains the default

But how do you run v7?

Bring up a Command Prompt (or Powershell v5) and type "pwsh".
    CMD is the most interesting . . .

Here is the original CMD window

It tuns into this

When done in Powershell it does this

OK, your will look different. I'm running the Chris Titus profile.

Remember, Powershell can run every cmd command.
    You don't need to do this but if you type cmd.exe once, Powershell will act more like cmd. It will perform the commands without cmd.exe but may not display the same.


Tuesday, September 24, 2024

Bat File To Exe With Icon

I still like RocketDock. The longer I use any PC, the more things go into my RocketDock.
I prefer using it as portable enabling copying to another machine. The problem is the links point to the wrong place and the attached icons need to be reattached.

One solution is to create a bat file to access the location and then convert the bat file to exe and embed the icon.

The bat file might be this:

@ECHO OFF 
start "" "%userprofile%\Pictures\Gimp Work"

or

@ECHO OFF 
start "" https://www.dropbox.com/h

Then grab this (or get the install version on MajorGeeks)
 (When it creates the exe it makes a temporary file & Defender freaks out is you have automatic submission turned on. Just ignore it.)

OH boy, you just have a jpg or png file? Use IcoFX
curl -o %userprofile%\Desktop\icofx.zip http://www.portablefreeware.com/download.php?id=1224


So, You Want to "Upgrade" to Windows 11?

So, You Want to "Upgrade" to Windows 11? Here's How to Do It Right Upgrading to Windows 11 can be a challenge, especially if ...