<feed xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US">
    <title>Mark Ritchie</title>
    <link rel="self" type="application/xml" href="http://geekswithblogs.net/markritchie/Atom.aspx" />
    <subtitle type="html"> </subtitle>
    <id>http://geekswithblogs.net/markritchie/Default.aspx</id>
    <author>
        <name>markritchie</name>
        <uri>http://geekswithblogs.net/markritchie/Default.aspx</uri>
    </author>
    <generator uri="http://subtextproject.com" version="Subtext Version 0.0.0.0">Subtext</generator>
    <updated>2011-01-11T09:01:06Z</updated>
    <entry>
        <title>Windows Phone 7, taking the mobile out of mobile</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/markritchie/archive/2011/01/11/windows-phone-7-taking-the-mobile-out-of-mobile.aspx" />
        <id>http://geekswithblogs.net/markritchie/archive/2011/01/11/windows-phone-7-taking-the-mobile-out-of-mobile.aspx</id>
        <published>2011-01-11T09:01:06-06:00:00</published>
        <updated>2011-01-11T09:01:06Z</updated>
        <content type="html">&lt;p&gt;I’ll start off this blog entry with a little background which is necessary for you to understand my situation. I moved from to the UK to Germany about three years ago and while I can converse in German, English is still very much my first language and the language I want my content delivered in. I happily purchased a HTC HD7 when WP7 was released here in Germany thinking foolishly that Microsoft really would get internationalization and localization as it’s at the heart of their business and developer products. &lt;/p&gt;  &lt;p&gt;Overall I’m very happy with my WP7, the camera sucks but that’s more HTC’s fault that Microsoft, but other than that it’s a very promising platform. My problems started when I purchased my first app. Initially everything appeared to be fine and things were as smooth as things had been with my previous free applications, however about a month after I received an email from Zune informing me that the credit card that they had registered against my account had expired. No problem I foolishly thought; I’ll simply add a new one. I don’t want to bore you with the details of what I’ve been through other than to take the low-lights: trying numerous websites, posts on Microsoft Answers and a tweet to Microsoft Support all to no avail.&lt;/p&gt;  &lt;p&gt;Today somebody suggested that I call the Xbox support line in the UK as they had solved their billing problems this way. So I called up the &lt;strong&gt;Xbox&lt;/strong&gt; support line since I hadn’t resolved the problem using the &lt;strong&gt;Zune&lt;/strong&gt; portal to resolve my problem with my &lt;strong&gt;WP7&lt;/strong&gt; (anybody else thinks Microsoft might need some consolidation here). After being on the phone with a very friendly representative in Ireland I was informed that because my British credit card has a billing address in Germany they are unable to accept it as a credit card. Because my Live ID and Zune Tag are registered in the UK they cannot take my card. Their solution is that I have to create a new Zune Tag that has its locale in Germany and then associate it with my phone. Now, first thing I go to register for a Zune Tag with a German locale it very kindly switches into German for me, nothing quite like reading a EULA in a language you’re not fluent in. I’ve no idea how this will affect the apps that are available to me in the app store, and I’m pretty sure it means that all my Xbox live achievements will become history. And what if I was to move to say France at some point do I have to go through all this again?&lt;/p&gt;  &lt;p&gt;At the end of the day I’m trying to set something up so I can give them my money and they’re making it &lt;strong&gt;VERY&lt;/strong&gt; difficult for me. Could you imagine walking into a book store when you were on holiday and being told by the clerk that they couldn’t take your credit card because you came from another country?&lt;/p&gt;&lt;img src="http://geekswithblogs.net/markritchie/aggbug/143434.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/markritchie/comments/143434.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/markritchie/comments/commentRss/143434.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/markritchie/services/trackbacks/143434.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Creating a SubMenu for a VisualStudio 2008's DSL designer ContextMenu</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/markritchie/archive/2010/02/25/creating-a-submenu-for-a-visualstudio-2008s-dsl-designer-contextmenu.aspx" />
        <id>http://geekswithblogs.net/markritchie/archive/2010/02/25/creating-a-submenu-for-a-visualstudio-2008s-dsl-designer-contextmenu.aspx</id>
        <published>2010-02-25T03:28:38-06:00:00</published>
        <updated>2010-02-25T03:28:38Z</updated>
        <content type="html">&lt;p&gt;While the commands.vsct is an improvement over 2005's ctc files, it still leaves a lot to be desired; how about a simple designer or editor for it guys!!!! &lt;/p&gt;  &lt;p&gt;My most recent struggle has been trying to get a sub-menu to appear, a very common thing to want to do so why is there a dearth of information on the topic? &lt;/p&gt;  &lt;p&gt;Thanks to a some help from &lt;a href="http://social.msdn.microsoft.com/Profile/en-US/?user=Wesley%20Yao" target="_blank"&gt;Wesley Yao&lt;/a&gt; on &lt;a href="http://social.msdn.microsoft.com/forums/en-US/vsx/" target="_blank"&gt;Visual Studio Extensibility Forum&lt;/a&gt; I found &lt;/p&gt;  &lt;p&gt;the solution. &lt;/p&gt;  &lt;p&gt;Here are the key elements from my Commands.vsct file to get the sub-menu working:&lt;/p&gt;  &lt;p&gt;&lt;font face="Arial Narrow"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;h1&gt;&lt;font face="Arial Narrow"&gt;&amp;lt;Menu guid="guidConvertCommandsCmdSet" id="ConvertSubMenu" priority="0x100" type="Menu"&amp;gt; &lt;/font&gt;&lt;/h1&gt; &lt;font face="Arial Narrow"&gt;   &lt;h1&gt;    &amp;lt;Parent guid="guidCmdSet" id="grpidContextMain" /&amp;gt; &lt;/h1&gt;    &lt;h1&gt;    &amp;lt;CommandFlag&amp;gt;AlwaysCreate&amp;lt;/CommandFlag&amp;gt; &lt;/h1&gt;    &lt;h1&gt;    &amp;lt;Strings&amp;gt; &lt;/h1&gt;    &lt;h1&gt;        &amp;lt;CommandName&amp;gt;Convert To&amp;lt;/CommandName&amp;gt; &lt;/h1&gt;    &lt;h1&gt;        &amp;lt;ButtonText&amp;gt;Convert To&amp;lt;/ButtonText&amp;gt; &lt;/h1&gt;    &lt;h1&gt;    &amp;lt;/Strings&amp;gt; &lt;/h1&gt;    &lt;h1&gt;&lt;font face="Arial Narrow"&gt;&amp;lt;/Menu&amp;gt; &lt;/font&gt;&lt;/h1&gt; &lt;/font&gt;  &lt;h1&gt;&lt;font face="Arial Narrow"&gt;.... &lt;/font&gt;&lt;/h1&gt;  &lt;h1&gt;&lt;font face="Arial Narrow"&gt;&amp;lt;!-- Buttons for sub-menu Convert Items --&amp;gt; &lt;/font&gt;&lt;/h1&gt; &lt;font face="Arial Narrow"&gt;   &lt;h1&gt;&amp;lt;Button guid="guidConvertCommandsCmdSet" id="ConvertToSimplePropertyCommand" priority="0x0201" type="Button"&amp;gt; &lt;/h1&gt;    &lt;h1&gt;    &amp;lt;Parent guid="guidConvertCommandsCmdSet" id="ConvertToSubMenuGroup" /&amp;gt; &lt;/h1&gt;    &lt;h1&gt;    &amp;lt;Strings&amp;gt; &lt;/h1&gt;    &lt;h1&gt;        &amp;lt;ButtonText&amp;gt;Simple&amp;lt;/ButtonText&amp;gt; &lt;/h1&gt;    &lt;h1&gt;        &amp;lt;ToolTipText&amp;gt;Convert to a simple property.&amp;lt;/ToolTipText&amp;gt; &lt;/h1&gt;    &lt;h1&gt;    &amp;lt;/Strings&amp;gt; &lt;/h1&gt;    &lt;h1&gt;&lt;font face="Arial Narrow"&gt;&amp;lt;/Button&amp;gt; &lt;/font&gt;&lt;/h1&gt; &lt;/font&gt;  &lt;h1&gt;&lt;font face="Arial Narrow"&gt;.... &lt;/font&gt;&lt;/h1&gt; &lt;font face="Arial Narrow"&gt;   &lt;h1&gt;&amp;lt;!-- Logical group for holding the submenus of the top level menu --&amp;gt; &lt;/h1&gt;    &lt;h1&gt;&amp;lt;Group guid="guidConvertCommandsCmdSet" id="TopLevelMenuGroup" priority="0x0000"&amp;gt; &lt;/h1&gt;    &lt;h1&gt;    &amp;lt;Parent guid="guidCmdSet" id="grpidContextMain"/&amp;gt; &lt;/h1&gt;    &lt;h1&gt;&lt;font face="Arial Narrow"&gt;&amp;lt;/Group&amp;gt; &lt;/font&gt;&lt;/h1&gt; &lt;/font&gt;  &lt;h1&gt;&lt;font face="Arial Narrow"&gt;&amp;lt;!-- Logical group for holding items in the "Convert To" submenus --&amp;gt; &lt;/font&gt;&lt;/h1&gt; &lt;font face="Arial Narrow"&gt;   &lt;h1&gt;&amp;lt;Group guid="guidConvertCommandsCmdSet" id="ConvertToSubMenuGroup" priority="0x0000"&amp;gt; &lt;/h1&gt;    &lt;h1&gt;    &amp;lt;Parent guid="guidConvertCommandsCmdSet" id="ConvertSubMenu"/&amp;gt; &lt;/h1&gt;    &lt;h1&gt;&lt;font face="Arial Narrow"&gt;&amp;lt;/Group&amp;gt; &lt;/font&gt;&lt;/h1&gt; &lt;/font&gt;  &lt;h1&gt;&lt;font face="Arial Narrow"&gt;.... &lt;/font&gt;&lt;/h1&gt;  &lt;h1&gt;&lt;font face="Arial Narrow"&gt;&amp;lt;GuidSymbol name="guidConvertCommandsCmdSet" value="{Put you own GUID here}" &amp;gt; &lt;/font&gt;&lt;/h1&gt; &lt;font face="Arial Narrow"&gt;   &lt;h1&gt;    &amp;lt;!--Menu--&amp;gt; &lt;/h1&gt;    &lt;h1&gt;    &amp;lt;IDSymbol name="ConvertSubMenu" value="0x1100"/&amp;gt; &lt;/h1&gt;    &lt;h1&gt;    &amp;lt;!--Groups--&amp;gt; &lt;/h1&gt;    &lt;h1&gt;    &amp;lt;IDSymbol name="TopLevelMenuGroup" value="0x1150"/&amp;gt; &lt;/h1&gt;    &lt;h1&gt;    &amp;lt;IDSymbol name="ConvertToSubMenuGroup" value="0x1151"/&amp;gt; &lt;/h1&gt;    &lt;h1&gt;    &amp;lt;!--Commands--&amp;gt; &lt;/h1&gt;    &lt;h1&gt;    &amp;lt;IDSymbol name="ConvertToSimplePropertyCommand" value="0x701"/&amp;gt; &lt;/h1&gt;    &lt;h1&gt;&lt;font face="Arial Narrow"&gt;&amp;lt;/GuidSymbol&amp;gt;&lt;/font&gt;&lt;/h1&gt; &lt;/font&gt;&lt;img src="http://geekswithblogs.net/markritchie/aggbug/138164.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/markritchie/comments/138164.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/markritchie/comments/commentRss/138164.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/markritchie/services/trackbacks/138164.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Companies really should know better</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/markritchie/archive/2009/04/02/companies-really-should-know-better.aspx" />
        <id>http://geekswithblogs.net/markritchie/archive/2009/04/02/companies-really-should-know-better.aspx</id>
        <published>2009-04-02T08:10:56-05:00:00</published>
        <updated>2009-04-02T08:12:15Z</updated>
        <content type="html">&lt;p&gt;I wanted to try out VMWare workstation today so I went over to the VMWare site and filled in all my details and created my new password, all the time happy in the knowlege that I had a nice secure (if you forget about possible man in the middle attacks) SLL connection. So what does VWWare then proceed to do? Why lets confirm that password by emailing it back to you over a nice insecure connection.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Nice!&lt;/p&gt;&lt;img src="http://geekswithblogs.net/markritchie/aggbug/130673.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/markritchie/comments/130673.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/markritchie/comments/commentRss/130673.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/markritchie/services/trackbacks/130673.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Mad about numbers</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/markritchie/archive/2008/11/11/mad-about-numbers.aspx" />
        <id>http://geekswithblogs.net/markritchie/archive/2008/11/11/mad-about-numbers.aspx</id>
        <published>2008-11-11T15:37:47-06:00:00</published>
        <updated>2008-11-12T12:55:24Z</updated>
        <content type="html">&lt;p&gt;At the recent PDC in LA I had the opportunity to speak to some of the C# team. I tried to make the most of this by voicing one of my biggest bugbears with the C# language: Why make numbers so overly difficult to use?&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;We have sbyte, byte, short, ushort, int, unit, long, ulong, float, double, decimal to represent the simple real world concept of a number. If we take the concept of a number into the software development paradigm what do we really want from it:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Fidelity (How many decimal places to we need to be accurate to) &lt;/li&gt;
    &lt;li&gt;Possible values (What is the range of numbers to be stored: Minimum &amp;amp; Maximum) &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pretty simple huh!&lt;/p&gt;
