Oracle Client on Windows 7?

While setting up a 64-bit machine running on Windows 7, I’ve encountered a problem with the installation of the Oracle Client.

Starting the setup with “Run as Administrator” or with Program Compatibility Mode, the startup screen flashes and then disappears. Nothing happens after that.

My second attempt was running the setup executable from the command line with –ignoreSysPrereqs. The installation started but the operating system check failed. Oracle expects a version from 5.0 to 6.0 but Windows 7 is 6.1 so the OS validation will obviously not pass.

Checking operating system requirements …
Expected result: One of 5.0,5.1,5.2,6.0
Actual Result: 6.1
Check complete. The overall result of this check is: Failed <<<<
Problem: Oracle Database 10g is not certified on the current operating system.
Recommendation: Make sure you are installing the software on the correct platform.
========================================================

After searching around on the internet for posts from people with similar problems, I’ve found several ideas, which combined together, resulted in a successful installation. Here it is:

1. Download the Oracle Client 10g or 11g (depending which one you need) from Oracle

2. Open this file for editing: Path_to_client_extracted/client/stage/pre-req/client/refhost.xml and add in the <CERTIFIED_SYSTEMS> the following lines:

<!–Microsoft Windows 7–>
<OPERATING_SYSTEM>
<VERSION VALUE="6.1"/>
</OPERATING_SYSTEM>

3. Run the setup executable from the command line with –ignoreSysPrereqs

I know that this workaround doesn’t seem like a nice solution… It’s more like hacking the Oracle installation kit.  But until Oracle releases a new version which includes Windows 7 as certified OS (this might take from 6 to 9 months, according to online sources), this is the best way to have the Oracle Client work on Windows 7.

************************************

If you used the 64-bit Oracle Client Installer, I should warn you, that if you get such an error message when running your application:

Unable to load DLL ‘OraOps10.dll’: The specified module could not be found. (Exception from HRESULT: 0x8007007E)
…then you have Oracle.DataAccess.dll for 32-bit machines in your solution, which is referencing the OracleOps10.dll assembly missing on you machine. The 64-bit on the other hand has OraOps10w.dll in the Oracle Bin folder. This means that you have to upgrade the Oracle.DataAccess.dll in your solution to the 64-bit version so that it references then the correct Oracle assembly. Here’s a good post on how to do that: Solving ‘OraOps10.dll’ Error

Resources:

Advertisements