RPC Server Unavailable

Category: Windows

After helping a friend clean up a nasty spyware infestation, we had one remaining problem. Windows would say "RPC Server is Unavailable" when starting up, and also later when trying to print or install new software. Some other things just didn't work, like copy and pasting text, and right-click menus. Here's how I solved the problem and got the RPC server running again...

What's a Remote Procedure Call (RPC)?

RPC Server UnavailableA little background... RPC is an acronym for Remote Procedure Call, and typically is used to allow a program running on one computer to access services on another networked computer. I say "typically" because Microsoft added some of it's own extensions to the standard RPC protocol and deeply intertwined RPC into the inter-process communication of Windows operating system components. So if RPC stops working, lots of other Windows features will fail as well.

In this case, I didn't know if the "RPC Server Unavailable" problem was caused by the malware we had removed, by one of the anti-virus or anti-spyware tools, or something else. No matter, it was broken and my friend wanted me to fix it. I did a bit of poking around on the Web, and found lots of information on RPC. There are some viruses and spyware that try to exploit an RPC server software bug, but we had already applied the fix for that. Another article said that if the RPC server is not running, one can go to Control Panel / Performance and Maintenance / Administrative Tools / Services then double click on the Remote Procedure Call entry and either start the server, or set it to start automatically on system startup.

I tried that, but the Remote Procedure Call entry did not appear in the Services list. There was an entry for Remote Procedure Call Locator, but that's a different service, not related to this problem. When I looked on another computer that was working properly, the RPC entry did show up in the Services list. So I clicked on Properties and learned that the name Windows assigned to this service was RPCSS. This bit of information proved to be an important clue that helped me solve the "RPC Server Unavailable" problem.

Blame the Registry

Windows RegistryI figured that since RPC was missing from the Services list, it probably had something to do with the Windows Registry. The Windows Registry is a hideously complex ball of string, rubber bands, duct tape and bailing wire that's supposed to keep track of Windows system settings, your hardware configuration, user preferences, file associations, system policies, and installed software. It was supposed to be an improvement on the collection of simple text-based INI files that stored Windows configuration settings, but too many pocket protectors got involved in the design and the result was an over-engineered, over-complicated mess that makes Windows much more fragile and harder for users to maintain. I've seen so many cases where the Windows Registry got mucked up by malware or a system crash, that I decided to blame the Registry and ask questions later.

Since I had one working machine and one broken machine, I thought that I might find the problem by comparing Registry entries on the two systems, looking for missing or incorrect keys related to the RPC Server. But where to start? I did find a Microsoft KnowledgeBase article that mentioned a Registry key called HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc, but that key looked fine on the problem machine when I examined it with REGEDIT.

Hack the Registry

So I poked around on my own machine until I found HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RpcSs (remember RPCSS from above?) and noted that this Registry key was missing from the problem machine. I knew from years of thrashing around in the Registry that both HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run and HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services have something to do with the applications and services that are automatically run at system startup time, so this seemed promising.

I exported the RpcSs key from my Registry (using REGEDIT's File/Export feature) and imported it to the other machine (with REGEDIT's File/Import), thinking there was NO way this would solve the problem, but it was worth a shot in the dark. Wonder of wonders, I rebooted and everything was back to normal. The RPC Server showed up in the Services list just like I had hoped, and it was running!

I should add the caveat that mucking about in your Windows Registry can be dangerous, if you're not careful about what you add, delete or modify. So make a backup of your Registry before you do so. The easiest way to backup your Registry is to create a Restore Point using System Restore. See my article on Using System Restore for more help with that.

Got comments on this article? Post them below...


Send this article to a friend.

Jump to the Comments section.

Buy Bob a Snickers.

 

Check out other articles in this category:


Posted by Bob Rankin on August 11, 2006 07:06 PM


Need More Help? Try the AskBobRankin Updates Newsletter. It's Free!

Prev Article:
Cancel Your Credit Card
Send this article to a friend
The Top Twenty
Next Article:
Stock Investing

Link to this article from your site or blog. Just copy and paste from this box:

Related Keywords: Windows   rpc   rpc server   windows registry  

Most recent comments on "RPC Server Unavailable"

(See all 47 comments for this article.)

Posted by:
Jerry
03 Jan 2008

I built this machine and bought O.S., XP H.A. My hard drive crashed and I replaced it and reinstalled O.S. Everything is fine except it won't load some software. Example, it will not load needed drives for Ethernet. RPC SERVER IS UNAVAILABLE. I have read yours and everyone else's input on this topic and can't find anything out of the norm. It shows in the service register, "both places", it says its running, auto and manual, I have used the "recovery console" and the start/run command and have got, no where. I have another machine here next to it and they seem to mirror. I have used every thing mentioned in this site except the regedit. What's on the chat does not make sense with what I see on my registry editor. I have loaded and reloaded and reloaded no change, need help!!


Posted by:
Pat
09 Jan 2008

