Public musings, often on software development RSS 2.0
# Monday, June 12, 2006

One of the things which will occur for certain developers is a need to be able to connect to both TFS and VSS from the same development PC.  This may occur as a company transitions from VSS to TFS or for consultants when you move from working with company A who is using TFS to company B who is not.

In my case I went from having been configured for TFS to needing to install VSS for a client.  Once I installed VSS, my ability to connect to TFS source control seemed to disappear. 

Both the VSS and Team Explorer clients can be installed on you machine.  However, you have to make a choice between which server side source control data store you will use.  To do this from within Visual Studio go to the Tools menu and select "Options..."  In the Options window select "Source Control"  from the list of areas for customization and you can go from there, as shown in the screen shot below:

Monday, June 12, 2006 9:33:07 AM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
.NET | Team System
# Sunday, June 11, 2006

While I'm on the subject of mountain biking.  This years mountain biking goal for those willing to take on a challenge is the equivalent of the Roadie climb up Mount Palomar - plan to be there:

http://www.mountainbikebill.com/NateHarrisonGrade.htm
Sunday, June 11, 2006 11:46:37 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
Cycling

Kevin, Ron and I headed out for a Sunday morning Mountain bike ride. For a change we decided to meet for a ride on the North Shore of Lake Hodges.  We met at the Park and Ride as suggested by Moutain Bike Bill (http://www.mountainbikebill.com/LakeHodgesNorth.htm) We headed out and after a couple passes around some beginner single track headed around to the climb up Bernardo Mountain.  Bernardo Mountain's elevation is 1,119 feet - not epic and the starting elevation for the climb is somewhere between 500 and 600 feet.  However the climb is challenging - more so then most anything in Calavera or Flightline. 

The image above shows Kevin finishing the climb up to what Bill refers to on his map as Point E.  Overall to this point the climb is challenging but very manageable.  While we all put a foot down a time or two and had a at least one blow on the way to the spot to keep together as a group it was not above our abilities.  We took a couple quick photo's from this vantage:

 

Looking East

 

Kevin and Ron - Part Way Southern View

 

Bill Part Way - East North East View

From here we continued up, but the trail definitely gets more technical.  Mountain Bike Bill has a picture of the rocky portion of the trail which comes immediately after this point.  However, I feel the real challenge was further on where the trail paralleled the fence for a water tank.  This portion bordered on unridable and all three of us took it on foot.  Above that there were some technical portions, but once again the climb was ridable.  We made it to the top and added our names to the log book.  If you do make it up to the peak you'll find the log book in plastic bags on top of the rocks.  The views from the top are terrific as shown (even with the poor resolution of my phone's camera)

 

View East over I-15:

 

View to the West

 

Bill & Ron Northern View

 

Kevin at the top East View

Other then a great ride there were no major wipe outs and not much blood left on the Mountain.

Sunday, June 11, 2006 11:30:21 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
Cycling
# Thursday, June 08, 2006

After my fun with installing WSS I also needed to install OSS.  For purposes of ensuring I had a clean install I started with a brand new VPC for Windows Server 2003.  The steps involved include setting up IIS, installing all patches including .NET 2.0, installing the Windows Workflow Foundation package and then installing OSS.

This is the first change from the previous version: You don't need to install WSS before installing Office SharePoint Server (OSS) (aka SharePoint Portal Server v 3.0).  In fact if you do then you will probably face configuration issues.

After I installed OSS, I went through the initial configuration and was then able to start up my site.  No problems - right?  Well not quite.

I then restarted and watched the Event Log and the behind the scenes errors began.  The first set of errors I noticed occurred in the System Event Log and were flagged as DCOM errors.  In looking at these I found that they were associated with the Network Services account.  I then when to the Component Services MMC. Within the MMC proceed under Computers->MyComputer->DCOM Config       Right Click-> “IIS WAMREG admin Service” and select properties.  On the properties pane, select the Security tab and hit the top edit button to customize your Launch and Activation permissions. Inside the properties for this DCOM object, add Network Service as an authorized user to launch and activate this component locally.

This granted my Network Service account permission to access these components and on the next restart the DCOM errors (all of them) were gone from the System Event log.

