Posts Tagged ‘.NET’
WPF and ATI 5XXX Drivers Not Playing Nice Together
I’ve recently purchased a new laptop with an ATI Radeon 5650 video card. The graphics are lovely and the quad core processor in my laptop hums, particularly since adding a 128 SSD drive with the SandForce 1200 controller. But I digress…
After installing all of the drivers, Windows updates, etc. I went about configuring the machine for .NET development. After installing Visual Studio 2010 with WPF (.NET 4.0) I ran into a problem. Every time I run Visual Studio it works for a few moments, then everything freezes, my screen goes blank, and then it comes back with a toaster popup saying “Display driver has stopped responding and has recovered”. A few more moments go by, and the same thing happens again.
After scouring the web, I finally found that WPF (which is what Visual Studio 2010 is written in) is apparently having issues with the latest drivers for the ATI 5XXXX series boards. I’ve checked the forums at AMD but don’t see anything at all mentioning this problem.
To work around the issue, you can turn off WPF hardware acceleration. To do this, you need to set the following registry key
[HKEY_CURRENT_USER\Software\Microsoft\Avalon.Graphics]
“DisableHWAcceleration”=dword:00000001
If you’re unsure how to do this, here is a zip file you can download with .reg files you can double click on to disable or enable hardware acceleration.
I’m not entirely certain what the ramifications are of disabling hardware acceleration other than the obvious performance reduction, however with my quad core/8G RAM setup I haven’t seen any noticeable difference.
Happy to NOT Be an MVP!!!
Wait, it’s not what you think. This isn’t some “sour grapes” post where I bitch and complain about not getting awarded the MVP this year. I’m not tossing Vista out the window for penguin software nor am I going to start abbreviating Microsoft with M$. It was actually my choice.
Receiving the MVP award is a great honor, and one that has to be earned each year. I was very proud of having received it for the past four years and appreciated Microsoft recognizing the support I gave the community. But this past year I’ve been buried with work in my new job and just didn’t have the time to speak and write as much as I should have (as the lack of blog posts here shows). So this year I didn’t ask to be renewed, preferring instead to step down and make room for some other more deserving folks like Rob Marshall and Chris Hay.
I want to thank my US MVP Lead Ed Hickey for supporting me all those years as well as Akim Boukhelif for supporting me on this side of the big pond. Best of luck to all of the new MVPs and maybe when my work life settles down I’ll once again be worthy of the MVP title.
Great quote from Steve Ballmer on Apple’s “Cult Following”
I attended a TechNet event today called “Technologies to Change Your Business: How Customers Are Implementing Tomorrow’s Strategies Today”. It was primarily geared around Microsoft’s virtualization stories and SQL Server 2008, but I attended to see if Steve Ballmer was going to drop any news about Microsoft’s Cloud Services. After his keynote, there was a question and answer session where a question was asked that led to the presenter talking about Apple’s “cult like following” for its products such as iPhone. This was Steve Ballmer’s reply:
Currently 97% of people run our software. I don’t know if that qualifies as a cult but we’re pretty happy with our numbers.
Well said sir, well said.
First published on my new blog at www.sleepdeprivedmind.com.
Updated WCF RSS Toolkit for Visual Studio 2008 and .NET 3.5
Now that I’m happily living in the exciting, fast paced world of Greater London you’d think my weekends would be spent enjoying the active nightlife or soaking in the culture and history all around me. But you’d be wrong. I’m a nerd and so I spent my weekend in nerd bliss, a.k.a. getting reacquainted with my old friend WCF. Sorry ladies, I’m taken.
I had reason to look at building a RSS service with WCF and ran across the WCF RSS Toolkit. This is a very cool sample app written I believe by Clemens Vasters which allows developers to build services that expose endpoints encoded for RSS or ATOM. The implementation is pretty slick in that it checks the QueryString for operations and routes the calls accordingly. It also formats the feeds dynamically to RSS or ATOM using XSLT transforms before unwrapping the message from SOAP using a custom POX Encoder.
While this is all extreme coolness, and I take absolutely no credit for any of it, it did have one major problem. It was built quite some time ago and uses the CTP version of WCF. I assumed that somebody must have a more up-to-date version or a better way to generically build an RSS/ATOM service but after looking around for several hours I couldn’t find much. And so with a weekend to kill and my nerd gene complelling me I dug into the code and started migrating it to Visual Studio 2008 and .NET 3.5.
There were several small changes that needed to be made to update some class names that were different between RTM and the CTP version and also a few abstract method implementation changes. A more significant change was that the POX Encoder functionality wasn’t really necessary anymore since WCF will send POX messages if you specify a MessageVersion of type “None”. After making these changes I loaded up the samples and confirmed that they all worked.
So here then is the updated version. I’ve posted an item on WCF.NetFX3.com as well. If there’s anything I missed please let me know. Also, if there is a newer/better way to implement RSS/ATOM services in WCF feel free to comment to this post as my search wasn’t necessarily exhaustive.
Visual Studio 2008 is Out and Startup Is FAST
Okay, so I have to admit that in the two days I’ve had Visual Studio 2008 installed on my desktop system I haven’t had a chance to look at everything. However, when I was at Tech-Ed Barcelona I saw several demos where the speaker started Visual Studio 2008 and it seemed to just spring to life. My experiences with Visual Studio 2005 was far from “springy” including seeing the “Preparing Visual Studio for first use” diaog about every 5th time I started the application. In every demo, I had to make sure VS2005 was already running to avoid long delays and audience boredom.
So one of the first things I tried after installing it (and getting the first use dialog dealt with) was looking at just how fast it comes up now, and boy is it fast! This is going to make demos and just daily development life much easier. Well done VS Team!
Tech-Ed (Developer) Barcelona Bound
An observant reader looking at my blog directly and not in their favorite feed reader may have noticed that several months ago the image at the top changed from the skyline of Chicago to that of London. That’s because in July my wife and I threw all expectations of decent customer service to the wind and relocated to scenic London England.
A side benefit of this move is that for the first time ever I’ll be attending Tech-Ed Europe in Barcelona, Spain. As with Tech-Ed 2007 in Orlando, I’ll be working at the “Ask The Experts” booth in the Learning Center. So if you happen to be attending the conference next week stop by and quiz me on Visual Studio 2008, or maybe just teach me to swear in the language of your country!
CKS:Internet/Extranet EditionSharePoint 2007 Forms Based Authentication Solution Released

