It is very rare but you can catch it at mount Pyre.
you evolve it from duskull or catch it in tower with the two orbs
Migrate from Ruby (or Sapphire/Emerald) or trade with Platinum
You can't catch a Haunter in Emerald. You can trade for one, you can find a Duskull/Dusclops at MT Pyre, but you can't straight out find a wild Haunter.
mt pyre
search on mount pyre
you evolve a duskull at lvl 37 one of the best ghost Pokemon on emerald
sky pillar or evolve a duskull
You can catch Duskull in Pokemon Platinum by going to the Lost Tower that is near Solaceon Town however you can only find it at night.
Duskull will start to evolve into Dusclops once it hits Level 37.
Turnback cave.
On route 224 with the pokéradar.
Use PokeRadar on Route 224. There is a 2% chance and the Duskull will be level 23.