Next up was the Application Event log.  About a minute or so after restart I was seeing a series of errors occuring related to WSS and OSS.  These were related to indexing files and content which would be placed on the server, and were again associated with the Network Service account.  In this case however, the only solution is to go to Computer Management and open your Local Users and Groups.  The Network Service account needs to be added to the Administrators security group - at which point you will be able to restart your system.  Note I attempted to use any of the other security groups and all failed, and the account must remain as an administrator or the errors return on the next restart.

At this point I was able to feel comfortable that my OSS installation was working error free.  Of note don't forget to enable the 'premium' services on your OSS install - not sure which capabilities that is, but I turned them on as part of this debugging process (they had no effect on the errors I saw).

Thursday, June 08, 2006 7:44:06 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
.NET | Technology
# Monday, May 22, 2006

So you are trying to install the Beta Windows Sharepoint Services 2007 in a Virtual PC.  The install seemed to run fine, and you’ve started the configuration process and you have just gotten the error: Exception: System.InvalidOperationException: This access control list is not in canonical form and therefore cannot be modified

 

There isn’t much documentation on this but from what I can tell unless you follow the unofficial solution below it is a show stopper.  The cause, well if you tried to save time by having a VPC image preset with Windows Server 2003 and just copied that image and then ran something like NewSID on that image you got this error.   Something in the SID reset logic isn’t clean enough and the Sharepoint installation picks up on the SID issue and doesn’t actually create the correct security settings and corrupts your registry in a minor way.  Since I hate the thought of needing to forever wait through the Windows Server installation process, I wanted a solution to the problem.  

 

I found a few hints that talked about things like making sure you have the latest version of NewSID and or running the Sysprep.exe utility that ships as an optional tool on the Windows Server DVD.  The fact is I attempted several different combinations of these tools in an attempt to resolve the configuration errors and they don’t clean up the issue, which brought me to digging through the actual details of the error.

 

The good news is that the configuration wizard for WSS can be run repeatedly so I could debug each of the issues that cause this error in Step 4 of the configuration process.

 

  1. The first issue is fairly simple.  It occurs in your systems Users and Groups.  WSS creates three new security groups: WSS_ADMIN_WPG, WSS_RESTRICTED_WPG, and WSS_WPG.  Only the third of these is corrupt. 

 

The WSS_WPG group in my experience with this error is missing it’s members the LOCAL SERVICE and NETWORK SERVICE accounts need to be part of this security group.

 

The next two issues both involve registry keys and require you to use the Run command to open “Regedit” and hack on your registry.

  1. The first key at issue is located in the HKEY_CLASSES_ROOT hive.  (Note this isn’t the order the errors appear but my choice for editing.)

 

From within this hive go to the AppID key.  Within the AppID key find the key {6002D29F-1366-4523-88C1-56D59BFEF8CB}.  

 

Right click on the key (starting with 6002) and select “Permissions…” from the context menu.  At this point you should get a warning dialog indicating that this key’s permissions are corrupt.  Say OK to the error message and go into the permissions dialog.

 

That dialog will look similar to this one:

 

 

Notice the “Advanced” button.  Select it to get to the dialog you actually need:

 

 

 

On this dialog you’ll note that my example shows a set of non-inherited permissions, it’s this list that has some problems.  You basically need to Add LOCAL SERVICE, NETWORK SERVICE and WSS_ADMIN_WPG as having full control on this key and sub keys.  Additionally the SYSTEM and Administrators permissions should be for this key and all sub keys and any references to any User or Power User specific permissions that are not inherited should be deleted.

 

  1. Once you have updated the first key it’s time to move to HKEY_LOCAL_MACHINE to get to the second set of keys.  These keys are under Software\Microsoft\Shared Tools\Web Server Extensions\12.0.

The WSS Key under the above path needs it’s permissions corrected, and when you right click it and select “Permissions…” you will again be warned that it’s permission hierarchy is corrupt.  Say ‘OK’ again and head in as above.  In this case on the second screen take a moment and select “Replace permission entries on all child objects with entries shown here that apply to child objects”.

 

Next delete any pre-existing permissions which are not inherited and then add a new permission for WSS_WPG.  In this case when adding the permission you do not use full control instead use the settings shown in the screen shot below.  Once this has been added “Apply” these changes and return to Regedit.

 

  

 

Next go to the key “ComponentsToRegister” located below the WSS key you were just in.  Again right click and go to the advanced screen.  This time you need to add WSS_ADMIN_WPG to the list of those granted permission and then set it’s special permissions with the screen shown below.

 

 

 

