Windows 8 and Windows server 2012 will not work on Vmware ESX 4.0/4.1
until you do a little trick like on this post.
If you are using Vmware ESX 4 (4.0 or 4.1) and want to have / install windows 8 or Windows 2012 Virtual machine on it but you still don't decide to have VMware vSphere 5, (because only on vsphere 5, windows 8 and windows server 2012 can be created). fortunately you still be able to have Windows 8 / server 2012 on Vmware vsphere 4 with a little trick.
Download the file bios.440.rom
Create a New Virtual Machine
Set Guest Operating System as a Microsoft Windows Server 2008 R2
After creating complete, don't play/ don't run it,
Extract the downloaded zip file (bios.440.rom), then copy/upload it into the virtual machine folder (go to Storage and right click to browse datastore then upload the file)
Download the virtualmachine.vmx file (virtualmachine= name of virtual machine you created) from Virtual machine folder and edit it using notepad, add the following line at the end :
bios440.filename = "bios.440.rom"
mce.enable = TRUE
cpuid.hypervisor.v0 = FALSE
vmGenCounter.enable = FALSE
Save the virtualmachine.vmx file
Upload the virtualmachine.vmx file to virtual machine folder
Ready to install Windows 8 / Windows server 2012