So,
Vault is a really great product. I won a 5-user license copy at a .NET user group meeting over two years ago. I started using it immediately and have been an evangelist for the product ever since. There are a handful of companies using the product now because of me.
It does have some maddening drawbacks - like side-by-side installation. If you happen to need to connect to several different Vault servers - they had all better be running the same version, as you can only install one instance of the client.
For this reason, I am stuck at the last version of the 2.x series - 2.0.6. It seems there is a bug in Vault 2.0.6 relating to .NET 2.0 and VS2005. Eventually your local cache is going to get messed up due to changes in serialization from 1.1 to 2.0. See, when the Vault libraries get run by VS2005, they are run inside the 2.0 framework - so when the cache files are messed with, they are serialized using the 2.0 serialization mechanism. When you run the Vault client standalone, it is run using the 1.1 framework, and it barfs trying to deserialize the cache files written by the Vault libraries executed under 2.0.
So, my workaround is to modify the VaultGUIClient.exe.config, and tell it to load up using the 2.0 framework. You can do this by adding the following to the config file.
<startup>
<requiredRuntime version="v2.0.50727" />
</startup>
So now, the Vault 2.0.6 standalone client will execute under the 2.0 framework, and can read the cache files that are written when Vault is being run under VS2005.
Obviously this is somewhat risky, and surely an unsupported configuration. But it seems to work fine.
Thanks to Scott Hanselman for giving me the idea to try this after reading his
blog entry about the Logitech IO2Pen having issues after installing the 2.0 framework - even though I did the exact opposite of what he did in that article.