Fixing "The Windows Installer Service Could Not Be Accessed" on a VPS
A step-by-step guide for Windows Server admins to diagnose and repair the MSI installer service error over RDP and PowerShell, from quick restarts to re-registering the service.
You download a tool onto your Windows VPS, double-click the installer, and instead of a setup wizard you get a terse dialog: "The Windows Installer Service could not be accessed. This can occur if the Windows Installer is not correctly installed." On a remote server this is more than an annoyance, because you may have no local console to fall back on. The good news is that the cause is almost always a stopped, misconfigured, or de-registered Windows Installer (msiserver) service, and every fix below can be done entirely over RDP and PowerShell.
What the error actually means
Windows uses a background service called Windows Installer (service name msiserver) to process .msi and .msp packages. The service is set to start on demand, so it is normally stopped until an installer asks for it. The error appears when the operating system cannot start that service when a package requests it. Common triggers include a disabled service, corrupt or missing service registration, damaged installer DLLs, or an installer being launched in a session without the rights it needs.
Because the service is demand-started, a "Stopped" status in services.msc is normal and is not itself the fault. What matters is whether it can start when called.
First checks over RDP
Before changing anything, confirm you are working in an elevated context. Launching an installer from a standard RDP session without administrator rights can produce this same message. Open an elevated PowerShell window (right-click, Run as administrator) and inspect the service:
Get-Service -Name msiserver | Format-List Name, Status, StartType
If StartType shows Disabled, that alone will cause the error. The default for this service is Manual. Reset it and try to start it:
Set-Service -Name msiserver -StartupType Manual
Start-Service -Name msiserver
If the service starts cleanly, retry your installation. A large share of cases end right here.
Restarting and testing the service
If the service exists but still misbehaves, cycle it and watch for errors:
Restart-Service -Name msiserver -Force -Verbose
Should the start fail with an error, the message text is your best clue. Note the exact wording, then check the System and Application logs for events logged by the service:
Get-WinEvent -LogName Application -MaxEvents 40 |
Where-Object { $_.ProviderName -match 'MsiInstaller' } |
Format-Table TimeCreated, Id, LevelDisplayName, Message -Wrap
Re-registering the Windows Installer
When the service starts but packages still refuse to install, the installer engine itself may need to be re-registered. This is safe to run on a server and does not touch your installed applications. From the elevated prompt:
msiexec /unregister
msiexec /regserver
These commands return no visible output, which is expected. Afterward, restart msiserver and test again. If the service is missing from Get-Service entirely, recreate its registration with sc.exe:
sc.exe create msiserver binPath= "C:\Windows\system32\msiexec.exe /V" type= own start= demand DisplayName= "Windows Installer"
Mind the spaces after each equals sign — sc.exe requires them. Then set the service to run under the correct account and start it:
sc.exe config msiserver obj= LocalSystem
Start-Service -Name msiserver
Checking dependencies and permissions
Windows Installer relies on the Remote Procedure Call (RPC) service. If RPC is not running, msiserver cannot start either. Confirm it:
Get-Service -Name RpcSs | Format-List Name, Status, StartType
RPC should be Running with StartType Automatic. On a tightened VPS build, over-aggressive service hardening sometimes disables services the installer depends on; restoring RPC to its default resolves the chain.
Permission problems on the service registry key can also block access. If re-registration does not help, verify that HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\msiserver exists and that the SYSTEM and Administrators accounts have full control. Avoid editing permissions blindly; only correct them if they visibly deviate from another healthy server.
When the system files are damaged
If none of the above sticks, the underlying system files may be corrupt. Run the built-in integrity tools, which are fully supported over an RDP session:
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth
Run DISM first if sfc reports files it cannot repair, then run sfc again. These scans can take several minutes; keep the RDP session active until they finish, and reboot afterward if prompted.
Reboot as a last, deliberate step
A reboot clears a stuck service state and applies any registration changes. On a VPS this drops your RDP session, so schedule it when a brief outage is acceptable, and confirm your provider's console or recovery access works first in case the server is slow to return. Trigger it cleanly:
Restart-Computer -Force
Preventing a repeat
To avoid surprises on future installs, leave msiserver at its default Manual start type and do not disable it in hardening scripts. Keep RPC on Automatic. Always launch installers from an elevated session, and prefer downloading packages directly onto the VPS rather than copying partially transferred files over an interrupted RDP clipboard or drive redirection, which can corrupt an MSI before it ever runs. With the service healthy and the installer engine registered, Windows Installer should start on demand every time your next package calls for it.
Run this on your own Windows VPS
Spin up a fully managed Windows VPS from WindowsVPS in minutes — full Administrator access over RDP, NVMe storage and global regions.
Related Articles
Ready to deploy your server?
Windows or Linux VPS — up and running in under 60 seconds.