Microsoft Windows

From PCGamingWiki, the wiki about fixing PC games
Revision as of 11:39, 28 April 2018 by Aemony (talk | contribs) (Force CPU affinity: Updated section a bit.)
Microsoft Windows
Microsoft Windows cover
Release dates
Windows November 20, 1985
Microsoft Windows at Wikipedia

Microsoft Windows is a popular family of operating systems.


Command Prompt

The Command Prompt is the command-line interpreter provided by Microsoft for Windows systems and is the not-as-powerful equivalent of the shell in Linux and Mac OS. It can be accessed by going to 'run' and typing 'cmd.exe' or by running a 'Batch file'.

Admin Command Prompt

Windows 8 and later
  • Push Win+X, then push A.

Task Manager

The Task Manager is an application built into Windows that allows for the managing running processes as well as providing information about computer performance.

It can be accessed by any of the following ways:

  • Right-click on the taskbar of Windows and select Task Manager.
  • Press Ctrl+Alt+Delete and select Task Manager.
  • Press Ctrl+ Shift+Esc to open it directly.

Device Manager

The Device Manager is an application built into Windows that allows for the management of device drivers. It can be accessed from the Control Panel.

Registry Editor

The Registry Editor allows users to edit the Windows registry. It can be accessed by going to 'run' and typing 'Regedit.exe'.

Basic Editing
  1. Push Win+R, type regedit, then click OK.
  2. Navigate to the desired registry key, such as HKEY_CURRENT_USER, under the Computer category.
  3. Double click on any entries on the right side, right after selecting a registry key, under the Name category, in order to edit them.
Advanced Search
  1. Download RegJump, extract it inside the root directory of the main Local Disk location.
  2. Copy any desired path into the clipboard.
  3. Open a Command prompt as an admin.
  4. Write CD YourRootFolder:\, regjump.exe and regjump -c.


The last command tells Windows to open the Registry Editor at the path which was currently stored inside the clipboard.

Blue Screen of Death (BSOD)

A Blue Screen of Death (a.k.a BSOD or Bluescreen) is an error screen that Windows produces when it encounters an error that it cannot recover from.


DirectX is a collection of APIs for Windows that allows programs to interact directly with hardware.

.NET Framework

