<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Neeraj Agrawal</title><subtitle type="html" /><id>http://blogs.msdn.com/neerajag/atom.xml</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/neerajag/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/neerajag/atom.xml" /><generator uri="http://communityserver.org" version="2.1.61025.2">Community Server</generator><updated>2005-08-12T12:52:00Z</updated><entry><title>Explorer.exe is crashing on Vista frequently</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/neerajag/archive/2009/03/15/explorer-exe-is-crashing-on-vista-frequently.aspx" /><id>http://blogs.msdn.com/neerajag/archive/2009/03/15/explorer-exe-is-crashing-on-vista-frequently.aspx</id><published>2009-03-15T11:21:00Z</published><updated>2009-03-15T11:21:00Z</updated><content type="html">&lt;p&gt;Check the source of problem. if it is because of CLMedia.dll. To do this run "wercon" and you will all the hangs and crashes happened in your system. Select the APPCRASH event for explorer and you would see something like the following as detail of the problem. &lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;font size="1" color="#0066cc"&gt;Problem signature:&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;&lt;font size="1"&gt;
&lt;p&gt;Problem Event Name: APPCRASH&lt;/p&gt;
&lt;p&gt;Application Name: Explorer.exe&lt;/p&gt;
&lt;p&gt;Application Version: 6.0.6000.16549&lt;/p&gt;
&lt;p&gt;Application Timestamp: 46d230c5&lt;/p&gt;
&lt;p&gt;Fault Module Name: CLMedia.dll&lt;/p&gt;
&lt;p&gt;Fault Module Version: 2.0.0.1627&lt;/p&gt;
&lt;p&gt;Fault Module Timestamp: 41a31653&lt;/p&gt;
&lt;p&gt;Exception Code: c0000094&lt;/p&gt;
&lt;p&gt;Exception Offset: 00002545&lt;/p&gt;
&lt;p&gt;OS Version: 6.0.6000.2.0.0.768.2&lt;/p&gt;
&lt;p&gt;Locale ID: 2057&lt;/p&gt;
&lt;p&gt;Additional Information 1: d6aa&lt;/p&gt;
&lt;p&gt;Additional Information 2: 550813108d42c370043e28bb37aac5af&lt;/p&gt;
&lt;p&gt;Additional Information 3: d6aa&lt;/p&gt;
&lt;p&gt;Additional Information 4: 550813108d42c370043e28bb37aac5af&lt;/p&gt;&lt;/font&gt;&lt;p&gt;&amp;nbsp;So try these (in order)&lt;/p&gt;&lt;p&gt;1. Open Explorer. Goto organize -&amp;gt; "Folder and Search Options" -&amp;gt; click on "View Tab" -&amp;gt; check "Always show icons never thumnails" and then click apply.&lt;/p&gt;&lt;p align="left"&gt;2.&lt;font size="2" face="Arial"&gt; Go to this site and install this patch it'll definitely solve your problem.&lt;/font&gt;&lt;a href="http://www.cyberlink.com/oem/microsoft/enu/index.jsp" title="http://www.cyberlink.com/oem/microsoft/enu/index.jsp"&gt; http://www.cyberlink.com/oem/microsoft/enu/index.jsp&lt;/a&gt;&lt;/p&gt;&lt;div class="messageData"&gt;
&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9478220" width="1" height="1"&gt;</content><author><name>neerajag</name><uri>http://blogs.msdn.com/members/neerajag.aspx</uri></author></entry><entry><title>Error in registry for extension "Exchange Extensions;?</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/neerajag/archive/2008/05/07/error-in-registry-for-extension-exchange-extensions.aspx" /><id>http://blogs.msdn.com/neerajag/archive/2008/05/07/error-in-registry-for-extension-exchange-extensions.aspx</id><published>2008-05-07T11:46:00Z</published><updated>2008-05-07T11:46:00Z</updated><content type="html">&lt;P&gt;&lt;EM&gt;---------------------------&lt;BR&gt;Microsoft Office Outlook&lt;BR&gt;---------------------------&lt;BR&gt;Error in registry for extension "Exchange Extensions;?". The syntax or format of the registry entry is incorrect. Check the registry settings and compare the registry for this extension to other extensions in the registry.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Some fine day my Outlook 2003 denied to start with the above error message. Either starting it in Safe Mode did not helped. Finally I have to use the ultimate google for rescue and got numerous links for handling htis problem. Almost all of them asked me to either delete "Exchange Extensions" registry key or set to a specific value. Nothing worked for me and my outlook was consistently not opening, to be specific it hangs.&lt;BR&gt;At the end I opened "Control Panel-&amp;gt;Add Remove Programs", clicked on "Microsoft Office Standard Edition 2003" entry and clicked on Change-&amp;gt;Repair.&amp;nbsp; After it was over I started my outlook and it asked for "Detect and Repair" which I allowed him to go ahead 'patiently'. Once that is done I was able to open my Outlook successfully.&lt;/P&gt;
&lt;P&gt;On the other hand I am not sure why did it occured however my guess is because of some software I installed which also installed the outlook extension and in that course it corrupted the outlook registry.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8465497" width="1" height="1"&gt;</content><author><name>neerajag</name><uri>http://blogs.msdn.com/members/neerajag.aspx</uri></author></entry><entry><title>Creating windows shortcut for "Stand by"</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/neerajag/archive/2008/05/07/creating-windows-shortcut-for-stand-by.aspx" /><id>http://blogs.msdn.com/neerajag/archive/2008/05/07/creating-windows-shortcut-for-stand-by.aspx</id><published>2008-05-07T11:27:00Z</published><updated>2008-05-07T11:27:00Z</updated><content type="html">&lt;P&gt;If you are a laptop user and prefer to go&amp;nbsp;"&lt;EM&gt;Stand by&lt;/EM&gt;" instead of "&lt;EM&gt;Hibernate&lt;/EM&gt;" or "&lt;EM&gt;Log Off&lt;/EM&gt;" to save time, the quickest way to do is to use the keyboard shortcuts on the laptop keyboard (for my Dell laptop its Fn+Esc) which I use very often. However if you use external keyboard (with dock station) you are deprived of the direct laptop keyboard access and hence the only way I figure out so far is to go through &lt;EM&gt;Start-&amp;gt;Shut Down&lt;/EM&gt; and then select "&lt;EM&gt;Stand by&lt;/EM&gt;" option there which I found&amp;nbsp;quite irritating because of the no of clicks.&lt;/P&gt;
&lt;P&gt;&lt;U&gt;You can create a desktop shortcut and even assign a keyboard shortcut to achieve the same.&lt;/U&gt; Here is what you need to do:&lt;/P&gt;
&lt;P&gt;- Right click on the desktop and click on&lt;EM&gt; New-&amp;gt;Shortcut&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;- In the "Create Shortcut" dialog, type&amp;nbsp;the following and click Next:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;%windir%\System32\rundll32.exe powrprof.dll,SetSuspendState&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;- Give a name to this shortcut (ex &lt;EM&gt;StandBy&lt;/EM&gt;) and click Finish.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;You will see a new shortcut on the desktop which&amp;nbsp; you can double click to get you laptop/system in Stand by mode. If you want to assign some keyboard shortcut, right click on the shortcut and select &lt;EM&gt;Property&lt;/EM&gt;. In the "&lt;EM&gt;Shortcut key&lt;/EM&gt;" text box, select the shortcut that you want to be used for ex. &lt;EM&gt;Ctrl + Shift + Atl + S&lt;/EM&gt;.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8465473" width="1" height="1"&gt;</content><author><name>neerajag</name><uri>http://blogs.msdn.com/members/neerajag.aspx</uri></author></entry><entry><title>Configuring BSNL Modem with Airtel Broadband</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/neerajag/archive/2008/02/11/configuring-bsnl-modem-with-airtel-broadband.aspx" /><id>http://blogs.msdn.com/neerajag/archive/2008/02/11/configuring-bsnl-modem-with-airtel-broadband.aspx</id><published>2008-02-11T05:35:00Z</published><updated>2008-02-11T05:35:00Z</updated><content type="html">&lt;p&gt;This blog is relevant for Broadband service providers in India.&lt;/p&gt;&lt;p&gt;I had BSNL broadband service and in that course I also bought Huawei ADSL modem which worked perfectly fine with BSNL (as it was pre-configured to be used with BSNL). The problem arises when I moved to new apartment and BSNL did not have their broadband service to the new location. So I moved to Airtel broadband service and the plan that I selected was charging me Rs 50 per month for the Airtel ADSL (Beetel) modem. Doesn't make sense if you have some other modem and all that matters is configuration. So here are the steps to configure your Huawei modem with Airtel service provider:&lt;/p&gt;&lt;p&gt;Configuring PPPoA/PPPoE (Airtel) with Huawei modem&lt;br&gt;========================================&lt;br&gt;Connect to Modem directly and set the following for TCP/IP properties (I am in Hyderabad region and the default gateway might be specific to this zone. Check with the Airtel Service Engineer about this detail if you are located in some other area)&lt;br&gt;IP-192.168.1.41&lt;br&gt;Subnet- 255.255.255.0&lt;br&gt;Default Gateway- 192.168.1.1&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;After the LAN is connected, go to your modem configuration page (must be http://192.168.1.1 or something similar. Check your modem documentation).&lt;/p&gt;&lt;p&gt;&lt;br&gt;Edit ATM Setting: [For BSNL it's 0/35]. For Airtel&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set VPI as 1&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set VCI as 32&lt;br&gt;&lt;/p&gt;&lt;p&gt;-In PPP section provide your Airtel user name and password &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;- PPPoA/PPPoE:PPPoE &lt;br&gt;&lt;/p&gt;&lt;p&gt;- Enable 'Use DNS'&lt;br&gt;DHCP Mode to 'DHCP Server'&lt;/p&gt;&lt;p&gt;&lt;br&gt;Save and Reboot (from Menu)&lt;br&gt;It should now be able to connect to Airtel broadband....&lt;/p&gt;&lt;p&gt;Happy Surfing&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7598760" width="1" height="1"&gt;</content><author><name>neerajag</name><uri>http://blogs.msdn.com/members/neerajag.aspx</uri></author></entry><entry><title>Signing a existing .NET assembly</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/neerajag/archive/2006/10/12/signing-a-existing-.net-assembly.aspx" /><id>http://blogs.msdn.com/neerajag/archive/2006/10/12/signing-a-existing-.net-assembly.aspx</id><published>2006-10-12T10:01:00Z</published><updated>2006-10-12T10:01:00Z</updated><content type="html">&lt;P&gt;I could'nt find any support for signing a unsigned .NET assembly in .NET Framework 2.0 SDK.&amp;nbsp; Provided I have the source code and option to rebuild the assembly, I can sign it in the process of assembly generation. Thankfully ILMerge tool came for the rescue. It can be downloaded from&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;http://www.microsoft.com/downloads/details.aspx?familyid=22914587-b4ad-4eae-87cf-b14ae6a939b0&amp;amp;displaylang=en&lt;/P&gt;
&lt;P&gt;Command to sign: &lt;SPAN style="FONT-WEIGHT: bold"&gt;ilmerge weak.dll /keyfile:key.snk /out:strong.dll&lt;/SPAN&gt; &lt;BR&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=818520" width="1" height="1"&gt;</content><author><name>neerajag</name><uri>http://blogs.msdn.com/members/neerajag.aspx</uri></author></entry><entry><title>Ever wondered why your .CHM file(s) does not work?</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/neerajag/archive/2006/04/26/ever-wondered-why-your-chm-file-s-does-not-work.aspx" /><id>http://blogs.msdn.com/neerajag/archive/2006/04/26/ever-wondered-why-your-chm-file-s-does-not-work.aspx</id><published>2006-04-26T17:03:00Z</published><updated>2006-04-26T17:03:00Z</updated><content type="html">&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link href="file:///C:%5CDOCUME%7E1%5Cnagrawal%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml" rel="File-List"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:WordDocument&gt;
  &lt;w:View&gt;Normal&lt;/w:View&gt;
  &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;
  &lt;w:PunctuationKerning/&gt;
  &lt;w:ValidateAgainstSchemas/&gt;
  &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;
  &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;
  &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;
  &lt;w:Compatibility&gt;
   &lt;w:BreakWrappedTables/&gt;
   &lt;w:SnapToGridInCell/&gt;
   &lt;w:WrapTextWithPunct/&gt;
   &lt;w:UseAsianBreakRules/&gt;
   &lt;w:DontGrowAutofit/&gt;
  &lt;/w:Compatibility&gt;
  &lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;
 &lt;/w:WordDocument&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:LatentStyles DefLockedState="false" LatentStyleCount="156"&gt;
 &lt;/w:LatentStyles&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt;
