Getting Windows Vista to resolve a DNS from a locally deployed domain controller. Hosts file begone!
We’ve had a bone to pick with Vista for a while regarding DNS resolution. To facilitate development projects, we set up a domain controller that acts, essentially, as a local DNS server. When a user within our network tries to resolve a domain we have mapped to an internal server (say for an intranet or development server), they are sent to the correct IP. The result is very much like what a “hosts” file does, but it only has to be added once, instead of to every single machine.
As you can probably figure from the title, Vista does not play nice with domain controllers. This is caused, as some research revealed, by the order in which Windows Vista resolves DNSs. Ironically, Vista implemented a new standard that no one else uses, and, well, broke everything. Due to this new order, it’s possible that Vista will attempt to resolve the DNS from your ISP’s DNS server first… and here’s the kicker:
Windows Vista gives up if it cannot resolve the DNS on the first attempt.
Download this file, extract, and double click it to import it into the Windows Registry.
Or, if you don’t trust random files from the Internets (which you shouldn’t!), follow the steps below to create it yourself:
In a newly created .reg file, type in the following:
Windows Registry Editor Version 5.00
Save and double click the file to import it into the registry.
If you choose to open RegEdit manually and insert it yourself, beware that the key may not be present beyond the “Windows NT”. Add a new key, named “DNSClient”, then add a new DWORD (either 32 or 64, if you have the option) named “AppendToMultiLabelName”, then double-click to modify it and enter a value of “1″.
A surprise bonus benefit we just encountered from this fix: allowing Vista to resolve DNSs this way will take care of problems you may have had resolving DNSs while connected to a VPN (needing to constantly comment/uncomment hosts file entries)!