<?xml version="1.0"?>
<!-- RSS generated by Radio UserLand v8.0.8 on Sat, 26 Mar 2005 15:17:44 GMT -->
<rss version="2.0">
	<channel>
		<title>Dave: dotNetDave</title>
		<link>http://radio.weblogs.com/0105124/categories/dotnetdave/</link>
		<description>dotNetDave Blog</description>
		<language>en-us</language>
		<copyright>Copyright 2005 Dave</copyright>
		<lastBuildDate>Sat, 26 Mar 2005 15:17:44 GMT</lastBuildDate>
		<docs>http://backend.userland.com/rss</docs>
		<generator>Radio UserLand v8.0.8</generator>
		<managingEditor>sddavem@san.rr.com</managingEditor>
		<webMaster>sddavem@san.rr.com</webMaster>
		<category domain="http://www.weblogs.com/rssUpdates/changes.xml">rssUpdates</category> 
		<skipHours>
			<hour>0</hour>
			<hour>1</hour>
			<hour>2</hour>
			<hour>3</hour>
			<hour>4</hour>
			<hour>5</hour>
			<hour>22</hour>
			<hour>23</hour>
			</skipHours>
		<cloud domain="radio.xmlstoragesystem.com" port="80" path="/RPC2" registerProcedure="xmlStorageSystem.rssPleaseNotify" protocol="xml-rpc"/>
		<ttl>60</ttl>
		<item>
			<title>New Blog Location!</title>
			<link>http://radio.weblogs.com/0105124/categories/dotnetdave/2005/03/26.html#a153</link>
			<description>&lt;P&gt;I am moving my blog to a new URL. Please go to the following location from now on:&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://blog.davidmccarter.net&quot;&gt;&lt;a href=&quot;http://blog.davidmccarter.net&quot;&gt;http://blog.davidmccarter.net&lt;/a&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Thanks!&lt;BR&gt;David McCarter&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0105124/categories/dotnetdave/2005/03/26.html#a153</guid>
			<pubDate>Sat, 26 Mar 2005 15:17:40 GMT</pubDate>
			</item>
		<item>
			<title>Learn VB.NET from dotNetDave</title>
			<link>http://radio.weblogs.com/0105124/categories/dotnetdave/2005/03/02.html#a152</link>
			<description>&lt;IMG src=&quot;http://vsdntips.com/dotdetdave-head-50.jpg&quot; align=right&gt;If you live in the San Diego area, dotNetDave (a.k.a. David McCarter) will be teaching a 6 week VB.NET course at the University of California, San Diego Extension beginning on Thursday March 31st from 5:30pm to 9:30pm. For more information and to enroll, please &lt;A href=&quot;http://www.extension.ucsd.edu/Schedule/index.cfm?vAction=singleCourse&amp;amp;vCourse=CSE-40615&quot; target=_blank&gt;click here&lt;/A&gt;. &lt;BR clear=all&gt;</description>
			<guid>http://radio.weblogs.com/0105124/categories/dotnetdave/2005/03/02.html#a152</guid>
			<pubDate>Thu, 03 Mar 2005 01:56:22 GMT</pubDate>
			</item>
		<item>
			<title>Security Configuration Wizard in Windows Server 2003 Service Pack 1 </title>
			<link>http://www.computerworld.com/softwaretopics/os/windows/story/0,10801,99418,00.html?source=x13</link>
			<description>&lt;P class=ngpostlinks&gt;Microsoft has developed an almost ideal tool to help you configure security on computers in your organization. The tool is the Security Configuration Wizard, which is available in Windows Server 2003 Service Pack 1. The tool can help you configure services, network security, auditing, registry settings, and more. The wizard accomplishes these goals by producing security policies, which can be used in conjunction with security templates and specific server roles. &lt;/P&gt;
&lt;P class=ngpostlinks&gt;&lt;A href=&quot;http://www.computerworld.com/softwaretopics/os/windows/story/0,10801,99418,00.html?source=x13&quot;&gt;Click here&lt;/A&gt; for the complete article.&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0105124/categories/dotnetdave/2005/02/08.html#a151</guid>
			<pubDate>Tue, 08 Feb 2005 15:48:37 GMT</pubDate>
			</item>
		<item>
			<title>.NET Chosen for POS System!</title>
			<link>http://www.microsoft.com/emea/pressCentre/PressRelease.aspx?file=wincorPR_250105.xml</link>
			<description>Paderborn, Germany&amp;nbsp;- 25 Jan 2005&amp;nbsp;- The joint value proposition between Microsoft and Wincor Nixdorf, focusing on Microsoft&apos;s Smarter Retailing Initiative (SRI), has resulted in more than 15 major retailers, including Axfood, ICA, Metro Cash &amp;amp; Carry and Superdrug ordering a total of over 60,000 licences of BEETLE point-of-sale (POS) systems that use the Microsoft&amp;#174; Windows&amp;#174; XP Embedded operating system. The decision to invest in new technology for the store and back office illustrates the growing view among European retailers that their existing POS solutions, many of which are between seven and 10 years old, are not able to perform the tasks that smart retailers deem essential, such as providing an enhanced consumer shopping experience. Included among the benefits that retailers using Microsoft XP Embedded enjoy are enhanced performance at the checkout, with significant improvements in transaction times, and the opportunity to offer a consistent level of service, whether a customer is shopping in the store or online. &quot;The debate around which new point-of-sale system to select is shifting from being simply around the selection of a till device to tackling the much broader question of how to implement the best point-of-service offering,&quot; said Dilip Popat, managing director, Retail Industry Solutions Unit for Microsoft Europe, Middle East and Africa (EMEA). &quot;Retailers are being driven to upgrade their systems to take advantage of new technology that can provide better customer service, with lower total cost of ownership.&quot; To this end, Microsoft has been working closely with Wincor Nixdorf. According to Michael Schulte, head of software marketing for Wincor Nixdorf, any replacement hardware and software has to address value-added customer service scenarios and integrate multiple device formats such as self-checkouts and information kiosks, in addition to traditional checkout lanes. As a result of customer and development partner feedback, Microsoft will soon be shipping a retail-optimised software platform, Windows Embedded for Point of Service, designed for easy setup, use and management of point-of-service systems. Wincor Nixdorf has been an early and active member of the Joint Development Program for Windows Embedded for Point of Service, which will be available in the first half of 2005. &quot;We are committed to supporting Windows Embedded for Point of Service and developing solutions that deliver greater value to retailers by allowing them to take advantage of their legacy systems, while providing plug-and-play functionality for retail device peripherals, which is the single most requested feature by retailers,&quot; said Schulte. As further evidence of this commitment to delivering greater value to retailers, Wincor Nixdorf will soon deliver its Store Communication Framework, a product that will simplify the connectivity and data management issues inherent in today&amp;#146;s retailing infrastructures. Key elements of Store Communication Framework will be built upon the Microsoft .NET platform and leverage the Microsoft enterprise connectivity toolset. Wincor Nixdorf has also chosen Microsoft .NET as the platform for TP.net, its newest point-of-sale solution. &quot;This decision was taken based on four key factors: the relative simplicity of developing, maintaining and extending solutions; the speed and effectiveness with which solutions can be deployed worldwide; the low cost of developing and modifying web services-based concepts, and the strength of our relationship with Microsoft as our technology partner,&quot; said Schulte. Windows Embedded for Point of Service and the Microsoft .NET Framework are core technologies within Microsoft&apos;s Smarter Retailing Initiative, which provides an innovative, open standards-based approach that allows retailers to easily create next-generation point-of-service systems that connect the store to the consumer. These future systems will also support emerging technologies such as RFID and biometrics.</description>
			<guid>http://radio.weblogs.com/0105124/categories/dotnetdave/2005/01/25.html#a150</guid>
			<pubDate>Wed, 26 Jan 2005 01:55:44 GMT</pubDate>
			</item>
		<item>
			<title>Bringing .Net rules to light</title>
			<link>http://www.computerworld.com/softwaretopics/software/appdev/story/0,10801,97944,00.html?source=x11</link>
			<description>&lt;P&gt;Products give business people and programmers a shared language that helps them implement changes quickly. &lt;A href=&quot;http://www.computerworld.com/softwaretopics/software/appdev/story/0,10801,97944,00.html?source=x11&quot;&gt;Click here&lt;/A&gt; for the full article.&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0105124/categories/dotnetdave/2005/01/19.html#a148</guid>
			<pubDate>Thu, 20 Jan 2005 01:45:10 GMT</pubDate>
			</item>
		<item>
			<title>Oh, So Linux Does Have Problems :-)</title>
			<link>http://radio.weblogs.com/0105124/categories/dotnetdave/2005/01/16.html#a145</link>
			<description>&lt;P&gt;Linux vendors Red Hat, Novell and Mandrakesoft on Wednesday released patches for several vulnerabilities, ranging from flaws that could allow denial-of-service attacks to buffer overflows. &lt;/P&gt;
