Expression Blend 4 Project MRU List….

In prepping demo’s for Expression Blend 4, I like to be able to start with a clean project “Most Recently Used” (MRU) list.  In Expression blend, the list of recent projects is kept in an xml configuration file (user.config) in your user profile.  I know this works in the Expression Blend 4 RC.  I haven’t tried it on any other versions of Expression Blend.

For me, the path to my configuration file is:

“C:\Users\BStateham\AppData\Roaming\Microsoft\Expression\Blend 4\user.config”

Double clicking on it should open the file in Visual Studio 2010, although you can open it in the text editor of your choice.

If you look at the file, you will see a <ConfigurationService Version="0.1.0.0"> root node which contains a series of <ConfigurationObject Name=""> elements.  Each <ConfigurationObject> contains one or more <PrimitiveObject Name=""> elements:

<ConfigurationService Version="0.1.0.0">
  …
  <ConfigurationObject Name="ProjectManager">
    <PrimitiveObject Name="LastNewProjectFolder">…</PrimitiveObject>
    <PrimitiveObject Name="LastProjectCategoryTreeItem">…</PrimitiveObject>
    <PrimitiveObject Name="LastProjectCategoryTreeVisible" Type="">…</PrimitiveObject>
    <PrimitiveObject Name="LastProjectFilterCreated">…</PrimitiveObject>
    <PrimitiveObject Name="LastProjectTargetFrameworkCreated">…</PrimitiveObject>
    <PrimitiveObject Name="LastProjectTemplateCreated">…</PrimitiveObject>
    <PrimitiveObject Name="RecentProjects">…|…</PrimitiveObject>

</ConfigurationObject>
  …
</ConfigurationService>

Locate the <ConfigurationObject Name="ProjectManager"> element, and under that find the <PrimitiveObject Name="RecentProjects"> element.  You will see a pipe (“|”) delimited list of project paths.  You can delete the contents of the <PrimitiveObject Name="RecentProjects"> element, or just delete the entire element itself.  Expression Blend will re-create it on the next time it starts up. 

In addition to the <PrimitiveObject Name="RecentProjects"> element, I also deleted the <PrimitiveObject Name="LastNewProjectFolder"> element.  Again, this is really just for demo purposes so that when I demo, the values look like they do after a clean installation.  When you go to add a new project, the “Location” will default to a folder under your My Documents.

Introduction to SQL Server Reporting Services Session Slides…

Here is the slide deck from the Introduction to SQL Server Reporting Services sessions I gave at SQL Saturday 44 in Huntington Beach, CA earlier today!  Thanks to everybody who came, and sorry for the technical problems getting the Report Manager to load.  It’s back to the same problem I was having about port 80 not getting registered right on Windows 7.  I thought I had that fixed, but I guess not. 

Anyhow grab the slides, and drop me a comment or an email if you have a question!

Slides Screenshot
Introduction to SQL Server Reporting Services 

Thanks again to all the SQL Saturday 44 organizers.  It was a great event!

Fixing SQL Server Reporting Services (SSRS) 2008 URL Reservations on Windows 7

UPDATE! (07/27/2010) – Even with the original post claiming to have fixed my problem, I have had repeated reoccurrences of situations where all of a sudden, it just didn’t work.  This seemed random and unpredictable.  In fact this morning, I realized my problem was limitied to just the reporting services /ReportServer and /Report virtual directories.  It was actually with any IIS hosted web. I normally do web dev in a VM, so I haven’t noticed that problem until today.  But in the middle of prepping some demos, websites that worked locally yesterday all of a sudden didn’t work this morning.  404.  File not Found!

I now believe I know the problem……..ITS SKYPE!!!!!  Skype? Yes! Skype!  There is an option in Skype to allow it to use port’s 80 and 443 as an alternative to its regular port.  This option appears to be on by default (I certainly never turned it on myself) and for a normal end user is probably a great choice.  Turns out in my case though (and with other developers or anybody that needs to host their own local webs on port 80) this could cause problems.  Not sure why it was never a problem on my previous OS’s.  I haven’t really seen this as an issue until Windows 7.  Maybe its a new option in Skype.  Not sure.  Anyhow, it appears that once I have this option turned off, I am once again able to access my reporting services web sites (any any other IIS website for that matter) on port 80 again.

The randomness seems to be that sometimes Skype would get to the ports first and grab them.  The other port 80 based services then wouldn’t get their messages.  On other occasions, Skype would get there last, and the other port 80 services would work.

To turn this off in skype, open Skype and go to “Tools” | “Options”, on the left hand side of the options dialog select “Advanced” | “Connection” and then turn off the checkbox for the “Use port 80 and 443 as alternatives for incoming connections”.

Skype port 80 usage

Original post (04/08/2010):

I finally got around to refreshing my Windows 7 installation about a month ago.  I had been running SSRS 2008 on Windows 7 RC without issue, but after re-installing everything on the release I had a problem with the “/Reports” and “/ReportServer” URL reservations.  I would get a 404 not found from IIS when I tried to access either of them.

I poked around a little bit and the best suggestion I found was to use the “Reporting Services Configuration Manager” to change the ports for the URL reservations to something other than port 80 (Like port 8080), and for a quick fix that worked.  I just didn’t understand why I had to.

This morning, I was determined to figure it out.  Unfortunately I didn’t document my steps better because now it works, and I can’t actually make it NOT work again.  Here are the two things I did that MIGHT have made the difference:

  1. I ran the “Reporting Services Configuration Manager” as administrator by right-clicking on it and choosing “Run as Administrator”
  2. I added host header entries in the “Advanced” buttons for “localhost” on port 80 for both the Web Service URL and Report Manager URLs.
  3. I tested the site using my new localhost host headers: (http://localhost/Reports) (http://localhost/ReportServer) and magically they both worked.
  4. I removed the host header entries, retested, and everything still worked.

It feels like there was just some block in Win7 that we keeping the original port 80 reservations from working, and I somehow cleared the blockage with one of the above. I had changed the URL reservations in the past (from port 8080 and back to port 80, etc) but nothing did the trick.  Something I did today caused it to finally start working.

Actually, NOW I found a Technet (I have been searching for weeks, but just found this now), that may have lead me to the solution first (Troubleshooting Configuration Problems)

Note, this is NOT the same problem as the “Protected Mode” in IE or having to run IE as administrator when running IE locally on the Report Server. Those problems can be fixed using the information here: How to: Configure a Report Server for Local Administration on Windows Vista and Windows Server 2008

Anyhow, let me know if this helped you at all. Sorry the instructions aren’t more detailed. I didn’t do a good job of documenting things as I went along.