At this point you can close regedit and restart the Sharepoint configuration wizard.  It should run past steps 1-3 very quickly and then successfully get through step 4.  Once step 4 is complete the remaining 6 steps should complete without issue.

 

For me this is a quicker alternative to building a new image for each time I reinstall WSS.  Now on to my next task, adding the Office Sharepoint Server (OSS) to the mix.  I’ll post if it has any issues of its own.

Monday, May 22, 2006 4:31:46 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
Technology
# Sunday, May 21, 2006

The title of today's post refers to "Amazing", and there is a reason for this.  A while back I took some photos of some of the areas that we ride in Flightline.  For those not familiar with the area Lake Calavera is located near Canon and El Camino Real and Flightline our other riding area is located somewhat to the south near Palomar Airport Road and El Camino Real.  Calavera is mainly open space and the trails while technical are moderate in difficulty.  Flightline on the other hand has several trails which can only be described as difficult and in fact bordering on impossible.  Today we departed the skateboard park parking lot for a ride through flightline.  Mike headed us (Ryan, Tim, Kevin, Adam and I) through a brutal set of paths.  In fact the ride practically ran a couple people in the ground.  

Near the end of the ride Mike headed us down toward the cross over between Calavera and Flightline.  It is possible to transition between these two areas, although we normally go from Calavera to Flightline.  Below is a shot of the main technical portion of the crossing.  It's the drop to, and bridge over, the first of the two streams as you cross as you make this transition from Flightline.

Now the angle of this shot may not truly give you the real picture of just how steep this downward incline is nor how high that bridge is.  Suffice it to say that bridge can be walked under with significant head room.  Some people such as Tim will ride this and in fact Mike who was leading, rode down this today.  Behind Mike, Ryan showed that he has some good judgement in that he walked down the steep section here and across the bridge.  Behind Ryan was Kevin and behind Kevin were Tim and I.  As Ryan was getting across, Kevin (on his new bike) decided to go for it.  and started heading down, Tim and I were essentially in the location from which I had taken the picture above on a previous ride.

Kevin made it down the first set of ladder-like boards (in place to prevent erosion and for traction when people try to climb this) and made the slight right onto the second ladder and just as he neared the bottom of that ladder (moving slowly) he dropped his front wheel off the ladder.  This wasn't a big drop maybe 1-2 inches but his front wheel was up against the ridge and as he tried to stop (from what I could tell) his rear wheel which was 4 feet higher up came off the left side (stream side) of the ladder and that was a big drop.

As his rear wheel drops off the ladder Kevin loses it completely and falls to the left side with both he and the bike disappearing into the creek below.  The other four of us basically watched in horror as Kevin fell between 10 and 15 feet ( three and a half to five and a half meters) into the stream.

At this point we were all thinking about how we would carry him out and where Life Flight was going to land in order to rush his body to the hospital. Fortunately for Kevin, he missed the obstacles near the edge of the stream as he fell, and managed to go down ahead of his bike.  He hit the stream more or less sideways with his bike coming in more or less on top of him.   For about 2 seconds he was face down in the stream as the rest of us started to scramble - like I said we were trying to figure out what it was going to take to get assistance; as Kevin stood up and managed to get his bike off of himself.

The portion of the stream he hit was more or less rock free (that might be the old rocks under the bridge) and after his fall Kevin had only a scuffed knee, a slightly cut hand and a lot of basic soreness.  However, he somehow didn't crack open his skull, break any vertebrae or his legs. 

Which is what makes this wipe out 'amazing'.  Fact is Kevin shouldn't have walked away from this one, to say he was lucky is an understatement.  Once we had all been assured that he was OK, Kevin took a moment to step back into the creek so I could take a shot of him down in the creek for perspective. 

As you can see the bridge is taller then Kevin.  Note that the bridge also has a slight incline and that kevin fell from the steep section just beyond the bridge over the top of that 4x4 beam you see below.

We've all had our wipe outs, me over the handle bars to many times to count, Adam over the handlebars and most memorably losing it during a 5 foot drop and winding up landing on his head.  We've had Tim tear open his leg and require a trip to the hospital.  This wipe out was "amazing" because Kevin wasn't seriously injured.  So remember always try to calculate the price of failure into your attempt in this case Kevin was lucky in that he didn't pay a heavy price - me I'll keep walking on those sections where the price of failure is too high...