&lt;p&gt;I do understand the reasons behind .NET’s numeric types:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Give the C, C++ and Java developers something familiar &lt;/li&gt;
    &lt;li&gt;Performance &lt;/li&gt;
    &lt;li&gt;Hmmm, maybe they didn’t think about it so long. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Personally I think that performance is a non-issue.  The .NET runtime is responsible for handling garbage collection as we’re too irresponsible to do this effectively ourselves, so why not handle numbers for us too. Maybe we might have to introduce some attributes to indicate what is most important to us:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;[Optimisation=Speed] &lt;/li&gt;
    &lt;li&gt;[Optimisation=Space] &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I certainly wouldn’t miss having to debug runtime errors where a DataReader returns an insignificantly different type from the attempted cast.&lt;/p&gt;&lt;img src="http://geekswithblogs.net/markritchie/aggbug/126957.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/markritchie/comments/126957.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/markritchie/comments/commentRss/126957.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/markritchie/services/trackbacks/126957.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Creating a user with Wix</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/markritchie/archive/2008/11/10/creating-a-user-with-wix.aspx" />
        <id>http://geekswithblogs.net/markritchie/archive/2008/11/10/creating-a-user-with-wix.aspx</id>
        <published>2008-11-10T05:24:10-06:00:00</published>
        <updated>2008-11-10T06:26:23Z</updated>
        <summary type="html">Create a windows users using Wix</summary>
        <content type="html">&lt;p&gt;I'm been working with Wix for a few weeks now, and a really like what I see with the technology, however it can be painful trying to do some obvious things due to limited documentation and examples.&lt;/p&gt;
