I have spent a total of 93 hours now trying to get Visual Studio 2005 to access, via HTTP, a Visual SourceSafe 2005 repository running on Vista Home with IIS 7.0 installed. At my hourly rate, I could have bought a modest new vehicle in the USA with the money wasted. As I mentioned in my other post, what is ironic is that I normally spend 10+ hours / day doing research in access control models, security, and distributed file systems, so I am extremely frustrated that I cannot get this to work.
My setup:
[Source: VS2005/VSS 2005/Vista Home] <----HTTP-----> [Target:VSS/2005/ Vista Home/IIS 7.0]
On the Target machine, I created a VSS database at F:\FOO
On the Target machine, I shared F:\FOO as \\MyResearchOrg\FOO
On the Target machine, I used VSS Admin to enable Internet access for \\MyResearchOrg\FOO.
On the Target machine, I looked at the WebDAV icon for a while in IIS 7.0. It looks nice. There is some kind of permissions thing, and I have no clue how Add Authoring Rule affects my situation (in detail), so I enabled everything I saw just in case.
On the Source machine, which for the moment, was same as Target machine, and I used VS2005 wizard to create a virgin Win32 project called FOO at C:\FOO. I checked in C:\FOO into the newly-created VSS database on the target machine using:
I went to a *different* Source machine and did Open Solution inside VS2005. When dialog comes up, I say the repository is somewhere on Internet. I open database by specifying:
A pop-up asks for username/password for the HTTP server (I currently have IIS 7.0 configured for basic authentication on that Target server), I type it in, and the funky greenish-gray VSS folders show up in dialog. I browse to FOO.root, go deeper, see FOO.sln.
So good so far.
When I double-click FOO.sln, I get the exact same behavior identified on this link, only, I have tried everthing on that link with no success.
On Mar 11, 3:46 pm, Le Chaud Lapin <jaibudu...@gmail.com> wrote:
> Hi All, [snip] > When I double-click FOO.sln, I get the exact same behavior identified > on this link, only, I have tried everthing on that link with no > success.
I checked my IIS log files and it seems that sometimes my username is being send from web client to web server and sometimes not. The following lines were generated in the log file during routine initial checking of files from client machine to server machine's VSS repository. As you can see, for a while, there are no problems (HTTP code 200), and then soon, there are problems (HTTP code 500), and for all the 500's, my username is absent and the Win32 code on server side is 5, which is "Access Denied". I have tried enabling access to everything possible on server side, as mentioned. It should be noted that this is "hands off" behavior, where VS2005 is simply doing whatever it does when one does initial check-in of code into a repository over the Internet.
When I use explorer.exe to right-click and bring up "Properties" against VssWebDownload adn VssWebUpload, I see that the Read Only box is checked for both. It says
"Read-only (Only applies to files in folder)"
I clear the Read-only check box. Let properties dialog box go away. Bring it back. Read-only is still checked.
Just for fun, I check the "Hidden" check box. Do a refresh of Windows Explorer. Directory is still present (perhaps this makes sense?)
In any case, it seems that I should be able to clear the Read-only check box.
> On Mar 11, 3:46 pm, Le Chaud Lapin <jaibudu...@gmail.com> wrote:
> > Hi All, > [snip] > > When I double-click FOO.sln, I get the exact same behavior identified > > on this link, only, I have tried everthing on that link with no > > success.
> I checked my IIS log files and it seems that sometimes my username is > being send from web client to web server and sometimes not. The > following lines were generated in the log file during routine initial > checking of files from client machine to server machine's VSS > repository. As you can see, for a while, there are no problems (HTTP > code 200), and then soon, there are problems (HTTP code 500), and for > all the 500's, my username is absent and the Win32 code on server side > is 5, which is "Access Denied". I have tried enabling access to > everything possible on server side, as mentioned. It should be noted > that this is "hands off" behavior, where VS2005 is simply doing > whatever it does when one does initial check-in of code into a > repository over the Internet.
> Why is it omitting my username (Bunny) midway?
For the benefit of other engineers who might be struggling to get this to work, I found this:
"Anonymous PROPFINDs are allowed for file listings, but file uploads require an authenticated user. This is a change from IIS 6.0, where anonymous file uploads could be enabled by opening up your security. In WebDAV for IIS 7.0 we changed this behavior so that all WebDAV activity would require authentication, but we allow for the use of anonymous PROPFINDs for backward-compatibility with some WebDAV clients. (More specifically, the PUT, MKCOL, PROPPATCH, COPY, MOVE, and DELETE verbs all require authentication.) "
Not sure if that is the problem, but it helps to know. Note that there is no place in the help documentation of IIS 7.0 where this is indicated. If you want to know, you have to read random blogs put out by Microsoft engineers on the web to find it. :)
> On Mar 13, 12:47 am, Le Chaud Lapin <jaibudu...@gmail.com> wrote:
> > On Mar 11, 3:46 pm, Le Chaud Lapin <jaibudu...@gmail.com> wrote:
> > > Hi All, > > [snip] > > > When I double-click FOO.sln, I get the exact same behavior identified > > > on this link, only, I have tried everthing on that link with no > > > success.
> > I checked my IIS log files and it seems that sometimes my username is > > being send from web client to web server and sometimes not. The > > following lines were generated in the log file during routine initial > > checking of files from client machine to server machine's VSS > > repository. As you can see, for a while, there are no problems (HTTP > > code 200), and then soon, there are problems (HTTP code 500), and for > > all the 500's, my username is absent and the Win32 code on server side > > is 5, which is "Access Denied". I have tried enabling access to > > everything possible on server side, as mentioned. It should be noted > > that this is "hands off" behavior, where VS2005 is simply doing > > whatever it does when one does initial check-in of code into a > > repository over the Internet.
> > Why is it omitting my username (Bunny) midway?
> For the benefit of other engineers who might be struggling to get this > to work, I found this:
> "Anonymous PROPFINDs are allowed for file listings, but file uploads > require an authenticated user. This is a change from IIS 6.0, where > anonymous file uploads could be enabled by opening up your security. > In WebDAV for IIS 7.0 we changed this behavior so that all WebDAV > activity would require authentication, but we allow for the use of > anonymous PROPFINDs for backward-compatibility with some WebDAV > clients. (More specifically, the PUT, MKCOL, PROPPATCH, COPY, MOVE, > and DELETE verbs all require authentication.) "
> Not sure if that is the problem, but it helps to know. Note that > there is no place in the help documentation of IIS 7.0 where this is > indicated. If you want to know, you have to read random blogs put out > by Microsoft engineers on the web to find it. :)
> -Le Chaud Lapin-- Hide quoted text -
> - Show quoted text -
That has always been the case for IIS.
Before IIS6, you would not even be able to search and find this necessary information from IIS Engineers. If it was not in documentation then tough.
After I spearheaded blogging within IIS6 and then worked on that IIS7 website, you now have better insights into how things worked, though they are still not documented in any official documentation. If you search on blogs.msdn.com/David.Wang or read my BIO you should understand exactly what and how *I* think useful information on IIS should be disseminated, but it will never be possible in official channels/documentation.
On Mar 13, 11:39 pm, David Wang <w3.4...@gmail.com> wrote:
> On Mar 13, 9:15 pm, Le Chaud Lapin <jaibudu...@gmail.com> wrote: > After I spearheaded blogging within IIS6 and then worked on that IIS7 > website, you now have better insights into how things worked, though > they are still not documented in any official documentation. If you > search on blogs.msdn.com/David.Wang or read my BIO you should > understand exactly what and how *I* think useful information on IIS > should be disseminated, but it will never be possible in official > channels/documentation.
I read your blogs and other posts opportunistically, but I have a friend/colleague who swears by them. :)
I'm going to start paying attention more.
Also, I noticed that, recently, Microsoft has got into the habit of writing their documentation like this:
[Heading: Enabling FriggleFraps]
{Subheading: How To Activate}
"To activate FriggleFraps, set the FriggleFraps checkbox."
{Subheading: How To Deactivate}
"To deactivate FriggleFraps, deactivate the FriggleFraps checkbox."
At no place in the documentation do they say what a FriggleFrap is, or if they do, it's something like "A Friggle is something that friggles, and a Frap is something that fraps, and a FriggleFrap is a Friggle and a Frap working together in perfect harmony". The engineer who writes this stuff might have had FriggleFraps in his mind the last 6 1/2 years, and has become so familiar with them, he severely underappreciate the disparity between what is in his head and what his audience knows of what's in his head. You can imagine how obnoxious this is to someone who has never heard of a FriggleFrap. In such cases, IMO, Microsoft would be better off not writing and help files at all. That way we'd waste no time and go straight to your blog and the IIS site. :)
> On Mar 13, 11:39 pm, David Wang <w3.4...@gmail.com> wrote:
> > On Mar 13, 9:15 pm, Le Chaud Lapin <jaibudu...@gmail.com> wrote: > > After I spearheaded blogging within IIS6 and then worked on that IIS7 > > website, you now have better insights into how things worked, though > > they are still not documented in any official documentation. If you > > search on blogs.msdn.com/David.Wang or read my BIO you should > > understand exactly what and how *I* think useful information on IIS > > should be disseminated, but it will never be possible in official > > channels/documentation.
> I read your blogs and other posts opportunistically, but I have a > friend/colleague who swears by them. :)
> I'm going to start paying attention more.
> Also, I noticed that, recently, Microsoft has got into the habit of > writing their documentation like this:
> [Heading: Enabling FriggleFraps]
> {Subheading: How To Activate}
> "To activate FriggleFraps, set the FriggleFraps checkbox."
> {Subheading: How To Deactivate}
> "To deactivate FriggleFraps, deactivate the FriggleFraps checkbox."
> At no place in the documentation do they say what a FriggleFrap is, or > if they do, it's something like "A Friggle is something that friggles, > and a Frap is something that fraps, and a FriggleFrap is a Friggle and > a Frap working together in perfect harmony". The engineer who writes > this stuff might have had FriggleFraps in his mind the last 6 1/2 > years, and has become so familiar with them, he severely > underappreciate the disparity between what is in his head and what his > audience knows of what's in his head. You can imagine how obnoxious > this is to someone who has never heard of a FriggleFrap. In such > cases, IMO, Microsoft would be better off not writing and help files > at all. That way we'd waste no time and go straight to your blog and > the IIS site. :)
I agree with your observations of documentation. I have long been frustrated with "shallow" and bare-bones documentation like that. I am not trying to make a blanket statement about technical writers because I know of many who are very good at what they do -- but in my expreience poor documentation like what you cite usually results from a technical writer who doesn't really know the product area well enough to document it but is strangely responsible for documenting it. And the product developer/tester who tends to know the feature the best are either not writing documentation or end up having their revisions butchered by the technical writer.
It was at that point that I decided to just short-circuit everything and started blogging what I want to document -- my own insights and explanation of how things actually work from the nuts and bolts to the very top. I have seen enough of my words minced by technical writers, or waited months for documentation changes to publish onto MSDN (that end up inaccurate because once again, someone "proofreads" my changes and incorrectly alters it), that I just stopped providing any useful content to them. Instead, I directly author and blog it.