My old PC was almost four years old, so it was time to replace it. I always build my own PC, though I know very little about hardware, so I got a list of components to buy from a friend. So I’m not gonna talk about the hardware here, just the process of moving into Windows. There are five goals:
- To serve as a reference point for myself next time I need to do this again
- Maybe to show some people nice registry edits or improved processes to expedite your own reinstallations
- Invite suggestions if you notice things I could do better (one day I will add comments to this blog, maybe, but I’m very easy to contact)
- In some cases, to present solutions to problems that arise that were time consuming to research
- To provide some entertainment I guess - people have told me they enjoy reading about my software insanity lol
These sections are not arranged in chronological order: I always copy settings before doing installations, so that I don’t get unwanted default settings to delete; however, for comprehensibility of the post I think it makes sense to write out what I installed first, so I swapped the order of the first two sections.
But for the most part do settings migration before installations.
Installation
The first thing I used to install on a new Windows installation was Firefox, so I could stop using IE/Edge immediately. That’s no longer the case; now the first thing I install is Chocolatey, so that I can use Chocolatey to install Firefox, along with everything else. This was the first time I used Chocolatey to install everything, and I kept a running list as I did, so that next time I can just press enter once and be done. Here it is:
Chocolatey programs
choco install firefox, googlechrome, discord, slack, tweetduck, zoom, element-desktop, conemu, winscp, putty, foobar2000, winrar, notepadplusplus, sublimetext3, vscode, pycharm, sharpkeys, python, git, nircmd, sharex, soundswitch, hwmonitor, sumatrapdf, calibre, sqlitebrowser
A couple of these that you may not be familiar with:
- NirCmd is a suite of command-line utilities that can be used with AutoHotKey.
- SoundSwitch is a lovely little utility that lets you press a global hotkey to switch between sound output devices. Super configurable and lightweight. I use it to switch between my headphones & speakers with Ctrl+Alt+Shift+Z. I’ve been using it for probably over a decade by now.
- ConEmu is a multiple-terminal manager thing that I use mostly to have multiple locations of Git folders open in a single window at once. Actually that’s all I use it for. It’s great.
- Calibre is an ebook reader & organizer.
- Tweetduck is a stand-alone client for Tweetdeck.
- HWMonitor is a hardware monitor tool. Since I build my own computers, I want to check CPU temperatures etc, especially for the first couple weeks.
- sqlitebrowser is a nice GUI for sqlite databases. I use it for an open source project unrelated to any of the wikis I edit that I contribute to. My only complaint is it doesn’t have night mode, so when I have a migraine it’s miserable.
- SharpKeys is the thing I use to rebind my
CapsLock
key toLeft Control
in the registry. I used to also use it to disable theInsert
key, but too many things requireShift+Insert
for pasting now so I just use AHK to disable it on a per-program basis now as needed.
Non-Chocolatey programs & utilities
- WindowsLayoutSnapshot - See Die, DisplayPort! I still keep it around even though that problem is sort of mostly solved (except not really because modern cards are like exclusively DP, ugh….)
- Qlock, an on-screen display for world clocks in various time zones. I use one for Seoul and one for Berlin. I LOVE this thing.
- Viscosity, the VPN that I use for work
- Microsoft Office (from the Windows store)
- Photoshop, unfortunately I know how to do enough things in this program that I actually pay for a subscription for it. I also use this plugin for the .ico file format, which is transferrable by just copying from
Program Files/Adobe/Adobe Photoshop 20XX/Plug-ins
. - BetterDiscord, a CSS injector (and more) for Discord
- AWB, the semi-automated MediaWiki editor - this one is just an
.exe
though, no installation needed, so no action taken; the file was still on my Documents drive.
DisplayFusion
I never install DisplayFusion (choco install displayfusion
) at the beginning of a new Windows install. It adds too much crap that makes random quirks too hard to troubleshoot, and my old wallpaper is always properly restored by the theme export. But as soon as I want to change my wallpaper, I’ll install DisplayFusion and use that as a wallpaper manager.
To be honest, I hate this program. I literally use it as a wallpaper manager and nothing else. It has zero additional utilities that I use, and about 30 billion that I need to disable because I hate them (wtf is with the useless title bar buttons???????) But it’s free and UltraMon is $40 which is way too much for a wallpaper manager so I use DisplayFusion, even though I liked UltraMon a lot more.
Well really, the problem isn’t that DisplayFusion has a lot of settings, it’s just that it defaults all the settings to “enabled” which is just the worst.
But if you know of something that is ACTUALLY JUST a wallpaper manager for a multi-monitor setup, I would strongly consider switching away from DisplayFusion. Even if it wasn’t free - but, like, $10 at most.
Anyway, that’s my DisplayFusion rant lol.
Exporting (and importing) settings
Mostly I just put all of my AppData/Roaming
and some of my AppData/Local
onto a thumb drive and then copied this onto the new machine. But there’s a few other things to export too, and even some registry keys.
AppData/Roaming
BetterDiscord
calibre
Code
(this is vscode)Composer
discord
Electron
Element
foobar2000
Google
(this is Chrome)JetBrains
Microsoft/Office/Recent
(recent files - possible because all my paths will be identical)Microsoft/Templates
(like normal.docx etc - I super care about this for Excel)Mozilla
(this is Firefox and will include all your Addons data, UserChrome.css, etc - your entire profile is stored here)Notepad++
puush
Pywikibot
Qlock
Riot
Skype
Slack
SoundSwitch
Sublime Text 3
SumatraPDF
Viscosity
vlc
(probably unnecessary)WinRAR
Zoom
(also probably unnecessary)ConEmu.xml
- this is just a top-level filewinscp.md
- same
AppData/Local
AutoWikiBrowser
calibre-cache
calibre-ebook.com
calibre-parallel
Discord
element-desktop
Google
JetBrains
Microsoft/Office/Excel.officeUI
- only necessary if you customized your RibbonMicrosoft/Office/Word16.customUI
- sameMozilla
Notepad++
Red-DiscordBot
(this is data for my Discord bot provided by the Python framework)riot-web
Sublime Text 3
SumatraPDF
TweetDuck
PUTTY.RND
- this is a top-level file
From top-level User folder
.config
.PhpStorm2019.3
.PyCharmCE2019.3
.ssh
.vscode
.bash_history
.gitconfig
.viminfo
Registry keys
Last time I changed computers, I had to hunt down a billion IP addresses because I’d failed to export my PuTTy & WinSCP settings. Never again! See below for how to get to the registry if you’ve not done that before; when you’re there, just click Export to export a key. To import a key, you can just double-click anything with a .reg
file extension.
- PuTTY -
HKEY_CURRENT_USER\Software\SimonTatham\PuTTY
- WinSCP -
HKEY_CURRENT_USER\Software\Martin Prikryl\WinSCP 2
- AutoHotKey -
HKEY_CLASSES_ROOT\AutoHotkeyScript
- AutoWikiBrowser -
HKEY_CURRENT_USER\Software\AutoWikiBrowser
The AWB key I just happened to notice while exporting WinSCP and decided to export it also; AWB stores encrypted versions of your username & passwords in the registry. As for the AHK key, I knew for a fact I’d need to export it because of this Notepad++ editing option (see my comment specifically). I just found it by searching AutoHotKey
.
Other
- I used Sharex’s native export-import. I didn’t realize until now that Sharex uses Documents to store its config rather than AppData. So I ended up having to manually set my screenshots folder (
S:\Puush\Screenshots
- previous archives are located atS:\Puush\2021-03-16
etc). To be honest, I’m semi-confused about the Sharex config because I have some copies of config atS:\Puush
as well….But it’s working now. Good luck to future me or anyone else to configure it correctly, I would suggest to use the native export-import instead of trying to copy files for this one though, as it doesn’t seem to be set up well for a raw file copy settings transfer. - The Windows theme - right-click on Desktop, save theme, then right-click on the theme you just saved and “save theme for sharing.”
- If you bought SublimeText, then you need to go to Help -> Remove License on the old machine before turning it off for the last time. Then on the new machine, Help -> Enter License. The license should be backed up in your email somewhere. This saves you from having to do some annoying process to retrieve the key from a dead PC.
- Remember to take a screenshot of your taskbar & Quick access pins so you can restore them properly ordered. I don’t personally use my start menu pins, but maybe you’d want to do that as well.
- My AHK keybinds get copied early and saved on my C drive so that my new PC is usable before my D drive is set up.
- I completely forgot to backup my environment variables (PATH etc). In particular I had a couple variables needed for some wiki scripts like
USERNAME_RIOT
etc.
VSCode
This section could probably be en entire blog post of its own; it’s less “Here’s how you do it” and more “oh my god this was so confusing because….”
Well first of all I hadn’t realized that Code
== VSCode
in AppData/Roaming
so I didn’t migrate that the first time around. Why would you do that? Just why? That’s not “cool,” it’s confusing. Anyway.
I needed to update my language configuration for Markdown. This was a giant pain in the ass mostly because VSCode changed their save path since the last time I did this, so both what I remembered and also every piece of advice I found was outdated:
- The new save location is
C:\Program Files\Microsoft VS Code\resources\app\extensions\markdown-basics
(this is not the same as what was previously documented) - I wasn’t actually sure if it changed or was different because I’d used Chocolatey as my installer; sometimes Chocolatey changes some paths randomly
- I ended up giving up manually looking and just searched my entire C drive for
markdown
- but the Windows Explorer search UI absolutely blows, and I had a billion markdown files in both Sublime & PyCharm so this was super annoying. Finally I found it. - Of course, now it’s in
Program Files
so you need Administrator privileges to edit the file, so right-click, “edit with Sublime,” and then pasting my version failed. Fortunately I’m used to this whole shtick so I just launched Notepad as administrator, then pasted the path to the file and opened it, and then saved the correct version. But it was just another annoyance after I’d already wasted like 30 minutes on this. - Btw make sure VSCode is closed while making this change lol (not that I didn’t, just, make sure you do).
- Yay now I can highlight a block of text, type one
`
, and it’ll wrap the text instead of replacing it! - For the twenty-billionth time, how Sublime handles this situation is forty billion times better than VSC.
Copying data
Previously I would NEVER copy my data drive (unless making a backup, or switching to a larger SSD, which I did once): I have my Windows installation & all documents etc on two separate drives. But now that M2 drives are thing, I actually had to copy my entire SSD contents over to my new machine and wait for that transfer to complete. It took like 90 minutes; I didn’t compress the entire contents of the drive, but I did zip one folder that was particularly egregiously filled with a ton of individual tiny files to speed it up a bit. In retrospect, GG all my venvs lol.
I did put the old drive internally inside of my new PC to make this transfer faster and because I had a free SATA port and nothing else to do with a 512gb internal SSD, so that made the transfer a bit faster than if I’d used my external adapter and a USB port. I name all my drives thematically and I gave this old drive a mismatching name so I definitely won’t confuse it for a “current” drive, and the next time I open my PC I’ll take it out.
Registry edits
The most time-consuming part of setup was making a bunch of registry edits. Mostly it was time-consuming because I had to search for how to make the edits, so I’m including below a bunch of reference links as well as the steps. Because everything changes constantly and also I may have mis-copied stuff, take this with a huge grain of salt, refer to the original, and maybe even redo searches, and always back up your registry before making registry edits.
(You can also back up individual keys or folders - right-click & export. Then double-click the file you saved to re-import it. This is much more practical advice than “back up your whole registry” imo, especially when you’re playing with Windows Explorer and deleting like 10 things from the sidebar for example.)
To edit the registry, press windows key+R and then type regedit
. Confirm that yes, you do want to give administrator privileges (shift+tab-enter works btw) and then off you go!
Productivity
Add the Command Prompt to context menu in Windows Explorer
This one is annoying to search for help articles for because everything tells you how to add it to the EXTENDED context menu when you shift+click in Windows Explorer, aka not what I want. I just want to right-click and see Open Command Prompt here. Eventually I found a Superuser thread explaining how to do it. The correct answer was the one that had you delete the value Extended
from the three locations:
HKEY_CLASSES_ROOT\Drive\shell\cmd
HKEY_CLASSES_ROOT\Directory\shell\cmd
HKEY_CLASSES_ROOT\Directory\Background\shell\cmd
Remove OneDrive from the context menu
This is a productivity change and not a cosmetic change: When you click the context menu keyboard shortcut on a file and then press M
, it default selects Move to OneDrive
instead of Rename! What a disaster! So, Move to OneDrive
must be removed. Fortunately it’s pretty easy to do this: as this Windowsloop article has you do:
- Navigate to
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Shell Extensions
- Create
Blocked
key/folder if it’s not already made - Inside of the Blocked folder, make a New -> String Value
- Name it
{CB3D0F55-BC2C-4C1A-85ED-23ED75B5106B}
- While you’re at it, also add
{776DBC8D-7347-478C-8D71-791E12EF49D8}
which will remove Skype, thanks to this SuperUser answer
Privacy
Disable Bing in the Start menu
From How-To Geek:
- Go to
Computer\HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Windows\Explorer
- Create a new 32-bit DWORD called
DisableSearchBoxSuggestions
- Set the value to
1
- Restart PC
Cosmetic
Set inactive title bar colors
Courtesy of Winaero:
- Navigate to
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\DWM
- Create a new 32-bit DWORD named
AccentColorInactive
- Give it value
ff5c2d2e
- Note - there’s a longer process outlined in the article to discover the proper value to put if you want something else, but I use this color, it’s pretty.
Make Taskbar translucent
I did a couple things, and to be honest I’m not sure which one worked.
A Microsoft Community thread has you:
- Go to
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced
- Create a 32-bit DWORD named
UseOLEDTaskbarTransparency
with value1
- Then go to
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Dwm
- Create a 32-bit DWORD named
ForceEffectMode
with value1
- Reboot or relog
Also this reddit post talks about title bars but may have helped:
- Go to
HKEY_CURRENT_USER/SOFTWARE/Microsoft/Windows/DWM
- Make a 32-bit DWORD named
GlassOpacity
, I gave it value55
- I’m unsure if this opacity level is in effect for my taskbar currently. I definitely don’t have translucent title bars but my taskbar is very pretty.
Remove 3D Objects, Music, Downloads, etc. from Windows Explorer
Courtesy of TechSpot, each one that you want to delete is a different key to delete:
- Go to
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace
- 3D Objects - delete
{0DB7E03F-FC29-4DC6-9020-FF41B59E513A}
- Music - delete
{3dfdf296-dbec-4fb4-81d1-6a3438bcf4de}
- Downloads - delete
{088e3905-0323-4b02-9826-5d99428e115f}
- Pictures - delete
{24ad3ad4-a569-4530-98e1-ab02f9417aa8}
- Videos - delete
{f86fa3ab-70d2-4fc7-9c99-fcbf05467f3a}
- Documents - delete
{d3162b92-9365-467a-956b-92703aca08af}
- Desktop - delete
{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}
- Go to
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\DelegateFolders
and repeat the same process (this deletes from theOpen
dialog in addition to Windows explorer)
For OneDrive (again this is in the sidebar as opposed to the context menu, from where we deleted it earlier):
- Go to
HKEY_CLASSES_ROOT\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}
(Explorer) - In
System.IsPinnedToNameSpaceTree
, set the DWORD value to0
- Go to
HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}
(Open file) - In
System.IsPinnedToNameSpaceTree
, set the DWORD value to0
Remove Adobe Creative Cloud Files
Courtesy of Windowsloop though it’s also explained in the previous article:
- Ctrl+F
Creative Cloud Files
(no really just do this) - Find
System.IsPinnedToNameSpaceTree
and change its value to0
Graphics card woes
As I’ve mentioned, DisplayPort is the worst and so I’m currently running two AMD Radeon cards in order to have enough non-DP ports. I was pretty skeptical of running two graphics cards but figured I’d try it because I really do NOT want to be using DisplayPort.
Anyway, turns out newer AMD drivers just lag your cursor a ton. The fix seems to be to roll back to a 2019 driver. I’m going to be trying that in a couple days.
I was experiencing mouse lag before having any driver installed other than whatever Windows autoamtically downloads though. So I tried installing their driver. Immediately, two of my monitors turned off. Turns out, I was in AMD Crossfire mode, and needed to turn it off. Unfortunately, all of the help articles are for an outdated version of the driver. Previously, you turned Crossfire off in Gaming -> Global settings, but now there’s some weird settings cog -> Graphics -> hidden advanced settings -> turn it off.
Well, the driver has a helpful notice left behind in the Gaming tab that says “hey, are you looking for Global settings?” with a hyperlink. But…….this only shows if the driver recognizes that you have games installed. Which, you may have noticed, I do not. So anyway after a while of staring at this totally blank screen that every help article was assuring me should be helpful (aka the “Gaming” tab), I was like “ok let me pretend to it that Slack is a game” (I mean, isn’t it?) and then after I did that, the shortcut magically appeared and I was like “holy shit I can’t believe that seriously just worked.” At almost the same time, my friend who was helping me search for things because he didn’t have half his monitors suddenly broken also found the same new settings page. So I was able to disable Crossfire mode and regain usage of all of my monitors.
I also disabled HDCP support under Display -> Overrides, since some articles suggested to do that…it wasn’t really helpful….Anyway I’ll see if the driver rollback fixes this mouse lag and if not I’m probably just going to go back to using my old graphics card and see how it holds up.
One thing that actually did help a lot, but not completely, was to delete amdow.exe. But I’m pretty sure I have to rollback the driver version to fix completely (if anything will fix).
Conclusion
Other than the graphics card shit, this was relatively painless, certainly moreso than last February when I upgraded from Windows 7 to 10 (finally lol). I switched to using this machine on the 6th, and I think the only thing I noticed I had wrong in the past week was the save-file path for my ShadeX screenshots. Unfortunately “other than the graphics card shit” is a pretty huge caveat and overall it’s not been pleasant at all; I’m REALLY hoping that the driver roll-back fixes the mouse lag. We will see!