I have checked my registry and the RPC entry appears in the Services list however, I still get an "RPC unavailable" message when I try to update the date and time. Any idea why?

EDITOR'S NOTE: Did you check for both RPC and RPCSS?


Posted by:
Geek&Tweak
11 Jan 2008

I followed Bob's suggestion to repair the RPC server and it worked. What caused the problem was a free antivirus program download from AOL called Viewpoint. Once I uninstalled Viewpoint and the free McAfee virus potection program and restarted the MS RPC from the startmenu/run/msconfig/system and uninstalled my printer program and reinstalled it, everything worked fine.


Posted by:
jos
15 Feb 2008

disabled rpc service or made it local and want to correct this?

start ->regedit ->hkey_local_machine -> system ->
current_control_set ->services ->RpcSs ->ObjectName must be NT Authority\NetworkService

Maybe you must also delete ~current_control_set->hardware profiles->current ->system ->enum ->root->legacy_rpcss.


Posted by:
Randall Ader
27 Feb 2008

Did all of the above to no avail. Did happen to find that the svchost.exe file was labeled svchost.exe.bak for some reason, probably before the damage to the system. Renamed to svchost.exe and the RPC services started loading properly.

Now to fix the rest of the services not loading, like IPSEC...


Posted by:
Kelly
24 Mar 2008

Thank you!!! I had cleaned up most everything but was resolved to having the issue with the printer unable to re-install. This was the problem and your instruction worked like a gem. I ended up having to e-mail the correct registry entry as a zip file so that outlook would not block it but after saving it and unzipping it has everything running smoothly. What a life saver!!! Thanks again.


Posted by:
Dareth
06 Apr 2008

Thanks so much for your article but I am not a techie person-I was printing wirelessly from my new laptop (Vista) to a new printer installed on my old pc(xp)-everything worked fine for a week and now when I go to print, I get the RPC server unavail.

tried getting the rpc to start automatically and that didn't work-would like to try your solution but have no idea how to "import a registry"-one guy mentions emailing it to himself but what link do i email? Really messin me up that I can no longer print from my laptop. I am single mom running my own business w/ 2 teenagers and it even has them stumped. Usually, they teach me everything. Thanks for your time and help woth this.

EDITOR'S NOTE: I think your best bet is a System Restore. See http://askbobrankin.com/system_restore.html


Posted by:
Jay Foy
21 May 2008

I have a new VISTA PC with an HP PSC1510 printer wired to it. Another PC running XP SP2 and up to date is located 30 ft away and works wirelessly for surfing and email. I want to print from the XP PC to the Printer wired to the Vista PC. Every time I try to print I get the error "RPC Server Unavailable". The "REMOTE PROCEDURE CALL" entry shows "STARTED" in "CONTROL PANEL/ADMINISTRATIVE TOOLS/SERVICES. Any help would be much appreciated.

EDITOR'S NOTE: Did you follow all the steps in this article: http://askbobrankin.com/wireless_printing.html ? If so, see if there might be a firewall interfering. There could also be a problem if security software blocks a registry change during the printer install.


Posted by:
Notsobizzymofo
29 May 2008

Here was my Problem. I couldn't sync with Internet time. Error was the "RPC server is unavailable error" everytime i clicked "update now" under Vista Home Premium Sp1 "Date and Time". I went to my Working machine and Exported the registry's using Regedit then Imported then to my error machine. Went back to Admin/serives on my error machine Made Sure that both RPC and RPC Locator where started and set on "auto" made sure "windows time" was started and set on "auto". Then opened up the command prompt
Run>>cmd. Type the following.

1. net stop w32time (it will say the service was stopped)
2. w32tm /unregister (it will say unreg.)
3. w32tm /register (it will confirm reg.)
4. net start w32time (it will confirm service started) if not then u have a bigger problem.
5. w32tm /resync (bam succefully synced.)

no more problems with RPC Server.


Posted by:
Joshua
03 Jun 2008

I can set my date to any year before 2005.... but beyond that it always reverts to that year. I'm having the RPC server is unavailable message. My computer did have a Thai year (i.e. 2058 or something) but someone changed it to GMT. Any help for someone that doesn't understand much computer jargon?

EDITOR'S NOTE: I don't understand why you want to change the date, and how that relates to the RPC problem.


There's more reader feedback... See all 47 comments for this article.

Post your Comments, Questions or Suggestions

*     *     (* = Required field)

    (Your email address will not be published)
(you may use HTML tags for style)

YES... spelling, punctuation, grammar and proper use of UPPER/lower case are important! And please limit your remarks to 3-4 paragraphs. If you want to see your comment posted, pay attention to these items.

All comments are previewed, and may be edited before posting.

NOTE: Please, post comments on this article ONLY.
If you want to ask a question click here.


Ask Bob Rankin Home Page
RSS   Add to My Yahoo!   Subscribe in NewsGator Online   Feedburner Feed
Subscribe to AskBobRankin Updates: Free Newsletter
Advertise on This Site!
Copyright © 2005 - Bob Rankin - All Rights Reserved