I have Windows 8.1 64-bit OS running on 64-bit architecture. I am installing a fresh copy of Oracle 12C, means I haven\'t installed any version before on my system.
I found another situation in which this problem may arise (despite following the steps listed by other users above) and that's when the username of the user you're logged in as has an '_' on it. The path it will try to use to find the temp directory is whatever is set in %TEMP%. I managed to work around it by:
Installed successfully that way.
Install it from CMD using the command
setup.exe -ignorePrereq -J"-Doracle.install.client.validate.clientSupportedOSCheck=false"
Reference