&lt;P&gt;For the complete article &lt;A href=&quot;http://news.com.com/Red+Hat%2C+SuSE+release+Linux+patches/2100-7349-5535228.html?part=dtx&amp;amp;tag=ntop&amp;amp;tag=nl.e433&quot;&gt;click here&lt;/A&gt;.&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0105124/categories/dotnetdave/2005/01/16.html#a145</guid>
			<pubDate>Sun, 16 Jan 2005 23:15:30 GMT</pubDate>
			</item>
		<item>
			<title>Microsoft .NET Is Named Best Program Development Platform</title>
			<link>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/12/17.html#a141</link>
			<description>Microsoft .NET Is Named Best Program Development Platform In Financial Industry by Waters Magazine... pretty cool huh? Here is the complete &lt;A href=&quot;http://www.microsoft.com/presspass/press/2004/dec04/12-07WatersMagBestPR.asp&quot;&gt;article&lt;/A&gt;.</description>
			<guid>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/12/17.html#a141</guid>
			<pubDate>Sat, 18 Dec 2004 00:08:54 GMT</pubDate>
			</item>
		<item>
			<title>Woolworths Deploys .Net App in J2EE</title>
			<link>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/12/02.html#a140</link>
			<description>&lt;P&gt;South Africa-based retailer Woolworths Holdings is set to deploy an upgraded application that it developed with the help of a new Mainsoft tool that converts code written using Microsoft&apos;s intermediate languages to Java byte code.&amp;nbsp;For the complete article, go to: &lt;A href=&quot;http://www.computerworld.com/printthis/2004/0,4814,96180,00.html&quot;&gt;&lt;FONT face=Arial size=2&gt;&lt;a href=&quot;http://www.computerworld.com/printthis/2004/0,4814,96180,00.html&quot;&gt;http://www.computerworld.com/printthis/2004/0,4814,96180,00.html&lt;/a&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/12/02.html#a140</guid>
			<pubDate>Fri, 03 Dec 2004 02:54:13 GMT</pubDate>
			</item>
		<item>
			<title>Microsoft open sources Web authoring application</title>
			<link>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/12/02.html#a139</link>
			<description>&lt;P&gt;Continuing its flirtation with open source, Microsoft Corp. on Monday posted the code of a little-known collaboration application to open-source development site SourceForge.net. &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;DIV&gt;[&lt;A class=ngquotelink href=&quot;http://www.infoworld.com/cgi-bin/redirect?source=rss&amp;amp;url=http://www.infoworld.com/article/04/09/28/HNmicopensource_1.html&quot;&gt;InfoWorld: Top News&lt;/A&gt;]&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;</description>
			<guid>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/12/02.html#a139</guid>
			<pubDate>Fri, 03 Dec 2004 02:53:26 GMT</pubDate>
			</item>
		<item>
			<title>Reported Security Vulnerability in ASP.NET</title>
			<link>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/12/02.html#a138</link>
			<description>&lt;P&gt;For those of you working with ASP.NET, please be aware of the following reported security vulnerability in ASP.NET.&lt;/P&gt;
&lt;P&gt;Microsoft is currently investigating a reported vulnerability in Microsoft ASP.NET. An attacker can send specially crafted requests to the server and view secured content without providing the proper credentials. This reported vulnerability exists in ASP.NET and does not affect ASP.&lt;/P&gt;
&lt;P&gt;This issue affects Web content owners who are running any version of ASP.NET on Microsoft Windows 2000, Windows 2000 Server, Windows XP Professional, and Windows Server 2003.&lt;/P&gt;
&lt;P&gt;The underlying issue is that ASP.NET is failing to perform proper canonicalization of some URLs. Microsoft Knowledge Base (KB) article 887459, &quot;Programmatically Checking for Canonicalization Issues with ASP.NET,&quot; describes how to add additional safeguards to an ASP.NET application to help protect against common canonicalization issues, such as those related to this reported vulnerability.&lt;/P&gt;
&lt;P&gt;The ASP.NET Team&amp;nbsp;has confirmed that all versions of ASP.NET on all operating systems may be susceptible to this potential exploit. They strongly recommend you apply the following code to the Global.asax for each of your applications.&lt;/P&gt;
&lt;H3&gt;Global.asax code sample (Visual Basic .NET)&lt;/H3&gt;&lt;PRE&gt;Sub Application_BeginRequest(Sender as Object, E as EventArgs)&lt;/PRE&gt;&lt;PRE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (Request.Path.IndexOf(chr(92)) &amp;gt;= 0 OR _&lt;/PRE&gt;&lt;PRE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.IO.Path.GetFullPath(Request.PhysicalPath) &amp;lt;&amp;gt; Request.PhysicalPath) then&lt;/PRE&gt;&lt;PRE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Throw New HttpException(404, &quot;Not Found&quot;)&lt;/PRE&gt;&lt;PRE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/PRE&gt;&lt;PRE&gt;End Sub&lt;/PRE&gt;
&lt;H3&gt;Global.asax code sample (C#)&lt;/H3&gt;&lt;PRE&gt;void Application_BeginRequest(object source, EventArgs e) {&lt;/PRE&gt;&lt;PRE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (Request.Path.IndexOf(&apos;\&apos;) &amp;gt;= 0 ||&lt;/PRE&gt;&lt;PRE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.IO.Path.GetFullPath(Request.PhysicalPath) != Request.PhysicalPath) {&lt;/PRE&gt;&lt;PRE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw new HttpException(404, &quot;not found&quot;);&lt;/PRE&gt;&lt;PRE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/PRE&gt;&lt;PRE&gt;}&lt;/PRE&gt;
&lt;P&gt;The ASP.NET team is continuing to work on this problem and will post more information once it becomes available to &lt;A href=&quot;http://www.microsoft.com/security/incident/aspnet.mspx&quot;&gt;&lt;a href=&quot;http://www.microsoft.com/security/incident/aspnet.mspx&quot;&gt;http://www.microsoft.com/security/incident/aspnet.mspx&lt;/a&gt;&lt;/A&gt;.&lt;/P&gt;
&lt;H3&gt;Resources&lt;/H3&gt;
&lt;P&gt;&lt;A href=&quot;http://www.microsoft.com/security/incident/aspnet.mspx&quot;&gt;&lt;a href=&quot;http://www.microsoft.com/security/incident/aspnet.mspx&quot;&gt;http://www.microsoft.com/security/incident/aspnet.mspx&lt;/a&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://support.microsoft.com/?kbid=887459&quot;&gt;&lt;a href=&quot;http://support.microsoft.com/?kbid=887459&quot;&gt;http://support.microsoft.com/?kbid=887459&lt;/a&gt;&lt;/A&gt;&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/12/02.html#a138</guid>
			<pubDate>Fri, 03 Dec 2004 02:50:23 GMT</pubDate>
			</item>
		<item>
			<title>Study finds dramatic loss of tech jobs</title>
			<link>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/12/02.html#a137</link>
			<description>&lt;P&gt;CNet is reporting that tech jobs are on the decline. &lt;A href=&quot;http://news.com.com/Study+finds+dramatic+loss+of+tech+jobs/2100-1022-5415574.html?part=dtx&amp;amp;tag=ntop&amp;amp;tag=nl.e433&quot;&gt;Click Here for Article&lt;/A&gt;&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/12/02.html#a137</guid>
			<pubDate>Fri, 03 Dec 2004 02:47:32 GMT</pubDate>
			</item>
		<item>
			<title>Modeling Tool for Visual Studio 2005</title>
			<link>http://news.com.com/Microsoft+previews+Whitehorse+developer+tools/2100-1007-5426827.html?part=dtx&amp;tag=ntop&amp;tag=nl.e433</link>
			<description>Microsoft previews &apos;Whitehorse&apos; modeling tools for web applications for Visual Studio 2005. &lt;A href=&quot;http://news.com.com/Microsoft+previews+Whitehorse+developer+tools/2100-1007-5426827.html?part=dtx&amp;amp;tag=ntop&amp;amp;tag=nl.e433&quot;&gt;Click here&lt;/A&gt; for the complete article from CNet.</description>
			<guid>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/12/02.html#a136</guid>
			<pubDate>Fri, 03 Dec 2004 02:43:20 GMT</pubDate>
			</item>
		<item>
			<title>Writing Installs With The Windows Installer Is A Pain!</title>
			<link>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/09/18.html#a114</link>
			<description>&lt;P&gt;For the first time since the Microsoft Windows Installer has been around, I have had to write a &amp;#147;real&amp;#148; install for the small startup company that I am working at. What I mean by &amp;#147;real&amp;#148; install is one that customers who purchase our product or install it for demos will actually use. I am starting this tale a week into my ordeal. While I might talk a lot about the shortcomings of the Windows Installer here, you might learn a few tricks too.&lt;/P&gt;
&lt;P&gt;Since I am one of the very first users of Wise, I decided to use the latest copy that I have from them (since they were bought out by another company, I cannot get a hold of any newer versions) called Wise for Visual Studio .NET.&amp;nbsp; I did not want to use the installer that comes with Visual Studio .NET since I knew I would quickly run into issues with it.&lt;/P&gt;
&lt;H3&gt;Requirements&lt;/H3&gt;
&lt;P&gt;Both Wise and VS.NET will do a simple install your files and features with no issues. Wise has many more built in features than VS.NET has. However, my install has some additional requirements that I think are not that outrageous and should be simple to do. Here they are:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Edit a web.config and app.config file.&lt;/LI&gt;
&lt;LI&gt;Install a SQL Server database.&lt;/LI&gt;
&lt;LI&gt;Install IIS if it is not installed (okay, this is a big one). Warn the user this is about to happen and allow them to back out of the install.&lt;/LI&gt;
&lt;LI&gt;Display a dialog based on a feature that the user has chosen.&lt;/LI&gt;
&lt;LI&gt;Create a virtual directory in IIS.&lt;/LI&gt;
&lt;LI&gt;Only install on Windows XP and Windows 2003.&lt;/LI&gt;
&lt;LI&gt;Create a directory and set permissions.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Except for automatically installing IIS, I do not think any of these things should be that difficult. To me, they are just normal tasks that any normal .NET application needs to perform these days. Well none of these tasks is easy with the Windows Installer/Wise. Before I continue, I need to say that the Windows Installer team has taken something that is not that difficult and have made it horribly complicated and hard to understand and even harder to test and debug. While Wise helped in some of the tasks above, I believe that the real problem lies in the lack of robustness in the Windows Installer. I come from the old Wise Installer days that use a top down scripting way of doing things. After working with the Windows Installer for a week now, I wish it were more like that.&lt;/P&gt;
&lt;H3&gt;What the Windows Installer Can Do?&lt;/H3&gt;
&lt;P&gt;One of the requirements is that our application can only run on Windows XP or Windows 2003. The Windows Installer can check for these system requirements but in a very limited way. I can set it to say it does not support any version of Windows before XP (good), but when it comes to the Windows NT versions, it can either check for all or one specific version (bad). Therefore, unless I write some custom script later, I cannot say &amp;#147;Requires Windows XP or Windows 2003&amp;#148;. All the other system requirements work in the same way.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Update&lt;/STRONG&gt;: It turns out you can check for specific Windows versions with the installer (just not with the Wise IDE), but it is very confusing. After reading some of the Apress book listed at the end of this article I found out that installer properties can be Boolean or hold an actual value!?!? Okay, I have never heard of this before. Here is an example:&lt;/P&gt;
&lt;P&gt;If you want to see if the user is running some version of Windows NT, you can use this:&lt;/P&gt;&lt;PRE&gt;NOT VersionNT&lt;/PRE&gt;
&lt;P&gt;If you want to check to see if the user is running Windows XP or higher, you would use this:&lt;/P&gt;&lt;PRE&gt;VersionNT &amp;gt;= 501&lt;/PRE&gt;
&lt;P&gt;As I am writing this, I am struggling with displaying a dialog that gathers information about a database server (server name, user name and password) so that it will only display after the Select Feature dialog if a certain feature was selected. This basically boils down to using Windows Installer events (discussed more in the &amp;#147;Wise or not so Wise&amp;#148; below).&lt;/P&gt;
&lt;H3&gt;Editing Files&lt;/H3&gt;
&lt;P&gt;Okay, this to me is a no brainer, most installs needs to edit files like web.config files, log files etc. Well, the Windows Installer does not have this capability!?!?! You have to write an external DLL or EXE to do this (which is not easy if you want to get information from the installer) or in my case, I used the Wise Script Editor (which complies to an outside EXE). While the Wise scripting worked, it was not elegant. I wanted to take a value in my web.config file like &amp;#147;{dbserver}&amp;#148; and just replace it with the real database server name gathered from the user during the install. Well you cannot&amp;#133;. the (Wise) script only has the ability to replace an entire line of text in a file.&lt;/P&gt;
&lt;P&gt;Another issue with editing installed files is when to do it! With the old scripting version of Wise, it was easy, you knew when the file was installed and you then could edit it. Well, the Windows Installer does not work like that. It has these different areas called &amp;#147;Interface&amp;#148;, &amp;#147;Immediate&amp;#148; and &amp;#147;Deferred&amp;#148;. Furthermore, in these areas it has calls that is makes like MoveFiles, InstallFiles, InstallFinalize and more. So at first glance, you would just implement the editing EXE after InstallFiles&amp;#133; right? Wrong! In the install script, InstallFiles is not actually executed until InstallFinalize is called. Actually, everything in the script between InstallInitialize and InstallFinalize actually is queued up and run when InstallFinalize is called. Very confusing. I am still trying to understand when the Immediate and Deferred calls are run. I also found out that some of the properties (internal variables) are not available at certain places, like in Deferred. Dang!&lt;/P&gt;
&lt;H3&gt;Installing SQL Server Database&lt;/H3&gt;
&lt;P&gt;The Windows Installer cannot install (run) SQL scripts to create a SQL Server database. Wise dose have a very cool feature called &amp;#147;SQL Server Scripts&amp;#148; that will not only run scripts for your but it will even recreated a database, data and all! This saved me a ton of time.&lt;/P&gt;
&lt;H3&gt;Install IIS&lt;/H3&gt;
&lt;P&gt;Here is the big requirement and I did not think that any install program would do this and I was correct. It took me awhile to figure out how to force an install of IIS but I did right before I gave up. To do the install, the Microsoft Unattended Install program (sysocmgr.exe) needs to be called. Simply call it from the install like this:&lt;/P&gt;&lt;PRE&gt;sysocmgr /i:%windir%infsysoc.inf /u:c:iis.txt /x&lt;/PRE&gt;
&lt;P&gt;The iis.txt file (that you create and install) should look something like this:&lt;/P&gt;&lt;PRE&gt;[Components]&lt;BR&gt;iis_common = on&lt;BR&gt;iis_inetmgr = on&lt;BR&gt;iis_www = on&lt;BR&gt;iis_ftp = off&lt;BR&gt;iis_htmla = on&lt;/PRE&gt;
&lt;P&gt;There is more information about sysocmgr.exe and the format of this file on the Microsoft web site. The iis.txt file format above is for IIS 5.0. Here is the format for IIS 6.0:&lt;/P&gt;&lt;PRE&gt;[Components]&lt;BR&gt;iis_common = ON&lt;BR&gt;iis_inetmgr = ON&lt;BR&gt;iis_www = ON&lt;BR&gt;fp_extensions = OFF&lt;BR&gt;iis_ftp = OFF&lt;BR&gt;aspnet= ON&lt;/PRE&gt;
&lt;P&gt;There is another thing to worry about after IIS is installed. If the .NET framework is already installed, then none of the mappings in IIS for .NET pages like .aspx, .asmx etc. will be there. Therefore your ASP.NET applications and web services will not work. &lt;/P&gt;
&lt;P&gt;To create the mappings the aspnet_regiis.exe program will need to be used (which is located in the latest version of .NET framework directory). However, this is not as easy as you might think. First, you need to figure out where the latest version of .NET is installed. This is the issue. There is a registry key called:&lt;/P&gt;&lt;PRE&gt;HKEY_LOCAL_MACHINESOFTWAREMicrosoft.NETFramework&lt;BR&gt;Value Name: InstallRoot&lt;/PRE&gt;
&lt;P&gt;Which will bring back &amp;#147;C:WINDOWSMicrosoft.NETFramework&amp;#148;. From there it is difficult from the registry to figure out what is the latest version that is installed. I just gave up (for now) and hard coded it to the version of the framework we are supporting (v1.1.4322). (If anyone knows of a better way, please let me know)&lt;/P&gt;
&lt;P&gt;Call aspnet_regiis.exe like this:&lt;/P&gt;&lt;PRE&gt;C:WINDOWSMicrosoft.NETFrameworkv1.1.4322aspnet_regiis.exe -s W3SVC/1/ROOT/MyWebService&lt;/PRE&gt;
&lt;P&gt;This &amp;#147;-s&amp;#148; switch will make the mappings only for the specified web site (I like this switch because this does not mess with other web sites that could have different mappings). The second parameter is of course the path to the web site.&lt;/P&gt;
&lt;P&gt;Another thing to worry about is that with IIS 6.0, due to security reasons ASP.NET page extensions are not enabled by default. The only way I could find to do this automatically is with this VB script:&lt;/P&gt;&lt;PRE&gt;Set IIsWebServiceObj = GetObject(&quot;IIS://localhost/W3SVC&quot;)&lt;BR&gt;&apos; Enable ASP.NET&lt;BR&gt;IIsWebServiceObj.EnableWebServiceExtension &quot;ASP.NET v1.1.4322&quot;&lt;BR&gt;IIsWebServiceObj.SetInfo&lt;/PRE&gt;
&lt;P&gt;Now that I have listed all the gotcha&amp;#146;s, the order in which these are done (as I have found out the hard way) is very important. Here they are:&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style=&quot;MARGIN-RIGHT: 0px&quot;&gt;
&lt;P dir=ltr style=&quot;MARGIN-RIGHT: 0px&quot;&gt;1.&amp;nbsp;Right before CreateFolders in the Execute Immediate section&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style=&quot;MARGIN-RIGHT: 0px&quot;&gt;
&lt;P dir=ltr style=&quot;MARGIN-RIGHT: 0px&quot;&gt;a.&amp;nbsp;Install IIS. &lt;/P&gt;
&lt;P dir=ltr style=&quot;MARGIN-RIGHT: 0px&quot;&gt;b.&amp;nbsp;Also run aspnet_regiis.exe with the &amp;#147;-ir&amp;#148; switch (this was very critical for our install because during CreateFolders a folder is created that the ASPNET user is given access too. If aspnet_regiis.exe is not run, then this user could not exist on the machine!)&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P dir=ltr style=&quot;MARGIN-RIGHT: 0px&quot;&gt;2.&amp;nbsp;After your virtual directories are created in the Execute Deferred section &lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style=&quot;MARGIN-RIGHT: 0px&quot;&gt;
&lt;P dir=ltr style=&quot;MARGIN-RIGHT: 0px&quot;&gt;a.&amp;nbsp;Run the VB Script that enables the ASP.NET page extensions in IIS 6.0. &lt;BR&gt;b.&amp;nbsp;Then run aspnet_regiis.exe as described above so that the ASP.NET pages are mapped to your web application.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/BLOCKQUOTE&gt;
&lt;H3&gt;Interact With The User/ Display A Dialog&lt;/H3&gt;
&lt;P&gt;As you have read, I need to install IIS if it is not there already. In the actual wsi script, I wanted to display a yes/no message box to make sure the user wants to install IIS. Well you cannot do this in the Windows Installer (not from what I could figure out). The Windows Install can display a message, but that is it. Again, I looked to the Wise Script for help. It can display yes/not message boxes and use that as the beginning of an &amp;#147;if&amp;#148; statement. Score! Well this would not work&amp;#133; I wanted to give the user the ability to abort the installation (because without IIS the feature they selected would not work). The problem is that the Wise Script cannot return to the install an exit code that would abort the install.&lt;/P&gt;
&lt;H3&gt;Create A Virtual Directory In IIS&lt;/H3&gt;
&lt;P&gt;Again, the Windows Install does not have the capability to create a virtual directory in IIS. Wise does and it works great.&lt;/P&gt;
&lt;H3&gt;Create A Directory And Set Permissions&lt;/H3&gt;
&lt;P&gt;While this was not easy to find in Wise, the Windows Installer can do this. It took a learning curve to get it right because the Wise documentation was not that good and an article on their web site told me to do the wrong thing. I only got it to work after a support call to them.&lt;/P&gt;
&lt;H3&gt;Wise Or Not So Wise&lt;/H3&gt;
&lt;P&gt;Now lets talk a but about Wise for Visual Studio .NET. While it has features that the Visual Studio install does not, over all it is flaky and difficult to use (if you are doing any type of custom install). One of the things that makes Wise hard to use is their lack of documentation. While it does come with a reference manual and a help file, both are severely lacking in details and &amp;#147;how to&amp;#146;s&amp;#148; and there literally no samples on how to do the tasks in Wise. It took me awhile to figure out the only way to get to the help file is via a dialog box&amp;#133; there is no way to &amp;#147;browse&amp;#148; the help file if you want to just look around and get familiar with the product. Speaking of samples, Wise does not come with any sample projects or sample scripts to help you get started. It only comes with two tutorials in one of the included PDF&amp;#146;s. So, if you want help on how to write VBScript files or .NET projects to interact with your install, forget it. Their help file also includes many links to the Windows Install SDK help file, which did not work even after I installed the SDK.&lt;/P&gt;
&lt;P&gt;Unfortunately, as long as Wise has been around their documentation has not been very good. They do have a knowledgebase up on their web site, but you have to be a registered user to even use it and it is not much better than their help files. I actually found an article that told me to do something the wrong way (which caused a support call to Wise).&lt;/P&gt;
&lt;P&gt;Now let&amp;#146;s talk more about why Wise is flaky. Here is an example: Sometimes it takes three or more tries (or the planets align) to add a script from the Wise Script Editor to get it to work. It never seems to work on the first try. I usually add the script&amp;#133; nothing happens when I run the install. Then I add it again and I get a memory error when run from the install. Then I add it again and I get another error that the program cannot be run. Then, if I am lucky the forth try (or more) it will just magically start working! There seems to be no rhyme or reason.&lt;/P&gt;
&lt;P&gt;Setting and creating dialog boxes in Wise is very difficult. What makes it so difficult if you want to move the dialog box to a different place in the sequence during the install. Basically, you can&amp;#146;t. One time I just deleted the dialog, added a new one and Wise totally screwed up the dialog sequences some how. I kept getting a &amp;#147;loop&amp;#148; error and I could not figure out why. I just had to start over and create an entirely new install.&lt;/P&gt;
&lt;P&gt;Also when adding and removing dialogs, I have found out the hard way that to move from forward and backward through the dialogs it all has to be set up in Windows Install events. You would think that Wise would help you out when adding and removing dialogs and add these events so the dialogs will appear correctly. Well Wise tries (I think) but does a very poor job. You will have to learn all about events (not as easy as you might think) and fix them on your own. It took me about half a day or more of messing with the events and conditions and testing to fix what I figured Wise should have done.&lt;/P&gt;
&lt;P&gt;To get support with Wise and you are the registered user, you can log &amp;#147;Support Calls&amp;#148; on their web site, which are just really logging a question to their database. When you log a question, it says they will get back to you within three days! Well the good news is that they usually got back to me in one day or a little longer. The bad part is that I had to log seven of these support calls to finish my install requirements listed above. &lt;/P&gt;
&lt;H3&gt;Summary&lt;/H3&gt;
&lt;P&gt;Therefore, to end this long list of complaints on the Windows Installer and Wise, I just hope that the new version of Wise is better and comes with better documentation. I also hope that the Windows Installer starts coming out with more features and their SDK documentation get easier to read and understand. I&amp;#146;m fearful on what how much more difficult it will be when Longhorn is released. I just bought a book from Apress titled &amp;#147;&lt;A href=&quot;http://www.amazon.com/exec/obidos/ASIN/1590592972/vbtipstric&quot; target=_blank&gt;The Definitive Guide to Windows Install&lt;/A&gt;&amp;#148; that I hope will help me understand more about the Windows Installer. In addition, I am completely surprised about the lack of information on the web on this subject. I Google&amp;#146;d for many, many hours and did not find much of any inforatmion, especially on interacting with the installer during runtime with VBScript or .NET. I did find a web site that seems like it might be of some help: &lt;A href=&quot;http://www.installsite.org/&quot; target=_blank&gt;&lt;a href=&quot;http://www.installsite.org/&quot;&gt;http://www.installsite.org/&lt;/a&gt;&lt;/A&gt;. In addition, I found some help on the Microsoft newsgroup located at: &lt;A href=&quot;http://msdn.microsoft.com/newsgroups/default.aspx?dg=microsoft.public.platformsdk.msi&quot; target=_blank&gt;&lt;a href=&quot;http://msdn.microsoft.com/newsgroups/default.aspx?dg=microsoft.public.platformsdk.msi&quot;&gt;http://msdn.microsoft.com/newsgroups/default.aspx?dg=microsoft.public.platformsdk.msi&lt;/a&gt;&lt;/A&gt;. If you have any comments of suggestions on the article, please let me know!&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/09/18.html#a114</guid>
			<pubDate>Sat, 18 Sep 2004 16:00:31 GMT</pubDate>
			</item>
		<item>
			<title>Great Advice from Robert Scoble on Keeping Your Computer Safe</title>
			<link>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/08/22.html#a109</link>
			<description>&lt;A href=&quot;http://radio.weblogs.com/0001011/2004/08/22.html#a8128&quot;&gt;The layers of security I use to keep criminals at bay&lt;/A&gt;. 
&lt;P&gt;Tim Anderson: &lt;A href=&quot;http://www.itwriting.com/blog/?postid=72&quot;&gt;SP2 debate exposes deeper problems&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;ZDNet&apos;s David Berlind: &lt;A href=&quot;http://zdnet.com.com/2100-1105_2-5301625.html&quot;&gt;SP2&apos;s new firewall: better than nothing, but not good enough&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Security is an interesting issue. How much security is good enough?&lt;/P&gt;
&lt;P&gt;Let&apos;s get out of the computer world. Let&apos;s talk about heirloom jewelry. My wife, Maryam, has a bit of jewelry. Does she store it here in the house? No. Why not? It&apos;s not secure enough. Where does she store it? In a safe deposit box in a bank. Let&apos;s talk about a bank&apos;s security and how many layers it has.&lt;/P&gt;
&lt;P&gt;1) The jewelry is stored in a safe deposit box with a lock.&lt;BR&gt;2) There&apos;s a camera on the box area, so if something goes missing they can verify what happened later.&lt;BR&gt;3) Each box is alarmed. So, if you try to break into someone else&apos;s box, an alarm will cry out.&lt;BR&gt;4) The safe deposit boxes are stored inside the bank vault. Three feet of concrete and steel with a very sophisticated lock on the door.&lt;BR&gt;5) Video cameras on the vault door to verify who goes in and out.&lt;BR&gt;6) The vault is behind a counter and you aren&apos;t allowed to go near it unless an employee lets you in.&lt;BR&gt;7) The vault is in a building that&apos;s designed to be difficult to break into. Alarms. Heavy duty doors. Lighting that makes it easy to see in.&lt;/P&gt;
&lt;P&gt;I&apos;m sure there&apos;s more layers too that I&apos;m not even aware of. But, let&apos;s not dwell on this. The point is that there&apos;s multiple layers of security all to protect my wife&apos;s jewelry. Let&apos;s say any one of these layers failed. Her jewelry would still be safe. It would take multiple failures for a criminal to be able to steal her jewelry.&lt;/P&gt;
&lt;P&gt;So, what&apos;s my point? Well, when it comes to computer security you should have multiple layers as well. If you have multiple layers of security, then any one layer -- even if it&apos;s not well designed -- will prove sufficient in keeping criminals away from the digital equivilent of your jewelry.&lt;/P&gt;
&lt;P&gt;If you visit &lt;A href=&quot;http://www.microsoft.com/protect&quot;&gt;www.microsoft.com/protect&lt;/A&gt; you&apos;ll see the layers that Microsoft is recommending. For me, I go further. Here&apos;s what I&apos;m doing now.&lt;/P&gt;
&lt;P&gt;1) &lt;B&gt;Install Windows XP Service Pack 2&lt;/B&gt;. This update has many protections against attacks (recompiled code, closed APIs, firewall on by default, all known patches, etc).&lt;/P&gt;
&lt;P&gt;2) &lt;B&gt;Get a good anti-virus program&lt;/B&gt;. Visit www.microsoft.com/protect for some suggestions, including a Computer Associates one that&apos;s free for first 12 months. Why is this important? It&apos;ll protect your system from all the known viruses, worms, and trojan horses.&lt;/P&gt;
&lt;P&gt;3) &lt;B&gt;Get a good two-way firewall on every machine&lt;/B&gt;. &lt;A href=&quot;http://www.simtel.net/product.download.mirrors.php?id=53687&quot;&gt;The Sygate Personal Firewall &lt;/A&gt;is free and is good. &lt;A href=&quot;http://www.zonelabs.com/store/content/home.jsp&quot;&gt;Zone Alarm &lt;/A&gt;is another popular choice. Why don&apos;t I just use the firewall that&apos;s included in XPSP2? Because it is only a one-way firewall. Sygate&apos;s watches activity going on from both inside your computer as well as out on the Internet. What if your company already has a firewall? That&apos;s not enough. You need one on every machine now because if someone takes a laptop outside of your network, gets infected, then comes back in, they&apos;ll infect you too. In fact, I use two firewalls now, even at work (one software that runs on all my machines, and one that hooks to the network before I even hook a machine to it). XPSP2&apos;s firewall is definitely better than not having a firewall at all, but for some people like me it&apos;s not enough.&lt;/P&gt;
&lt;P&gt;4) &lt;B&gt;Get a hardware-based firewall or NAT at point of network entry&lt;/B&gt;. Why? Because many of us attach unpatched computers while installing, or want to play networked games, or have other reasons for turning off our software firewalls (some software won&apos;t work through firewalls). Plus, even if you don&apos;t turn them off, provides one more barrier that hackers have to go through. Again, it&apos;s about layers of security and not needing to rely on any one security device.&lt;/P&gt;
&lt;P&gt;5) &lt;B&gt;Turn on automatic updating&lt;/B&gt;. Visit www.microsoft.com/protect so you&apos;ll always have the latest security patches. Why do that? Because software evolves. We learn about mistakes we made in our code. We find new ways to keep criminals out. If you aren&apos;t running the absolute latest software, you&apos;re vulnerable (and this is true if you&apos;re on Linux or the Macintosh too).&lt;/P&gt;
&lt;P&gt;6) &lt;B&gt;Run the latest email and Web clients&lt;/B&gt;. Outlook 2003 and the latest Outlook Express, for instance, has another level of security against running exe&apos;s (you can&apos;t even run them if emailed in the latest versions, but if you used earlier versions they didn&apos;t have those protections). If you are running Firefox or Netscape, they regularly fix vulnerabilities in their products too. Always run the latest. That&apos;s the safest.&lt;/P&gt;
&lt;P&gt;7) &lt;B&gt;Visit www.microsoft.com/security regularly&lt;/B&gt;. for the latest information on security threats. That&apos;s the official place where Microsoft will communicate about security threats and/or the latest updates.&lt;/P&gt;
&lt;P&gt;8) &lt;B&gt;Run at least one good anti-spyware program like &lt;A href=&quot;http://www.lavasoftusa.com/software/adaware/&quot;&gt;Adaware &lt;/A&gt;or &lt;A href=&quot;http://www.webroot.com&quot;&gt;Webroot&apos;s Spy Sweeper&lt;/A&gt; or &lt;A href=&quot;http://www.javacoolsoftware.com/spywareblaster.html&quot;&gt;Spyware Blaster&lt;/A&gt;&lt;/B&gt;. That&apos;ll make sure that no spyware sneaks onto your system. With XPSP2 I&apos;ve found that spyware is far less likely to get onto your system, but I&apos;ve already found one site that has some spyware that gets past XPSP2. So, you&apos;ll need to still check, particularly if you visit &quot;high risk&quot; sites (sites that aren&apos;t known to you, for instance, or adult sites which are famous for putting spyware on your systems).&lt;/P&gt;
&lt;P&gt;9) &lt;B&gt;If you visit high-risk Websites, turn off ActiveX and scripting in your browser&lt;/B&gt;. (I turn off scripting even on Firefox when I&apos;m visiting high-risk sites -- you all can guess what I&apos;m talking about here. It&apos;s just too risky.) In Internet Explorer, just visit Tools/Internet Options. Click on the security tab. Then move the security slider to &quot;high.&quot; That&apos;ll disable both ActiveX and scripting.&lt;/P&gt;
&lt;P&gt;10) &lt;B&gt;Don&apos;t run in administrator mode&lt;/B&gt;. I&apos;m slowly moving my machines to not running in administrator mode. That way if something does get through all the protection it can&apos;t do as much damage. Out of all the steps here, this one is the hardest to do, though, because a lot of things don&apos;t work on Windows if you&apos;re not running as administrator.&lt;/P&gt;
&lt;P&gt;11) &lt;B&gt;Keep an install partition on each of your machines&lt;/B&gt;. I put a backup version of my Windows XP install CD on the second partition so that if all else fails and my machine is taken down, I can quickly repair the system and get back up with nothing more than a boot floppy that any machine can produce (since my install bits are on the second partition I don&apos;t need to do anything fancy to get back up).&lt;/P&gt;
&lt;P&gt;&lt;I&gt;Update: Chris Coulter says that an even better thing to do is to get a second hard drive and put an image of the first drive on the second (he recommends &lt;A href=&quot;http://www.symantec.com/sabu/ghost/ghost_personal/&quot;&gt;Norton Ghost&lt;/A&gt;). If something happens to the first drive, you can build a new image off of the second drive and be back up and running within minutes.&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;12) &lt;B&gt;Don&apos;t allow anonymous users on your wireless network&lt;/B&gt;. Why not? Because if they have been infected then you&apos;ll have invited them behind several layers of your security. Plus, a criminal could use your line to send spam or infect other people. Do you really want to help those people out?&lt;/P&gt;
&lt;P&gt;13) &lt;B&gt;Use better passwords&lt;/B&gt;. Come on, I know some of you aren&apos;t using good passwords. For instance, I knew one person who&apos;d just use &quot;password&quot; as his password. That meant his machine could be broken into very quickly (never use a single word as a password -- hackers have dictionary cracking tools that can break such passwords ). &lt;A href=&quot;http://blogs.msdn.com/robert_hensing/archive/2004/07/28/199610.aspx&quot;&gt;Read Robert Hensing&apos;s advice&lt;/A&gt;. He&apos;s a security expert here at Microsoft and works in support and explains a good way to choose passwords that are hard to break.&lt;/P&gt;
&lt;P&gt;14) &lt;B&gt;Backup your data regularly&lt;/B&gt;. It&apos;s amazing how few people backup their stuff. Hard drives die. Things happen. If you have backups, you&apos;ll be OK even if your machine gets wiped by something. Personally most people don&apos;t need to do it very often. I backup once a month. Why? I&apos;m willing to lose a month&apos;s worth of stuff. (Most of my important stuff is in Outlook and that&apos;s backed up automatically by the company I work for).&lt;/P&gt;
&lt;P&gt;Anyway, my whole thing is to treat your computers like you treat valuable jewelry. Put up multiple security barriers. This is true, by the way, whether you are on a Mac or Linux too. All the above except for loading XPSP2 apply to you too. Just because the criminals aren&apos;t attacking your systems right now doesn&apos;t mean they won&apos;t in the future. That&apos;s like saying &quot;well, if I hide my jewelry in a box at the North Pole the criminals aren&apos;t going to take the time to go there.&quot; That might be true, but is that really a good way to approach the world?&lt;/P&gt;
&lt;P&gt;What do you think? How many layers of security do you have? How many do you need?&lt;/P&gt;
&lt;P&gt;You might not need all the above, by the way. At home I don&apos;t have an alarm. I don&apos;t have video cameras. I don&apos;t have a vault with three-feet of concrete between me and any potential criminal.&lt;/P&gt;
&lt;P&gt;So, the 14 security layers I use for my computers might be overkill for you. Which layers above do you choose not to have and why?&lt;/P&gt;[&lt;A href=&quot;http://radio.weblogs.com/0001011/&quot;&gt;Scobleizer: Microsoft Geek Blogger&lt;/A&gt;]</description>
			<guid>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/08/22.html#a109</guid>
			<pubDate>Sun, 22 Aug 2004 15:56:11 GMT</pubDate>
			<source url="http://radio.weblogs.com/0001011/rss.xml">Scobleizer: Microsoft Geek Blogger</source>
			</item>
		<item>
			<title>Forget about Bush and Kerry, Vote for .NET in 2004!</title>
			<link>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/08/14.html#a108</link>
			<description>&lt;IMG src=&quot;http://radio.weblogs.com/0105124/images/votebutton-small.jpg&quot; align=right&gt; Sick of the presidential race already?&amp;nbsp; Then why not show off your pride of the .NET language with these cool &quot;Vote .NET&quot; buttons and magnets! These are being sold at no cost by the &lt;A href=&quot;http://sddotnetdg.org/&quot;&gt;San Diego .NET Developers Group&lt;/A&gt;. To purchase these items or others from their store go to: &lt;A href=&quot;http://www.cafeshops.com/sddotnetdg&quot;&gt;&lt;a href=&quot;http://www.cafeshops.com/sddotnetdg&quot;&gt;http://www.cafeshops.com/sddotnetdg&lt;/a&gt;&lt;/A&gt;&lt;BR clear=all&gt;</description>
			<guid>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/08/14.html#a108</guid>
			<pubDate>Sat, 14 Aug 2004 22:03:59 GMT</pubDate>
			</item>
		<item>
			<title>Will We See VS.NET 2005 in 2005?</title>
			<link>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/08/14.html#a107</link>
			<description>I just heard the other day from a source with very close ties with Microsoft that VS.NET 2005 &lt;EM&gt;might&lt;/EM&gt; slip 6 months. This source said the target manufacturing date was March 2005, now it might be September? Maybe later? Should we be calling this VS.NET 2006?</description>
			<guid>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/08/14.html#a107</guid>
			<pubDate>Sat, 14 Aug 2004 21:46:33 GMT</pubDate>
			</item>
		<item>
			<title>No .NET Book Section In Stores?</title>
			<link>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/06/08.html#a104</link>
			<description>&lt;P&gt;So I actually went to a book store today (I usually shop at Amazon.com for books) to go looking for some .NET books. Much to my surprise there isn&amp;#146;t a .NET section (at Bookstar at least). I found that they have books on .NET&amp;nbsp;spread throughout the web,&amp;nbsp; c/c++,&amp;nbsp; vb, database and network sections. I found it strange they have an entire shelf section dedicated to Visual Basic, but not .NET?&lt;/P&gt;
&lt;P&gt;A friend of mine told me later that day that the publishers like this&amp;#133; but for me, having a limited amount of time in the store, I found it frustrating to find the books I was looking for.&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/06/08.html#a104</guid>
			<pubDate>Tue, 08 Jun 2004 23:56:41 GMT</pubDate>
			</item>
		<item>
			<title>TechEd: Day 6</title>
			<link>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/05/28.html#a102</link>
			<description>&lt;P&gt;&lt;IMG src=&quot;http://radio.weblogs.com/0105124/images/TechEd31.jpg&quot; align=right&gt;Today is the final day of TechEd and I woke up hurting all over&amp;#133; my feet, my head, my back and the rest of my body. Also today is the first day of the entire conference that I made it to the first session of the day (9 a.m.). The rest of the time I could not bring myself to get up that early and drive down to the convention center. Here are the final sessions that I went to:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;.Net Security In The Real World - Examples From Corporate America 
&lt;LI&gt;Visual Studio: Deploying .NET Applications with Ease 
&lt;LI&gt;Defending Against Layer 8: How to Recognize and Combat Social Engineering 
&lt;LI&gt;IIS Data Mining with Log Parser&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;I attended my first &amp;#147;cabana&amp;#148; session today. These were small open areas in the Sail Pavilion that had seats for about 20 people. I kind of liked it because the speakers were more laid back. The problem was because the light came from the sun, it was near impossible to see the plasma screen they used. If it weren&amp;#146;t cloudy, it would have been impossible!&lt;/P&gt;
&lt;P&gt;The speaker for &amp;#147;Defending Against Layer 8&amp;#148; (Steve Riley) was hands down the best speaker of the entire conference. He kept the lights on and did not stand on the podium at all. Instead he walked around the huge room and really engaged the audience. He was so energetic and had a great attitude even though his talk was next to the last of the conference. He also seemed to have the largest audience of the day and got the most applause at the end of his talk than any other session I attended the entire conference. One thing Steve mentioned was that he never uses the computers in the Commnet area to check his e-mail because someone could put a keyboard sniffer on them. Well he is completely &lt;EM&gt;correct&lt;/EM&gt;&amp;#133; I use to work for the company that did Commnet (located in Carlsbad) for TechEd last year and they found keyboard sniffers on some of the computers. So attendees &lt;STRONG&gt;beware&lt;/STRONG&gt;!&lt;/P&gt;
&lt;P&gt;Is it just me or did some of you notice too that the presenters had a lot of programs running in their taskbar? One presenter today had 11 and another had 13! Okay, maybe I&amp;#146;m the only one around that is minimalist and keeps as few things running the in the taskbar as possible for performance reasons?&lt;/P&gt;
&lt;P&gt;It&amp;#146;s been 1.5 years since I have been at a conference, but I still see that the number of women engineers does not seem to be growing at all. Also I noticed that the number of engineers with long hair have decreased (I only spotted two others). Maybe I should finally cut mine&amp;#133; &lt;EM&gt;not&lt;/EM&gt;!&lt;/P&gt;
&lt;P&gt;After the sessions were over, I meet up with my friend Stan and my new friend Ambrose and we hit the Gaslamp area. We went to The Field for food, played pool at San Diego Billiards, hit Dick&amp;#146;s Last Resort and back to the W for a few drinks.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Summary&lt;BR&gt;&lt;/STRONG&gt;To sum up, I think TechEd was great. I would say it was the best conference I&amp;#146;ve been to. I was very impressed on how Microsoft ran the conference. I wished there were less Microsoft speakers and more &amp;#147;real world&amp;#148; speakers. I also wished the talks were more technical and less &amp;#147;50,000 foot level&amp;#148;. Some people told me that the PDC is more technical, but I figured with &amp;#147;tech&amp;#148; in the name of the conference, it would be more technical than it was. I hope TechEd comes back to San Diego soon!&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;Business Card Count =&amp;nbsp;3&lt;/P&gt;
&lt;P&gt;For more pictures &lt;A href=&quot;http://vsdntips.com/dotNetDave/TechEd2004/Default.aspx&quot; target=_blank&gt;click here&lt;/A&gt;.&lt;/P&gt;
&lt;BR clear=all&gt;</description>
			<guid>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/05/28.html#a102</guid>
			<pubDate>Fri, 28 May 2004 22:36:45 GMT</pubDate>
			</item>
		<item>
			<title>TechEd: Day 5</title>
			<link>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/05/27.html#a101</link>
			<description>&lt;P&gt;&lt;IMG src=&quot;http://radio.weblogs.com/0105124/images/TechEd28.jpg&quot; align=right&gt;Day five of the TechEd conference&amp;#133; the wear and tare of going to a conference it starting to hit me&amp;#133; having to drink coffee in the afternoon. Here are the sessions I went to today:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;ASP.NET: Blackbelt Web Forms Programming 
&lt;LI&gt;SQL Server Data Access Developer Don&apos;ts (10 Things You Currently Do That You Shouldn&apos;t) 
&lt;LI&gt;ASP.NET: Tips and Tricks for Building Server Controls 
&lt;LI&gt;ASP.NET: Best Practices for Managing and Operating IIS 6.0 and ASP.NET Solutions&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;At lunch I did my pass through the exhibit area since it was the last day for them. I gathered information I could take to the next meeting of the user group I hope run (&lt;A href=&quot;http://sddotnetdg.org/&quot;&gt;San Diego .NET Developers Group&lt;/A&gt;). One thing I did notice was that it seemed that there were more vendors focued on the IT pro type person&amp;#133; not on the software developer. I thought TechEd was a developers conference&amp;#133; guess I was wrong.&lt;/P&gt;
&lt;P&gt;After the sessions Microsoft rented out Sea World for the attendee party! It was pretty cool going to an amusement park and not pay for anything! Got to walk on to rides and exhibits. It was fun&amp;#133; thanks Microsoft!&lt;/P&gt;
&lt;P&gt;Business Card Count =&amp;nbsp;3&lt;/P&gt;
&lt;P&gt;For more pictures &lt;A href=&quot;http://vsdntips.com/dotNetDave/TechEd2004/Default.aspx&quot; target=_blank&gt;click here&lt;/A&gt;.&lt;/P&gt;
&lt;BR clear=all&gt;</description>
			<guid>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/05/27.html#a101</guid>
			<pubDate>Thu, 27 May 2004 22:33:14 GMT</pubDate>
			</item>
		<item>
			<title>TechEd: Day 4</title>
			<link>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/05/26.html#a100</link>
			<description>&lt;P&gt;&lt;IMG src=&quot;http://radio.weblogs.com/0105124/images/TechEd18.jpg&quot; align=right&gt;Today, day #4 of the main TechEd conference I had more energy that I thought I would. Usually by this time at conferences I&amp;#146;m running low in that department. The sessions I went to today were:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Connected Systems: Using Web Services Enhancements v2.0 for Messaging Over Multiple Machines and Networks 
&lt;LI&gt;Smart Clients in a Service-Oriented World: Thomson Financial Case Study 
&lt;LI&gt;SQL Server 2000 Reporting Services: Managing a Reporting Services Implementation 
&lt;LI&gt;Improving Application Performance and Scalability&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;I think one of the reasons we all could keep our energy up was that throughout the day and throughout the conference area there were always coffee, snacks, soda and bottled water available. So any time we wanted, we could fuel up!&lt;/P&gt;
&lt;P&gt;I made an effort at TechEd to not go to any Whidbey talks. Why? Easy, it&amp;#146;s a year away. Sure I want to learn about it, but it&amp;#146;s not even in an alpha release. I thought the conference focused too much on future technologies and not enough on the current ones.&lt;/P&gt;
&lt;P&gt;They gave us two hours for lunch, so I spent the majority of that time doing what I call &amp;#147;&lt;EM&gt;slumming&lt;/EM&gt;&amp;#148; for the user group that I help run (&lt;A href=&quot;http://sddotnetdg.org/&quot;&gt;San Diego .NET Developers Group&lt;/A&gt;). What I do is go to all the vendors that I think could help out with the group by either donating software or come speak at&amp;nbsp;a meeting. All of the vendors I targeted seemed into it&amp;#133; we shall see.&lt;/P&gt;
&lt;P&gt;After the session I was invited to a private party thrown by Microsoft for people they call &amp;#147;influencers&amp;#148;.&amp;nbsp; They rented all of the Dicks Last Resort bar/ restaurant and the billiards hall above it for three hours. It was a lot of fun. After that, my friend Stan and I went over to his hotel, the W, and hung out at the upstairs bar which is mostly a sand beach type of thing. That was pretty cool too.&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;Business Card Count =&amp;nbsp;6 &lt;/P&gt;
&lt;P&gt;For more pictures &lt;A href=&quot;http://vsdntips.com/dotNetDave/TechEd2004/Default.aspx&quot; target=_blank&gt;click here&lt;/A&gt;.&lt;/P&gt;
&lt;BR clear=all&gt;</description>
			<guid>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/05/26.html#a100</guid>
			<pubDate>Wed, 26 May 2004 22:26:38 GMT</pubDate>
			</item>
		<item>
			<title>TechEd: Day 3</title>
			<link>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/05/25.html#a99</link>
			<description>&lt;P&gt;&lt;IMG src=&quot;http://radio.weblogs.com/0105124/images/TechEd14.jpg&quot; align=right&gt;Well today is day two of the main TechEd conference. I happened to make it for the last half of the keynote speaker (Andrew Lees, Corporate Vice President, Microsoft Server Tools Marketing Worldwide). He announced a number of new things coming from Microsoft including that all developer tools will have &lt;A href=&quot;http://www.microsoft.com/presspass/press/2004/may04/05-25ExpandsCommitmentPR.asp&quot;&gt;10 years of product support&lt;/A&gt; and that SQL Server 2005 will include data encryption. Cool!&lt;/P&gt;
&lt;P&gt;Here are the sessions that I attended today:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;XML Today and Tomorrow 
&lt;LI&gt;ASP.NET: Building Secure Web Applications-Defenses and Countermeasures 
&lt;LI&gt;Visual Studio: Programming Middle-Tier Business Logic&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;As I was sitting in these talks, I noticed that it seemed to me that a large number of Microsoft speakers have some sort of British accent. I checked with my friend later in the week to see if he noticed the same thing and he verified my thinking. I&amp;#146;m curious to know why this is. Do they make for better speakers? More charismatic? I wondered.&lt;/P&gt;
&lt;P&gt;Today was the first day I went down to the exhibit area. I had a mission of just signing up for all the prize giveaways. Do my dismay, I found out when I got to some of the vendors (HP to name one) they made me go to three or more other vendors to get a card stamped before you could be entered for the prize. So I ran around the (huge) exhibit area and did as they instructed only to find out that I had to come back later in the week because I had to be present to win? What a scam! Some of the times they picked to give out the prize were the same time sessions were happening. Not cool at all vendors! From then on I only entered giveaways that they would notify me via e-mail or phone that I won.&lt;/P&gt;
&lt;P&gt;Also I went and had my first TechEd lunch in the massive lunch area today. I have never seen a dining area so big (see picture)! There were 970 tables that sat 10 people each and an army of waiters/ waitresses that corralled you to your table and served you iced-tea. I was very impressed how they pulled this off and the food was good and hot! No boxed lunched the entire week! They even had special lunches for vegetarians, vegans, lactose free and more! I also found out that the convention center donates any leftover food to two different shelters located in downtown San Diego. Very cool!&lt;/P&gt;
&lt;P&gt;Early that evening I went and attend the Regional .NET User Group Meeting (put on by the San Diego .NET Users Group) held at the Horton Plaza Westin. It was a very informative meeting featuring a speaker from the Microsoft VB.NET team and one from the C# team, each giving a separate talk on what is coming in VS 2005. Lots of cool things coming next year, but I have to say the VB.NET teem needs to add the refactoring that C# has!!!&lt;/P&gt;
&lt;P&gt;My friend Woody and I found out about a party that MSDN Magazine was throwing at The Bitter End. On our way there (in an attempt to crash it), we meet up with Ari Bixhorn (from VBTV fame at Microsoft) and someone convinced him to go to the party with us. He had a pass in his hotel room&amp;#133; without him I don&amp;#146;t think we could have gotten in. Thanks Ari!&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;Business Card Count =&amp;nbsp;1 | Free Shirt Count = 4&lt;/P&gt;
&lt;P&gt;For more pictures &lt;A href=&quot;http://vsdntips.com/dotNetDave/TechEd2004/Default.aspx&quot; target=_blank&gt;click here&lt;/A&gt;.&lt;/P&gt;
&lt;BR clear=all&gt;</description>
			<guid>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/05/25.html#a99</guid>
			<pubDate>Wed, 26 May 2004 01:32:05 GMT</pubDate>
			</item>
		<item>
			<title>TechEd: Day 2</title>
			<link>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/05/24.html#a97</link>
			<description>&lt;P&gt;&lt;IMG src=&quot;http://radio.weblogs.com/0105124/images/TechEd08.jpg&quot; align=right&gt;TechEd Day 2... well I arrived right after the keynote given by Steve Ballmer, which I hear was pretty good. He officially announced Web Services Enhancements (WSE) 2.0. To learn more&lt;A href=&quot;http://msdn.microsoft.com/webservices/building/wse/default.aspx&quot;&gt; click here&lt;/A&gt;. I also heard that the conference &amp;#147;over&amp;#148; sold out. There are 12,000 geeks in this place. WOW! I have never seen so many at one place in my life.&lt;/P&gt;
&lt;P&gt;The rest of my day was filled with going to the following sessions: &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Service Orientation and the Windows/.NET Developer 
&lt;LI&gt;Prescriptive Guidance-Juggling Web Services, WSE, .NET Remoting, System.EnterpriseServices, and MSMQ 
&lt;LI&gt;Applied Web Services in Hewlett Packard&apos;s Core eCommerce Solutions 
&lt;LI&gt;Best Practices for Dealing With State at Multiple Layers Within Your .NET Applications. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;All of these sessions were in the Connected Systems topic group. Unfortunately, most of them were kind of a let down, especially the first one. The last one was the best out of the bunch.&lt;/P&gt;
&lt;P&gt;I was impressed how nice the San Diego Convention Center people were and there were always (free) food and drinks (including bottled water) outside of the session rooms at all times. On my way out for the day I stopped by the TechEd store to pick up some shirts. 
&lt;P&gt;Free Shirt Count = 2&lt;/P&gt;
&lt;P&gt;For more pictures &lt;A href=&quot;http://vsdntips.com/dotNetDave/TechEd2004/Default.aspx&quot; target=_blank&gt;click here&lt;/A&gt;.&lt;/P&gt;TechEd store and purchased some Microsoft shirts. 
&lt;P&gt;&lt;/P&gt;
&lt;BR clear=all&gt;</description>
			<guid>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/05/24.html#a97</guid>
			<pubDate>Tue, 25 May 2004 06:26:09 GMT</pubDate>
			</item>
		<item>
			<title>TechEd: Day 1</title>
			<link>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/05/23.html#a96</link>
			<description>&lt;P&gt;&lt;IMG src=&quot;http://radio.weblogs.com/0105124/images/TechEd07.jpg&quot; align=right&gt; TechEd Day 1&amp;#133; actually the pre-conference day, but I did not go to that. Instead, I went to the INETA User Group Leader Summit on behalf of the user group that I help run called the &lt;A href=&quot;http://sddotnetdg.org&quot;&gt;San Diego .Net Developers Group&lt;/A&gt;. This meeting had over 70 user group leaders from around the country and a few from other countries. It was great to learn about how &lt;A href=&quot;http://ineta.org&quot;&gt;INETA&lt;/A&gt; can and is planning to help our user group. I meet some old friends and made some new contacts that I hope will be useful in the future for our group.&lt;/P&gt;
&lt;P&gt;Besides a cool bag of swag we received when we arrived, the meeting was followed by an open-bar cocktail party (see picture to the right) and another very cool bag of swag provided by MSDN.&lt;/P&gt;
&lt;P&gt;Business Card Count = 4 | Free Shirt Count = 3&lt;/P&gt;
&lt;P&gt;For more pictures &lt;A href=&quot;http://vsdntips.com/dotNetDave/TechEd2004/Default.aspx&quot; target=_blank&gt;click here&lt;/A&gt;.&lt;/P&gt;
&lt;BR clear=all&gt;</description>
			<guid>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/05/23.html#a96</guid>
			<pubDate>Mon, 24 May 2004 04:28:24 GMT</pubDate>
			</item>
		<item>
			<title>TechEd: Day 0</title>
			<link>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/05/22.html#a95</link>
			<description>&lt;P&gt;&lt;IMG src=&quot;http://radio.weblogs.com/0105124/images/TechEd02.jpg&quot; align=right&gt;If you did not know it, TechEd is in San Diego this year! I believe this is the biggest Microsoft conference here since the PDC in late 90&amp;#146;s. The best part is since it&amp;#146;s here, I get to go (thanks to INETA)! Who knows when we will get a Microsoft of this magnitude in San Diego again, so I decided to take pictures and write some of my experiences in my blog for every day that I go (7 days total).&lt;/P&gt;
&lt;P&gt;My TechEd experience actually started off the day before the pre-conference started (Saturday May 22, 2004) at a &amp;#147;Pre-Tech Ed Geeks Only Party&amp;#148; thrown by my very good friend Michele Leroux Bustamante (see in the picture to the right&amp;#133; the blonde) at her house in Bonita. The guests included lots of TechEd speakers, Microsoft RD&amp;#146;s and more! It was a very cool catered affair. I got to talk to some old friends and made some new ones. Any party is good when there is an open bar!&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;For more pictures &lt;A href=&quot;http://vsdntips.com/dotNetDave/TechEd2004/Default.aspx&quot; target=_blank&gt;click here&lt;/A&gt;.&lt;/P&gt;
&lt;BR clear=all&gt;</description>
			<guid>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/05/22.html#a95</guid>
			<pubDate>Sun, 23 May 2004 04:02:24 GMT</pubDate>
			</item>
		<item>
			<title>Mac OS Get a Trojan Horse!</title>
			<link>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/04/09.html#a90</link>
			<description>Okay, I just can&apos;t pass up promoting that the MAC has a trojan horse. I know that Windows has many more than the MAC but I still have to bring it up :-) &lt;A href=&quot;http://www.wired.com/news/mac/0,2125,63000,00.html&quot;&gt;Trojan Horse Attacks Mac OS X&lt;/A&gt;. A security company warns of malicious code that targets the operating system. It could be the start of a whole new world of pain for blithe Mac users. By Leander Kahney.</description>
			<guid>http://radio.weblogs.com/0105124/categories/dotnetdave/2004/04/09.html#a90</guid>
			<pubDate>Fri, 09 Apr 2004 22:32:59 GMT</pubDate>
			<source url="http://www.wired.com/news_drop/netcenter/netcenter.rdf">Wired News</source>
			</item>
		</channel>
	</rss>

