views:

2252

answers:

1

I installed psqlODBC and when I go to Control Panel -> Data Sources (ODBC) I don't see the Postgres driver installed.

I rebooted, still nothing.

I then noticed that if I launch this control panel applet from the file c:\WINDOWS\system32\odbccp32.cpl the drivers suddenly appear!

This happens on an XP 64 bit machine.

I can't really explain why this is, or what the implications of this are.

When launching from the Control Panel, rundll32's command line is:

"rundll32.exe" shell32.dll,Control_RunDLL "c:\WINDOWS\system32\odbccp32.cpl",

(this data is from Process Explorer)

When launching from odbccp32.cpl the command line is:

"C:\WINDOWS\system32\rundll32.exe" C:\WINDOWS\system32\shell32.dll,Control_RunDLL "C:\WINDOWS\system32\ODBCCP32.CPL",@0

Any ideas?

+3  A: 

Did you perhaps install a 32 bit driver? The applet starts the 64-bit version of the odbc admin tool, odbcad32.exe. Try running the 32-bit version in %systemdrive%\Windows\SysWoW64\odbcad32.exe.

Registry redirection makes this a bit of a headache, see http://support.microsoft.com/kb/942976 for more information.

Erik E
Seriously? The 64-bit version is called `odbcad32` and the 32-bit version is in the `SysWoW64` directory?
Nate
Yup :-) They're both called odbcad32.exe, WoW64 stands for Windows-on-Windows 64.
Erik E