&lt;!--
 /* Font Definitions */
 @font-face
	{font-family:Wingdings;
	panose-1:5 0 0 0 0 0 0 0 0 0;
	mso-font-charset:2;
	mso-generic-font-family:auto;
	mso-font-pitch:variable;
	mso-font-signature:0 268435456 0 0 -2147483648 0;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:1627421319 -2147483648 8 0 66047 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-parent:"";
	margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";}
p
	{mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.25in 1.0in 1.25in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
 /* List Definitions */
 @list l0
	{mso-list-id:868371276;
	mso-list-template-ids:-1418551172;}
@list l0:level1
	{mso-level-number-format:bullet;
	mso-level-text:;
	mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
--&gt;
&lt;/style&gt;&lt;!--[if gte mso 10]&gt;
&lt;style&gt;
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-parent:"";
	mso-padding-alt:0in 5.4pt 0in 5.4pt;
	mso-para-margin:0in;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	font-family:"Times New Roman";
	mso-ansi-language:#0400;
	mso-fareast-language:#0400;
	mso-bidi-language:#0400;}
&lt;/style&gt;
&lt;![endif]--&gt;

&lt;p&gt;&lt;span style="font-size: 10pt; font-family: Tahoma; color: black;"&gt;I had couple
of .CHM files, specially for C# .NET related stuff and I saw some of the chm
files when I open them I see "This page cannot be displayed" error.
Finally I figured out that there could be two reasons for this:&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Tahoma;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: 10pt; font-family: Tahoma; color: black;"&gt;[Option 1
courtesy chan.chawla from the posted comment, adding as the first option to be
tried out before going any further]&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Tahoma;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: 10pt; font-family: Tahoma; color: black;"&gt;1. Double
click the .chm file. It will open a security dialog. Uncheck "Always ask
after opening this file". Alternatively, right click on the file you want
to open, click Properties and then click Unblock. This should do the trick.&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Tahoma;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: 10pt; font-family: Tahoma; color: black;"&gt;2. If you chm
file name or the path contains '#' character, just get rid of that and I guess
you would be able to start viewing your chm files again.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: 10pt; font-family: Tahoma; color: black;"&gt;3. If nothing
works, try this. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size: 10pt; font-family: Tahoma; color: black;"&gt;Because of a
Microsoft Service Pack, the chm files does not have enough permissions (by
default). This case is usually when you try to open .chm files over network.
The resolution for this is as follows:&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Tahoma;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;ul type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Tahoma; color: black;"&gt;Click Start, click Run, type regedit, and
     then click OK.&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Tahoma;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Tahoma; color: black;"&gt;Locate and then click the following
     subkey: &lt;b&gt;&lt;i&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions&lt;/i&gt;&lt;/b&gt;&lt;i&gt;
     &lt;/i&gt;[&lt;i&gt;If this registry subkey does not exist, create it&lt;/i&gt;]&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Tahoma;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Tahoma; color: black;"&gt;Right-click the ItssRestrictions subkey,
     point to New, and then click DWORD Value.&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Tahoma;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Tahoma; color: black;"&gt;Type MaxAllowedZone, and then press Enter.&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Tahoma;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Tahoma; color: black;"&gt;Right-click the MaxAllowedZone value, and
     then click Modify.&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Tahoma;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Tahoma; color: black;"&gt;In the Value data box, type 1, and then
     click OK.&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Tahoma;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Tahoma; color: black;"&gt;Quit Registry Editor.&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Tahoma;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Tahoma; color: black;"&gt;For
more information check http://support.microsoft.com/kb/896358.&lt;br style=""&gt;
&lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br style=""&gt;
&lt;!--[endif]--&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Tahoma;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=584144" width="1" height="1"&gt;</content><author><name>neerajag</name><uri>http://blogs.msdn.com/members/neerajag.aspx</uri></author></entry><entry><title>Handling ThreadAbortException</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/neerajag/archive/2006/01/30/519336.aspx" /><id>http://blogs.msdn.com/neerajag/archive/2006/01/30/519336.aspx</id><published>2006-01-30T18:04:00Z</published><updated>2006-01-30T18:04:00Z</updated><content type="html">By definition ThreadAbortException cannot be stopped. Even if you have something like catch (ThreadAbortException) or catch (Exception), the ThreadAbortException invocation will follow the catch blocks. But as soon as the block ends the same exception is raised again.&lt;br&gt;The only way to eat out this exception is to catch and call Thread.CurrentThread.ResetAbort().&lt;br&gt;[http://msdn2.microsoft.com/en-us/library/system.threading.thread.resetabort.aspx]&lt;br&gt;&lt;/br&gt;&lt;/br&gt;&lt;/br&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=519336" width="1" height="1"&gt;</content><author><name>neerajag</name><uri>http://blogs.msdn.com/members/neerajag.aspx</uri></author></entry><entry><title>Why doesn't my process terminate even after main thread terminated</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/neerajag/archive/2005/09/04/why-doesn-t-my-process-terminate-even-after-main-thread-terminated.aspx" /><id>http://blogs.msdn.com/neerajag/archive/2005/09/04/why-doesn-t-my-process-terminate-even-after-main-thread-terminated.aspx</id><published>2005-09-04T20:12:00Z</published><updated>2005-09-04T20:12:00Z</updated><content type="html">Sometimes you may wonder why your .NET application didn't terminated even after the main thread is terminated. Infact I was boggled with this problem for some time.&lt;BR&gt;Finally I figured out that .NET does not terminates a process on the termination of main thread if there are other threads running. The new definition for determining process abortion is as follows:&lt;BR&gt;&lt;FONT color=#006400&gt;"Once all foreground threads belonging to a process have terminated, the common language runtime ends the process by invoking 'Abort' on any &lt;STRONG&gt;background&lt;/STRONG&gt; threads that are still alive"&lt;/FONT&gt;&lt;BR&gt;&lt;BR&gt;This means that if you want your application to exhibit the same behavior (as I was expecting [:)]), make sure that you set all the threads background property to &lt;FONT color=#006400&gt;true&lt;/FONT&gt; (except for main thread). For complete details on this thread property, follow &lt;A href="http://blogs.msdn.com/controlpanel/blogs/Once%20all%20foreground%20threads%20belonging%20to%20a%20process%20have%20terminated,%20the%20common%20language%20runtime%20ends%20the%20process%20by%20invoking%20Abort%20on%20any%20background%20threads%20that%20are%20still%20alive." mce_href="Once%20all%20foreground%20threads%20belonging%20to%20a%20process%20have%20terminated,%20the%20common%20language%20runtime%20ends%20the%20process%20by%20invoking%20Abort%20on%20any%20background%20threads%20that%20are%20still%20alive."&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemthreadingthreadclassisbackgroundtopic.asp&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=460828" width="1" height="1"&gt;</content><author><name>neerajag</name><uri>http://blogs.msdn.com/members/neerajag.aspx</uri></author></entry><entry><title>validation pattern for allowing non-empty string in xml file</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/neerajag/archive/2005/08/12/450723.aspx" /><id>http://blogs.msdn.com/neerajag/archive/2005/08/12/450723.aspx</id><published>2005-08-12T09:52:00Z</published><updated>2005-08-12T09:52:00Z</updated><content type="html">&lt;P&gt;I was trying to validate a xml file using xsd wherein a node value should be non-empty. Means there should be atleast one non-whitespace character into that. After lots of googling, I finally wrote up a small pattern to validate that. Here is the fragment.&lt;/P&gt;
&lt;P&gt;Define a new type derived from string type and apply the pattern constraint.&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT color=#0000ff&gt;&amp;lt;!--&lt;/FONT&gt;&lt;FONT color=#008000&gt; Non-empty string &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT size=2&gt;--&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT color=#800000&gt;xs:simpleType&lt;/FONT&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;name&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;"&lt;FONT color=#0000ff&gt;NonEmptyString&lt;/FONT&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT size=2&gt;&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT color=#800000&gt;xs:restriction&lt;/FONT&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;base&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;"&lt;FONT color=#0000ff&gt;xs:string&lt;/FONT&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT size=2&gt;&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT color=#800000&gt;xs:minLength&lt;/FONT&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;value&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;"&lt;FONT color=#0000ff&gt;1&lt;/FONT&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT size=2&gt; /&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT color=#800000&gt;xs:pattern&lt;/FONT&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;value&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;"&lt;FONT color=#0000ff&gt;.*[^\s].*&lt;/FONT&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT size=2&gt; /&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&amp;lt;/&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;xs:restriction&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT size=2&gt;&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&amp;lt;/&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT color=#800000&gt;xs:simpleType&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT color=#0000ff&gt;Now use the new type "NonEmptyString" for all the nodes you want to enforce non-empty constraint.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;FONT size=2&gt;&lt;FONT color=#0000ff&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;xs:element&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;name&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Name&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;type&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;NonEmptyString&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; /&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=450723" width="1" height="1"&gt;</content><author><name>neerajag</name><uri>http://blogs.msdn.com/members/neerajag.aspx</uri></author></entry></feed>