Welcome to MSDN Blogs Sign in | Join | Help
Windows 7 and Office Communicator 2007

I recently installed Windows 7 Beta on my laptop, and whilst trying to run Office Communicator 2007 today I received this message:

image 

The event log showed this:

Faulting application name: communicator.exe, version: 2.0.6362.76, time stamp: 0x4884242d
Faulting module name: KERNELBASE.dll, version: 6.1.7000.0, time stamp: 0x49433de1
Exception code: 0xe06d7363
Fault offset: 0x0000ae33
Faulting process id: 0x1644
Faulting application start time: 0x01c9a588af300fdb
Faulting application path: C:\Program Files\Microsoft Office Communicator\communicator.exe
Faulting module path: C:\Windows\system32\KERNELBASE.dll
Report Id: f6be4e18-117b-11de-8174-0015b7956d65

After a bit of digging, I found out I needed to install this hotfix, which sorted out the issue.

http://www.microsoft.com/DownLoads/details.aspx?FamilyID=1ad57f8f-78f7-45f6-a8c0-805936f46645&displaylang=en

Hope this helps,
Jason

LINQ To SQL Designer issues

Today I was trying to load a LINQ to SQL data context in my project and every time I double-clicked to open it I received this message:

image

After trying to sort it out for a while I finally deleted the values under this registry subkey:

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\Packages

Seems that Visual Studio had decided not to load my designer tool on startup and marked it to be skipped next startup.

After deleting these values, everything now works again!

Hope this helps,
Jason

Windows Home Server Power Pack 1 - Now Available!

The Windows Home Server Power Pack 1 update package went live on Microsoft Downloads.

You can check out the release notes for details, although the team blog and the community site also have plenty of details.

Power Pack 1 fixes the data corruption bug as well as delivers significant new functionality including:

  • x64 support for home computers running Windows Vista
  • Home Server Shared Folder backup
  • Improved remote access experience
  • Improvements to power consumption and performance
  • Localization support for Japan and China

Congratulations to the Windows Home Server team for a great update to an already awesome product!!

Jason

Buddy Knavery - Awesome Silverlight 2 Game

In case you missed it - Silverlight 2 Beta 2 is now available for download.

To coincide with this release and demonstrate the power of Silverlight, a colleague on my team has written a great game called 'Buddy Knavery - Episode 1 : The Killer Riffs'.

It's an old school game in the style of Maniac Mansion, Leisure Suit Larry, Indiana Jones & The Fate Of Atlantis etc. I had the privilege of being one of the beta testers and I thought it was awesome. The attention to detail and the humorous script make this game really enjoyable and I'm sure this game going to get a lot of well deserved attention in the coming days.

I can't wait for episode 2 now!

You have to check it out - just go to http://www.buddyknavery.com to start playing!

Jason

Accessing profile data from a web service

I recently had a need to access the Profile object from a web service which I was calling from a JavaScript method using ASP.NET AJAX.

Looking around on the web people said it couldn't be done. Well never one to take no for an answer, I managed to play around and work it out. Here it is:

//get the profile object for the user
System.Web.Profile.ProfileBase userProfile = System.Web.Profile.ProfileBase.Create("Insert Username");

//get the value
string email = userProfile["EmailAddress"].ToString();

If you wanted to change the value, you can do this:

userProfile["EmailAddress"] = "someone@somewhere.com";
userProfile.Save();

Hope this helps!
- Jason

Searching generic lists

A nice article posted by Jeff on using predicates to search generic lists. This can also be applied to other methods, such as Exists and TrueForAll etc. 

If your experience is anything like mine, you probably have been using generics like crazy since .NET v2 hit the streets (or before if you were a beta monkey). It's so much easier to manipulate object and especially strongly typed collections.

One thing I always found annoying, however, was that there wasn't an obvious way to find stuff in a List<T> object. For example, if you had a list of NavEntry objects that have Title and Url properties, there's no obvious way to pipe in some string and find all of your matches. The documentation tells you how to use a search predicate, which is not particularly useful in real life because you can't pass in parameters to it. You can of course use some private variable, but it feels "hackish" (for lack of a better word) and is less elegant.

A friend of mine, much smarter than me, suggested using an anonymous delegate. So in my example, you'd create a class like this:

public class NavEntryList : List<NavEntry>
{
    public List<NavEntry> GetItemsContaining(string text)
    {
        return this.FindAll(delegate(NavEntry nav) { return nav.Title.Contains(text); });
    }
}

I like the way that rolls much better. You can substitute the Title property for whatever it is your object has, and even create one for each property, if you'd like. You can probably refactor this even more. I've seen a third-party class library that does all kinds of neat stuff like this, though the name escapes me at the moment.

Share this post: email it! | bookmark it! | digg it! | reddit! | kick it! | live it!

Source: Using an anonymous delegate in List.FindAll()

Allow myself to introduce... myself!

My name is Jason Ward and I'm a web developer working in the Developer Division at Microsoft.

Whilst my team maintains it's own blog at http://blogs.msdn.com/dditweb/, I thought it might be useful to maintain a separate blog for things I'm interested in or working on that might not necessarily be what I'm doing on a daily basis.

So who am I? We let's start off with 5 facts about me and I promise to tell you more in future posts.

1. I'm Australian, although sometimes that's hard to comprehend given that I haven't really been there for the last 10 years as I've been living in England since I was 21.

2. I found this job on a blog post, so who knows - if you're looking to work at Microsoft in the future then keep reading blogs!

3. I'm about to become a first time Dad! My wife is due any day now and I can't wait! We thought it best to keep the gender a surprise, so it's been difficult decorating the nursery and buying clothes when we don't know if it's a "him" or a "her" yet!

4. I love gadgets. But then again, what geek doesn't...

5. Traveling has always been one of my passions. So far I've been to over 60 countries and I hope to see a lot more in the future.

OK, I hope this has given you an insight into who I am, and I look forward to writing more posts in the near future.

Jason

PS - in case you don't know, the title of this post comes from Austin Powers. A very funny movie you have to see if you haven't already!

Page view tracker