&lt;p&gt;Today I wanted to create a user at install time, a simple problem with a simple solution:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #a31515; FONT-SIZE: 10pt"&gt;User &lt;/span&gt;&lt;span style="COLOR: red; FONT-SIZE: 10pt"&gt;xmlns&lt;/span&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;=&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;span style="COLOR: blue"&gt;&lt;a href="http://schemas.microsoft.com/wix/UtilExtension"&gt;http://schemas.microsoft.com/wix/UtilExtension&lt;/a&gt;&lt;/span&gt;&lt;span style="COLOR: red"&gt;Id&lt;/span&gt;&lt;span style="COLOR: blue"&gt;=&lt;/span&gt;"&lt;span style="COLOR: blue"&gt;NewSvc&lt;/span&gt;"&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;                 &lt;/span&gt;&lt;span style="COLOR: red; FONT-SIZE: 10pt"&gt;CanNotChangePassword&lt;/span&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;=&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt;"&lt;span style="COLOR: blue"&gt;yes&lt;/span&gt;"&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;                 &lt;/span&gt;&lt;span style="COLOR: red; FONT-SIZE: 10pt"&gt;CreateUser&lt;/span&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;=&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt;"&lt;span style="COLOR: blue"&gt;yes&lt;/span&gt;"&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;                 &lt;/span&gt;&lt;span style="COLOR: red; FONT-SIZE: 10pt"&gt;FailIfExists&lt;/span&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;=&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt;"&lt;span style="COLOR: blue"&gt;no&lt;/span&gt;"&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;                 &lt;/span&gt;&lt;span style="COLOR: red; FONT-SIZE: 10pt"&gt;PasswordNeverExpires&lt;/span&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;=&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt;"&lt;span style="COLOR: blue"&gt;yes&lt;/span&gt;"&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;                 &lt;/span&gt;&lt;span style="COLOR: red; FONT-SIZE: 10pt"&gt;PasswordExpired&lt;/span&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;=&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt;"&lt;span style="COLOR: blue"&gt;no&lt;/span&gt;"&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;                 &lt;/span&gt;&lt;span style="COLOR: red; FONT-SIZE: 10pt"&gt;RemoveOnUninstall&lt;/span&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;=&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt;"&lt;span style="COLOR: blue"&gt;yes&lt;/span&gt;"&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;                 &lt;/span&gt;&lt;span style="COLOR: red; FONT-SIZE: 10pt"&gt;UpdateIfExists&lt;/span&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;=&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt;"&lt;span style="COLOR: blue"&gt;no&lt;/span&gt;"&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;                 &lt;/span&gt;&lt;span style="COLOR: red; FONT-SIZE: 10pt"&gt;Disabled&lt;/span&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;=&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt;"&lt;span style="COLOR: blue"&gt;no&lt;/span&gt;"&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;                 &lt;/span&gt;&lt;span style="COLOR: red; FONT-SIZE: 10pt"&gt;Name&lt;/span&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;=&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt;"&lt;span style="COLOR: blue"&gt;New Service&lt;/span&gt;"&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;                 &lt;/span&gt;&lt;span style="COLOR: red; FONT-SIZE: 10pt"&gt;Password&lt;/span&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;=&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt;"&lt;span style="COLOR: blue"&gt;pa55w0rd&lt;/span&gt;"&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt; &amp;lt;&lt;/span&gt;&lt;span style="COLOR: #a31515; FONT-SIZE: 10pt"&gt;GroupRef&lt;/span&gt;&lt;span style="COLOR: red; FONT-SIZE: 10pt"&gt; Id&lt;/span&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;=&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt;"&lt;span style="COLOR: blue"&gt;GroupID&lt;/span&gt;"&lt;span style="COLOR: blue"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #a31515; FONT-SIZE: 10pt"&gt;User&lt;/span&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;Straight forward enough however I was getting the following error:&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;&lt;em&gt;The Component element contains an unhandled extension element 'User'.  Please ensure that the extension for elements in the 'http://schemas.microsoft.com/wix/UtilExtension' namespace has been provided.&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Although this is a trivial error to fix it took a while for the solution to dawn on me, after not finding much help on the internet. The problem is that the UtilExtension is responsible for creating users and there is no reference to the DLL.&lt;/p&gt;
&lt;p&gt;To resolve the problem I simply needed to add a reference to WixUtilExtension.dll and the problem was solved.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;img src="http://geekswithblogs.net/markritchie/aggbug/126916.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/markritchie/comments/126916.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/markritchie/comments/commentRss/126916.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/markritchie/services/trackbacks/126916.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Windows 7 - Vista's Saviour?</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/markritchie/archive/2008/11/09/windows-7-vistas-saviour.aspx" />
        <id>http://geekswithblogs.net/markritchie/archive/2008/11/09/windows-7-vistas-saviour.aspx</id>
        <published>2008-11-09T16:28:11-06:00:00</published>
        <updated>2008-11-10T11:33:18Z</updated>
        <summary type="html">Sharing some thoughts and experiences of using the pre-beta version of Windows 7. </summary>
        <content type="html">&lt;a target="_blank" href="/images/geekswithblogs_net/markritchie/Win7/Desktop.jpg"&gt;&lt;img style="MARGIN-RIGHT: 10px" height="120" alt="Windows 7 Desktop" width="192" align="left" src="/images/geekswithblogs_net/markritchie/Win7/DesktopTh(1).jpg" /&gt;&lt;/a&gt;