The .NET Framework is a software framework for Windows that is required for games built in .NET-aware languages (such as C# or Visual Basic), including those that use XNA. Different games may require different versions of .NET Framework. A list with download links to all versions may be found on MSDN. Windows 8 and 10 users may want to read this.


DLL stands for "Dynamic Link Library". DLL files (.dll) are Windows exclusive library files containing code and data that can be used over several applications.

While they can save time for developers, these files can cause problems for the end-user (commonly referred to as "DLL Hell").

Issues unresolved

SafeDisc protection doesn't work with Windows 10

Previous Windows of versions included a compatible version of secdrv.sys for the Macrovision safedisc DRM, but Windows 10 does not, rendering games requiring SafeDisc unplayable. According to a Microsoft representative "Safedisc is not supported on Windows 10" and people will have to wait for Macrovision to come out with an updated secdrv.sys.[1]

Screen recorders, overlays, injectors won't work with Windows Apps

See Windows Store article for this and other Windows Apps related issues.

Issues fixed

Alt F4 doesn't terminate frozen applications

Older Games Missing .dll File on Windows Vista and later

Some .dll files have different names on Windows Vista and later.
Copy DLL to folder
  1. Make a note of the name of the missing .dll.
  2. Go to %WINDIR%\SysWOW64 (or %WINDIR%\System32 if you are running a 32-bit version of Windows).
  3. Find the .dll that has the same name as the missing .dll but with an additional x in the name (e.g. if the game can't find dplay.dll, look for dplayx.dll).
  4. Copy that .dll into the game's installation folder (do not move it).
  5. Rename the copy to the name of the .dll that was missing (so dplayx.dll becomes dplay.dll, etc.)
  6. The game should now see the .dll and play normally.

Older games refuse to start on Windows 8 and later

Install DirectPlay
  1. Open the Start screen, type OptionalFeatures.exe and press Enter.
  2. Expand Legacy Components.
  3. Ensure DirectPlay is checked.
  4. Click OK to save your changes.

Note: Normally Windows 8+ automatically detects if an application needs DirectPlay or other legacy components when it launches and prompts the user to install DirectPlay, but this requires a certain combination of services to be active such as the Diagnostic Policy Service which are sometimes disabled by the user.

Force CPU affinity

Prevents processes from using other CPU cores than the ones allowed, which can work around threading synchronization issues that might exist.
Provisional solution: Task manager
  1. Open Windows Task Manager.
  2. Find process for the application by Right-click on its task and press Go to process/details.
  3. Right-click on the process and select Set affinity.
  4. Deselect all other CPU cores than the ones the process should be allowed to run on. If you want to prevent the process from using Intel's Hyper-Threading (HT) or AMD's Simultaneous Multi-Threading (SMT) CPU cores then deselect all odd CPU cores (so 1, 3, 5, 7, etc).
  5. Click OK to apply the change. It will take effect immediately.


Task Manager does not store the tweak permanently. It needs to be reapplied each time the process launches.
Permanent solution: customized shortcut
  1. Right click on your desktop
  2. Make a new shortcut to %WINDIR%\System32\cmd.exe
  3. Open its properties and add the following to the "Target" field
/C start "" /D "<path-to-game>\" /AFFINITY 1 "<path-to-game>\game.exe"


Shortcut name and icon can be customized to match game's ones.
Additional parameters can be normally added at the end of the target field
Affinity value must be in hex. To assign more than a core check this table
Permanent solution: flag game executable
  1. Download ImageCFG
  2. Place it in the same folder of the game exe
  3. Open there a command prompt and run
imagecfg -a 0x1 game.exe


Executable won't be backed up, so if you'll have to do so yourself if you wish to revert it.
Affinity value is in hex. If you want to assign more than a core, check here
Use PsExec
  1. Download Sysinternals's PsTools
  2. Extract PsExec in the game executable folder
  3. Run the game through the following command (command line and/or a batch file can be used)
psexec -a 0 game.exe


Additional cores can be specified with a comma after the previous ones
Use RunFirst
  1. Download RunFirst
  2. Create a shortcut to RunFirst.exe with the path to game executable as a parameter


This won't work if game requires to be launched through an external client

4-Gigabyte Tuning

Windows XP and Server 2003 (x86 only): edit boot configuration file[2]
  1. Open command prompt under administrator privileges
  2. Type bootcfg /raw "/3GB /userva=2048" /A /ID 1 (where 1 is the boot entry id)
Windows Vista and later (x86 only): edit boot configuration database[5]
  1. Open an elevated command prompt
  2. Type BCDEdit /set increaseuserva 2048


Windows default setting of 2048MB of user-mode virtual address space is used in the examples. Higher values may be attempted at risk of various system instabilities[3][4]
Force IMAGE_FILE_LARGE_ADDRESS_AWARE flag in executables
  1. Download Large Address Aware enabler
  2. Open it and select game executable
  3. Tick LAA checkbox and save changes


Should there be any issue, revert modification and try 4GB Patch

Shoddy coded applications mess system-wide registry setting

Edit key ACL
  1. Open regedit
  2. Navigate to the relevant key
  3. Right-click over it, then Permissions and Advanced
  4. Depending on your Windows version either untick Permissions inheritance from parent or press Disable Inheritance
  5. When asked, choose to add/convert/copy previous permissions to the object
  6. Click on Administrators group and edit its permissions
  7. Select changes to apply This key only
  8. Last untick Set Value advanced permission


In the event of 32-bit offending program not expected to run with administrator privileges on Vista or newer Windows reg flags "<key>" set DONT_VIRTUALIZE /reg:32 can be used instead[6]

Codec hell

Reset DirectShow filters
  1. Download and open DirectShow Filter Manager
  2. Go to the Troubleshooting tab
  3. Select Restore standard DirectX codecs


Single filters can be adjusted with Codec Tweak Tool

Missing codecs

Install ffdshow[7]
Choose the release with the number of bits your troublesome application is compiled for, regardless of the actual OS instruction set
QuickTime for Windows is no more[citation needed]
Install QT Lite for apps that use Apple's codecs.

Game files missing after upgrading or refreshing Windows

Upgrading or refreshing your Windows installation will move some files and folders to a Windows.old folder on the system drive.
Retrieve files from windows.old[8]
  1. Open the Start screen/Start menu, type Computer and press Enter.
  2. Go into the system drive (usually C:).
  3. Go into the Windows.old folder.
  4. Go to the equivalent location for the files you are looking for and move them to their normal location.

Non-unicode applications

This is most commonly issue with Japanese games and visual novels. Games may work directly, but usually there may be scrambled text, bugs, game won't start or refuses to even install.
Easiest way to fix issues is to set Windows non-unicode language to language game origins from, but in some scenarios it may introduce unwanted changes in other programs, especially if OS language is other than English. This includes some basic characters being incorrectly replaced, programs defaulting to set non-unicode language and other programs suddenly not being able to launch or crash.
AppLocale runs the application with same effect without effecting system.
Use Microsoft AppLocale
  1. Download Microsoft AppLocale here and install it.
    • With Windows versions after XP installation will fail. Simply put installer to XP SP3 compatibility mode to continue.
  2. Open AppLocale follow instructions. It should automatically detect programs language.
Change non-unicode language[9]
  1. Go to Control Panel, Clock, Language and Region and Regional and Language Options.
  2. From Administrative tab change non-unicode language.
  3. Restart computer for changes to take effect.

IPX protocol deprecated

IPX was a LAN protocol commonly used with older programs, especially games. Unfortunately it was removed entirely from Vista and later with no indication of returning.
Try a wrapper[citation needed]

Try one of the following:

  • ipxemu
  • IPXWrapper
  • Kali - This one's more for tunneling IPX over the internet rather than LAN, but still works.
Copy support files from Windows XP[10]

What you need: a working installation of Windows XP sp2.

Step 1. Ctrate a new folder c:\temp

Step 2. Copy the following files to the directory c:\temp *and* to the corrsponding vista directories: Note: You might need to open up an "elevated" command prompt, "run as administrator", (to get write access to directories).

Windows\System32\drivers\nwlnkipx.sys Windows\System32\drivers\nwlnkflt.sys Windows\System32\drivers\nwlnkfwd.sys Windows\System32\drivers\nwlnknb.sys Windows\System32\drivers\nwlnkspx.sys

Windows\System32\rtipxmib.dll Windows\System32\wshisn.dll Windows\System32\nwprovau.dll

Windows\inf\netnwlnk.inf (*) Windows\inf\netnwlnk.pnf (*)

(*) The directory "inf" is hidden

Step 3. Go to "manage network connection" (in control panel-> network). Right click your LAN adapter connection, click "install", "protocol", "Add", Do not select the IPX that is already in the list, be sure to select "have disk". Navigate to "c:\temp" and select file "netnwlnk.inf", now select "WLink IPX/SPX/NetBIOS". You will get a warning it's not verifyable, install anyway (or not..).

If you get an error message about a missing module, you forgot to copy the above files to the windows 7 directories.

Step 4. Reboot computer.

Only works on 32-bit version of Vista and later.
Some parts of protocol don't even work (properties button greyed out in setting, ect.)
Support files can also be downloaded here in case you don't own XP.

Lowered volume when using background Metro/UWP apps

Instructions[citation needed]
  1. Push Win+R, type mmsys.cpl, then select OK.
  2. Open the Communications tab, then select Do nothing and save.

DOS compatibility

For modern versions of Windows (both 32-bit and 64-bit), it is recommended to use DOSBox.

If you're having trouble getting DOS games to run on older versions of NT (XP & 2000) checkout The Sierra Help Pages.
In the transition from Windows 9x to NT based versions, DOS compatibility was temporarily maintained, at least for 32-bit editions.

Other information

Game Bar

See Game Bar.

Running previous Windows versions bundled games on newer ones

Automatic patcher thing.

Speed up loading of web pages in Windows

Windows ships with Automatically detect settings enabled by default for compatibility reasons. This option allows automatic configuration of Internet connectivity in networks that supports it by using the DNS or DHCP services of the network. However support for this type of automatic configuration is almost only found within corporate or academic networks, and the feature is as such not usually required for home or small network users.
The feature have in some instances been found to add noticeable delays when loading content from the Internet, and is therefor recommended to be disabled unless the network requires it.
Disabling this feature affects all applications that relies on the internal IE subsystem of Windows, such as Google Chrome, Steam, and more.
  1. Open the Start menu and type Internet Options.
  2. Open the Connections tab, click the LAN Settings button.
  3. Uncheck the Automatically detect settings checkbox.


Re-enable the setting if you lose Internet access entirely within 48 hours.