I’m very happy to announce that our first pre-Beta release of the SharePoint Forms Based Authentication features that the Community Kit for SharePoint Internet/Extranet edition has been working on is available for download on CodePlex. This solution builds on many of the things I created for the version on my website but adds significant improvents in management of users and roles. This solution also gives administrators the ability to approve/deny membership before the user is added to the MembershipProvider database. We still have more to do but we wanted to get this work out into the hands of the public so we can get any feedback you might have as early as possible.

I want to thank everybody who downloaded the source code for the project I created around Forms Based Authentication with SharePoint. The work of the CKS:IEE team supercedes this project in terms of functionality and usability and so I won’t be offering any further support of the version I created myself. Basically you’re better off using the CKS version as it will continue to grow in functionality and be more stable over time.
This was a group effort and so along with my relatively minor contribution you can thank Zac Smith, Edin Kapic, Brendon Schwartz, and Stacey Draper for making FBA easier and more useful in SharePoint.
SharePoint/MOSS 2007 Forms Based Authentication Login/Registration Web Parts Update
I’ve been very pleasantly surprised with the number of people downloading the forms based authentication web parts I created. I hope you find the code valuable. I’ve also received via the comments section several questions about implementing one or more aspects of the solution. I haven’t had time to answer many of these lately and so I thought my loyal readership (up to 3 now!) deserved to know why.
I’ve been working with the Community Kit for SharePoint team to create a new open source (more or less) SharePoint template for Internet/Extranets which includes as a major component a much more advanced Forms Based Authentication solution. This project is on CodePlex at http://www.CodePlex.com/CKS. You’ll see that the teams have already released an Enhanced Blog Edition. In the CKS:IEE along with web parts for user self registration and password recovery, we’re looking to add administration of users and roles, automatic configuration of FBA, a membership approval process, and many other features that will make using FBA with SharePoint easier and faster. In the meantime however, that means I won’t be able to get to all of your questions about the web parts from my web site. I appreciate your comments and readership and will circle back to try to answer your questions when my load lightens up a bit.
VSTO: My Favorite FeatureCustom Task Panes
My avid readers (both of you) know that I’ve done quite a bit of work around Outlook 2007 Form Regions in Visual Studio 2005 Tools for Office. If you missed those posts, you can read more about them here and here. Form Regions are a great way to add custom functionality to Outlook forms but there’s another way you can add features and Windows forms to all of the Office applications and unlike Form Regions (pre-Orcas) it’s really easy. Therefore one of my favorite features is Custom Task Panes.
Adding a custom task pane couldn’t be much easier. Just add a UserControl to your Add-in project and build any functionality you’d like inside that control. You can use the databinding features of WinForms, third party controls, and even COM+ components. Then to use that UserControl as a custom task pane just add it to the CustomTaskPaneCollection like below.
Dim ctp As Microsoft.Office.Tools.CustomTaskPane = Me.CustomTaskPanes.Add(New MyUserControl(), “Product List”)
You can then make the task pane visible either at startup or when the user clicks a button on the Ribbon. For a great example of how to properly implement a custom task pane’s visibility check out Ken Getz’ MSDN Webcast.
By default a custom task pane is going to appear docked on the right side of the window for your application. You can however specify where you want the custom task pane to display by using the DockPosition parameter.
ctp.DockPosition = Microsoft.Office.Core.MsoCTPDockPosition.msoCTPDockPositionBottom
The possible options for the DockPosition are:
- MsoCTPDockPosition.msoCTPDockPositionBottom
- MsoCTPDockPosition.msoCTPDockPositionFloating
- MsoCTPDockPosition.msoCTPDockPositionLeft
- MsoCTPDockPosition.msoCTPDockPositionRight
- MsoCTPDockPosition.msoCTPDockPositionTop
You can also respond to the user changing the task pane’s position by using the DockPositionChanged event.
Private Sub CTP_DockPositionChanged(ByVal sender As Object, ByVal e As EventArgs)
Dim ctp As Microsoft.Office.Tools.CustomTaskPane = CType(sender, Microsoft.Office.Tools.CustomTaskPane)
‘Do something meaningful here
End Sub
Lastly, you can restrict where the user can dock your task pane using the DockPositionRestrict property. The possible options are:
- msoCTPDockPositionRestrictNoChange
- msoCTPDockPositionRestrictNoHorizontal
- msoCTPDockPositionRestrictNone
- msoCTPDockPositionRestrictNoVertical
And that ladies and gents is all there is to that.