Sunday, May 21, 2006 5:39:21 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
Cycling
# Sunday, April 23, 2006

I haven't mentioned much biking this year.  In all honesty, I haven't got much in on my road bike for two reasons.  The first is that I've been limited with preparations for the Version 5.0 delivery that have cut back on my Saturday rides and just generally with teaching etc. I've been too busy and or unable to ride to work.  With V5.0 delivery due by May 5th that will resolve itself, in fact I have a couple weeks of vacation coming after delivery so that should help.

The second big reason is I've been getting more riders at work out on mountain bikes.  We've gone from a group of 3 regurlar riders (Tim, Adam and I) to a group of 5 regular riders with a few others either waiting in the wings or claiming they'll be joining us 'someday'.  So I've been doing more Mtn. bike rides and getting some people started.  This continued this past Thursday when I had two potential new riders who were going to head out into the area around Lake Calaveras with me.  (This is out in Carlsbad and basically we head in from the farm side at the intersection of Canon and College heading North on the Farm road then turning East.)

Unfortunately both ended up cancelling at the last minute so I ended up heading out on my own.  Rather then just doing a regular ride I figured I'd do some exploring so I headed up a fire road I've been meaning to check out for it's beginner ride potential.  (It could work, but I think it would be too much for most beginners...) Basically following the normal route to the base of the spine but from there I headed up the fire road instead of up the single track we call the spine. 

The fireroad eventually heads up on the area you see in the picture above.  There is a trail (not quite visible with my phone's lousy resolution) about 2/3's of the way up the fire road heading to the South or going right as you are looking at that picture.  I followed that trail around to just above what we call the 'Office'.  The office is located above and slightly right of center near the peak of the hill shown in the picture below.

From there I headed back to the large white building seen in the first picture and came back down the fire road to the trail you can just see in the bottom of the first picture heading to the left of the fireroad and off the bottom of the image.  This took back in above the lake and I came around in the reverse direction on our 'regular' route through Calavera.  When I got to the base of the peak (top of the spine) instead of heading down and out I went up to the top of the main peak.  That's where I took my photo's from including the next one looking down on the lake and a portion of our normal beginner route across the burm.

As you can see this is just above the old strip mine / quarry site that is cut out of the main peak.  Down along the portion of the lake you can see, is the burm which makes the lake and that is part of our normal beginner route... above that you can just make out a short portion of our regular route that is above the spine.  At any rate it was a beautiful day for a ride.  I also got out on Saturday for a brief ride in Flightline but that's another post.

Sunday, April 23, 2006 5:27:47 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
Cycling
# Wednesday, April 19, 2006

Tim Sneath added a cool post showing you how to add the Glass UI that is part of Arrow to you winform based application.  Very cool effect for those looking to do a slick WPF application (not that IK is doing any of those :-)  oh yeah - TSRI... here's the link:

http://blogs.msdn.com/tims/archive/2006/04/18/578637.aspx

Wednesday, April 19, 2006 4:50:11 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
.NET
# Tuesday, April 18, 2006

By default ADO.NET, including ADO.NET 2.0, uses Named Pipes to connect to SQL Server. (Including SQL Server 2005) However, in some environments where there are firewalls and other network appliances between say your ASP.NET web client or other Windows Form client and the database you might find that Named Pipes don't work.

If you need to use TCP/IP to connect to SQL Server instead of Named Pipes then the solution is to use the connection string parameter "Network Library".  You simply add "Network Library=dbmssocn" to your connection string.  This is defined in the MS KB article at: http://support.microsoft.com/default.aspx?scid=kb;en-us;Q315159 

Tuesday, April 18, 2006 2:38:47 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
.NET | SQL Server | Technology
# Monday, April 17, 2006

One of my co-authors from Professional VB.NET and a well known Microsoft Regional Directory recently put together a somewhat tongue in cheek history of VB... it's a good read especially for developers interested in the progression to .NET:  http://www.dotnetmasters.com/HistoryOfBasic.htm

Monday, April 17, 2006 12:04:09 AM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
Musings | Technology
Archive
<June 2006>
SunMonTueWedThuFriSat
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2012
Bill Sheldon
Sign In
All Content © 2012, Bill Sheldon