tag:blogger.com,1999:blog-55151562024-03-08T19:10:06.094-05:00Mark's StuffMy Foray Into Weblogging. Using this to store interesting items for later review.Mark Harrhttp://www.blogger.com/profile/05383352780900957345noreply@blogger.comBlogger181125tag:blogger.com,1999:blog-5515156.post-33939567749651893742010-10-14T10:58:00.000-04:002010-10-14T10:58:49.328-04:00An (Almost) Complete List of Global CSS Reset Styles | kmsm<a href="http://www.kmsm.ca/2010/an-almost-complete-list-of-global-css-reset-styles/">An (Almost) Complete List of Global CSS Reset Styles | kmsm</a><br /><br /><a href="http://www.blogger.com/blog-this.g?t=&u=http%3A//www.kmsm.ca/2010/an-almost-complete-list-of-global-css-reset-styles/&n=An%20%28Almost%29%20Complete%20List%20of%20Global%20CSS%20Reset%20Styles%20%7C%20kmsm&source=chrome"></a><div><span class="Apple-style-span" style="font-family: 'Trebuchet MS'; color: rgb(48, 47, 47); line-height: 22px; "><blockquote>6 tried-and-true methods, 2 newer minified approaches, and finally a new HTML5 CSS reset style.</blockquote></span></div>Mark Harrhttp://www.blogger.com/profile/05383352780900957345noreply@blogger.com0tag:blogger.com,1999:blog-5515156.post-78659906205581791292009-12-03T10:30:00.005-05:002009-12-03T10:36:38.756-05:00"Three screens and the cloud"Interesting blog article from Keith Elder about information from PDC 2009:<br /><br /><a href="http://keithelder.net/blog/archive/2009/11/30/.net-4.0-start-reading-between-the-lines-ndash-learn.aspx">.Net 4.0 - Start Reading Between the Lines – Learn Silverlight and Entity Framework</a><br /><br /><br /><blockquote><br />Here's a quote: "Three screens and the cloud"<br /><br />We heard this over and over at PDC. Let's read between the lines a bit shall we?<br /><br />I have three screens: Windows Desktop, Web, Mobile. Ok, if I want to write an app that will run on all three what do I as a developer have to do today? Let’s see, well, we could write a ClickOnce deployed Smart Client for the Desktop that uses WPF. For the web, well, we would have to switch gears completely and rewrite our app in Asp.Net or Asp.Net MVC to get that screen. For mobile, even tougher, we have to rewrite the app again to get the mobile version. Let’s think about this differently again. Think about it, how many technologies would a developer have to know in order to an application for these three different screens; WPF, JavaScript, HTML, and CSS will be used just to name a few.<br /><br />Now, let's switch gears. What if I used Silverlight 4 to write my app? Well, it could work in the browser no doubt. Hmmm, it could also work on the Desktop using the out of browser experience with elevated permissions. What about mobile?<br /><br />"Wait, didn’t you just say Keith that at Mix we’ll get to see Windows Mobile 7?"<br /><br />Yes!<br /><br />"And hasn't there already been talk of using Silverlight for mobile?"<br /><br />Yes!<br /><br />"Aha! Three screens with Silverlight, I get it!"<br /><br />That's right my friendly .Net developers the writing is on the wall. The vision of WPF/e (WPF Everywhere) is about to come true. We've waited for years but it is just around the corner as I predicted would happen years ago.<br /></blockquote>Mark Harrhttp://www.blogger.com/profile/05383352780900957345noreply@blogger.com0tag:blogger.com,1999:blog-5515156.post-50550265583573144452009-10-26T08:47:00.000-04:002009-10-26T09:07:13.662-04:00SQL Server AWE<a href="http://www.blogger.com/"></a>Ran across this problem running SQL Server 2005 Ent edition on Windows Server 2003 64-bit with 8gb memory. Even turning on AWE, it still would only use 3gb memory.<br /><br />Turns out problem is that the account that SQL Server was running under does not have permissions to lock pages in memory.<br /><br /><br /><br /><ol><br /><li>Run gpedit.msc. On the left hand pane, expand Computer Configuration, expand Windows Settings, expand Security Settings, expand Local Policies, select User Rights Assignment</li><br /><li>On the right hand pane, find Lock pages in memory and double click, then add your Sql Server startup account into Local Security Policy Setting tab;</li><br /><li>In Sql Server Management Studio, run:<br /><pre>sp_configure ’show advanced’, 1<br /><br />reconfigure<br /><br />sp_configure ‘awe enabled’, 1<br /><br />reconfigure</pre>Ignore the error message below, if you have it.<br /><pre>Msg 5845, Level 16, State 1, Line 1<br /><br />Address Windowing Extensions (AWE) requires<br />the ‘lock pages in memory’ privilege which is<br />not currently present in the access token of<br />the process.</pre></li><br /><li>Reboot. </li></ol>Updated 10/26/2009:<br />While looking up this post for helping an friend with the same problem, I noticed that this now works for Standard edition as well as Enterprise edition. You need Cumulative Update package 2 for SQL Server 2008 Service Pack 1 or Cumulative Update package 4 for SQL Server 2005 Service Pack 3 to provide support for Locked Pages in Standard edition.<br /><a href="http://blogs.msdn.com/psssql/archive/2009/05/19/an-update-for-standard-sku-support-for-locked-pages.aspx">http://blogs.msdn.com/psssql/archive/2009/05/19/an-update-for-standard-sku-support-for-locked-pages.aspx</a><br /><br /><p><br /><br /></p>Mark Harrhttp://www.blogger.com/profile/05383352780900957345noreply@blogger.com0tag:blogger.com,1999:blog-5515156.post-77804164058078063222009-09-21T07:49:00.001-04:002009-09-21T07:49:01.466-04:00Fixing Error 1603 on MSI installs<p>For some reason that I have not been able to figure out yet, I have been having problems with <em>some </em>software installations failing on my Windows 7 system with a message like this (or similar to this):</p> <p><a href="http://lh5.ggpht.com/_o4zwxiO3ScU/SrdoJavk4mI/AAAAAAAAABU/jSLpMeMb7rk/s1600-h/image3.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_o4zwxiO3ScU/SrdoJxjdCZI/AAAAAAAAABY/Fq4a5zAxB28/image_thumb1.png?imgmax=800" width="456" height="185" /></a> </p> <p>In this case, it was installing Intellipoint, but I had the problem with installing Mozy Backup client, VirtualBox, and a couple other apps that I don't remember right now.  I was able to fix each of these installations individually, and will describe it here (so that I can find it again when I need it).  But this does not seem to be a widespread problem, and I am still not sure why my system does this and not (many) others.</p> <p>I used the instructions on John McBride's blog (<a href="http://www.sharepoint-stuff.com/?p=404" target="_blank">Virtual Box 3 and Windows 7 (Making it work!)</a>), with a couple of additional items relating to logging the install and finding the msi installation package.</p> <ol> <li>First, we need to see the log to see what caused the 1603 error above.  By default, any system does not keep the installation logs or the installer files when it fails.  So first we need to have Windows Installer log its steps so the we can see what caused the error.  Using instructions from MS Support (<a href="http://support.microsoft.com/kb/223300" target="_blank">How to enable Windows Installer logging</a>) I edit the registry with the following entry: <br /><code> <br />REGEDIT4 <br />[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer] <br />"Logging"="voicewarmup" <br /> <br /></code>Or you can save this to a file and dbl-click it to install it in your registry.  This will create a log file in your temp directory for each installation using Windows installer.  <br /></li> <li>So now run your install that will fail again.  <strong>Don't answer the error message yet!</strong>  When you answer, it will clean up the installation files and you may want to grab those files first. <br /> <br />Did you start the installation by running an .msi file?  Then that is good, you have the file that you need to possibly fix.  But it is likely you started using an .exe file, and it is a compressed self-extracting file, the .msi is packed in that file with other files for the setup process.  We want the files that were extracted. <br /> <br />Go to your Temp directory to open the log file.  <em>(Tip: at least in Vista and Win7, you can easily get to your Temp directory by clicking Start button and typing "%Temp%" without the dbl-quotes; hit enter and you're there.)</em>  The log file will be named Msi*.log, and probably the most current file is the one you are after.  Open it in your favorite <a href="http://www.textpad.com/" target="_blank">text editor</a>. <br /> <br />In the log file, within the first 20 lines or so, it will tell you where the temp directory that the files were extracted.  In this case, it's a line like this: <br /> <br /><code>Package we're running from ==> C:\Users\Mark\AppData\Local\Temp\msiB374.tmp\mozy.msi</code> <br /> <br />This shows our installation files are in C:\Users\Mark\AppData\Local\Temp\msiB374.tmp\, so go there are copy the directory to another directory so you have copies of the files to work with. <br /> <br />Now you can answer the error message and let the installation clean up after itself.  <br /></li> <li>(The rest of this is from John McBride's blog (<a href="http://www.sharepoint-stuff.com/?p=404" target="_blank">Virtual Box 3 and Windows 7 (Making it work!)</a>).) <br />You will need Orca MSI Editor from the Platform SDK installation ( I used Windows 7 Platform SDK).  For these particular errors, it a problem with the DIFXAPP drivers in the installation package.  I got updated files DIFxApp.dll and DIFxAppA.dll from the Windows Driver Kit for Windows 7 and Windows Server 2008 (from MSDN Downloads). </li> <li>Open the MSI file in Orca MSI Editor.  Select the Binary table on the left.  You should see the 2 dll's listed on the right. <br /><a href="http://lh6.ggpht.com/_o4zwxiO3ScU/SrdoKSDBkmI/AAAAAAAAABc/YLaawPYxIk0/s1600-h/image%5B4%5D.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_o4zwxiO3ScU/SrdoLDFLCOI/AAAAAAAAABg/fHwm6ITyMj4/image_thumb%5B1%5D.png?imgmax=800" width="484" height="412" /></a> </li> <li>Delete each of these rows: right-click on the row and select "Drop Row".</li> <li>Right click in empty area on the right side and select "Add Row".  Navigate to the location of the updated drivers from the Drivers Library (C:\WinDDK\7100.0.0\redist\DIFx\DIFxApp\WixLib\x86).  Add both the DIFxApp.dll and DIFxAppA.dll files, making sure the row name is the same as the DLL file name.</li> <li>Save the MSI file.</li> <li>Install. <br /></li> </ol> <p>That's it.  Each of the 4 installations worked for me then. </p> Mark Harrhttp://www.blogger.com/profile/05383352780900957345noreply@blogger.com0tag:blogger.com,1999:blog-5515156.post-82182592351960428672009-08-18T17:43:00.001-04:002009-08-18T17:43:51.269-04:00IE6 Retirement Schedule Is OK by me<p>There has been some uproar about an <a title="eWeek: Microsoft Internet Explorer 6 Support Continues, Despite Calls for Phase-Out" href="http://www.eweek.com/c/a/Windows/Microsoft-Internet-Explorer-6-Support-Continues-Despite-Calls-for-PhaseOut-307122/" target="_blank">article</a> that Microsoft will still support IE6 until 2014 (ref: <a title="http://twitter.com/JimHolmes/statuses/3388282884" href="http://twitter.com/JimHolmes/statuses/3388282884">http://twitter.com/JimHolmes/statuses/3388282884</a>, and RT dozens of times.)</p> <p>I'm sorry, but I cannot get upset about this news article.  Back in the 90's, we whined and complained that Microsoft (and other vendors) were coming out too fast with software releases, and not supporting releases long enough. Remember that VB 2.0 was only out 6 months before VB 3.0 came out.  And MS Word 98 was replaced by Office 2000 only 8 months after its release.  Microsoft heard and understood, and came out with their <a href="http://support.microsoft.com/gp/lifesupsps/" target="_blank">Lifecycle Support policy</a> so that we could have some semblance of scheduled lifetime for software releases.</p> <p>And now we want to whine that Microsoft is following that policy?  I'm sorry, but I'm not going to follow that.  We cannot complain because there wasn't a planned policy, then complain that we don't like the standard policy.  No, Microsoft is OK on this one.</p> <p>Now, I fully agree that we should not be using IE6.  We need to get users to safer and better platforms, and get them on IE8 whenever possible.  And the sooner the better, especially for relieving our web site development headaches.  The faster the market share for IE6 approaches zero will be good for all of us.  </p> <p>But as long as there are users using IE6, for whatever reason, I want Microsoft to support it.  I want critical security patches and fixes dealt with and deployed as quickly as possible, and any performance enhancements or rendering fixes continued to be developed.  </p> <p>And as long there are significant share of our users still using IE6 (20% of total IE population, that I last heard of), we as developers still need to account for those users and make sure our sites don't leave them out.  We develop software for our businesses, and for our business's customers, not for our standards of elegance.  We need to continue to support or users and customers, not ridicule or demean them.</p> Mark Harrhttp://www.blogger.com/profile/05383352780900957345noreply@blogger.com0tag:blogger.com,1999:blog-5515156.post-73716097786873909022009-07-31T12:49:00.002-04:002009-08-01T13:01:45.509-04:00Windows Anytime Upgrade and Family Pack Pricing<p>Microsoft announces Windows 7 Family pack pricing and Anytime upgrade pricing.</p><p>$149 for 3 family Home Premium licenses is pretty good, especially considering that 1 Home Premium license is $199. Or is the 3 licenses only for upgrades? Not sure, I've posted the question to the Windows team blog post.</p><p><a href="http://windowsteamblog.com/blogs/windows7/archive/2009/07/31/windows-anytime-upgrade-and-family-pack-pricing.aspx#comments">Windows Anytime Upgrade and Family Pack Pricing - Windows 7 Team Blog - The Windows Blog</a></p><p>Updated 8/1: Family Pack is upgrade license only. Raelize that you will only be able to upgrade from Vista SP1 or XP SP3, and it must be currently activated. </p><p> </p>Mark Harrhttp://www.blogger.com/profile/05383352780900957345noreply@blogger.com0tag:blogger.com,1999:blog-5515156.post-87063987095224897042009-07-06T10:00:00.000-04:002009-07-06T10:23:17.088-04:00I'm A VB!<p> </p> <p><a href="http://blogs.msdn.com/vbteam/pages/i-m-a-vb-mark-harr.aspx" target="_blank">I'm A VB: Mark Harr</a></p> <p>My profile was just accepted on the Microsoft Visual Basic Team's "<a href="http://imavb.net/" target="_blank">I'm a VB</a>" campaign.  </p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5515156.post-83299360428776572222009-06-24T07:51:00.001-04:002009-06-24T07:51:11.810-04:00Tip: Get the name of the calling method<p>Very handy for using common logging or exception handling routines. </p> <p>This code is corrected from original article, and added to also get the calling function.</p> <blockquote> <pre>using System.Diagnostics;<br /> <br />void Log(string eventMessage)<br />{ <br /><br />   Console.WriteLine("Event logged by " + (new StackTrace().GetFrame(1).GetMethod().Name);<br /> Console.WriteLine("Module: " + (new StackTrace().GetFrame(1).GetMethod().Module.Name)<br /> <br /><br /><br />   Console.WriteLine("Event: " + eventMessage);<br /><br />}</pre><br /></blockquote><br /><br /><p><a href="http://blogs.msdn.com/webdevelopertips/archive/2009/06/23/tip-83-did-you-know-you-can-get-the-name-of-the-calling-method-from-the-stack-using-reflection.aspx">Tips & Tricks for ASP.NET, IIS, and Visual Web Developer : Tip #83: Did you know... You can get the name of the calling method from the stack using reflection?</a></p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5515156.post-36891333170318409652009-06-17T11:42:00.001-04:002009-06-17T11:42:00.361-04:00ADO.NET team: System.Data.OracleClient Deprecated<p>Microsoft ADO.Net team (Himanshu Vasishth, Program Manager) announces that the ADO.Net Oracle provider will no longer be supplied by Microsoft.  Recommended to use 3rd party provider.</p> <p><a href="http://blogs.msdn.com/adonet/archive/2009/06/15/system-data-oracleclient-update.aspx">ADO.NET team blog : System.Data.OracleClient Update</a></p> <p>Possible alternatives are:</p> <ul style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"> <li>Oracle's ODP.Net: <br /><a href="http://www.oracle.com/technology/tech/windows/odpnet/ODP.NET-FOV.html">http://www.oracle.com/technology/tech/windows/odpnet/ODP.NET-FOV.html</a> </li> <li>Data Direct: <br /><a title="http://www.datadirect.com/products/net/net_for_oracle/index.ssp" href="http://www.datadirect.com/products/net/net_for_oracle/index.ssp">http://www.datadirect.com/products/net/net_for_oracle/index.ssp</a> </li> <li>DevArt: <br /><a title="http://www.devart.com/dotconnect/oracle/" href="http://www.devart.com/dotconnect/oracle/">http://www.devart.com/dotconnect/oracle/</a> </li> </ul> Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-5515156.post-54347270041634984832009-06-15T23:02:00.001-04:002009-06-17T10:28:51.439-04:00Interesting problem: IIS file download = 0 bytes<p>I ran into an interesting problem at a client site the other day.  Another developer group had written and installed a ASP.Net application (Visual Studio 2008, .Net Framework 3.5 SP1, Windows Server 2003 R2, SQL Server 2005).  Without divulging too many details, let's just say the application had a public site where users could upload a file, and an internal admin site where the internal user could download the file.  The file is being stored in the database in a varbinary(max) column.</p> <p>After the sites were installed, the internal user had a problem downloading the file; it always came back as 0 bytes.  It did not matter the file type (pdfs and word docs were used), browser type (same for IE6 (standard for company), IE7, IE8, Firefox 3.x, Chrome, Opera , Safari on Windows).  The file was definitely in the database, and the original developer wrote a Windows desktop app to download the file as a temporary workaround.  The original developer swore the file download it worked just fine on their servers, and brought in a more experienced consultant to try to help diagnose the problem.  I was at this client site on another project, and was asked to take a look to see if I could spot anything.</p> <p>After a few false starts doing some troubleshooting (the original developer said the VS project was a web site project, and had the code-behind files in the web directory, so we would modify the .cs file to try to track the problem, but had no results; turns out it was a web application project, and we were not recompiling the project), we did confirm the byte array from the database field was being populated.  The code was using Response.BinaryWrite, and seemed to be setting the proper headers and sending the data.  We look at the IIS web site settings over and over, trying to find some clue.  </p> <p>The server the web application was installed on did have other live applications running, so our debugging the production server was limited so as to not affect the other apps. Our next attempt was to setup another Windows IIS server (virtual, on MS Virtual Server) and install the web site app on there.  The file download worked just fine there.  So it appears that the application is OK, it must be an IIS setting causing the problem.  Now that we had a server we knew it worked on, I took the metabase.xml files from both servers and worked to compare them.</p> <p>That was when I saw the problem: HTTP Compression was turned on the first server.  We had missed it on the IIS Settings because that (the "Service" tab) is only on the property dialog for the Web Sites folder, not on the web sites themselves, and not on the server settings.  Here is the dialog window:</p> <p><a href="http://lh6.ggpht.com/_diqRsFYsvAI/Sjj31z3y3HI/AAAAAAAAAHM/feU7gnLUzDk/s1600-h/clip_image002%5B4%5D.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://lh6.ggpht.com/_diqRsFYsvAI/Sjj32uxrMhI/AAAAAAAAAHQ/y8Z4Hqdt3f8/clip_image002_thumb%5B1%5D.jpg?imgmax=800" width="380" height="369" /></a></p> <p>Turning that off did solve the download file problem, but the client was uneasy about turning it off (understandably) since it was likely turned as part of the other applications that was running on that server, and they did not want to risk that apps.</p> <p>Although I knew it would not affect the other apps to turn off HTTP compression, I looked further into it and saw that HTTP compression can be turned on or off for the entire server, by web site, by directory, by file type, or by individual page, all by using adsutil commands.  I also found a .cmd file in the AdminScript directory of the server turning on HTTP compression, so I modified it to turn off compression for the web site:</p> <p></p> <pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 625px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px"><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px">CSCRIPT.EXE ADSUTIL.VBS <span style="color: #0000ff">SET</span> W3SVC/Filters/Compression/GZIP/HcScriptFileExtensions "<span style="color: #8b0000">asp</span>" "<span style="color: #8b0000">dll</span>" "<span style="color: #8b0000">exe</span>" "<span style="color: #8b0000">pdf</span>" "<span style="color: #8b0000">aspx</span>" "<span style="color: #8b0000">svc</span>"<br /></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px">CSCRIPT.EXE ADSUTIL.VBS <span style="color: #0000ff">SET</span> W3SVC/Filters/Compression/DEFLATE/HcScriptFileExtensions "<span style="color: #8b0000">asp</span>" "<span style="color: #8b0000">dll</span>" "<span style="color: #8b0000">exe</span>" "<span style="color: #8b0000">pdf</span>" "<span style="color: #8b0000">aspx</span>" "<span style="color: #8b0000">svc</span>"<br /></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px">CSCRIPT.EXE ADSUTIL.VBS <span style="color: #0000ff">SET</span> W3SVC/Filters/Compression/GZIP/HcDynamicCompressionLevel 9<br /></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px">CSCRIPT.EXE ADSUTIL.VBS <span style="color: #0000ff">SET</span> W3SVC/Filters/Compression/DEFLATE/HcDynamicCompressionLevel 9<br /></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px">CSCRIPT.EXE ADSUTIL.VBS <span style="color: #0000ff">SET</span> W3SVC/Filters/Compression/GZIP/HcStaticCompressionLevel 9<br /></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px">CSCRIPT.EXE ADSUTIL.VBS <span style="color: #0000ff">SET</span> W3SVC/Filters/Compression/DEFLATE/HcStaticCompressionLevel 9<br /></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px">CSCRIPT.EXE ADSUTIL.VBS <span style="color: #0000ff">SET</span> w3SVC/Filters/Compression/Parameters/HcDoDynamicCompression true <br /></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px">CSCRIPT.EXE ADSUTIL.VBS <span style="color: #0000ff">SET</span> w3SVC/Filters/Compression/Parameters/HcDoStaticCompression true <br /></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><span style="color: #0000ff">REM</span> Added exclusion <span style="color: #0000ff">for</span> careeradmin site; mark harr; 6/3/2009<br /></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px">CSCRIPT.EXE ADSUTIL.VBS <span style="color: #0000ff">SET</span> W3SVC/2129524648/root/DoDynamicCompression false<br /></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"></pre></pre><br /><p>That solved the issue.  But there were a couple other interesting things:</p><br /><ul style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"><br /> <li>I first looked to turn off compression for just the file types (pdf, etc), but it turns out that IIS determines if compression will be done based on the requested file suffix, not the response headers. So since the file was downloaded from a postback to index.aspx, turning off compression on pdf did not have any affect. </li><br /> <li>Then I looked to turn off just for the page doing the download. But since the site was built with a single page (index.aspx) and loading different custom controls (ascx), I could not differentiate the page for IIS. </li><br /> <li>So I just turned off http compression for the admin site.  Figure that was not bad, since the site will only be accessed internally, and not likely over the internet, the lack of http compression will not be an issue.</li><br /> <li>After I finished this, I came up with the thought that perhaps adding a "Response-encoding: gzip" header with the file download may have also solved the problem.  IIS may have already setup that header when it determined it was doing http compression, and the code may have been clearing that header when it did the Response.Clear command before setting up its BinaryWrite.  But the code putting that header would need to ensure that compression was happening and only add the encoding header when desired.  Sometime when I have a few hours to look at that, I will see if that technique will work. </li><br /></ul>Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-5515156.post-20706881989689747492009-06-12T10:56:00.001-04:002009-06-12T10:56:43.504-04:00Using Windows 7 and Vista features in .Net code<p> <br /><strong><em>Just released from Microsoft:</em></strong></p> <p><a href="http://code.msdn.microsoft.com/WindowsAPICodePack">Windows� API Code Pack for Microsoft� .NET Framework (v0.90) - Home</a></p> <p><a href="http://code.msdn.microsoft.com/VistaBridge">Vista Bridge Sample Library 1.4</a></p> <p>Some of the newer features in Vista and Windows 7 are not exposed in the .Net Framework (yet).  This package of source code from Microsoft shows how to access and use these features from managed code.  Some of the features here are: </p> <blockquote> <p>Windows 7 Taskbar Jump Lists, Icon Overlay, Progress Bar, Tabbed Thumbnails, and Thumbnail Toolbars. </p> <p>Known Folders, Windows 7 Libraries, non-file system containers, and a hierarchy of Shell Namespace entities. </p> <p>Windows 7 Explorer Browser Control. </p> <p>Shell property system. </p> <p>Windows Vista and Windows 7 Common File Dialogs, including custom controls. </p> <p>Windows Vista and Windows 7 Task Dialogs. </p> <p>Direct3D 11.0, Direct3D 10.1/10.0, DXGI 1.0/1.1, Direct2D 1.0, DirectWrite, Windows Imaging Component (WIC) APIs. (DirectWrite and WIC have partial support) </p> <p>Sensor Platform APIs </p> <p>Extended Linguistic Services APIs </p> <p>Power Management APIs </p> <p>Application Restart and Recovery APIs </p> <p>Network List Manager APIs </p> <p>Command Link control and System defined Shell icons. </p></blockquote> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5515156.post-38715533315074515652009-06-05T12:09:00.001-04:002009-06-05T12:09:07.024-04:00SEO on Dynamic Pages<p> </p> <p><a href="http://www.seoracle.com/seo-tutorial-optimization/seo-dynamic-pages-url">SEO on Dynamic Pages - URL rewrites, 301 Redirects, and more SEO on Dynamic Pages</a></p> <p>Good article on enhancing SEO on catalog and other dynamic pages.</p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5515156.post-45320759317084823292009-05-26T08:28:00.001-04:002009-05-26T08:28:54.896-04:00Windows 7 tips, tricks and secrets<p> </p> <p><a href="http://www.techradar.com/news/software/operating-systems/50-seriously-useful-windows-7-tips-528483">50 seriously useful Windows 7 tips, tricks and secrets | News | TechRadar UK</a></p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5515156.post-61318210827079211852009-05-17T12:13:00.001-04:002009-05-17T12:13:31.246-04:00Windows 7 RC: After 2 weeks<p>Well, I have been running Windows 7 RC for 2 weeks now on my main production machine.  Overall, it is very good: fast, pretty stable, and the new features are good.  </p> <p>I especially like the new taskbar.  Reading the descriptions of it before I installed Win7, I was a little leery that it was better, that it was just different to be different.  But after working with it, it really is better.  I was worried that it would be confusing having both the "quick links" and taskbar together, but it really is not a problem; the active apps have an "aero" frame around them, and the unlaunched buttons do not.  I like the aero preview windows that popup when you hover the mouse over the button, but especially like when you hover the mouse over the preview window, the rest of the windows go "aero ghost" mode, so that window is the only one visible.</p> <p>Problems so far are few, but here's what I have:</p> <table border="0" cellspacing="0" cellpadding="2" width="400"><tbody> <tr> <td valign="top" width="398"> <p>*  My Bluetooth mouse (MS Mouse Presenter 8000) frequently disconnects.  Sometimes it will reconnect in about 15 seconds or so, but most of the time I have to power cycle the mouse.  Hope a fix or updated mouse driver fixes that soon.</p> </td> </tr> <tr> <td valign="top" width="398">*  Windows Live Photo Gallery screensaver crashes and locks up.  I can get back by hitting Ctrl-Alt-Del, then Cancel and the system window then pops up about an unresponsive application.  So far, that is only screensaver that has a problem.</td> </tr> <tr> <td valign="top" width="398">*  My Sierra Wireless AirCard 875U cellular modem needs to use the old Sierra 3GWatcher app, and Win7 does not "recognize" the network.  It works, and I connect OK, it is just that Network Center says it is "Unidentified Network", and I cannot properly set firewall options (public/private) or name.  I understand Win7 has newer drivers that treat cell modems like full fledged network adapters (like WiFi adapters), but not for my old(er) device.</td> </tr> </tbody></table> <p>And one changed item I am not completely sold on yet: taking out the Sidebar frame.  Sidebar gadgets are now undocked and floating (like you could in Vista if you dragged it from the frame).  But I liked how the Sidebar frame gave me "pages" for gadgets, and I could have a dozen or so gadgets ready when needed, but not cluttering up the desktop.  But now, floating gadgets are the only option. </p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5515156.post-84960987016086648582009-05-14T12:40:00.001-04:002009-05-14T12:40:05.215-04:00New version ASP.NET AJAX Control Toolkit<p>New version (3.0.30512) ASP.Net Ajax Control toolkit.  Added 3 new controls, including an HTMLEditor and ComboBox (windows-like, dropdownlist and textbox). Also 20 bugfixes to existing controls.</p> <p><a href="http://www.asp.net/ajax/AjaxControlToolkit/Samples/">ASP.NET AJAX Control Toolkit</a></p> <p>Note that these controls work only with VS 2008 and .Net Framework 3.5.</p> <p>Thanks to <a href="http://twitter.com/shanselman" target="_blank">@shanselman</a> who twittered this announcement.</p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5515156.post-17574939013960417142009-05-06T09:53:00.001-04:002009-05-06T09:53:03.369-04:00WM 6.1 Hot Fix for Sending SMTP E-mail<p> </p> <p><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=d9d71b2e-d2dd-44f2-86e5-1e53aad7fb7a&displaylang=en">MS KB958639 Download details: WM 6.1 Hot Fix for Sending POP and IMAP E-mail</a></p> <p>I was having a problem with Gmail apps on my WinMobile device, where I could not send email.  The only way around it was to delete and recreate the account.  Turns out it is a bug in WM 6.1, and this fixes the problem.</p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5515156.post-81330660134230650882009-04-02T12:42:00.001-04:002009-04-02T12:42:31.823-04:00Google uncloaks once-secret server<p> Interesting look at Google's server designs, both the individual server (battery on the server instead of UPS, velcro wraps) and the container design.</p> <p><a href="http://news.cnet.com/8301-1001_3-10209580-92.html?part=rss&subj=news&tag=2547-1_3-0-20">Google uncloaks once-secret server | Business Tech - CNET News</a></p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5515156.post-61763975673981397172009-03-22T11:42:00.001-04:002009-03-22T11:42:26.876-04:00Keep Vista from Changing Folder View : Steve Smith's Blog<p>For future reference.  This actually works! </p> <p><a href="http://stevesmithblog.com/blog/keep-vista-from-changing-folder-view/">Keep Vista from Changing Folder View : Steve Smith's Blog</a></p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5515156.post-4635159121255077822009-03-20T13:11:00.001-04:002009-03-20T13:11:31.930-04:00Microsoft Tag now can do black and white<p> Microsoft Tag can now do black and white tags, as well as color.  All the current readers already can handle the b&w.  And you can use both a b&w and color tag for same link.</p> <table border="0" cellspacing="0" cellpadding="2" width="442"><tbody> <tr> <td valign="top" width="144"><a href="http://lh4.ggpht.com/_diqRsFYsvAI/ScPOPpCmI4I/AAAAAAAAAG8/aSaEyF7FdSU/s1600-h/image%5B2%5D.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_diqRsFYsvAI/ScPOQB0yojI/AAAAAAAAAHA/gTdVDEwWW9E/image_thumb.png?imgmax=800" width="72" height="75" /></a></td> <td width="124"> <p align="center">=</p> </td> <td valign="top" width="172"> <p align="right"><a href="http://lh6.ggpht.com/_diqRsFYsvAI/ScPOQcOd2rI/AAAAAAAAAHE/h2rKnjF972g/s1600-h/image%5B6%5D.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_diqRsFYsvAI/ScPOQ2a1-kI/AAAAAAAAAHI/CuDEmx_UEPE/image_thumb%5B2%5D.png?imgmax=800" width="76" height="77" /></a></p> </td> </tr> </tbody></table> <p>  </p> <p><a href="http://blogs.msdn.com/tag/archive/2009/03/20/feature-microsoft-tag-black-and-white.aspx">Microsoft Tag : Feature: Microsoft Tag Black and white!</a></p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5515156.post-88757458673716465372009-03-04T12:33:00.001-05:002009-03-04T12:33:34.074-05:00NOD32 changes licensing<p>Looks like Nod32, my favorite recommended antivirus solution, is changing their licensing just a bit, but will cost me bucks.</p> <p>First, a little about what I am trying to do.  I run a pretty decent laptop with Windows Vista, 4gb ram, and anywhere from 2 to 7 hard drives (1 internal, of course, and the others on USB).  As a software development consultant, I run a number of virtual machines. Some are for unique setups for clients (their VPN, or older version of Visual Studio or Windows); some for testing purposes (e.g. clean systems for testing setup packages, older browser versions); some with server OS's (Windows server 2003 or 2008) with older SQL server, or SharePoint development.</p> <p>Trying to have an antivirus solution properly licensed for all these virtual machines is a pain.  The only av product I found that allows virtual machines to share the same license as the host is <a href="http://www.eset.com/" target="_blank">Nod32</a>.  So besides the very <a href="http://www.eset.com/products/nod32.php" target="_blank">reasons</a> to use this product (<a href="http://www.eset.com/products/eset_performance_advantages.php" target="_blank">fastest</a>, smallest memory footprint (100mb), and best <a href="http://www.eset.com/products/compare_heuristic_detection.php" target="_blank">detection</a> (it heuristic engine has <em>never</em> missed an in-the-wild virus, <a href="http://www.eset.com/products/compare-NOD32-vs-competition.php#missed_in_the_wild_graph" target="_blank">ref</a>), having to buy only one license makes it a very good fit for me.  And it is one of the few client antivirus products that will install on server OS's.</p> <p>Starting with their version 3.0, the server OS's were no longer permitted for a single-user license, only a business edition license could install Nod32 v3 on Windows Server 2000/2003.  This was not too much of a problem, as we were permitted to use the previous version, v2.7, on the servers and was still supported.</p> <p>Now here is the new problem.  Nod32 v4 was released this week.  And when my license it renewed, the new username will not be permitted for v2.7.  Nod32 v4 will still not allow installation on Windows servers with single-user license.  I will have to buy a new business edition license to be able to install on Windows servers on virtual machines.  But business licenses have to be purchased with a minimum of 5 users, at (currently) $42.99/user ($214.95), as compared to $39.99 for home/single-user.  So in order to install Nod32 on my server VM's, I need to buy for 4 unneeded/unused users.</p> <p>My options are somewhat limited.  No one else allows licensing on virtual machines except as a separate machine and license (and since I have about 15 virtual machines, buying licenses for them is not an option).  AVG free edition is not an option, because it does install on server OS's.  Looks like I have to buy wasted business user licenses.</p> Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-5515156.post-52464885685079104192009-02-15T10:40:00.001-05:002009-02-15T10:40:59.916-05:00Microsoft Recite : Announcement - Microsoft Recite - Technology Preview<p>Cool new WinMobile app released by Microsoft.  </p> <blockquote> <p>Microsoft Recite's voice search makes it easy to retrieve your stored thoughts and notes by using <b>voice pattern matching</b>. It analyzes the patterns in your speech and finds matches between two recordings -- the notes you stored on your phone, and the search you do using your voice. With Recite you can store thousands of spoken notes, and then later retrieve the notes you want based on a match with your search term(s). This is different from speech recognition, which has to accurately convert spoken words to application-readable input. </p> </blockquote> <p><a href="http://blogs.msdn.com/recite/archive/2009/02/15/announcement-microsoft-recite-technology-preview.aspx">Microsoft Recite : Announcement - Microsoft Recite - Technology Preview</a></p> <p>It would be <em>really </em>cool if this integrated with Outlook to create appts, events, notes.</p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5515156.post-56642145472046042072008-12-17T14:26:00.001-05:002008-12-17T14:26:18.424-05:00IE Critical Update<p>Microsoft has released the ultra-important <a target="_blank" href="http://www.microsoft.com/technet/security/bulletin/ms08-078.mspx">IE Update</a>.  </p> <p>Run your Windows Update ASAP (if not sooner).</p> <p>This fixes the recent exploits that have been working for the past 5 days or so.</p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5515156.post-70600275299032563822008-12-04T10:44:00.001-05:002008-12-04T10:44:24.971-05:00A little geek humor at Microsoft<p>Just discovered a little geek humor at Microsoft.  </p> <p>I have the unfortunate task of upgrading a VB6 app to run properly under Vista.  No, I could not upgrade the app to .Net, just "fix" the VB app and its installer.  So I'm installing VB6 in a Vista virtual machine (do not want to mess up my host machine), and having a little problem when starting VB, an error that mscomctl.ocx is not registered.  But it is, and I hunt down <a href="http://www.dependencywalker.com/" target="_blank">Dependency Walker</a> (Depends) to make sure.  It's OK, and its components are OK, also.  </p> <p>So I run profiler from Depends to start up VB6 and see what happens.  Find an error message*, and stop the profiler. That in turn stops the VB6 application, and profiler dutifully logs the exit return code, and helpfully translates the exit code to hex:</p> <blockquote> <p>Terminating process by user's request. <br />Exited "VB6.EXE" (process 0xB84) with code 57005 (0xDEAD).</p> </blockquote> <p>Had to chuckle.  And then went to calc.exe to confirm, decimal 57005 is hex 0xDEAD.</p> <p>(*for what it's worth, the error is "GetProcAddress(0x75E70000 [KERNEL32.DLL], "IsTNT") called from "MSCOMCTL.OCX" at address 0x27588909 and returned NULL. Error: The specified procedure could not be found (127)."  Now I got to got figure that one out.) </p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5515156.post-25280210365895270412008-12-02T16:01:00.001-05:002008-12-02T16:01:01.496-05:00New ASP.NET Charting Control<p> </p> <p>Microsoft has now released a ASP.Net Chart control.  Formerly from Dundas, this control was recently added to Reporting Services, and is now available for <strong>free</strong> for ASP.Net developers.</p> <li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=130f7986-bf49-4fe5-9ca8-910ae6ea442c&DisplayLang=en">Download the free Microsoft Chart Controls</a></li> <li><a href="http://www.microsoft.com/downloads/details.aspx?familyid=1D69CE13-E1E5-4315-825C-F14D33A303E9&displaylang=en">Download the VS 2008 Tool Support for the Chart Controls</a></li> <li><a href="http://code.msdn.microsoft.com/mschart/Release/ProjectReleases.aspx?ReleaseId=1591">Download the Microsoft Chart Controls Samples</a></li> <li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=EE8F6F35-B087-4324-9DBA-6DD5E844FD9F&displaylang=en">Download the Microsoft Chart Controls Documentation</a></li> <li><a href="http://social.msdn.microsoft.com/Forums/en-US/MSWinWebChart/threads/">Visit the Microsoft Chart Control Forum</a></li> <p>Ref from Scott Guthrie's blog: <a href="http://weblogs.asp.net/scottgu/archive/2008/11/24/new-asp-net-charting-control-lt-asp-chart-runat-quot-server-quot-gt.aspx">New ASP.NET Charting Control: <asp:chart runat="server" />- ScottGu's Blog</a></p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5515156.post-54788380072676942072008-11-18T14:59:00.001-05:002008-11-18T14:59:09.779-05:00An Ajax Cross Browser GridView Fixed Header Extender<p> </p> <p><a href="http://blog.devarchive.net/2008/05/cross-browser-gridview-fixed-header.html">DevArchive.net Blog: Cross Browser GridView Fixed Header Extender, ASP.NET AJAX</a></p> <p>A nice AJAX extender control for GridView to provide fixed header row for scrolling grid.</p> Unknownnoreply@blogger.com1