After spending a couple days like a headless chicken trying to find out why Vault (server) did not work on a test machine (and reading TONS of posts on this site), I finally ran into a post that suggested doing something that other posts did not:
Switch the ASP.NET version from 1.0 to 1.1 on the web site through a tool such as "Denis Bauer's Version Switcher" ( http://www.denisbauer.com/NETTools/ASPN ... tcher.aspx ). The instant you switch versions to ASP.NET 1.1, everything works.
The problem with this scenario is that there are no obvious signs that the ASP.NET version is the culprit. Since this is a development machine, it has a ton of development stuff installed, some of which installed .NET 1.0 (and also switched the .NET version the default web site uses). Vault installs perfectly, there are no error messages at all in the log file, the only symptom is that no vault functions work (web client, client EXEs, etc...).
I am posting this in the hopes that anyone else having this problem (I imagine it would be mostly people installing on a non-server machine with lots of other junk on it, like my machine here) might find a solution quicker than I did.
It would be even better if the Vault Installer or Vault service (ie, http://localhost/VaultService ) would detect this problem and print out a nice message telling the user what the problem is (HINT, HINT!).
.NET 1.0 + .NET 1.1 + VaultServer (v2.0.2) = PROBLEM!
Moderator: SourceGear
.NET 1.0 + .NET 1.1 + VaultServer (v2.0.2) = PROBLEM!
gabriel magana-gonzalez
I'm not saying the 1.1 framework was not there... It is installed, but the ASP.NET is running with the 1.0 version instead of 1.1.
Try this to duplicate the problem:
On a fresh machine (with IIS and MSDE/SQLServer installed, of course), install .NET 1.0. Then install .NET 1.1. Then make sure the ASP.NET is using .NET 1.0 (Use the version switcher mentioned in my post). Now, install Vault Server, the install will go perfectly.
Now try to use Vault through any means and watch it not work. Notice the errors given are very vague and suggest security violations or some misconfiguration. What I saw was "unable to read machine.config [from the lcation where .NET 1.0 was installed]" and "unexpected null value" somewhere in Vault (seen through a call stack dump if you use the web client). Because of these error messages I spent a long time resolving a non-existant security issue, and I also spent a lot of time trying to fix the "configuration" error (because of the null value error message). I also sometimes saw an error message related to a malformed HTTP header.
As soon as I used the aforementioned version switcher everything worked perfectly from the first try on.
My guess is that checking for the presence of .NET 1.1 at install time is only half of it, you also have to check to make sure that version 1.1 is being used for the ASP.NET web service too. Preferably every time Vault is accessed.
If you want me to, I can give you the exact error messages one gets when ASP.NET uses .NET 1.0 , since all I have to do is switch the version back!
Hope this helps.
Try this to duplicate the problem:
On a fresh machine (with IIS and MSDE/SQLServer installed, of course), install .NET 1.0. Then install .NET 1.1. Then make sure the ASP.NET is using .NET 1.0 (Use the version switcher mentioned in my post). Now, install Vault Server, the install will go perfectly.
Now try to use Vault through any means and watch it not work. Notice the errors given are very vague and suggest security violations or some misconfiguration. What I saw was "unable to read machine.config [from the lcation where .NET 1.0 was installed]" and "unexpected null value" somewhere in Vault (seen through a call stack dump if you use the web client). Because of these error messages I spent a long time resolving a non-existant security issue, and I also spent a lot of time trying to fix the "configuration" error (because of the null value error message). I also sometimes saw an error message related to a malformed HTTP header.
As soon as I used the aforementioned version switcher everything worked perfectly from the first try on.
My guess is that checking for the presence of .NET 1.1 at install time is only half of it, you also have to check to make sure that version 1.1 is being used for the ASP.NET web service too. Preferably every time Vault is accessed.
If you want me to, I can give you the exact error messages one gets when ASP.NET uses .NET 1.0 , since all I have to do is switch the version back!
Hope this helps.
gabriel magana-gonzalez