The ViGEmBus 1.21.442 installer explicitly blocks installation on all Windows Server OSes, presumably due to the fact that the XInput controller drivers are not installed by default on Windows Server.
ViGEm Bus Driver can not be installed on the following Windows versions: Windows Vista x64, Windows Server 2008 x64, Windows 7 x64, Windows Server 2008 R2 x64, Windows 8 x64, Windows Server 2012 x64, Windows 8.1 x64, Windows Server 2012 R2 x64, Windows Server x64.
However, this restriction prevents users from running >= 1.21.442 versions of the ViGEmBus installer on systems that do have XInput controller drivers installed. Some users may also only plan on instantiating emulated DS4 devices, which do not require XInput drivers to begin with.
It would be nice if these restrictions were removed (as was the case in previous ViGEmBus installers), so users would not have to manually install ViGEmBus >= 1.21.442 on Windows Server using the instructions below.
For reference, this issue is occurring on Windows Server 2022 20348.1070 21H2, but it affects all Windows Server OSes.
How to manually install ViGEmBus >= 1.21.442 on Windows Server OSes
- Uninstall any older versions of ViGEmBus that may be on your system.
- Verify that ViGEmBus was actually uninstalled.
a. Check if %ProgramFiles%\Nefarius Software Solutions\ViGEm Bus Driver exists. It should not exist.
b. Check if "ViGEm Bus Driver" exists in your "Apps and Features" list. It should not exist.
c. If either of these things exist even after uninstallation, you will have to re-download and launch the old installer and click the "Remove" button.
- Open an elevated (Administrator) Command Prompt / PowerShell / Terminal session.
cd to wherever you downloaded the ViGEmBus installer, and extract it by running .\ViGEmBus_1.21.442_x64_x86_arm64.exe /extract ViGEmBus.
- ※ NOTE:
decoder.dll can be safely deleted, we do not need it.
cd into the extracted folder — it will most likely end up being a random string like 5215C05 due to some strange Advanced Installer behaviour.
- If your system architecture is not x86_64,
cd again into either the 32-bit or ARM64 subfolder.
- Run these commands just to make absolutely sure that any old ViGEmBus device nodes are completely removed.
.\nefconw.exe --remove-device-node --hardware-id Nefarius\ViGEmBus\Gen1 --class-guid 4D36E97D-E325-11CE-BFC1-08002BE10318
.\nefconw.exe --remove-device-node --hardware-id Root\ViGEmBus --class-guid 4D36E97D-E325-11CE-BFC1-08002BE10318
- Run these commands to add the new ViGEmBus device node, and install the new ViGEmBus driver.
.\nefconw.exe --create-device-node --hardware-id Nefarius\ViGEmBus\Gen1 --class-name System --class-guid 4D36E97D-E325-11CE-BFC1-08002BE10318
.\nefconw.exe --install-driver --inf-path "ViGEmBus.inf"
- Reboot your machine.
- Verify that the correct driver version for "Nefarius Virtual Gamepad Emulation Bus" appears in Device Manager, under "System Devices".
The ViGEmBus 1.21.442 installer explicitly blocks installation on all Windows Server OSes, presumably due to the fact that the XInput controller drivers are not installed by default on Windows Server.
However, this restriction prevents users from running >= 1.21.442 versions of the ViGEmBus installer on systems that do have XInput controller drivers installed. Some users may also only plan on instantiating emulated DS4 devices, which do not require XInput drivers to begin with.
It would be nice if these restrictions were removed (as was the case in previous ViGEmBus installers), so users would not have to manually install ViGEmBus >= 1.21.442 on Windows Server using the instructions below.
For reference, this issue is occurring on Windows Server 2022 20348.1070 21H2, but it affects all Windows Server OSes.
How to manually install ViGEmBus >= 1.21.442 on Windows Server OSes
a. Check if
%ProgramFiles%\Nefarius Software Solutions\ViGEm Bus Driverexists. It should not exist.b. Check if "ViGEm Bus Driver" exists in your "Apps and Features" list. It should not exist.
c. If either of these things exist even after uninstallation, you will have to re-download and launch the old installer and click the "Remove" button.
cdto wherever you downloaded the ViGEmBus installer, and extract it by running.\ViGEmBus_1.21.442_x64_x86_arm64.exe /extract ViGEmBus.decoder.dllcan be safely deleted, we do not need it.cdinto the extracted folder — it will most likely end up being a random string like5215C05due to some strange Advanced Installer behaviour.cdagain into either the32-bitorARM64subfolder..\nefconw.exe --remove-device-node --hardware-id Nefarius\ViGEmBus\Gen1 --class-guid 4D36E97D-E325-11CE-BFC1-08002BE10318.\nefconw.exe --remove-device-node --hardware-id Root\ViGEmBus --class-guid 4D36E97D-E325-11CE-BFC1-08002BE10318.\nefconw.exe --create-device-node --hardware-id Nefarius\ViGEmBus\Gen1 --class-name System --class-guid 4D36E97D-E325-11CE-BFC1-08002BE10318.\nefconw.exe --install-driver --inf-path "ViGEmBus.inf"