<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" 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:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>public interface IGrocholski</title>
    <link>http://blogs.rbaconsulting.com/agrocholski/</link>
    <description />
    <language>en-us</language>
    <copyright>RBA Consulting</copyright>
    <lastBuildDate>Wed, 06 Jun 2007 11:56:04 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.8.5223.2</generator>
    <managingEditor>adam.grocholski@rbaconsulting.com</managingEditor>
    <webMaster>adam.grocholski@rbaconsulting.com</webMaster>
    <item>
      <trackback:ping>http://blogs.rbaconsulting.com/agrocholski/Trackback.aspx?guid=6d7f6bdf-5dbb-4887-8e7a-eb4375d38b4f</trackback:ping>
      <pingback:server>http://blogs.rbaconsulting.com/agrocholski/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.rbaconsulting.com/agrocholski/PermaLink,guid,6d7f6bdf-5dbb-4887-8e7a-eb4375d38b4f.aspx</pingback:target>
      <dc:creator>adam.grocholski@rbaconsulting.com (Adam Grocholski)</dc:creator>
      <wfw:comment>http://blogs.rbaconsulting.com/agrocholski/CommentView,guid,6d7f6bdf-5dbb-4887-8e7a-eb4375d38b4f.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.rbaconsulting.com/agrocholski/SyndicationService.asmx/GetEntryCommentsRss?guid=6d7f6bdf-5dbb-4887-8e7a-eb4375d38b4f</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Lately I've been into all things "Orcas" (i.e. LINQ, Acropolis, Astoria, Jasper, etc.)
      However, the one thing I haven't really delved into yet is WPF. Since it's getting
      all the buzz, I decided to dig in and see what it's about. Admittedly I haven't gotten
      all that far yet, I'm still looking at how the WPF application model differs from
      that of Win32, but I have been amazed at how easy it is do some things, particularly
      when it comes to 3D and animation. For example within 20 minutes approximately 50
      lines of xaml I was able to take a label, project it into a 3D cube, and then rotate
      the cube on its vertical axis. The result is something that looks like this:
   </p>
        <p>
          <img src="http://blogs.rbaconsulting.com/agrocholski/content/binary/HelloWPF.jpg" border="0" />
        </p>
        <p>
      Of course, when the app runs it actually spins. To me, that's pretty mindblowing.
   </p>
        <p>
      The source code is attached if you want to take a look at how simple this is. (Note:
      HelloWPF.sln was written with Visual Studio "Orcas", I'm not entirely sure if it will
      work on Visual Studio 2005 with the WPF extension installed).
   </p>
        <p>
      ag
   </p>
        <a href="http://blogs.rbaconsulting.com/agrocholski/content/binary/HelloWPF.zip">HelloWPF.zip
   (41.32 KB)</a>
        <img width="0" height="0" src="http://blogs.rbaconsulting.com/agrocholski/aggbug.ashx?id=6d7f6bdf-5dbb-4887-8e7a-eb4375d38b4f" />
      </body>
      <title>Hello WPF</title>
      <guid>http://blogs.rbaconsulting.com/agrocholski/PermaLink,guid,6d7f6bdf-5dbb-4887-8e7a-eb4375d38b4f.aspx</guid>
      <link>http://blogs.rbaconsulting.com/agrocholski/PermaLink,guid,6d7f6bdf-5dbb-4887-8e7a-eb4375d38b4f.aspx</link>
      <pubDate>Wed, 06 Jun 2007 11:56:04 GMT</pubDate>
      <description>&lt;p&gt;
   Lately I've been into all things "Orcas" (i.e. LINQ, Acropolis, Astoria, Jasper, etc.)
   However, the one thing I haven't really delved into yet is WPF. Since it's getting
   all the buzz, I decided to dig in and see what it's about. Admittedly I haven't gotten
   all that far yet, I'm still looking at how the WPF application model differs from
   that of Win32, but I have been amazed at how easy it is do some things, particularly
   when it comes to 3D and animation. For example within 20 minutes approximately 50
   lines of xaml I was able to take a label, project it into a 3D cube, and then rotate
   the cube on its vertical axis. The result is something that looks like this:
&lt;/p&gt;
&lt;p&gt;
   &lt;img src="http://blogs.rbaconsulting.com/agrocholski/content/binary/HelloWPF.jpg" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
   Of course, when the app runs it actually spins.&amp;nbsp;To&amp;nbsp;me, that's pretty mindblowing.
&lt;/p&gt;
&lt;p&gt;
   The source code is attached if you want to take a look at how simple this is. (Note:
   HelloWPF.sln was written with Visual Studio "Orcas", I'm not entirely sure if it will
   work on Visual Studio 2005 with the WPF extension installed).
&lt;/p&gt;
&lt;p&gt;
   ag