&lt;h3&gt;Windows 7&lt;/h3&gt;
&lt;div&gt;These past couple of weeks have been a mixture of fortunes for me; I was fortunate enough to be sent by my employer to the &lt;a href="http://microsoftpdc.com/"&gt;&lt;u&gt;&lt;font color="#0000ff"&gt;PDC &lt;/font&gt;&lt;/u&gt;&lt;/a&gt;in LA where I won a couple of iPod Touches This also enable me to sign up to the &lt;a href="http://dev.live.com/"&gt;Mesh developers&lt;/a&gt; program which I'll blog about later. Unfortunately my fortunes took a turn for the worse at the end of the week when an investor pulled out of our company forcing the board to shut down the development department leaving me out of a job. So I'm going to try and make the most of my new found spare time and start blogging.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;One of the geeky highlights of the PDC is to get hold of pre beta versions of some of Microsoft's flagship products. This PDC's included Windows 7, the highly anticipated successor to Windows Vista. Vista has a received a &lt;strong&gt;LOT&lt;/strong&gt; of bad press, some of which is deserved, but most of which is either blown out of proportion or plain false. To my mind the two biggest valid criticisms about the OS are UAC and its gluttonous nature regarding memory. The later problem has forced Microsoft to turn to XP for Netbooks and other minimal spec machines. &lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;Enter Windows 2007! I've been using it on my "Designed for XP" Sony Vaio (1GB Ram, 1.8GHz Pentium M, VGN-A297XP) for a week now with Windows 7 and the performance difference is remarkable. Vista ran like a complete dog on this box, even with Aero turned off. Windows 7 pre beta appears to use about 512Mb Ram without any other apps running and its performant enough for me to turn Aero on and get the whole Aero glass effect. I get the impression that it may even get more slipstreamed between now and going gold, enabling Microsoft to put XP to bed and use Win7 on resource light machines.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;While UAC is widely hated by many users, and I've cursed it many a time myself, it has forced a lot of software manufacturers to look at their development practices and make changes so that the software they develop does not need require unnecessary elevated privileges. In the long run this is cruicial to a safe online experiance where hacking is a buisness and no longer just a hobby. In Windows 7 UAC is still around, but they've now made it so the user gets to choose how intrusive the messages are. &lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;For me the biggest change in Windows 7 is how Microsoft is now developing its software. They've broken up development into "Feature Crews" which means that each team works on specific features, each feature goes through the full software development lifecycle, including rigorous testing, before it is pushed into the main product branch. This means that at any specific date they can release a very stable build of their products. It also means that it’s a lot easier to make predictable software releases. All they need to do is pick a release date and the features that are complete at that time make it into the final release.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;a target="_blank" href="/images/geekswithblogs_net/markritchie/Win7/Paint.jpg"&gt;&lt;img style="MARGIN-RIGHT: 10px" height="125" alt="" width="213" align="left" src="/images/geekswithblogs_net/markritchie/Win7/PaintTh.jpg" /&gt;&lt;/a&gt;It’s obvious that Microsoft is very happy with its Ribbon technology as its revisiting standard windows apps such as Paint and WordPad and giving them the Ribbon make over. It’s going to be interesting to see what additional features are added to Windows 7 between now and its final release, but I guess we might see some of our other favourite windows apps such as Notepad getting Ribbonised. Windows 7 is going to be the evolutionary version of Vista that everyone wants (even if they don't know it yet) in the same way that XP SP2 was to XP.&lt;/div&gt;
&lt;div&gt;&lt;a target="_blank" href="/images/geekswithblogs_net/markritchie/Win7/Paint.jpg"&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;font size="3"&gt;&lt;font size="3"&gt;
&lt;div&gt;　&lt;/div&gt;
&lt;/font&gt;&lt;/font&gt;&lt;img src="http://geekswithblogs.net/markritchie/aggbug/126909.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/markritchie/comments/126909.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/markritchie/comments/commentRss/126909.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/markritchie/services/trackbacks/126909.aspx</trackback:ping>
    </entry>
</feed>
