athairus
athairus

Reputation: 213

VS2010: "Cannot find the resource compiler DLL. Please make sure the path is correct."

I've been following theForger's win32 API tutorial, and I decided to open the menu_one.rc file to see its contents from within VS2010, and I got this error:

The error (imgur.com)

I've double-checked both locations and neither of the files actually exist. The only copies of rcdll.dll I have are located at:

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\rcdll.dll and 
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\x64\rcdll.dll

I've tried doing a repair install of the Windows SDK, but that didn't fix the problem. What should I do?

Upvotes: 9

Views: 9067

Answers (3)

Nicholas Miller
Nicholas Miller

Reputation: 4400

VonC's answer is helpful, but in my case it did not solve the problem. There was another registry key that needed to change.

To find that key, I searched regedit for v6.0A since that was the version in the path on my error dialog.
The dialog path was C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\rcdll.dll

Once the key containing v6.0A was found, I replaced the path with what it was on my machine:
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin

I also updated the version strings to be v7.0A or 7.0.30319 depending on what the original value was. I found a few of version strings in sub-keys of my search result, so I applied the changes there as well.

On my machine, the key that Visual Studio was using was located in:

[HKEY_USERS\S-1-5-21-627493193-880714491-1605132347-6179\Software\Microsoft\Microsoft SDKs\Windows]

Upvotes: 1

Unoriginal Elephant
Unoriginal Elephant

Reputation: 73

I was a little worried about changing the registry since I'm running on v8.0A, but I was able to fix the error by simply copying the rcdll.dll from previous version into the directory listed in the error message.

Upvotes: 7

VonC
VonC

Reputation: 1326746

This thread mentions a registry issue:

I had been able to reproduce the issue with my pc with Windows 7 SP1 64 bit and VS2010 Sp1 installed.

What I had to is modify the following registry entries from

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows]
"CurrentVersion"="7.0"
"CurrentInstallFolder"="C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0\\"

to

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows]
"CurrentVersion"="7.0.30319"
"CurrentInstallFolder"="C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\"

And there were 2 keys under

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows]

which are

v7.0
v7.0A

I deleted v7.0 along with all its subkeys. And the problem is solved.

Upvotes: 9

Related Questions