&lt;/p&gt;
&lt;a href="http://blogs.rbaconsulting.com/agrocholski/content/binary/HelloWPF.zip"&gt;HelloWPF.zip
(41.32 KB)&lt;/a&gt;&lt;img width="0" height="0" src="http://blogs.rbaconsulting.com/agrocholski/aggbug.ashx?id=6d7f6bdf-5dbb-4887-8e7a-eb4375d38b4f" /&gt;</description>
      <comments>http://blogs.rbaconsulting.com/agrocholski/CommentView,guid,6d7f6bdf-5dbb-4887-8e7a-eb4375d38b4f.aspx</comments>
      <category>.NET Development;Orcas;WPF</category>
    </item>
    <item>
      <trackback:ping>http://blogs.rbaconsulting.com/agrocholski/Trackback.aspx?guid=89be4c1a-bd24-4b8a-a8f0-ce70604ac068</trackback:ping>
      <pingback:server>http://blogs.rbaconsulting.com/agrocholski/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.rbaconsulting.com/agrocholski/PermaLink,guid,89be4c1a-bd24-4b8a-a8f0-ce70604ac068.aspx</pingback:target>
      <dc:creator>adam.grocholski@rbaconsulting.com (Adam Grocholski)</dc:creator>
      <wfw:comment>http://blogs.rbaconsulting.com/agrocholski/CommentView,guid,89be4c1a-bd24-4b8a-a8f0-ce70604ac068.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.rbaconsulting.com/agrocholski/SyndicationService.asmx/GetEntryCommentsRss?guid=89be4c1a-bd24-4b8a-a8f0-ce70604ac068</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Over the past month or so Microsoft has released a number of CTP's targeted at Visual
      Studio "Orcas". You should already know about <a href="http://silverlight.net/Default.aspx">Silverlight</a> (if
      you don't then you probably shouldn't continue reading this post). Of course Silverlight
      gets the spotlight, and it should, because it looks so cool (check out the <a href="http://download.microsoft.com/download/e/d/d/edd7b135-d2a9-4499-a3ca-a6c8a0ab5716/Netflix_mix.wmv">Netflix</a> demo
      to see what I'm talking about). With everyone ranting and raving about Silverlight,
      some middle tier projects have been released under the radar (detail below.. As you
      know this kind of stuff doesn't get all the hype that UI innovations do, but they're
      not trivial projects. I recommend checking them out when you have some time.
   </p>
        <p>
          <a href="http://www.microsoft.com/downloads/details.aspx?familyid=72386ce5-f206-4d5c-ab09-413b5f31f935&amp;displaylang=en&amp;tm">Acropolis</a>
        </p>
        <p>
      “Acropolis” builds on the rich capabilities of Microsoft Windows and the .NET Framework,
      including Windows Presentation Foundation (WPF), by providing tools and pre-built
      components that help developers quickly assemble applications from loosely-coupled
      parts and services.
   </p>
        <p>
          <a href="http://www.microsoft.com/downloads/details.aspx?familyid=1B6F85BC-8933-4D0E-A639-934EF85ADCE1&amp;displaylang=en">Astoria</a>
        </p>
        <p>
      The Microsoft Codename "Astoria" project is an incubation effort at Microsoft focused
      on exploring how various emerging world-wide-web technologies and concepts can be
      combined with the Microsoft Data Platform to provide a first-class infrastructure
      for building the next wave of internet applications.
   </p>
        <p>
      The goal of Microsoft Codename Astoria is to enable applications to expose data as
      a data service that can be consumed by web clients within corporate networks and across
      the internet. The data service is reachable over regular HTTP requests, and standard
      HTTP verbs such as GET, POST, PUT and DELETE are used to perform operations against
      the service. The payload format for the data exchanged with the service can be controlled
      by the client and all options are simple, open formats such as plan XML and JSON.
      The use of web-friendly technologies make it ideal as a data back-end for AJAX-style
      applications, Rich Interactive Applications and other applications that need to operate
      against data that is across the web. 
   </p>
        <p>
      The first Astoria CTP is a dual release, making Astoria available in the form of downloadable
      bits that can be used to build data services that are entirely contained within a
      single computer or network and as an experimental online service that you can use
      to create online stores that are hosted by Microsoft and are accessible over the internet.
   </p>
        <p>
          <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=471BB3AC-B31A-49CD-A567-F2E286715C8F&amp;displaylang=en">Jasper</a>
        </p>
        <p>
      Jasper leverages the power of dynamic languages and the concept of convention over
      configuration to provide a programming surface for data that enables rapid development
      of data-bound applications. While most other rapid data access frameworks are only
      capable of working against simple databases, Jasper can scale to almost any database,
      regardless of size or complexity. This is possible because Jasper takes advantage
      of the ADO.NET Entity Framework’s significant investments in mapping and conceptual
      data modeling.
   </p>
        <p>
      ag
   </p>
        <img width="0" height="0" src="http://blogs.rbaconsulting.com/agrocholski/aggbug.ashx?id=89be4c1a-bd24-4b8a-a8f0-ce70604ac068" />
      </body>
      <title>Holy Code Names...</title>
      <guid>http://blogs.rbaconsulting.com/agrocholski/PermaLink,guid,89be4c1a-bd24-4b8a-a8f0-ce70604ac068.aspx</guid>
      <link>http://blogs.rbaconsulting.com/agrocholski/PermaLink,guid,89be4c1a-bd24-4b8a-a8f0-ce70604ac068.aspx</link>
      <pubDate>Tue, 05 Jun 2007 12:36:54 GMT</pubDate>
      <description>&lt;p&gt;
   Over the past month or so Microsoft has released a number of CTP's targeted at Visual
   Studio "Orcas". You should already know about &lt;a href="http://silverlight.net/Default.aspx"&gt;Silverlight&lt;/a&gt;&amp;nbsp;(if
   you don't then you probably shouldn't continue reading this post). Of course Silverlight
   gets the spotlight, and it should, because it looks so cool (check out the &lt;a href="http://download.microsoft.com/download/e/d/d/edd7b135-d2a9-4499-a3ca-a6c8a0ab5716/Netflix_mix.wmv"&gt;Netflix&lt;/a&gt;&amp;nbsp;demo
   to see what I'm talking about). With everyone ranting and raving about Silverlight,
   some middle tier projects have been released under the radar (detail below.. As you
   know this kind of stuff doesn't get all the hype that UI innovations do, but they're
   not trivial projects. I recommend checking them out when you have some time.
&lt;/p&gt;
&lt;p&gt;
   &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=72386ce5-f206-4d5c-ab09-413b5f31f935&amp;amp;displaylang=en&amp;amp;tm"&gt;Acropolis&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
   “Acropolis” builds on the rich capabilities of Microsoft Windows and the .NET Framework,
   including Windows Presentation Foundation (WPF), by providing tools and pre-built
   components that help developers quickly assemble applications from loosely-coupled
   parts and services.
&lt;/p&gt;
&lt;p&gt;
   &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=1B6F85BC-8933-4D0E-A639-934EF85ADCE1&amp;amp;displaylang=en"&gt;Astoria&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
   The Microsoft Codename "Astoria" project is an incubation effort at Microsoft focused
   on exploring how various emerging world-wide-web technologies and concepts can be
   combined with the Microsoft Data Platform to provide a first-class infrastructure
   for building the next wave of internet applications.
&lt;/p&gt;
&lt;p&gt;
   The goal of Microsoft Codename Astoria is to enable applications to expose data as
   a data service that can be consumed by web clients within corporate networks and across
   the internet. The data service is reachable over regular HTTP requests, and standard
   HTTP verbs such as GET, POST, PUT and DELETE are used to perform operations against
   the service. The payload format for the data exchanged with the service can be controlled
   by the client and all options are simple, open formats such as plan XML and JSON.
   The use of web-friendly technologies make it ideal as a data back-end for AJAX-style
   applications, Rich Interactive Applications and other applications that need to operate
   against data that is across the web. 
&lt;/p&gt;
&lt;p&gt;
   The first Astoria CTP is a dual release, making Astoria available in the form of downloadable
   bits that can be used to build data services that are entirely contained within a
   single computer or network and as an experimental online service that you can use
   to create online stores that are hosted by Microsoft and are accessible over the internet.
&lt;/p&gt;
&lt;p&gt;
   &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=471BB3AC-B31A-49CD-A567-F2E286715C8F&amp;amp;displaylang=en"&gt;Jasper&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
   Jasper leverages the power of dynamic languages and the concept of convention over
   configuration to provide a programming surface for data that enables rapid development
   of data-bound applications. While most other rapid data access frameworks are only
   capable of working against simple databases, Jasper can scale to almost any database,
   regardless of size or complexity. This is possible because Jasper takes advantage
   of the ADO.NET Entity Framework’s significant investments in mapping and conceptual
   data modeling.
&lt;/p&gt;
&lt;p&gt;
   ag
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.rbaconsulting.com/agrocholski/aggbug.ashx?id=89be4c1a-bd24-4b8a-a8f0-ce70604ac068" /&gt;</description>
      <comments>http://blogs.rbaconsulting.com/agrocholski/CommentView,guid,89be4c1a-bd24-4b8a-a8f0-ce70604ac068.aspx</comments>
      <category>.NET Development;Orcas</category>
    </item>
    <item>
      <trackback:ping>http://blogs.rbaconsulting.com/agrocholski/Trackback.aspx?guid=7221d6ad-bf03-488a-8c73-a85899d96acc</trackback:ping>
      <pingback:server>http://blogs.rbaconsulting.com/agrocholski/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.rbaconsulting.com/agrocholski/PermaLink,guid,7221d6ad-bf03-488a-8c73-a85899d96acc.aspx</pingback:target>
      <dc:creator>adam.grocholski@rbaconsulting.com (Adam Grocholski)</dc:creator>
      <wfw:comment>http://blogs.rbaconsulting.com/agrocholski/CommentView,guid,7221d6ad-bf03-488a-8c73-a85899d96acc.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.rbaconsulting.com/agrocholski/SyndicationService.asmx/GetEntryCommentsRss?guid=7221d6ad-bf03-488a-8c73-a85899d96acc</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Forgive me dear readers. I know I've been a little lax on the whole blog thing recently.
      This has been due to the fact that I've been diving deep into Visual Studio "Orcas"
      and LINQ in preparation for the May 2007 DevCares. My slide decks and demos should
      be attached to this post (if I remember to click the attach button).
   </p>
        <p>
      This is some really cool technology that will make you rethink the way you access
      and query data. I recommend checking it out before "Orcas" ships (some time this Fall).
   </p>
        <p>
      You can download the Orcas beta <a href="http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx">here</a>.
   </p>
        <p>
      If you're an MSDN subscriber you can download an ISO image from your subscription
      page.
   </p>
        <p>
      If you want more info on LINQ I recommend checking out Scott Guthrie's <a href="http://weblogs.asp.net/scottgu/">blog</a>.
      He has been posting a number of entires on LINQ over the past couple of months.
   </p>
        <p>
      For some really good content head on over check out the session from <a href="http://sessions.visitmix.com/">MIX
      '07</a>. All session are downloaded for your viewing pleasure (on iPod or Zune).
   </p>
        <p>
      In particular I would recommend Anders Hejlsberg's <a href="http://sessions.visitmix.com/default.asp?event=1011&amp;session=2012&amp;pid=DEV04&amp;disc=&amp;id=1513&amp;year=2007&amp;search=DEV04">presentation
      on LINQ</a>. This is the guy that came up with the idea. No one should be this smart.
   </p>
        <p>
      (A note on the demos. These demos were created running Visual Studio "Orcas" Beta
      1. I installed this on my host Vista machine side by side with Visual Studio 2005.
      Usually I'd Virtual PC this kind of thing, but I'm also highly impatient and like
      a quicker response. I haven't had any problem to date, but I do know that if you uninstall
      the Beta you'll need to fix your VS 2005 installation by running the install media
      again.)
   </p>
        <p>
      ag
   </p>
        <a href="http://blogs.rbaconsulting.com/agrocholski/content/binary/LINQ.zip">LINQ.zip
   (2.03 MB)</a>
        <img width="0" height="0" src="http://blogs.rbaconsulting.com/agrocholski/aggbug.ashx?id=7221d6ad-bf03-488a-8c73-a85899d96acc" />
      </body>
      <title>The Missing LINQ</title>
      <guid>http://blogs.rbaconsulting.com/agrocholski/PermaLink,guid,7221d6ad-bf03-488a-8c73-a85899d96acc.aspx</guid>
      <link>http://blogs.rbaconsulting.com/agrocholski/PermaLink,guid,7221d6ad-bf03-488a-8c73-a85899d96acc.aspx</link>
      <pubDate>Fri, 01 Jun 2007 01:39:00 GMT</pubDate>
      <description>&lt;p&gt;
   Forgive me dear readers. I know I've been a little lax on the whole blog thing recently.
   This has been due to the fact that I've been diving deep into Visual Studio "Orcas"
   and LINQ in preparation for the May 2007 DevCares. My slide decks and demos should
   be attached to this post (if I remember to click the attach button).
&lt;/p&gt;
&lt;p&gt;
   This is some really cool technology that will make you rethink the way you access
   and query data. I recommend checking it out before "Orcas" ships (some time this Fall).
&lt;/p&gt;
&lt;p&gt;
   You can download the Orcas beta &lt;a href="http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
   If you're an MSDN subscriber you can download an ISO image from your subscription
   page.
&lt;/p&gt;
&lt;p&gt;
   If you want more info on LINQ I recommend checking out Scott Guthrie's &lt;a href="http://weblogs.asp.net/scottgu/"&gt;blog&lt;/a&gt;.
   He has been posting a number of entires on LINQ over the past couple of months.
&lt;/p&gt;
&lt;p&gt;
   For some really good content head on over check out the session from &lt;a href="http://sessions.visitmix.com/"&gt;MIX
   '07&lt;/a&gt;. All session are downloaded for your viewing pleasure (on iPod or Zune).
&lt;/p&gt;
&lt;p&gt;
   In particular I would recommend Anders Hejlsberg's &lt;a href="http://sessions.visitmix.com/default.asp?event=1011&amp;amp;session=2012&amp;amp;pid=DEV04&amp;amp;disc=&amp;amp;id=1513&amp;amp;year=2007&amp;amp;search=DEV04"&gt;presentation
   on LINQ&lt;/a&gt;. This is the guy that came up with the idea. No one should be this smart.
&lt;/p&gt;
&lt;p&gt;
   (A note on the demos. These demos were created running Visual Studio "Orcas" Beta
   1. I installed this on my host Vista machine side by side with Visual Studio 2005.
   Usually I'd Virtual PC this kind of thing, but I'm also highly impatient and like
   a quicker response. I haven't had any problem to date, but I do know that if you uninstall
   the Beta you'll need to fix your VS 2005 installation by running the install media
   again.)
&lt;/p&gt;
&lt;p&gt;
   ag
&lt;/p&gt;
&lt;a href="http://blogs.rbaconsulting.com/agrocholski/content/binary/LINQ.zip"&gt;LINQ.zip
(2.03 MB)&lt;/a&gt;&lt;img width="0" height="0" src="http://blogs.rbaconsulting.com/agrocholski/aggbug.ashx?id=7221d6ad-bf03-488a-8c73-a85899d96acc" /&gt;</description>
      <comments>http://blogs.rbaconsulting.com/agrocholski/CommentView,guid,7221d6ad-bf03-488a-8c73-a85899d96acc.aspx</comments>
      <category>.NET Development;Orcas</category>
    </item>
    <item>
      <trackback:ping>http://blogs.rbaconsulting.com/agrocholski/Trackback.aspx?guid=0b55c030-c9be-40e8-8005-cb4aefc0441d</trackback:ping>
      <pingback:server>http://blogs.rbaconsulting.com/agrocholski/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.rbaconsulting.com/agrocholski/PermaLink,guid,0b55c030-c9be-40e8-8005-cb4aefc0441d.aspx</pingback:target>
      <dc:creator>adam.grocholski@rbaconsulting.com (Adam Grocholski)</dc:creator>
      <wfw:comment>http://blogs.rbaconsulting.com/agrocholski/CommentView,guid,0b55c030-c9be-40e8-8005-cb4aefc0441d.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.rbaconsulting.com/agrocholski/SyndicationService.asmx/GetEntryCommentsRss?guid=0b55c030-c9be-40e8-8005-cb4aefc0441d</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      We've all seen that clever Mac <a href="http://images.apple.com/movies/us/apple/getamac/apple-getamac-security_480x376.mov">commerical</a> that
      takes a jab at Vista's UAC feature. I admit I laughed a bit, but I have to say, for
      the most part I like the UAC feature. Why wouldn't you want to know when an application
      is attempting to execute with elevate privilege?
   </p>
        <p>
      With that said, I live 8+ hours a day in Visual Studio 2005 and SQL Server 2005 Management
      Studio. To run correctly I've set both of these apps to run as administrator. I'll
      be the first to say, that every now and then I get annoyed when I get promptied to
      allow these application to run as administrator when I've already specified that they
      should. I was content to accpet this until I read Tim Sneath <a href="http://blogs.msdn.com/tims/archive/2006/09/20/windows-vista-secret-4-disabling-uac.aspx">post</a> on
      disable UAC in Vista. The nice thing about his solution is that it doesn't really
      disable UAC, it just allows the applications you've set to "run as administrator"
      to actually run without the elevation prompt.
   </p>
        <p>
      Just a handy tip.
   </p>
        <p>
      ag
   </p>
        <img width="0" height="0" src="http://blogs.rbaconsulting.com/agrocholski/aggbug.ashx?id=0b55c030-c9be-40e8-8005-cb4aefc0441d" />
      </body>
      <title>Disabling UAC in Vista...but not really</title>
      <guid>http://blogs.rbaconsulting.com/agrocholski/PermaLink,guid,0b55c030-c9be-40e8-8005-cb4aefc0441d.aspx</guid>
      <link>http://blogs.rbaconsulting.com/agrocholski/PermaLink,guid,0b55c030-c9be-40e8-8005-cb4aefc0441d.aspx</link>
      <pubDate>Thu, 12 Apr 2007 13:10:27 GMT</pubDate>
      <description>&lt;p&gt;
   We've all seen that clever Mac &lt;a href="http://images.apple.com/movies/us/apple/getamac/apple-getamac-security_480x376.mov"&gt;commerical&lt;/a&gt; that
   takes a jab at Vista's UAC feature. I admit I laughed a bit, but I have to say, for
   the most part I like the UAC feature. Why wouldn't you want to know when an application
   is attempting to execute with elevate privilege?
&lt;/p&gt;
&lt;p&gt;
   With that said, I live 8+ hours a day in Visual Studio 2005 and SQL Server 2005 Management
   Studio. To run correctly I've set both of these apps to run as administrator. I'll
   be the first to say, that every now and then I get annoyed when I get promptied to
   allow these application to run as administrator when I've already specified that they
   should. I was content to accpet this until I read Tim Sneath &lt;a href="http://blogs.msdn.com/tims/archive/2006/09/20/windows-vista-secret-4-disabling-uac.aspx"&gt;post&lt;/a&gt;&amp;nbsp;on
   disable UAC in Vista. The nice thing about his solution is that it doesn't really
   disable UAC, it just allows the applications you've set to "run as administrator"
   to actually run without the elevation prompt.
&lt;/p&gt;
&lt;p&gt;
   Just a handy tip.
&lt;/p&gt;
&lt;p&gt;
   ag
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.rbaconsulting.com/agrocholski/aggbug.ashx?id=0b55c030-c9be-40e8-8005-cb4aefc0441d" /&gt;</description>
      <comments>http://blogs.rbaconsulting.com/agrocholski/CommentView,guid,0b55c030-c9be-40e8-8005-cb4aefc0441d.aspx</comments>
      <category>Vista</category>
    </item>
    <item>
      <trackback:ping>http://blogs.rbaconsulting.com/agrocholski/Trackback.aspx?guid=6e2c3a3d-25c1-4d82-a8ed-506f4f2a06b4</trackback:ping>
      <pingback:server>http://blogs.rbaconsulting.com/agrocholski/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.rbaconsulting.com/agrocholski/PermaLink,guid,6e2c3a3d-25c1-4d82-a8ed-506f4f2a06b4.aspx</pingback:target>
      <dc:creator>adam.grocholski@rbaconsulting.com (Adam Grocholski)</dc:creator>
      <wfw:comment>http://blogs.rbaconsulting.com/agrocholski/CommentView,guid,6e2c3a3d-25c1-4d82-a8ed-506f4f2a06b4.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.rbaconsulting.com/agrocholski/SyndicationService.asmx/GetEntryCommentsRss?guid=6e2c3a3d-25c1-4d82-a8ed-506f4f2a06b4</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Lately I've been rereading <a href="http://www.stevemcconnell.com/">Steve McConnell's</a> classic <a href="http://www.amazon.com/Code-Complete-Second-Steve-McConnell/dp/0735619670/sr=8-1/qid=1172504247/ref=pd_bbs_sr_1/105-2685328-1166844?ie=UTF8&amp;s=books">"Code
      Complete"</a>. A great book and I recommend it for all. Coincidentally he was also
      on <a href="http://www.dotnetrocks.com">.NET Rocks</a> this past week discussing
      his books. He gave a quote by Stan-Kelly Bootle that I think is great and worth repeating:
   </p>
        <p>
          <em>
            <strong>your program</strong> n. A maze of non sequiturs littered with clever-clever
      tricks and irrelevant comments. Compare MY PROGRAM.</em>
        </p>
        <p>
          <em>
            <strong>my program</strong> n. A gem of algoristic precision, offering the most
      sublime balance between compact, efficient coding on the one hand and fully commented
      legibility for posterity on the other. Compare YOUR PROGRAM.</em>
        </p>
        <p>
      So the next time you're writing some code, try keeping this in mind and see what happens.
   </p>
        <p>
      ag
   </p>
        <img width="0" height="0" src="http://blogs.rbaconsulting.com/agrocholski/aggbug.ashx?id=6e2c3a3d-25c1-4d82-a8ed-506f4f2a06b4" />
      </body>
      <title>Write Programs for People First, Computers Second...</title>
      <guid>http://blogs.rbaconsulting.com/agrocholski/PermaLink,guid,6e2c3a3d-25c1-4d82-a8ed-506f4f2a06b4.aspx</guid>
      <link>http://blogs.rbaconsulting.com/agrocholski/PermaLink,guid,6e2c3a3d-25c1-4d82-a8ed-506f4f2a06b4.aspx</link>
      <pubDate>Mon, 26 Feb 2007 15:42:09 GMT</pubDate>
      <description>&lt;p&gt;
   Lately I've been rereading &lt;a href="http://www.stevemcconnell.com/"&gt;Steve McConnell's&lt;/a&gt; classic &lt;a href="http://www.amazon.com/Code-Complete-Second-Steve-McConnell/dp/0735619670/sr=8-1/qid=1172504247/ref=pd_bbs_sr_1/105-2685328-1166844?ie=UTF8&amp;amp;s=books"&gt;"Code
   Complete"&lt;/a&gt;. A great book and I recommend it for all. Coincidentally he was also
   on &lt;a href="http://www.dotnetrocks.com"&gt;.NET Rocks&lt;/a&gt;&amp;nbsp;this past week discussing
   his books. He gave a quote by Stan-Kelly Bootle that I think is great and worth repeating:
&lt;/p&gt;
&lt;p&gt;
   &lt;em&gt;&lt;strong&gt;your program&lt;/strong&gt; n. A maze of non sequiturs littered with clever-clever
   tricks and irrelevant comments. Compare MY PROGRAM.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;em&gt;&lt;strong&gt;my program&lt;/strong&gt; n. A gem of algoristic precision, offering the most
   sublime balance between compact, efficient coding on the one hand and fully commented
   legibility for posterity on the other. Compare YOUR PROGRAM.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
   So the next time you're writing some code, try keeping this in mind and see what happens.
&lt;/p&gt;
&lt;p&gt;
   ag
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.rbaconsulting.com/agrocholski/aggbug.ashx?id=6e2c3a3d-25c1-4d82-a8ed-506f4f2a06b4" /&gt;</description>
      <comments>http://blogs.rbaconsulting.com/agrocholski/CommentView,guid,6e2c3a3d-25c1-4d82-a8ed-506f4f2a06b4.aspx</comments>
      <category>.NET Development</category>
    </item>
    <item>
      <trackback:ping>http://blogs.rbaconsulting.com/agrocholski/Trackback.aspx?guid=d5b577b9-120f-43f7-b0f3-2adc80f393f5</trackback:ping>
      <pingback:server>http://blogs.rbaconsulting.com/agrocholski/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.rbaconsulting.com/agrocholski/PermaLink,guid,d5b577b9-120f-43f7-b0f3-2adc80f393f5.aspx</pingback:target>
      <dc:creator>adam.grocholski@rbaconsulting.com (Adam Grocholski)</dc:creator>
      <wfw:comment>http://blogs.rbaconsulting.com/agrocholski/CommentView,guid,d5b577b9-120f-43f7-b0f3-2adc80f393f5.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.rbaconsulting.com/agrocholski/SyndicationService.asmx/GetEntryCommentsRss?guid=d5b577b9-120f-43f7-b0f3-2adc80f393f5</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Service Pack 2 for all editions of SQL Server 2005 was released on Monday. Unfortunately
      for us .NET developers, the Visual Studio Bootstrapper we were hoping would ship with
      the release did not. Mike on the SQL Server Express team is working on it and hopes
      to release it by mid March. You can read more on his work <a href="http://blogs.msdn.com/sqlexpress">here</a>.
   </p>
        <p>
      I'm not a patient guy so I decided to create my own. (After all, shouldn't I, since
      I've been raving about the bootstrapper as of late?)
   </p>
        <p>
      Here's what it does:<br />
      1. Check if SQL Express is installed<br />
      2. If SQL Express is not installed, it install SQL Express SP2<br />
      3. If SQL Express RTM is installed, it upgrades RTM to SP2<br />
      4. If SQL Express SP1 is installed, it upgrades SP1 to SP2<br />
      5. If SP2 or later is installed, it does nothing
   </p>
        <p>
      These checks are performed by my SqlExpressSP2 application. All these does is read
      the CurrentVersion value of the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL
      Server\SQLEXPRESS\MSSQLServer\CurrentVersion registry key.
   </p>
        <p>
      I tested the boostrapper on installs on Windows XP SP2 and Windows Vista business.
      The installs worked without problem. I created an installer for the bootstrapper,
      but it's file size was over 55Mb, a little to big to dump on the blog. So, if you
      want a the bootstrapper you'll need to create it yourself via the following steps:
   </p>
        <p>
      1. Create the following directory: [drive]:\[program files]\Microsoft Visual Studio
      8\SDK\v2.0\BootStrapper\Packages\SqlExpressSP2.
   </p>
        <p>
      2. Copy these files to the folder created in step 1 above:<br />
           2.1. <a href="http://blogs.rbaconsulting.com/agrocholski/content/binary/product.xml">product.xml
      (.55 KB)</a></p>
        <p>
           2.2. <a href="http://blogs.rbaconsulting.com/agrocholski/content/binary/SqlExpressSP2Chk.exe">SqlExpressSP2Chk.exe
      (16 KB)</a></p>
        <p>
      3. Download SQL Server 2005 Express Edition Service Pack 2 from the download <a href="http://msdn.microsoft.com/vstudio/express/sql/download/">page</a></p>
        <p>
      4. Create the following directory Create the following directory: [drive]:\[program
      files]\Microsoft Visual Studio 8
   </p>
        <p>
      \SDK\v2.0\BootStrapper\Packages\SqlExpressSP2\en.
   </p>
        <p>
      5. Copy the following files to the the direction created in step 4 above:<br />
           5.1. SQLEXPR32.EXE (downloaded in step 3 above)
   </p>
        <p>
           5.2. <a href="http://blogs.rbaconsulting.com/agrocholski/content/binary/package.xml">package.xml
      (9.61 KB)</a></p>
        <p>
           5.3. <a href="http://blogs.rbaconsulting.com/agrocholski/content/binary/eula.txt">eula.txt
      (8.03 KB)</a></p>
        <p>
      To use the bootstrapper follow the steps:
   </p>
        <p>
      1. Fire up Visual Studio 2005.
   </p>
        <p>
      2. Create a Setup and Deployment project.
   </p>
        <p>
      3. Go to the Projects menu and click Properties.
   </p>
        <p>
      4. Click the Prerequisities button.
   </p>
        <p>
      5. You should see an entry in the prerequisites list for SQL Server Express Edition
      SP2.
   </p>
        <p>
      6. Select the prerequisite(s) you want and select the "Download prerequisites from
      the same locations as my application" option.
   </p>
        <p>
      7. Click OK.
   </p>
        <p>
      8. Click Apply and OK.
   </p>
        <p>
      9. Build you Setup and Deployment project.
   </p>
        <p>
      10. SQL Server Express 2005 SP2 will now be deployed with your application.
   </p>
        <p>
      Hope this helps.
   </p>
        <p>
      ag
   </p>
        <img width="0" height="0" src="http://blogs.rbaconsulting.com/agrocholski/aggbug.ashx?id=d5b577b9-120f-43f7-b0f3-2adc80f393f5" />
      </body>
      <title>Bootstrapper for SQL Server 2005 Express Edition Service Pack 2</title>
      <guid>http://blogs.rbaconsulting.com/agrocholski/PermaLink,guid,d5b577b9-120f-43f7-b0f3-2adc80f393f5.aspx</guid>
      <link>http://blogs.rbaconsulting.com/agrocholski/PermaLink,guid,d5b577b9-120f-43f7-b0f3-2adc80f393f5.aspx</link>
      <pubDate>Fri, 23 Feb 2007 13:19:01 GMT</pubDate>
      <description>&lt;p&gt;
   Service Pack 2 for all editions of SQL Server 2005 was released on Monday. Unfortunately
   for us .NET developers, the Visual Studio Bootstrapper we were hoping would ship with
   the release did not. Mike on the SQL Server Express team is working on it and hopes
   to release it by mid March. You can read more on his work &lt;a href="http://blogs.msdn.com/sqlexpress"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
   I'm not a patient guy so I decided to create my own. (After all, shouldn't I, since
   I've been raving about the bootstrapper as of late?)
&lt;/p&gt;
&lt;p&gt;
   Here's what it does:&lt;br&gt;
   1. Check if SQL Express is installed&lt;br&gt;
   2. If SQL Express is not installed, it install SQL Express SP2&lt;br&gt;
   3. If SQL Express RTM is installed, it upgrades RTM to SP2&lt;br&gt;
   4. If SQL Express SP1 is installed, it upgrades SP1 to SP2&lt;br&gt;
   5. If SP2 or later is installed, it does nothing
&lt;/p&gt;
&lt;p&gt;
   These checks are performed by my SqlExpressSP2 application. All these does is read
   the CurrentVersion value of the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL
   Server\SQLEXPRESS\MSSQLServer\CurrentVersion registry key.
&lt;/p&gt;
&lt;p&gt;
   I tested the boostrapper on installs on Windows XP SP2 and Windows Vista business.
   The installs worked without problem. I created an installer for the bootstrapper,
   but it's file size was over 55Mb, a little to big to dump on the blog. So, if you
   want a the bootstrapper you'll need to create it yourself via the following steps:
&lt;/p&gt;
&lt;p&gt;
   1. Create the following directory: [drive]:\[program files]\Microsoft Visual Studio
   8\SDK\v2.0\BootStrapper\Packages\SqlExpressSP2.
&lt;/p&gt;
&lt;p&gt;
   2. Copy these files to the folder created in step 1 above:&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.1. &lt;a href="http://blogs.rbaconsulting.com/agrocholski/content/binary/product.xml"&gt;product.xml
   (.55 KB)&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.2. &lt;a href="http://blogs.rbaconsulting.com/agrocholski/content/binary/SqlExpressSP2Chk.exe"&gt;SqlExpressSP2Chk.exe
   (16 KB)&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
   3. Download SQL Server 2005 Express Edition Service Pack 2 from the download &lt;a href="http://msdn.microsoft.com/vstudio/express/sql/download/"&gt;page&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
   4. Create the following directory Create the following directory: [drive]:\[program
   files]\Microsoft Visual Studio 8
&lt;/p&gt;
&lt;p&gt;
   \SDK\v2.0\BootStrapper\Packages\SqlExpressSP2\en.
&lt;/p&gt;
&lt;p&gt;
   5. Copy the following files to the the direction created in step 4 above:&lt;br&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5.1. SQLEXPR32.EXE (downloaded in step 3 above)
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5.2. &lt;a href="http://blogs.rbaconsulting.com/agrocholski/content/binary/package.xml"&gt;package.xml
   (9.61 KB)&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5.3. &lt;a href="http://blogs.rbaconsulting.com/agrocholski/content/binary/eula.txt"&gt;eula.txt
   (8.03 KB)&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
   To use the bootstrapper follow the steps:
&lt;/p&gt;
&lt;p&gt;
   1. Fire up Visual Studio 2005.
&lt;/p&gt;
&lt;p&gt;
   2. Create a Setup and Deployment project.
&lt;/p&gt;
&lt;p&gt;
   3. Go to the Projects menu and click Properties.
&lt;/p&gt;
&lt;p&gt;
   4. Click the Prerequisities button.
&lt;/p&gt;
&lt;p&gt;
   5. You should see an entry in the prerequisites list for SQL Server Express Edition
   SP2.
&lt;/p&gt;
&lt;p&gt;
   6. Select the prerequisite(s) you want and select the "Download prerequisites from
   the same locations as my application" option.
&lt;/p&gt;
&lt;p&gt;
   7. Click OK.
&lt;/p&gt;
&lt;p&gt;
   8. Click Apply and OK.
&lt;/p&gt;
&lt;p&gt;
   9. Build you Setup and Deployment project.
&lt;/p&gt;
&lt;p&gt;
   10. SQL Server Express 2005 SP2 will now be deployed with your application.
&lt;/p&gt;
&lt;p&gt;
   Hope this helps.
&lt;/p&gt;
&lt;p&gt;
   ag
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.rbaconsulting.com/agrocholski/aggbug.ashx?id=d5b577b9-120f-43f7-b0f3-2adc80f393f5" /&gt;</description>
      <comments>http://blogs.rbaconsulting.com/agrocholski/CommentView,guid,d5b577b9-120f-43f7-b0f3-2adc80f393f5.aspx</comments>
      <category>.NET Development;Tools</category>
    </item>
    <item>
      <trackback:ping>http://blogs.rbaconsulting.com/agrocholski/Trackback.aspx?guid=d4551351-b6a4-4b5d-b60c-7224102b63f2</trackback:ping>
      <pingback:server>http://blogs.rbaconsulting.com/agrocholski/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.rbaconsulting.com/agrocholski/PermaLink,guid,d4551351-b6a4-4b5d-b60c-7224102b63f2.aspx</pingback:target>
      <dc:creator>adam.grocholski@rbaconsulting.com (Adam Grocholski)</dc:creator>
      <wfw:comment>http://blogs.rbaconsulting.com/agrocholski/CommentView,guid,d4551351-b6a4-4b5d-b60c-7224102b63f2.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.rbaconsulting.com/agrocholski/SyndicationService.asmx/GetEntryCommentsRss?guid=d4551351-b6a4-4b5d-b60c-7224102b63f2</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      In order to verify the integrity of a package file the Visual Studio Bootstrapper
      keeps track of either a Hash or PublicKey value.  These are indicated by attributes
      in the Bootstrapper package manifest. However, what if you don't know the Hash or
      PublicKey value? I ran into this situation recently when creating a Bootstrapper for
      a third part application I needed to include with my application. To resolve the issue
      I created a couple of utilities that will determine the Hash and PublicKey of a given
      file (if signed). I then put these values into the bootstrapper's package.xml file
      and everything worked as expected.
   </p>
        <p>
      Here's the file containing the utilities: <a href="http://blogs.rbaconsulting.com/agrocholski/content/binary/blogs.rba.agrocholski.20070213.001.file.001.zip">blogs.rba.agrocholski.20070213.001.file.001.zip
      (75.71 KB)</a></p>
        <p>
      ag
   </p>
        <img width="0" height="0" src="http://blogs.rbaconsulting.com/agrocholski/aggbug.ashx?id=d4551351-b6a4-4b5d-b60c-7224102b63f2" />
      </body>
      <title>Handy File Verification Tools for the Visual Studio Bootstrapper</title>
      <guid>http://blogs.rbaconsulting.com/agrocholski/PermaLink,guid,d4551351-b6a4-4b5d-b60c-7224102b63f2.aspx</guid>
      <link>http://blogs.rbaconsulting.com/agrocholski/PermaLink,guid,d4551351-b6a4-4b5d-b60c-7224102b63f2.aspx</link>
      <pubDate>Tue, 13 Feb 2007 18:17:15 GMT</pubDate>
      <description>&lt;p&gt;
   In order to verify the integrity of a package file the Visual Studio Bootstrapper
   keeps track of either a Hash or PublicKey value.&amp;nbsp; These are indicated by attributes
   in the Bootstrapper package manifest. However, what if you don't know the Hash or
   PublicKey value? I ran into this situation recently when creating a Bootstrapper for
   a third part application I needed to include with my application. To resolve the issue
   I created a couple of utilities that will determine the Hash and PublicKey of a given
   file (if signed). I then put these values into the bootstrapper's package.xml file
   and everything worked as expected.
&lt;/p&gt;
&lt;p&gt;
   Here's the file containing the utilities: &lt;a href="http://blogs.rbaconsulting.com/agrocholski/content/binary/blogs.rba.agrocholski.20070213.001.file.001.zip"&gt;blogs.rba.agrocholski.20070213.001.file.001.zip
   (75.71 KB)&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
   ag
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.rbaconsulting.com/agrocholski/aggbug.ashx?id=d4551351-b6a4-4b5d-b60c-7224102b63f2" /&gt;</description>
      <comments>http://blogs.rbaconsulting.com/agrocholski/CommentView,guid,d4551351-b6a4-4b5d-b60c-7224102b63f2.aspx</comments>
      <category>.NET Development;Tools</category>
    </item>
    <item>
      <trackback:ping>http://blogs.rbaconsulting.com/agrocholski/Trackback.aspx?guid=dd8e02a9-2394-40bf-9080-4e55d239e642</trackback:ping>
      <pingback:server>http://blogs.rbaconsulting.com/agrocholski/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.rbaconsulting.com/agrocholski/PermaLink,guid,dd8e02a9-2394-40bf-9080-4e55d239e642.aspx</pingback:target>
      <dc:creator>adam.grocholski@rbaconsulting.com (Adam Grocholski)</dc:creator>
      <wfw:comment>http://blogs.rbaconsulting.com/agrocholski/CommentView,guid,dd8e02a9-2394-40bf-9080-4e55d239e642.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.rbaconsulting.com/agrocholski/SyndicationService.asmx/GetEntryCommentsRss?guid=dd8e02a9-2394-40bf-9080-4e55d239e642</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      One of my favorite features in Visual Studio 2005 is the new Bootstrapper functionality.
      You can get an overview of it <a href="http://msdn.microsoft.com/msdnmag/issues/04/10/Bootstrapper/">here</a>.
      In short, it replaces the merge modules of old. It allows you to make your application
      a prerequisite that you can then bundle with other applications.
   </p>
        <p>
      When you dig into it, you'll see that it's essentially based on a couple of xml configuration
      files (package.xml and product xml). These configuration files allow you to specify
      which files to include in te bootstrapper, any prerequisites required by your application,
      and and any install checks (i.e. registry key evaluation) that needs to be performed
      during install.
   </p>
        <p>
      Managing these config files isn't the easy of things as their schemas aren't well
      documented. However, David Guyer has created a tool that can help you modify and created
      these xml files. You can get the tool <a href="http://www.davidguyer.us/BMG/publish.htm">here</a>.
      One word about the tool, I've usually had to tweak the files generated by this tool
      to get everything to work properly.
   </p>
        <p>
      So, you may be asking yourself "Why would I really want to use this?" Well, I can
      name two instances off hand were it's come in handy for me.
   </p>
        <p>
      1. I needed to install a named instance of Sql Server Express with network connectivity
      enabled. To do this, I tweaked the package.xml and product.xml files for the SQL Server
      2005 Express Edition bootstrapper that comes with Visual Studio.
   </p>
        <p>
      2. I needed to install Sql Server Express SP1. This required the creation of a custom
      bootstrapper from scratch. This wasn't to hard but I also had to create an application
      that would determine if Sql Server Express was installed, and if it was install which
      version. If Sql Server Express was not installed or Sql Server Express RTM was installed
      SP1 would then be installed. If not, the installation is bypassed.
   </p>
        <p>
      There are a number of other uses for this unheralded feature. Take a look at it when
      you have the time.
   </p>
        <p>
      ag
   </p>
        <img width="0" height="0" src="http://blogs.rbaconsulting.com/agrocholski/aggbug.ashx?id=dd8e02a9-2394-40bf-9080-4e55d239e642" />
      </body>
      <title>Pull yourself up by the bootstrapper...</title>
      <guid>http://blogs.rbaconsulting.com/agrocholski/PermaLink,guid,dd8e02a9-2394-40bf-9080-4e55d239e642.aspx</guid>
      <link>http://blogs.rbaconsulting.com/agrocholski/PermaLink,guid,dd8e02a9-2394-40bf-9080-4e55d239e642.aspx</link>
      <pubDate>Fri, 09 Feb 2007 03:53:44 GMT</pubDate>
      <description>&lt;p&gt;
   One of my favorite features in Visual Studio 2005 is the new Bootstrapper functionality.
   You can get an overview of it &lt;a href="http://msdn.microsoft.com/msdnmag/issues/04/10/Bootstrapper/"&gt;here&lt;/a&gt;.
   In short, it replaces the merge modules of old. It allows you to make your application
   a prerequisite that you can then bundle with other applications.
&lt;/p&gt;
&lt;p&gt;
   When you dig into it, you'll see that it's essentially based on a couple of xml configuration
   files (package.xml and product xml). These configuration files allow you to specify
   which files to include in te bootstrapper, any prerequisites required by your application,
   and and any install checks (i.e. registry key evaluation) that needs to be performed
   during install.
&lt;/p&gt;
&lt;p&gt;
   Managing these config files isn't the easy of things as their schemas aren't well
   documented. However, David Guyer has created a tool that can help you modify and created
   these xml files. You can get the tool &lt;a href="http://www.davidguyer.us/BMG/publish.htm"&gt;here&lt;/a&gt;.
   One word about the tool, I've usually had to tweak the files generated by this tool
   to get everything to work properly.
&lt;/p&gt;
&lt;p&gt;
   So, you may be asking yourself "Why would I really want to use this?" Well, I can
   name two instances off hand were it's come in handy for me.
&lt;/p&gt;
&lt;p&gt;
   1. I needed to install a named instance of Sql Server Express with network connectivity
   enabled. To do this, I tweaked the package.xml and product.xml files for the SQL Server
   2005 Express Edition bootstrapper that comes with Visual Studio.
&lt;/p&gt;
&lt;p&gt;
   2. I needed to install Sql Server Express SP1. This required the creation of a custom
   bootstrapper from scratch. This wasn't to hard but I also had to create an application
   that would determine if Sql Server Express was installed, and if it was install which
   version. If Sql Server Express was not installed or Sql Server Express RTM was installed
   SP1 would then be installed. If not, the installation is bypassed.
&lt;/p&gt;
&lt;p&gt;
   There are a number of other uses for this unheralded feature. Take a look at it when
   you have the time.
&lt;/p&gt;
&lt;p&gt;
   ag
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.rbaconsulting.com/agrocholski/aggbug.ashx?id=dd8e02a9-2394-40bf-9080-4e55d239e642" /&gt;</description>
      <comments>http://blogs.rbaconsulting.com/agrocholski/CommentView,guid,dd8e02a9-2394-40bf-9080-4e55d239e642.aspx</comments>
      <category>.NET Development;Tools</category>
    </item>
    <item>
      <trackback:ping>http://blogs.rbaconsulting.com/agrocholski/Trackback.aspx?guid=990d2828-cf6f-49ba-ae5d-71aa1311de22</trackback:ping>
      <pingback:server>http://blogs.rbaconsulting.com/agrocholski/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.rbaconsulting.com/agrocholski/PermaLink,guid,990d2828-cf6f-49ba-ae5d-71aa1311de22.aspx</pingback:target>
      <dc:creator>adam.grocholski@rbaconsulting.com (Adam Grocholski)</dc:creator>
      <wfw:comment>http://blogs.rbaconsulting.com/agrocholski/CommentView,guid,990d2828-cf6f-49ba-ae5d-71aa1311de22.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.rbaconsulting.com/agrocholski/SyndicationService.asmx/GetEntryCommentsRss?guid=990d2828-cf6f-49ba-ae5d-71aa1311de22</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      A while back Mike posted a <a href="http://blogs.rbaconsulting.com/mjones/PermaLink,guid,9a544af2-42cf-4d9d-92aa-c391875727c4.aspx">link</a> to
      all the various keyboard shortcuts in visual studio. Rob Caron recently posted some
      nice <a href="http://blogs.msdn.com/robcaron/archive/2007/01/29/1552795.aspx">artwork</a> that
      includes some of the shortcuts. While it doesn't have everything, it can come in pretty
      handy (ok - bad pun).
   </p>
        <p>
      ag
   </p>
        <img width="0" height="0" src="http://blogs.rbaconsulting.com/agrocholski/aggbug.ashx?id=990d2828-cf6f-49ba-ae5d-71aa1311de22" />
      </body>
      <title>Visual Studio Keybindings</title>
      <guid>http://blogs.rbaconsulting.com/agrocholski/PermaLink,guid,990d2828-cf6f-49ba-ae5d-71aa1311de22.aspx</guid>
      <link>http://blogs.rbaconsulting.com/agrocholski/PermaLink,guid,990d2828-cf6f-49ba-ae5d-71aa1311de22.aspx</link>
      <pubDate>Wed, 31 Jan 2007 14:00:36 GMT</pubDate>
      <description>&lt;p&gt;
   A while back Mike posted a &lt;a href="http://blogs.rbaconsulting.com/mjones/PermaLink,guid,9a544af2-42cf-4d9d-92aa-c391875727c4.aspx"&gt;link&lt;/a&gt; to
   all the various keyboard shortcuts in visual studio. Rob Caron recently posted some
   nice &lt;a href="http://blogs.msdn.com/robcaron/archive/2007/01/29/1552795.aspx"&gt;artwork&lt;/a&gt; that
   includes some of the shortcuts. While it doesn't have everything, it can come in pretty
   handy (ok - bad pun).
&lt;/p&gt;
&lt;p&gt;
   ag
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.rbaconsulting.com/agrocholski/aggbug.ashx?id=990d2828-cf6f-49ba-ae5d-71aa1311de22" /&gt;</description>
      <comments>http://blogs.rbaconsulting.com/agrocholski/CommentView,guid,990d2828-cf6f-49ba-ae5d-71aa1311de22.aspx</comments>
      <category>.NET Development</category>
    </item>
    <item>
      <trackback:ping>http://blogs.rbaconsulting.com/agrocholski/Trackback.aspx?guid=418bfaa9-6c0e-406a-998e-ab08e187ddf1</trackback:ping>
      <pingback:server>http://blogs.rbaconsulting.com/agrocholski/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.rbaconsulting.com/agrocholski/PermaLink,guid,418bfaa9-6c0e-406a-998e-ab08e187ddf1.aspx</pingback:target>
      <dc:creator>adam.grocholski@rbaconsulting.com (Adam Grocholski)</dc:creator>
      <wfw:comment>http://blogs.rbaconsulting.com/agrocholski/CommentView,guid,418bfaa9-6c0e-406a-998e-ab08e187ddf1.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.rbaconsulting.com/agrocholski/SyndicationService.asmx/GetEntryCommentsRss?guid=418bfaa9-6c0e-406a-998e-ab08e187ddf1</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      We agree, I hope, that test driven development is one of the founding pillars of solid
      software construction. However, have you ever been on a project that contained so
      many dependencies that you found yourself writing more configuration and tear down
      code than actual unit tests?
   </p>
        <p>
      For example, a typical scenario these days has a database, a web app, some web service,
      and a windows app. The web app updates the database and the client app calls the web
      service to pull down data. However, how do you adequately test the client code that
      calls the web service. Do you write a bunch configuration code to have the web app
      insert data? But what if the data already exists? You'll need to write more configuration
      code to clean out the database. Ok, maybe you could write a couple of lines to drop
      the database and attach an .mdf file. Or...
   </p>
        <p>
      Wait a minute, is this really unit testing? No, it's integration testing. All you
      want to do is test the client code that calls the web service. You don't care what
      the web service does. Enter mock objects. By using mock objects you can eliminate
      the dependencies by mocking them. Essentially what you do is interecept calls to the
      real objects and substitute mock objects in their place. This gives you the power
      to control what gets returned from your calls and allows  you to actually test
      your objects without having to worry about dependencies.
   </p>
        <p>
      I've used a number of mock objects over the past year or so, including <a href="http://sourceforge.net/projects/easymocknet/">EasyMock.NET</a>, <a href="http://www.ayende.com/projects/rhino-mocks/downloads.aspx">Rhino
      Mocks</a> , <a href="http://www.typemock.com/">TypeMock</a>, and  <a href="http://nmock.org/">NMock</a>.
      Of these NMock has been my favorite. Unlike the mock object frameworks in order to
      mock an object with NMock you must define an interface that the object implements.
      A little more work, but this a good practice anyway. Best of all NMock is free.
   </p>
        <p>
      So, if you want to make implementing test driven development easier try mocking something
      (just not me).
   </p>
        <p>
      ag
   </p>
        <img width="0" height="0" src="http://blogs.rbaconsulting.com/agrocholski/aggbug.ashx?id=418bfaa9-6c0e-406a-998e-ab08e187ddf1" />
      </body>
      <title>Are you mocking me?</title>
      <guid>http://blogs.rbaconsulting.com/agrocholski/PermaLink,guid,418bfaa9-6c0e-406a-998e-ab08e187ddf1.aspx</guid>
      <link>http://blogs.rbaconsulting.com/agrocholski/PermaLink,guid,418bfaa9-6c0e-406a-998e-ab08e187ddf1.aspx</link>
      <pubDate>Thu, 25 Jan 2007 22:08:36 GMT</pubDate>
      <description>&lt;p&gt;
   We agree, I hope, that test driven development is one of the founding pillars of solid
   software construction. However, have you ever been on a project that contained so
   many dependencies that you found yourself writing more configuration and tear down
   code than actual unit tests?
&lt;/p&gt;
&lt;p&gt;
   For example, a typical scenario these days has a database, a web app, some web service,
   and a windows app. The web app updates the database and the client app calls the web
   service to pull down data. However, how do you adequately test the client code that
   calls the web service. Do you write a bunch configuration code to have the web app
   insert data? But what if the data already exists? You'll need to write more configuration
   code to clean out the database. Ok, maybe you could write a couple of lines to drop
   the database and attach an .mdf file. Or...
&lt;/p&gt;
&lt;p&gt;
   Wait a minute, is this really unit testing? No, it's integration testing. All you
   want to do is test the client code that calls the web service. You don't care what
   the web service does. Enter mock objects. By using mock objects you can eliminate
   the dependencies by mocking them. Essentially what you do is interecept calls to the
   real objects and substitute mock objects in their place. This gives you the power
   to control what gets returned from your calls and allows&amp;nbsp; you to actually test
   your objects without having to worry about dependencies.
&lt;/p&gt;
&lt;p&gt;
   I've used a number of mock objects over the past year or so, including &lt;a href="http://sourceforge.net/projects/easymocknet/"&gt;EasyMock.NET&lt;/a&gt;, &lt;a href="http://www.ayende.com/projects/rhino-mocks/downloads.aspx"&gt;Rhino
   Mocks&lt;/a&gt; , &lt;a href="http://www.typemock.com/"&gt;TypeMock&lt;/a&gt;, and &amp;nbsp;&lt;a href="http://nmock.org/"&gt;NMock&lt;/a&gt;.
   Of these NMock has been my favorite. Unlike the mock object frameworks in order to
   mock an object with NMock&amp;nbsp;you must define an interface that the object implements.
   A little more work, but this a good practice anyway. Best of all NMock is free.
&lt;/p&gt;
&lt;p&gt;
   So, if you want to make implementing test driven development easier try mocking something
   (just not me).
&lt;/p&gt;
&lt;p&gt;
   ag
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.rbaconsulting.com/agrocholski/aggbug.ashx?id=418bfaa9-6c0e-406a-998e-ab08e187ddf1" /&gt;</description>
      <comments>http://blogs.rbaconsulting.com/agrocholski/CommentView,guid,418bfaa9-6c0e-406a-998e-ab08e187ddf1.aspx</comments>
      <category>.NET Development;Tools</category>
    </item>
  </channel>
</rss>