<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>chentiangemalc</title>
	<atom:link href="http://chentiangemalc.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://chentiangemalc.wordpress.com</link>
	<description>windows 8 / windows 7 / windows internals / winPE / virtualization / mobility / scripting / .NET / app compatibility / random</description>
	<lastBuildDate>Wed, 22 Feb 2012 22:02:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='chentiangemalc.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/befb68b1f452ea90e74c6b9ac4b2dd87?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>chentiangemalc</title>
		<link>http://chentiangemalc.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://chentiangemalc.wordpress.com/osd.xml" title="chentiangemalc" />
	<atom:link rel='hub' href='http://chentiangemalc.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Netsh Trace&#8211;Use It!</title>
		<link>http://chentiangemalc.wordpress.com/2012/02/22/netsh-traceuse-it/</link>
		<comments>http://chentiangemalc.wordpress.com/2012/02/22/netsh-traceuse-it/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 21:26:16 +0000</pubDate>
		<dc:creator>chentiangemalc</dc:creator>
				<category><![CDATA[Command Line]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[netsh trace start "windows 7"]]></category>

		<guid isPermaLink="false">https://chentiangemalc.wordpress.com/?p=1833</guid>
		<description><![CDATA[One of the great advantages of Windows 7/2008 R2 is the built in network tracing capability. (I think this was included in Vista/Server 2008 but that memory has been erased from my mind) NetSh itself has now become a vastly &#8230; <a href="http://chentiangemalc.wordpress.com/2012/02/22/netsh-traceuse-it/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chentiangemalc.wordpress.com&amp;blog=17705451&amp;post=1833&amp;subd=chentiangemalc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>One of the great advantages of Windows 7/2008 R2 is the built in network tracing capability. (I think this was included in Vista/Server 2008 but that memory has been erased from my mind)</p>
<p>NetSh itself has now become a vastly powerful command line tool – I highly recommend anyone providing support on Windows systems to examine all the options available here. </p>
<p>In the past if you wanted to do network packet tracing you needed to install a tool on end user’s machine such as WireShark or Microsoft Network Monitor. With Windows 7 that is no longer necessary.</p>
<p>Advantages of using NetSh Tracing:</p>
<ul>
<li>Nothing to install</li>
<li>Ability to do persistent tracing (Across reboots)</li>
<li>Circular logging capability – so you can leave monitoring running indefinitely until issue re-occurs</li>
<li>Ability to focus monitoring on specific scenario</li>
<li>Packet traces are viewable in Microsoft’s Network Monitor with Windows parser enabled. This also allows us to see MS traffic in “Friendly” translation – i.e. SMB / WMI traffic is presented pretty nicely.</li>
<li>Ability to generate reports along with packet trace which includes just about everything you need to know related to the network, all gets stored in a single .CAB for easy transportation</li>
</ul>
<p>So first – how do we start tracing?</p>
<p>A basic way to start persistent across reboots, circular logging, with report is</p>
<p><strong>netsh trace start capture=YES report=YES persistent=YES</strong></p>
<p>then when you want to stop tracing</p>
<p><strong>netsh trace stop</strong></p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/02/image25.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb25.png?w=681&#038;h=347" width="681" height="347"></a></p>
<p>You will get a .CAB file (Report) and .ETL file (Capture)</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/02/image26.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb26.png?w=677&#038;h=343" width="677" height="343"></a></p>
<p>Included in .CAB file is</p>
<ul>
<li>Report (Report.html / Report.xml / Report.xsl / Report.etl)</li>
</ul>
<p>The HTML report looks like this</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/02/image27.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb27.png?w=705&#038;h=398" width="705" height="398"></a></p>
<p>The Report.etl can be viewed in Microsoft Network Monitor. This contains hardware/process/software information</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/02/image28.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb28.png?w=719&#038;h=341" width="719" height="341"></a></p>
<p>You will also get a string of .xml files with GUIDs in filename. These are all the network profiles on the machine</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/02/image29.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb29.png?w=684&#038;h=255" width="684" height="255"></a></p>
<p>For example:</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/02/image30.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb30.png?w=564&#038;h=461" width="564" height="461"></a></p>
<p>Under the <strong>Config </strong>folder of the CAB file you get the following files:</p>
<p><strong>adapterinfo.txt – </strong>All installed network drivers Description, Hardware ID, GUID, Version and Provider<br /><strong>ConfigData.xml – </strong>some useless? data about the CAB file<br /><strong>Dns.txt – </strong>Combined output of IPCONFIG /DISPLAYDNS, NETSH NAMESPACE SHOW EFFECTIVE and NETSH NAMESPACE SHOW POLICY<br /><strong>envinfo.txt – </strong>Detailed info on Wireless &amp; Wired adapters and network profiles. Info would include what Authentication and cipher modes your wireless adapter supported, if it supports 802.1a/b/g/n, if FIPS 140-2 mode supported, etc.</p>
<p><strong>FileSharing.txt – </strong>Combined output of NBTSTAT –N, NBTSTAT –C, NET CONFIG RDR, NET CONFIG SRV, NET SHARE<br /><strong>GPInfo.xml –</strong> some useless? data<br /><strong>gpresult.txt – </strong>gpresult /v output.<br /><strong>LocaleMetaData – </strong>folder with MTA log files for WCM, Windows Firewall, Wireless/Wired Auto Config<br /><strong>Neighbors.txt – </strong>Combined output of ARP –A, NETSH INT IPV6 SHOW NEIGHBORS<br /><strong>netevents.xml – </strong>Some network events (i.e. FWPM_NET_EVENT_TYPE_CLASSIFY_DROP) in XML format<br /><strong>neteventslog.txt – </strong>to advise you above XML was generated successfully<br /><strong>netiostate.txt – </strong>Teredo parameters<br /><strong>osinfo.txt – </strong>Architecture &amp; build version of OS. Some info like if OS was installed as upgrade or clean, if running on battery, output of SystemInfo. User name/domain/profile location<br /><strong>SSOInfo.xml – </strong>more useless? info<br /><strong>sysports.xml – </strong>system ports. related to Teredo / IP Helper service (I think)<br /><strong>sysportslog.txt – </strong>advising you above was generated sucessfully<br /><strong>upgMigInfo.xml – useless? <br />WCMLog.evtx – </strong>The Microsoft-Windows-Wcmsvc/Operational log (Windows Connection Manager)<br /><strong>WcnInfo.txt – </strong>Service status of wcnsvc, wlansvc, eaphost, fdrespub, upnphost, eaphost, WCN DLL file version info, network adapter info, network discovery status for current profile, current firewall profile information, <br /><strong>wfpfilters.xml – </strong>WFP filter info<br /><strong>wfplog.log – </strong>advising above log got generated successfully<br /><strong>wfpstate.xml – </strong>WFP state info<br /><strong>wfpstatelog.txt – </strong>adivising above log got generated sucessfully<br /><strong>WindowsFirewallConfig.txt –</strong> Windows Firewall Configuration</p>
<p><strong>WindowsFirewallConsecLog.evtx</strong> – Windows firewall event log<br /><strong>WindowsFirewallConsecLogVerbose.evtx – </strong>Windows firewall event log<br /><strong>WindowsFirewallEffectiveRules.txt – </strong>Windows firewall effective rules<br /><strong>WindowsFirewallLog.evtx – </strong>Windows firewall event log<br /><strong>WindowsFirewallLogVerbose.evtx – </strong>Windows firewall event log<br /><strong>WinsockCatalog.txt – </strong>Details of all installed Winsock Catalog Providers<br /><strong>WLANAutoConfigLog.evtx – </strong>Wired LAN Auto-Config event log<br /><strong>WWANLog.evtx – </strong>Wireless LAN Auto-Config event log</p>
<p>When performing tracing your full options available are:</p>
<p>&nbsp; <font face="Courier New">Usage: trace start [[scenario=]&lt;scenario1,scenario2&gt;] <br />&nbsp;&nbsp;&nbsp; [[globalKeywords=]keywords] [[globalLevel=]level]<br />&nbsp;&nbsp;&nbsp; [[capture=]yes|no] [[report=]yes|no]<br />&nbsp;&nbsp;&nbsp; [[persistent=]yes|no] [[traceFile=]path\filename] <br />&nbsp;&nbsp;&nbsp; [[maxSize=]filemaxsize] [[fileMode=]single|circular|append] <br />&nbsp;&nbsp;&nbsp; [[overwrite=]yes|no] [[correlation=]yes|no|disabled] [capturefilters] <br />&nbsp;&nbsp;&nbsp; [[provider=]providerIdOrName] [[keywords=]keywordMaskOrSet]&nbsp; <br />&nbsp;&nbsp;&nbsp; [[level=]level] [[provider=]provider2IdOrName] <br />&nbsp;&nbsp;&nbsp; [[keywords=]keyword2MaskOrSet] [[level=]level2] &#8230; </font></p>
<p><font face="Courier New">Defaults:<br />&nbsp;&nbsp;&nbsp; <strong>capture=no</strong> (specifies whether packet capture is enabled in addition to trace events)<br />&nbsp;&nbsp;&nbsp; <strong>report=no</strong> (specifies whether a complementing report will be generated along with the trace file)<br />&nbsp;&nbsp;&nbsp; <strong>persistent=no</strong> (specifies whether the tracing session continue across reboots, and is on until netsh trace stop is issued)<br />&nbsp;&nbsp;&nbsp; <strong>maxSize=250 MB</strong> (specifies the maximum trace file size, 0=no maximum)<br />&nbsp;&nbsp;&nbsp; <strong>fileMode=circular</strong><br />&nbsp;&nbsp;&nbsp; <strong>overwrite=yes</strong> (specifies whether an existing trace output file will be overwritten)<br />&nbsp;&nbsp;&nbsp; <strong>correlation=yes</strong> (specifies whether related events will be correlated and grouped together)<br />&nbsp;&nbsp;&nbsp; <strong>traceFile=%LOCALAPPDATA%\Temp\NetTraces\NetTrace.etl<br /></strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (specifies location of the output file)</font></p>
<p><font face="Courier New">Provider keywords default to all and level to 255 unless otherwise specified.</font></p>
<p><font face="Courier New">For example:</font></p>
<p><font face="Courier New"><strong>netsh trace start scenario=InternetClient capture=yes</strong></font></p>
<p><font face="Courier New">&nbsp;&nbsp;&nbsp; Starts tracing for the InternetClient scenario and dependent providers with packet capture enabled.<br />&nbsp;&nbsp;&nbsp; Tracing will stop when the &#8220;netsh trace stop&#8221; command is issued or when the system reboots. Default location and name will be used for the output file. If an old file exists, it will be overwritten.</font></p>
<p><font face="Courier New"><strong>netsh trace start provider=microsoft-windows-wlan-autoconfig<br />&nbsp;&nbsp;&nbsp; keywords=state,ut:authentication</strong></font></p>
<p><font face="Courier New">&nbsp;&nbsp;&nbsp; Starts tracing for the microsoft-windows-wlan-autoconfig provider. Tracing will stop when the &#8220;netsh trace stop&#8221; command is issued or when the system reboots.<br />&nbsp;&nbsp;&nbsp; Default location and name will be used for the output file. If an old file exists, it will be overwritten.<br />&nbsp;&nbsp;&nbsp; Only events with keyword &#8216;state&#8217; or &#8216;ut:authentication&#8217; will be logged.</font></p>
<p><font face="Courier New">&nbsp;&nbsp; <strong> netsh trace show provider</strong> command can be used to display<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; supported keywords and levels.</font></p>
<p><font face="Courier New">Capture Filters: <br />&nbsp;&nbsp;&nbsp; Capture filters are only supported when capture is explicitly enabled with <strong>capture=yes</strong>. Use &#8216;<strong>netsh trace show CaptureFilterHelp&#8217; </strong>to display a list of supported capture filters and their usage.</font></p>
<p>&nbsp;</p>
<p>Now about supported specific scenarios. On Windows Developer Preview when running <strong>netsh show scenarios </strong>I get the following</p>
<p><font size="2" face="Courier New">AddressAcquisition&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Troubleshoot address acquisition-related issues<br />DirectAccess&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Troubleshoot DirectAccess related issues<br />FileSharing&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Troubleshoot common file and printer sharing problems<br />InternetClient&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Diagnose web connectivity issues<br />InternetServer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Set of HTTP service counters<br />L2SEC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Troubleshoot layer 2 authentication related issues<br />LAN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Troubleshoot wired LAN related issues<br />Layer2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Troubleshoot layer 2 connectivity related issues<br />MBN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Troubleshoot mobile broadband related issues<br />NDIS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Troubleshoot network adapter related issues<br />NetConnection&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Troubleshoot issues with network connections<br />P2P-Grouping&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Troubleshoot Peer-to-Peer Grouping related issues<br />P2P-PNRP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Troubleshoot Peer Name Resolution Protocol (PNRP) related issues<br />RemoteAssistance&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Troubleshoot Windows Remote Assistance related issues<br />RPC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Troubleshoot issues related to RPC framework<br />WCN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Troubleshoot Windows Connect Now related issues<br />WFP-IPsec&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Troubleshoot Windows Filtering Platform and IPsec related issues<br />WLAN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Troubleshoot wireless LAN related issues</font></p>
<p>When running <strong>netsh trace show providers</strong> I get over 850 different providers. If you want to examine these, run it on your machine. <img class="wlEmoticon wlEmoticon-smile" style="border-style:none;" alt="Smile" src="http://chentiangemalc.files.wordpress.com/2012/02/wlemoticon-smile2.png?w=640"></p>
<p>Running <strong>netsh trace show CaptureFilterHelp </strong>I get the following info:</p>
<p>&nbsp;<font size="2" face="Courier New"> Capture Filters: <br />&nbsp;&nbsp;&nbsp; Capture filters are only supported when capture is explicitly <br />&nbsp;&nbsp;&nbsp; enabled with capture=yes. Supported capture filters are: </font></p>
<p><font size="2" face="Courier New">&nbsp;&nbsp;&nbsp; CaptureInterface=&lt;interface name or GUID&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp; Enables packet capture for the specified interface name or GUID. Use <br />&nbsp;&nbsp;&nbsp;&nbsp; &#8216;netsh trace show interfaces&#8217; to list available interfaces. <br />&nbsp;&nbsp;&nbsp; e.g. CaptureInterface={716A7812-4AEE-4545-9D00-C10EFD223551} <br />&nbsp;&nbsp;&nbsp; e.g. CaptureInterface=!{716A7812-4AEE-4545-9D00-C10EFD223551} <br />&nbsp;&nbsp;&nbsp; e.g. CaptureInterface=&#8221;Local Area Connection&#8221; </font></p>
<p><font size="2" face="Courier New">&nbsp;&nbsp;&nbsp; Ethernet.Address=&lt;MAC address&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp; Matches the specified filter against both source and destination <br />&nbsp;&nbsp;&nbsp;&nbsp; MAC addresses. <br />&nbsp;&nbsp;&nbsp; e.g. Ethernet.Address=00-0D-56-1F-73-64 </font></p>
<p><font size="2" face="Courier New">&nbsp;&nbsp;&nbsp; Ethernet.SourceAddress=&lt;MAC address&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp; Matches the specified filter against source MAC addresses. <br />&nbsp;&nbsp;&nbsp; e.g. Ethernet.SourceAddress=00-0D-56-1F-73-64 </font></p>
<p><font size="2" face="Courier New">&nbsp;&nbsp;&nbsp; Ethernet.DestinationAddress=&lt;MAC address&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp; Matches the specified filter against destination MAC addresses. <br />&nbsp;&nbsp;&nbsp; e.g. Ethernet.DestinationAddress=00-0D-56-1F-73-64 </font></p>
<p><font size="2" face="Courier New">&nbsp;&nbsp;&nbsp; Ethernet.Type=&lt;ethertype&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp; Matches the specified filter against the MAC ethertype. <br />&nbsp;&nbsp;&nbsp; e.g. Ethernet.Type=IPv4 <br />&nbsp;&nbsp;&nbsp; e.g. Ethernet.Type=NOT(0x86DD) <br />&nbsp;&nbsp;&nbsp; e.g. Ethernet.Type=(IPv4,IPv6) </font></p>
<p><font size="2" face="Courier New">&nbsp;&nbsp;&nbsp; Wifi.Type=&lt;Management|Data&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp; Matches the specified filter against the Wifi type. Allowed values <br />&nbsp;&nbsp;&nbsp;&nbsp; are &#8216;Management&#8217; and &#8216;Data&#8217;. If not specified, the Wifi.Type filter <br />&nbsp;&nbsp;&nbsp;&nbsp; is not applied. <br />&nbsp;&nbsp;&nbsp;&nbsp; Note: This capture filter does not support ranges, lists or negation. <br />&nbsp;&nbsp;&nbsp; e.g. Wifi.Type=Management </font></p>
<p><font size="2" face="Courier New">&nbsp;&nbsp;&nbsp; Protocol=&lt;protocol&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp; Matches the specified filter against the IP protocol. <br />&nbsp;&nbsp;&nbsp; e.g. Protocol=6 <br />&nbsp;&nbsp;&nbsp; e.g. Protocol=!(TCP,UDP) <br />&nbsp;&nbsp;&nbsp; e.g. Protocol=(4-10) </font></p>
<p><font size="2" face="Courier New">&nbsp;&nbsp;&nbsp; IPv4.Address=&lt;IPv4 address&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp; Matches the specified filter against both source and destination <br />&nbsp;&nbsp;&nbsp;&nbsp; IPv4 addresses. <br />&nbsp;&nbsp;&nbsp; e.g. IPv4.Address=157.59.136.1 <br />&nbsp;&nbsp;&nbsp; e.g. IPv4.Address=!(157.59.136.1) <br />&nbsp;&nbsp;&nbsp; e.g. IPv4.Address=(157.59.136.1,157.59.136.11) </font></p>
<p><font size="2" face="Courier New">&nbsp;&nbsp;&nbsp; IPv4.SourceAddress=&lt;IPv4 address&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp; Matches the specified filter against source IPv4 addresses. <br />&nbsp;&nbsp;&nbsp; e.g. IPv4.SourceAddress=157.59.136.1 </font></p>
<p><font size="2" face="Courier New">&nbsp;&nbsp;&nbsp; IPv4.DestinationAddress=&lt;IPv4 address&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp; Matches the specified filter against destination IPv4 addresses. <br />&nbsp;&nbsp;&nbsp; e.g. IPv4.DestinationAddress=157.59.136.1 </font></p>
<p><font size="2" face="Courier New">&nbsp;&nbsp;&nbsp; IPv6.Address=&lt;IPv6 address&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp; Matches the specified filter against both source and destination <br />&nbsp;&nbsp;&nbsp;&nbsp; IPv6 addresses. <br />&nbsp;&nbsp;&nbsp; e.g. IPv6.Address=fe80::5038:3c4:35de:f4c3\%8 <br />&nbsp;&nbsp;&nbsp; e.g. IPv6.Address=!(fe80::5038:3c4:35de:f4c3\%8) </font></p>
<p><font size="2" face="Courier New">&nbsp;&nbsp;&nbsp; IPv6.SourceAddress=&lt;IPv6 address&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp; Matches the specified filter against source IPv6 addresses. <br />&nbsp;&nbsp;&nbsp; e.g. IPv6.SourceAddress=fe80::5038:3c4:35de:f4c3\%8 </font></p>
<p><font size="2" face="Courier New">&nbsp;&nbsp;&nbsp; IPv6.DestinationAddress=&lt;IPv6 address&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp; Matches the specified filter against destination IPv6 addresses. <br />&nbsp;&nbsp;&nbsp; e.g. IPv6.DestinationAddress=fe80::5038:3c4:35de:f4c3\%8 </font></p>
<p><font size="2" face="Courier New">&nbsp;&nbsp;&nbsp; CustomMac=&lt;type(offset,value)&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp; Matches the specified filter against the value at the specified <br />&nbsp;&nbsp;&nbsp;&nbsp; offset starting with the MAC header. <br />&nbsp;&nbsp;&nbsp;&nbsp; Note: This capture filter does not support ranges, lists or negation. <br />&nbsp;&nbsp;&nbsp; e.g. CustomMac=UINT8(0&#215;1,0&#215;23)<br />&nbsp;&nbsp;&nbsp; e.g. CustomMac=ASCIISTRING(3,test)<br />&nbsp;&nbsp;&nbsp; e.g. CustomMac=UNICODESTRING(2,test)</font></p>
<p><font size="2" face="Courier New">&nbsp;&nbsp;&nbsp; CustomIp=&lt;type(offset,value)&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp; Matches the specified filter against the value at the specified <br />&nbsp;&nbsp;&nbsp;&nbsp; offset starting with the IP header. <br />&nbsp;&nbsp;&nbsp;&nbsp; Note: This capture filter does not support ranges, lists or negation. <br />&nbsp;&nbsp;&nbsp; e.g. CustomIp=UINT16(4,0&#215;3201)<br />&nbsp;&nbsp;&nbsp; e.g. CustomIp=UINT32(0&#215;2,18932)</font></p>
<p><font size="2" face="Courier New">&nbsp;&nbsp;&nbsp; CaptureMultiLayer=&lt;yes|no&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp; Enables multi-layer packet capture. <br />&nbsp;&nbsp;&nbsp;&nbsp; Note: This capture filter does not support ranges, lists or negation. </font></p>
<p><font size="2" face="Courier New">&nbsp;&nbsp;&nbsp; PacketTruncateBytes=&lt;value&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp; Captures only the the specified number of bytes of each packet. <br />&nbsp;&nbsp;&nbsp;&nbsp; Note: This capture filter does not support ranges, lists or negation. <br />&nbsp;&nbsp;&nbsp; e.g. PacketTruncateBytes=40 </font></p>
<p><font size="2" face="Courier New">Note: <br />&nbsp;&nbsp;&nbsp; Multiple filters may be used together. However the same filter may <br />&nbsp;&nbsp;&nbsp; not be repeated. <br />&nbsp;&nbsp;&nbsp; e.g. &#8216;netsh trace start capture=yes Ethernet.Type=IPv4 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IPv4.Address=157.59.136.1&#8242; <br />&nbsp;<br />&nbsp;&nbsp;&nbsp; Filters need to be explicitly stated when required. If a filter is <br />&nbsp;&nbsp;&nbsp; not specified, it is treated as &#8220;don&#8217;t-care&#8221;. <br />&nbsp;&nbsp;&nbsp;&nbsp; e.g. &#8216;netsh trace start capture=yes IPv4.SourceAddress=157.59.136.1&#8242; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This will capture IPv4 packets only from 157.59.136.1, and it <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; will also capture packets with non-IPv4 Ethernet Types, since <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the Ethernet.Type filter is not explicitly specified. <br />&nbsp;&nbsp;&nbsp;&nbsp; e.g. &#8216;netsh trace start capture=yes IPv4.SourceAddress=157.59.136.1 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ethernet.Type=IPv4&#8242; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This will capture IPv4 packets only from 157.59.136.1. Packets <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with other Ethernet Types will be discarded since an explicit <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; filter has been specified. <br />&nbsp;<br />&nbsp;&nbsp;&nbsp; Capture filters support ranges, lists and negation (unless stated <br />&nbsp;&nbsp;&nbsp; otherwise). <br />&nbsp;&nbsp;&nbsp;&nbsp; e.g. Range: &#8216;netsh trace start capture=yes Ethernet.Type=IPv4 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Protocol=(4-10)&#8217; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This will capture IPv4 packets with protocols between 4 and 10 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inclusive. <br />&nbsp;&nbsp;&nbsp;&nbsp; e.g. List: &#8216;netsh trace start capture=yes Ethernet.Type=(IPv4,IPv6)&#8217; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This will capture only IPv4 and IPv6 packets. <br />&nbsp;&nbsp;&nbsp;&nbsp; e.g. Negation: &#8216;netsh trace start capture=yes Ethernet.Type=!IPv4&#8242; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This will capture all non-IPv4 packets. <br />&nbsp;<br />&nbsp;&nbsp;&nbsp; Negation may be combined with lists in some cases. <br />&nbsp;&nbsp;&nbsp;&nbsp; e.g. &#8216;netsh trace start capture=yes Ethernet.Type=!(IPv4,IPv6)&#8217; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This will capture all non-IPv4 and non-IPv6 packets. <br />&nbsp;<br />&nbsp;&nbsp;&nbsp; &#8216;NOT&#8217; can be used instead of &#8216;!&#8217; to indicate negation. This requires <br />&nbsp;&nbsp;&nbsp; parentheses to be present around the values to be negated. <br />&nbsp;&nbsp;&nbsp;&nbsp; e.g. &#8216;netsh trace start capture=yes Ethernet.Type=NOT(IPv4)&#8217;</font> </p>
<p>&nbsp;</p>
<p>The <strong>level=</strong> option is not documented in the netsh command line help, but is documented here <a title="http://msdn.microsoft.com/en-us/library/windows/desktop/dd569142(v=vs.85).aspx" href="http://msdn.microsoft.com/en-us/library/windows/desktop/dd569142(v=vs.85).aspx">http://msdn.microsoft.com/en-us/library/windows/desktop/dd569142(v=vs.85).aspx</a></p>
<p>The levels are from 1-5 </p>
<ul>
<li>1 – Critical &#8211; Only critical events will be shown.</li>
<li>2 – Errors &#8211; Critical events and errors will be shown.</li>
<li>3 –Warnings &#8211; Critical events, errors, and warnings will be shown.</li>
<li>4 –Informational &#8211; Critical events, errors, warnings, and informational events will be shown.</li>
<li>5 – Verbose &#8211; All events will be shown.</li>
</ul>
<p>Finally some tips for your monitoring:</p>
<ul>
<li>If network monitoring Outlook traffic disable encryption for period of monitoring (During this period someone with network access between you and exchange server can potentially monitor what your emails that are sent/received/etc)</li>
<li>If monitoring http/https traffic please consider using Fiddler2 (<a href="http://www.fiddler2.com">http://www.fiddler2.com</a>)</li>
<li>When installing Microsoft Network Monitor (<a title="http://www.microsoft.com/download/en/details.aspx?id=4865" href="http://www.microsoft.com/download/en/details.aspx?id=4865">http://www.microsoft.com/download/en/details.aspx?id=4865</a>) always install afterwards the latest parsers from <a title="http://nmparsers.codeplex.com/" href="http://nmparsers.codeplex.com/">http://nmparsers.codeplex.com/</a></li>
<li>Viewing .ETL packet captures in network monitor you must set <strong>Windows </strong>parser. This is in Microsoft Network Monitor’s Tools | Options menu</li>
</ul>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/02/image31.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb31.png?w=474&#038;h=395" width="474" height="395"></a></p>
<p>Enjoy NetSh Trace. Let me know your NetSh success stories!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chentiangemalc.wordpress.com/1833/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chentiangemalc.wordpress.com/1833/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chentiangemalc.wordpress.com/1833/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chentiangemalc.wordpress.com/1833/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chentiangemalc.wordpress.com/1833/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chentiangemalc.wordpress.com/1833/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chentiangemalc.wordpress.com/1833/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chentiangemalc.wordpress.com/1833/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chentiangemalc.wordpress.com/1833/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chentiangemalc.wordpress.com/1833/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chentiangemalc.wordpress.com/1833/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chentiangemalc.wordpress.com/1833/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chentiangemalc.wordpress.com/1833/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chentiangemalc.wordpress.com/1833/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chentiangemalc.wordpress.com&amp;blog=17705451&amp;post=1833&amp;subd=chentiangemalc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chentiangemalc.wordpress.com/2012/02/22/netsh-traceuse-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9b13d4393e6fda83cea20e7b68a2966d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chentiangemalc</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb25.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb26.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb27.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb28.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb29.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb30.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/02/wlemoticon-smile2.png" medium="image">
			<media:title type="html">Smile</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb31.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Case of the Disappearing PDF</title>
		<link>http://chentiangemalc.wordpress.com/2012/02/16/case-of-the-disappearing-pdf/</link>
		<comments>http://chentiangemalc.wordpress.com/2012/02/16/case-of-the-disappearing-pdf/#comments</comments>
		<pubDate>Wed, 15 Feb 2012 20:55:40 +0000</pubDate>
		<dc:creator>chentiangemalc</dc:creator>
				<category><![CDATA[Fiddler]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[ProcMon]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Fiddler PDF IIS7.5 OWA IE]]></category>

		<guid isPermaLink="false">https://chentiangemalc.wordpress.com/?p=1807</guid>
		<description><![CDATA[Yesterday a colleague showed me an interesting problem. Opening a PDF from Internet Explorer would result in the following error message There was an error opening this document. This file cannot be found. (Apologies to the world; we were unfortunately &#8230; <a href="http://chentiangemalc.wordpress.com/2012/02/16/case-of-the-disappearing-pdf/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chentiangemalc.wordpress.com&amp;blog=17705451&amp;post=1807&amp;subd=chentiangemalc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Yesterday a colleague showed me an interesting problem. Opening a PDF from Internet Explorer would result in the following error message</p>
<p><strong>There was an error opening this document. This file cannot be found</strong>.</p>
<p>(Apologies to the world; we were unfortunately forced to be using Windows XP and IE6 in this scenario)</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/02/clip_image0021.jpg"><img title="clip_image002" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="clip_image002" src="http://chentiangemalc.files.wordpress.com/2012/02/clip_image002_thumb1.jpg?w=621&#038;h=440" width="621" height="440"></a></p>
<p>To make it more interesting this only occurred for certain PDFs. Even more interesting it only occurred for certain PDFs when opened with Exchange 2010 Outlook Web Access. Way more interesting is fact the exact same PDF would work when opening the attachment if sent from certain people. On top of all this – logging onto the machine as another user, the exact same attachments all opened fine.</p>
<p>First tried clearing cache and trying IE with add-ins disabled. Unfortunately Adobe still failed spectacularly so we started ProcMon. (<a href="http://live.sysinternals.com/ProcMon.exe">http://live.sysinternals.com/ProcMon.exe</a>) </p>
<p><em>A ProcMon a day keeps the bugs at bay.</em></p>
<p>So with my filter set to include only items with <strong>Path </strong>contains <strong>.pdf</strong> we were ready for action</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/02/image15.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb15.png?w=519&#038;h=325" width="519" height="325"></a></p>
<p>So the file is there and then suddenly disappeared. How did that happen?</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/02/image24.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb24.png?w=644&#038;h=115" width="644" height="115"></a></p>
<p>I think this is a perfect example of even if you are not a Win32 developer some basic knowledge of how Windows APIs work is very helpful. With calls like <strong>CreateFile </strong>and <strong>CloseFile</strong> you might think deleting a file will show up as <strong>DeleteFile</strong>…but no. A lot of people I notice get confused by this so some explanation here.</p>
<p>Firstly <strong>CreateFile </strong>can be used to create files, but it is also the API used to open files. (<a title="http://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx" href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx">http://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx</a>) </p>
<p>If we look at the Details column in ProcMon for the CreateFile event we can use <strong>Delete </strong>access was requested</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/02/image17.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb17.png?w=922&#038;h=19" width="922" height="19"></a></p>
<p>While Windows does have <strong>DeleteFile </strong>API (<a title="http://msdn.microsoft.com/en-us/library/windows/desktop/aa363915(v=vs.85).aspx" href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa363915(v=vs.85).aspx">http://msdn.microsoft.com/en-us/library/windows/desktop/aa363915(v=vs.85).aspx</a>) you will never see <strong>DeleteFile </strong>in ProcMon. Instead we will see <strong>SetDispositionInformationFile</strong> event with <strong>Delete: True </strong>in the details column.</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/02/image18.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb18.png?w=617&#038;h=47" width="617" height="47"></a>&nbsp;</p>
<p>A single <strong>DeleteFile </strong>call will result in the following (or similar) operations appearing in ProcMon</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/02/image19.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb19.png?w=693&#038;h=114" width="693" height="114"></a></p>
<p>OK enough going off track.</p>
<p>Now we know why Adobe can’t find the file. Internet Explorer deleted the file, but why?</p>
<p>I selected the CreateFile event, right clicked Properties and in vain checked the Stack tab for some clues…</p>
<p>No luck there so I now turned to my favourite web debugging proxy – <a href="http://www.fiddler2.com"><strong>http://www.fiddler2.com</strong></a><strong> – </strong>Don’t leave home without it</p>
<p>I now wanted to compare request/response headers of working/broken versions, and also to confirm the PDF downloaded correctly.</p>
<p>As these sites were https:// based I had to enable Decrypt HTTPS option in <strong>Tools | Fiddler Options…</strong></p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/02/image20.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb20.png?w=558&#038;h=376" width="558" height="376"></a></p>
<p>At this stage you will be prompted if you want to install the Fiddler Root Certificate so you won’t get https warnings when logging with Fiddler. If logging on a users machine remember to <strong>Remove Interception Certificates </strong>when done.</p>
<p>Enabling this feature requires restarting Fiddler.</p>
<p>So we logged our first broken/working scenario – opening the attachment from same email; but using different Outlook Web Access server.</p>
<p>I used <strong>Ctrl+F</strong> and searched for <strong>PDF</strong>. This highlights all web request/responses containing text PDF</p>
<p>The broken PDF</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/02/image21.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb21.png?w=738&#038;h=50" width="738" height="50"></a></p>
<p>I first checked the file itself downloaded correctly. I saved the PDF by right clicking the event and saving the <strong>Response Body. </strong>PDF opens fine. So this at least rules out some kind of download/file corruption…</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/02/image22.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb22.png?w=699&#038;h=133" width="699" height="133"></a>&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>Next I compared the response headers from the working/broken PDFs</p>
<p><strong>Broken Response Header <br /></strong>HTTP/1.1 200 OK<br />Cache-Control: private<br />Content-Type: application/pdf<strong><font color="#ff0000">; authoritative=true;<br /></font></strong>Expires: Mon, 13 Feb 2012 23:40:06 GMT<br /><strong><font color="#ff0000">Server: Microsoft-IIS/7.5<br />X-OWA-Version: 14.1.323.3<br /></font></strong>Content-Disposition: attachment; filename=&#8221;Tide_Tables.pdf&#8221;<br />X-AspNet-Version: 2.0.50727<br />X-Powered-By: ASP.NET<br /><strong><font color="#ff0000">X-UA-Compatible: IE=EmulateIE7</font></strong><br />Date: Tue, 14 Feb 2012 23:40:06 GMT<br />Connection: Keep-Alive<br />Content-Length: 3216993<br />Vary: Accept-Encoding</p>
<p><strong>Working Response Header</strong><br />HTTP/1.1 200 OK<br />Cache-Control: private<br />Content-Length: 3216993<br />Content-Type: <strong><font color="#ff0000">application/pdf<br /></font></strong>Expires: Mon, 13 Feb 2012 23:42:43 GMT<br /><strong><font color="#ff0000">Server: Microsoft-IIS/7.0</font></strong><br />X-AspNet-Version: 2.0.50727<br /><font color="#ff0000"><strong>X-OWA-Version: 8.2.234.1<br /></strong></font>Content-Disposition: attachment; filename=&#8221;Tide_Tables.pdf&#8221;<br />X-Powered-By: ASP.NET<br />Date: Tue, 14 Feb 2012 23:42:43 GMT<br />Connection: keep-alive</p>
<p>A quick search around the internet found many people complaining about issues opening PDFs from IIS/7.5. Microsoft had a hot-fix available here </p>
<p><a href="http://support.microsoft.com/kb/979543">http://support.microsoft.com/kb/979543</a>
<p>But unfortunately our scenario didn’t match that of the KB article…
<p>So we then tried our next scenario – the same PDF, opened with same Outlook Web Access, just sent by different people.
<p>In this case the only difference we saw was broken PDF had
<p><strong><font color="#000000">Content-Type: application/pdf; authoritative=true;</font></strong></p>
<p><font color="#000000">Where as working PDF had</font></p>
<p><strong><font color="#000000">Content-Type: application/octet-stream</font></strong><font color="#ff0000"></p>
<p><font color="#000000">It seems when email had been attached by different email programs it may have resulted in a different content type being used.</font></p>
<p><font color="#000000">But this didn’t explain … why did it work as a different user?</font></p>
<p><font color="#000000">If it worked as a different user I suspected the <strong><em>Request Header</em></strong> must be different; thus resulting in a different <strong><em>Response</em></strong></font></p>
<p><font color="#000000">The broken user had HTTP request that looked like this:</p>
<p></font>
<p><font color="#000000" face="Courier New">GET /owa/attachment.ashx?attach=1&amp;id=RgAAAAD6A0B1FqqoQ69T0wAFn9y3BwBqT9ej25owTbmDHT%2bj1249AAAANkksAAAr69Y%2fPZnDSY%2f2aPbTHl1AAAAAAHjAAAAJ&amp;attid0=BAAAAAAA&amp;attcnt=1 HTTP/1.0<br />Accept: */*<br />Referer: </font><a href="https://webmail.somecompany.com.au/owa/?ae=Item&amp;t=IPM.Note&amp;id=RgAAAAD6A0B1FqqoQ69T0wAFn9y3BwBqT9ej25owTbmDHT%2bj1249AAAANkksAAAr69Y%2fPZnDSY%2f2aPbTHl1AAAAAAHjAAAAJ"><font color="#000000" face="Courier New">https://webmail.somecompany.com.au/owa/?ae=Item&amp;t=IPM.Note&amp;id=RgAAAAD6A0B1FqqoQ69T0wAFn9y3BwBqT9ej25owTbmDHT%2bj1249AAAANkksAAAr69Y%2fPZnDSY%2f2aPbTHl1AAAAAAHjAAAAJ</font></a><br /><font color="#000000" face="Courier New">User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)<br />Host: webmail.somecompany.com.au<br />Connection: Keep-Alive<br />Cookie: s_vi=[CS]v1|279D7657051D31A9-4000012880032DB2[CE]; s_cc=true; s_sq=%5B%5BB%5D%5D; BIGipServerH_Exchange_2010__single_owa_pool=691176970.47873.0000; OutlookSession=88af8ba7095647cd9ba6e1f4e43812c6; PBack=0; sessionid=3c6fef26-a905-4db0-adb7-4c5a17324685; cadata=&#8221;4SpfNuAR3tXBNnDdHk2D8oOV4S6+gG68tDjP3s1QSd7LDfky1FBC0d8vA64/RP18oLHmFAxn+9Z1v6J04QlPueJ/UO4fhHtdfAA5gOmG1lT0=&#8221;; UserContext=df3e2c771f5844ebada88e3c33f78d04; tzid=AUS Eastern Standard Time<br />X-NovINet: v1.2</font></p>
<p><font color="#000000">The working user had HTTP request that looked like this:</font></p>
<p><font color="#000000" face="Courier New">GET /owa/attachment.ashx?attach=1&amp;id=RgAAAAD6A0B1FqqoQ69T0wAFn9y3BwBqT9ej25owTbmDHT%2bj1249AAAANkksAAAr69Y%2fPZnDSY%2f2aPbTHl1AAAAAAHjAAAAJ&amp;attid0=BAAAAAAA&amp;attcnt=1 HTTP/1.1<br />Accept: */*<br />Referer: </font><font color="#000000" face="Courier New">https://webmail.somecompany.com.au/owa/?ae=Item&amp;t=IPM.Note&amp;id=RgAAAAD6A0B1FqqoQ69T0wAFn9y3BwBqT9ej25owTbmDHT%2bj1249AAAANkksAAAr69Y%2fPZnDSY%2f2aPbTHl1AAAAAAHjAAAAJ</font><br /><font color="#000000" face="Courier New">Accept-Language: en-au<br />Accept-Encoding: gzip, deflate<br />User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)<br />Host: webmail.somecompany.com.au<br />Connection: Keep-Alive<br />Cookie: s_vi=[CS]v1|279D89BF851D0ADC-40000102000171FB[CE]; s_cc=true; s_sq=%5B%5BB%5D%5D; BIGipServerH_Exchange_2010__single_owa_pool=691176970.47873.0000; OutlookSession=b8a42aafc1d7412dab3ec1bd16a5c4e0; PBack=0; sessionid=6af1def4-40c6-4f0b-94fa-38c2066d45b5; cadata=&#8221;49TqgrxdNz9t7TdPNGwNXhyqNxcFpTsqdxi7qx2AVgwN/SM3SbGxNefHDKnjac15+cyh3hNjfJLHeF6L13gNG0W5OafxFtd41FtBeOwozv3w=&#8221;; UserContext=570d6a25896947b980468b2e0a9d5bed; tzid=AUS Eastern Standard Time<br />X-NovINet: v1.2<br /></font></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><font color="#000000">So did you spot the difference? The working user’s GET command is specifying <strong>HTTP/1.1</strong> which also allows for the use of the </font><font color="#000000"><strong>Accept-Encoding: gzip, deflate</strong>. The broken user’s GET command was <strong>HTTP/1.0. </strong>For a detailed explanation on key differences between <strong>HTTP/1.0 </strong>and <strong>HTTP/1.1 </strong>refer to <a title="http://www8.org/w8-papers/5c-protocols/key/key.html" href="http://www8.org/w8-papers/5c-protocols/key/key.html">http://www8.org/w8-papers/5c-protocols/key/key.html</a></font></p>
<p><font color="#000000">Checking user’s Internet Options confirmed <strong>HTTP/1.1</strong> was disabled; enabling <strong>Use HTTP 1.1 </strong>and <strong>Use HTTP 1.1 through proxy connections </strong>all PDFs opened happily.</font></p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/02/image23.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb23.png?w=423&#038;h=542" width="423" height="542"></a></p>
<p><font color="#000000">As for why IE chose to delete the PDF even though it downloaded fine; that is still a mystery to me. If you have any idea let me know <img class="wlEmoticon wlEmoticon-smile" style="border-style:none;" alt="Smile" src="http://chentiangemalc.files.wordpress.com/2012/02/wlemoticon-smile1.png?w=640"> (I would have spent more time figuring out why on IE9/10 but IE6 my care factor dropped to zero)</font></font></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chentiangemalc.wordpress.com/1807/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chentiangemalc.wordpress.com/1807/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chentiangemalc.wordpress.com/1807/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chentiangemalc.wordpress.com/1807/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chentiangemalc.wordpress.com/1807/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chentiangemalc.wordpress.com/1807/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chentiangemalc.wordpress.com/1807/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chentiangemalc.wordpress.com/1807/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chentiangemalc.wordpress.com/1807/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chentiangemalc.wordpress.com/1807/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chentiangemalc.wordpress.com/1807/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chentiangemalc.wordpress.com/1807/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chentiangemalc.wordpress.com/1807/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chentiangemalc.wordpress.com/1807/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chentiangemalc.wordpress.com&amp;blog=17705451&amp;post=1807&amp;subd=chentiangemalc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chentiangemalc.wordpress.com/2012/02/16/case-of-the-disappearing-pdf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9b13d4393e6fda83cea20e7b68a2966d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chentiangemalc</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/02/clip_image002_thumb1.jpg" medium="image">
			<media:title type="html">clip_image002</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb15.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb24.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb17.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb18.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb19.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb20.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb21.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb22.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb23.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/02/wlemoticon-smile1.png" medium="image">
			<media:title type="html">Smile</media:title>
		</media:content>
	</item>
		<item>
		<title>Case of the Quirky CreateElement and the Empty Drop-Down List</title>
		<link>http://chentiangemalc.wordpress.com/2012/02/06/case-of-the-quirky-createelement-and-the-empty-drop-down-list/</link>
		<comments>http://chentiangemalc.wordpress.com/2012/02/06/case-of-the-quirky-createelement-and-the-empty-drop-down-list/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 12:27:46 +0000</pubDate>
		<dc:creator>chentiangemalc</dc:creator>
				<category><![CDATA[Application Compatibility]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[IE9 IE10 CreateElement "DOM Exception" INVALID_CHARACTER_ERR]]></category>

		<guid isPermaLink="false">https://chentiangemalc.wordpress.com/?p=1749</guid>
		<description><![CDATA[I am not a web developer, but sometimes old school websites (i.e. IE6 days) stand in the way of deploying new operating systems and technical progress. So even if you’re not a developer some basic web debugging skills are very &#8230; <a href="http://chentiangemalc.wordpress.com/2012/02/06/case-of-the-quirky-createelement-and-the-empty-drop-down-list/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chentiangemalc.wordpress.com&amp;blog=17705451&amp;post=1749&amp;subd=chentiangemalc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I am not a web developer, but sometimes old school websites (i.e. IE6 days) stand in the way of deploying new operating systems and technical progress. So even if you’re not a developer some basic web debugging skills are very useful.</p>
<p>So I was at Tullamarine (Melbourne) Airport today and my 3G speeds where just unbelievably bad so I thought I’d try the Qantas access point…
<p>I was using Windows Developer Preview and connected to access point OK. However the page to enter credit card just did not work, no expiry date was selectable:
<p><a href="http://chentiangemalc.files.wordpress.com/2012/02/clip_image003.jpg"><img title="clip_image003" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="clip_image003" src="http://chentiangemalc.files.wordpress.com/2012/02/clip_image003_thumb.jpg?w=606&#038;h=450" width="606" height="450"></a>
<p>And&nbsp; no, this wasn’t some gadget purchase prevention software installed by my wife…
<p>Right clicking the page I selected <b>View Source</b>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/02/clip_image005.jpg"><img title="clip_image005" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="clip_image005" src="http://chentiangemalc.files.wordpress.com/2012/02/clip_image005_thumb.jpg?w=605&#038;h=164" width="605" height="164"></a>
<p>So these are lists that must get populated at runtime…now to help debug this we’ll hit <b>F12 </b>to get the Developer Toolbar, available in IE9 and later.
<p>I selected the <b>Scripts </b>tab and searched for <b>CreditCardExpiryMonth</b>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/02/clip_image007.jpg"><img title="clip_image007" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="clip_image007" src="http://chentiangemalc.files.wordpress.com/2012/02/clip_image007_thumb.jpg?w=605&#038;h=251" width="605" height="251"></a>
<p>I then searched for this function <b>InitializeComplete</b>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/02/clip_image009.jpg"><img title="clip_image009" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="clip_image009" src="http://chentiangemalc.files.wordpress.com/2012/02/clip_image009_thumb.jpg?w=605&#038;h=232" width="605" height="232"></a>
<p>So I selected <b>InitializeDom();</b>&nbsp; at the beginning of Initialize function and hit <b>F9</b> to set a breakpoint there. I then hit <b>Start Debugging</b>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/02/clip_image010.png"><img title="clip_image010" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="clip_image010" src="http://chentiangemalc.files.wordpress.com/2012/02/clip_image010_thumb.png?w=397&#038;h=368" width="397" height="368"></a>
<p>OK so we stop at my breakpoint so we know the Initialize() function is executing. I hit <b>F5 </b>after the breakpoint to keep going…
<p><a href="http://chentiangemalc.files.wordpress.com/2012/02/clip_image012.jpg"><img title="clip_image012" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="clip_image012" src="http://chentiangemalc.files.wordpress.com/2012/02/clip_image012_thumb.jpg?w=605&#038;h=251" width="605" height="251"></a>
<p>Mouse over the <b>el</b> we can see why<b>:</b>
<p>The site is trying to <b>createElement </b>with embedded HTML control characters. As IE9 and later operate in standards mode by default this is not allowed…</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/02/clip_image014.jpg"><img title="clip_image014" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="clip_image014" src="http://chentiangemalc.files.wordpress.com/2012/02/clip_image014_thumb.jpg?w=606&#038;h=162" width="606" height="162"></a></p>
<p>Of course if you had checked the IE9 compatibility cookbook you would have known this already, with example on how to fix such code:
<p><a href="http://msdn.microsoft.com/en-us/library/ff986077(v=vs.85).aspx">http://msdn.microsoft.com/en-us/library/ff986077(v=vs.85).aspx</a>
<p>For the IE10 developers guide refer here <a href="http://msdn.microsoft.com/en-us/library/hh673549(v=vs.85).aspx">http://msdn.microsoft.com/en-us/library/hh673549(v=vs.85).aspx</a>
<p>If you didn’t use the debugger you could also enable breaking on script errors, which is disabled by default. (try browse the internet with that setting and you’ll quickly realize why it’s disabled by default)
<p><a href="http://chentiangemalc.files.wordpress.com/2012/02/clip_image015.png"><img title="clip_image015" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="clip_image015" src="http://chentiangemalc.files.wordpress.com/2012/02/clip_image015_thumb.png?w=416&#038;h=545" width="416" height="545"></a>
<p>In this case the page from user’s point of view can be fixed by clicking compatibility view icon in address bar
<p><a href="http://chentiangemalc.files.wordpress.com/2012/02/image.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb.png?w=124&#038;h=58" width="124" height="58"></a>
<p>From a system administrators point of view if we couldn’t get the website updated we could deploy the compatibility view setting via group policy.
<p>Some other freely available IE compatibility tools you can use if developing/testing sites:
<ul>
<li>Microsoft provided VHD virtual machines with Windows XP IE6, Windows Vista IE7, Windows 7 IE8 and Windows 7 IE9 here <a href="http://www.microsoft.com/download/en/details.aspx?id=11575">http://www.microsoft.com/download/en/details.aspx?id=11575</a><b></b></li>
<li>Use <b>Fiddler </b><a href="http://www.fiddler2.com">http://www.fiddler2.com</a> in combination with IE10 compat inspector <a title="http://blogs.msdn.com/b/ie/archive/2012/01/20/ie10-compat-inspector.aspx" href="http://blogs.msdn.com/b/ie/archive/2012/01/20/ie10-compat-inspector.aspx">http://blogs.msdn.com/b/ie/archive/2012/01/20/ie10-compat-inspector.aspx</a>&nbsp;</li>
<li>Microsoft Application Compatibility Toolkit includes an IE8 compatibility monitoring utility. <a title="http://www.microsoft.com/download/en/details.aspx?id=7352" href="http://www.microsoft.com/download/en/details.aspx?id=7352">http://www.microsoft.com/download/en/details.aspx?id=7352</a></li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chentiangemalc.wordpress.com/1749/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chentiangemalc.wordpress.com/1749/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chentiangemalc.wordpress.com/1749/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chentiangemalc.wordpress.com/1749/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chentiangemalc.wordpress.com/1749/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chentiangemalc.wordpress.com/1749/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chentiangemalc.wordpress.com/1749/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chentiangemalc.wordpress.com/1749/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chentiangemalc.wordpress.com/1749/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chentiangemalc.wordpress.com/1749/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chentiangemalc.wordpress.com/1749/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chentiangemalc.wordpress.com/1749/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chentiangemalc.wordpress.com/1749/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chentiangemalc.wordpress.com/1749/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chentiangemalc.wordpress.com&amp;blog=17705451&amp;post=1749&amp;subd=chentiangemalc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chentiangemalc.wordpress.com/2012/02/06/case-of-the-quirky-createelement-and-the-empty-drop-down-list/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9b13d4393e6fda83cea20e7b68a2966d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chentiangemalc</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/02/clip_image003_thumb.jpg" medium="image">
			<media:title type="html">clip_image003</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/02/clip_image005_thumb.jpg" medium="image">
			<media:title type="html">clip_image005</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/02/clip_image007_thumb.jpg" medium="image">
			<media:title type="html">clip_image007</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/02/clip_image009_thumb.jpg" medium="image">
			<media:title type="html">clip_image009</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/02/clip_image010_thumb.png" medium="image">
			<media:title type="html">clip_image010</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/02/clip_image012_thumb.jpg" medium="image">
			<media:title type="html">clip_image012</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/02/clip_image014_thumb.jpg" medium="image">
			<media:title type="html">clip_image014</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/02/clip_image015_thumb.png" medium="image">
			<media:title type="html">clip_image015</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/02/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Case of the Broken UAC Prompt &#8211; Extended Attributes are Inconsistent</title>
		<link>http://chentiangemalc.wordpress.com/2012/01/26/case-of-the-broken-uac-prompt-extended-attributes-are-inconsistent-2/</link>
		<comments>http://chentiangemalc.wordpress.com/2012/01/26/case-of-the-broken-uac-prompt-extended-attributes-are-inconsistent-2/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 11:59:36 +0000</pubDate>
		<dc:creator>chentiangemalc</dc:creator>
				<category><![CDATA[Debugging]]></category>
		<category><![CDATA[ProcMon]]></category>
		<category><![CDATA[SysInternals]]></category>
		<category><![CDATA[Windows 8]]></category>
		<category><![CDATA[Extended Attributes are Inconsistent UAC msacm.avis msacm.lameacm consent.exe]]></category>

		<guid isPermaLink="false">https://chentiangemalc.wordpress.com/?p=1724</guid>
		<description><![CDATA[One day while happily working away on my liquid cooled Windows Developer Preview beast I came across this error when launching regedit: Pretty quickly I found every program that tried to elevate to Administrative privileges had this problem. The UAC &#8230; <a href="http://chentiangemalc.wordpress.com/2012/01/26/case-of-the-broken-uac-prompt-extended-attributes-are-inconsistent-2/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chentiangemalc.wordpress.com&amp;blog=17705451&amp;post=1724&amp;subd=chentiangemalc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>One day while happily working away on my liquid cooled Windows Developer Preview beast I came across this error when launching regedit:</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image32.png"><img title="image" style="background-image:none;padding-top:0;padding-left:0;display:inline;padding-right:0;border-width:0;" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb32.png?w=370&#038;h=174" width="370" height="174"></a></p>
<p>Pretty quickly I found <strong><em>every </em></strong>program that tried to elevate to Administrative privileges had this problem. The UAC prompt to click Yes/No appeared very briefly then was rapidly replaced with this error message. Unfortunately this also applied to my beloved ProcMon.</p>
<p>So what to do?</p>
<p>First to find out to whom the dialog box belonged. Using Process Explorer (<a href="http://live.sysinternals.com/ProcExp.exe">http://live.sysinternals.com/ProcExp.exe</a>) and the feature to drag a target over a Windows to identify the process I found out the message box belonged to <strong>cmd.exe </strong>if run from Command Prompt, or <strong>Explorer.exe </strong>if launched from Explorer.</p>
<p>As WinDbg doesn’t require admin privilege (for limited user mode debugging of non-elevated processes) it was my debugging tool of choice. WinDbg is included in Windows SDK, which is available for free download here <a title="http://www.microsoft.com/download/en/details.aspx?id=8279" href="http://www.microsoft.com/download/en/details.aspx?id=8279">http://www.microsoft.com/download/en/details.aspx?id=8279</a></p>
<p>I first opened <strong>C:\windows\system32\cmd.exe </strong>using <strong>File</strong> –&gt; <strong>Open Executable</strong></p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image33.png"><img title="image" style="background-image:none;padding-top:0;padding-left:0;display:inline;padding-right:0;border-width:0;" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb33.png?w=306&#038;h=160" width="306" height="160"></a></p>
<p>I wanted to ensure any child processes got debugged as well so ran command</p>
<p><strong>.childdbg 1</strong></p>
<p>I then hit <strong>g </strong>to make the debugger go. Each time a new process starts you will see message like</p>
<p><font face="Courier New">ntdll!RtlUserThreadStart:<br />000007fb`a5323c64 4883ec48&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sub&nbsp;&nbsp;&nbsp;&nbsp; rsp,48h</font></p>
<p>You will need to hit <strong>g </strong>again to continue further. I then launched <strong>regedit </strong>from my debugged cmd.exe. Now there are a few potential types of message boxes in Windows, so to make it easy to find out which one was being used, when I got the error message dialog box I hit ‘<strong>Break</strong>’ on the debugger and typed</p>
<p><strong>!analyse –v –hang</strong></p>
<p>In the stack trace I found the function that generated the message box, so I set a breakpoint for it:</p>
<p><strong>bp SHELL32!SHSysErrorMessageBox</strong></p>
<p>(don’t worry about could not resolve error message here)</p>
<p>and typed</p>
<p><strong>.restart </strong>on my process</p>
<p>Which showed me the following:</p>
<p><font size="2" face="Courier New">&lt;modules loading etc here&gt;</font></p>
<p><font size="2" face="Courier New">Breakpoint 0 hit<br />SHELL32!SHSysErrorMessageBox:<br />000007fb`a342fb60 fff3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; push&nbsp;&nbsp;&nbsp; rbx<br />0:000&gt; <strong>kv <font color="#ff0000">&lt;- stack trace, find what functions got called before message box<br /></font></strong>Child-SP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RetAddr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Args to Child&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Call Site<br />00000056`e904dfe8 000007fb`a349fe8d : 00000000`0000104c 00000000`0000007f 00000056`e92b74c0 00000000`000000ff : SHELL32!SHSysErrorMessageBox<br />00000056`e904dff0 000007fb`a33d216e : 00000056`e927fea0 00000000`00230e74 00000000`000000ff 00000000`00000000 : SHELL32!_ExecErrorMsgBox+0x23d<br />00000056`e904f0b0 000007fb`a32ee389 : 00000056`e904f1f0 00000056`e904f1f0 00000000`00000000 00000000`00000000 : SHELL32!CShellExecute::_DoExecute+0x33f<br />00000056`e904f130 000007fb`a32ee29d : 00000056`e927fea0 00000000`00008140 00000000`00000000 00000056`e904f1f0 : SHELL32!CShellExecute::ExecuteNormal+0&#215;95<br />00000056`e904f160 000007fb`a32ee214 : 00000056`e904f1f0 000007fb`a37743e0 00000056`e904f1f0 00000056`e904f080 : SHELL32!ShellExecuteNormal+0x4d<br />00000056`e904f190 000007fb`99322faa : 00000000`00000000 00000000`00000000 00000000`00000000 00000056`e904f080 : SHELL32!ShellExecuteExW+0&#215;54<br />00000056`e904f1c0 000007f6`ca0e5429 : 00000056`e9277b30 00000056`e927a300 00000056`e92755f0 000007f6`ca12d360 : fsutilext!ShellExecuteWorker+0x7e<br />00000056`e904f270 000007f6`ca0e5a3b : 00000056`e927bd50 00000000`00000000 00000056`e9261820 00000056`e92755f0 : cmd!ExecPgm+0x5b0<br />00000056`e904f530 000007f6`ca0e8158 : 00000000`00000000 00000056`e9261820 00000000`00000000 00000056`e9261820 : cmd!ECWork+0xd7<br />00000056`e904f790 000007f6`ca0e1306 : 00000000`0000de5c 00000056`e9261820 00000000`00000000 000007f6`ca0e16a1 : cmd!FindFixAndRun+0x54e<br />00000056`e904fc30 000007f6`ca10beb0 : 00000056`e9261820 000007f6`ca113890 00000056`e9261820 00000000`000000ff : cmd!Dispatch+0xab<br />00000056`e904fce0 000007f6`ca0f3a68 : 00000000`00000001 00000000`00000000 00000000`00000000 00000000`00000000 : cmd!_chkstk+0x50c6<br />00000056`e904fd40 000007fb`a2f23cdc : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : cmd!Handler+0&#215;291<br />00000056`e904fd80 000007fb`a5323c85 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : KERNEL32!BaseThreadInitThunk+0&#215;18<br />00000056`e904fdb0 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x1d<br />0:000&gt; <strong>!gle</strong> <font color="#ff0000"><strong>&lt;- get last error</strong></font><br />TRIAGER: Could not open triage file : C:\Program Files (x86)\Windows Kits\8.0\Debuggers\x64\triage\oca.ini, error 2<br />TRIAGER: Could not open triage file : C:\Program Files (x86)\Windows Kits\8.0\Debuggers\x64\winxp\triage.ini, error 2<br />TRIAGER: Could not open triage file : C:\Program Files (x86)\Windows Kits\8.0\Debuggers\x64\triage\user.ini, error 2<br /><strong>LastErrorValue: (Win32) 0x7f (127) &#8211; The specified procedure could not be found.<br />LastStatusValue: (NTSTATUS) 0xc0000139 &#8211; {Entry Point Not Found}&nbsp; The procedure entry point %hs could not be located in the dynamic link library %hs.</strong></p>
<p></font>
<p>While this was all well an interesting there was some important information missing: Primarily nothing from <strong>consent.exe</strong>. Unfortunately no way I was going to be able to debug that as standard user because I was not admin…D’oh!</p>
<p>So I restarted the PC and pressed <strong>F8 </strong>to enter safe mode. I then logged in with a local administrator account and as safe mode is free of UAC prompts could happily set<strong> User Account Control Settings </strong>to <strong>Never Notify</strong></p>
<p><em><font color="#ff0000"><strong>Warning! Using this setting is not recommended and will increase risk of nasty software doing bad things to your PC.</strong></font></em></p>
<p>Restarting back into regular Windows I could now launch programs as admin. I launched a command prompt as Admin and reset UAC back to the previous setting.</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image34.png"><img title="image" style="background-image:none;padding-top:0;padding-left:0;display:inline;padding-right:0;border-width:0;" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb34.png?w=677&#038;h=499" width="677" height="499"></a></p>
<p>I then went back to my comfort zone of <strong>ProcMon</strong> (<a href="http://live.sysinternals.com/ProcMon.exe">http://live.sysinternals.com/ProcMon.exe</a>)</p>
<p>I set a filter to include the following processes:</p>
<ul>
<li><strong>cmd.exe</strong>
<li><strong>consent.exe</strong>
<li><strong>regedit.exe</strong></li>
</ul>
<p>I also set a filter on <strong>Operation is Load Image</strong> as I wanted to look for 3rd party code being loaded.</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image35.png"><img title="image" style="background-image:none;padding-top:0;padding-left:0;display:inline;padding-right:0;border-width:0;" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb35.png?w=519&#038;h=325" width="519" height="325"></a></p>
<p>Sure enough we find some perfect suspects. 3rd party codecs were being loaded. These codecs had been installed a few days before from an open source program <strong>Audacity </strong>and the separate download <strong>Lame MP3 Encoder Pack</strong></p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image36.png"><img title="image" style="background-image:none;padding-top:0;padding-left:0;display:inline;padding-right:0;border-width:0;" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb36.png?w=600&#038;h=160" width="600" height="160"></a></p>
<p>I then brought out the tool that must not be left at home. <strong><em>Ever.</em></strong> AutoRuns (<a href="http://live.sysinternals.com/AutoRuns.exe">http://live.sysinternals.com/AutoRuns.exe</a>) AutoRuns can disable/enable pretty much any possible location for code to startup within Windows – from drivers, services, codecs, etc, it has it all. You can also analyse offline systems such as a mounted WIM, or an unbootable partition from within Windows PE.</p>
<p>I disabled all codecs at first, then enabled one-by-one to find the culprit. I found two caused the issue:</p>
<ul>
<li>msacm.avis
<li>msacm.lameacm</li>
</ul>
<p>Disabling these and UAC was back in all its glory.<br /><a href="http://chentiangemalc.files.wordpress.com/2012/01/image37.png"><img title="image" style="background-image:none;padding-top:0;padding-left:0;display:inline;padding-right:0;border-width:0;" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb37.png?w=645&#038;h=332" width="645" height="332"></a></p>
<p>But why is Windows loading codecs for the UAC consent dialog?</p>
<p>The codecs are loaded because consent.exe plays a sound effect, which required a codec to decode the audio file. </p>
<p>In fact I found I can also re-enable all my codecs and disable Windows Sounds, and UAC prompt will still work. Peace at last.</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image38.png"><img title="image" style="background-image:none;padding-top:0;padding-left:0;display:inline;padding-right:0;border-width:0;" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb38.png?w=414&#038;h=462" width="414" height="462"></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chentiangemalc.wordpress.com/1724/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chentiangemalc.wordpress.com/1724/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chentiangemalc.wordpress.com/1724/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chentiangemalc.wordpress.com/1724/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chentiangemalc.wordpress.com/1724/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chentiangemalc.wordpress.com/1724/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chentiangemalc.wordpress.com/1724/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chentiangemalc.wordpress.com/1724/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chentiangemalc.wordpress.com/1724/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chentiangemalc.wordpress.com/1724/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chentiangemalc.wordpress.com/1724/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chentiangemalc.wordpress.com/1724/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chentiangemalc.wordpress.com/1724/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chentiangemalc.wordpress.com/1724/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chentiangemalc.wordpress.com&amp;blog=17705451&amp;post=1724&amp;subd=chentiangemalc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chentiangemalc.wordpress.com/2012/01/26/case-of-the-broken-uac-prompt-extended-attributes-are-inconsistent-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9b13d4393e6fda83cea20e7b68a2966d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chentiangemalc</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb32.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb33.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb34.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb35.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb36.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb37.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb38.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Enable Non-Admins to Modify ClearType &amp; Color Calibrate in Win7</title>
		<link>http://chentiangemalc.wordpress.com/2012/01/26/enable-non-admins-to-disable-cleartype-color-calibrate-in-win7/</link>
		<comments>http://chentiangemalc.wordpress.com/2012/01/26/enable-non-admins-to-disable-cleartype-color-calibrate-in-win7/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 22:34:05 +0000</pubDate>
		<dc:creator>chentiangemalc</dc:creator>
				<category><![CDATA[Application Compatibility]]></category>
		<category><![CDATA[ProcMon]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[dccw cleartype non-admin UAC prompt]]></category>

		<guid isPermaLink="false">https://chentiangemalc.wordpress.com/?p=1700</guid>
		<description><![CDATA[When doing colour calibration or ClearType Text Tuning in Windows 7 a standard user can happily click through the wizards until the very end…when clicking Finish… Although ClearType is enabled in Windows 7 maybe there are people who like jagged &#8230; <a href="http://chentiangemalc.wordpress.com/2012/01/26/enable-non-admins-to-disable-cleartype-color-calibrate-in-win7/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chentiangemalc.wordpress.com&amp;blog=17705451&amp;post=1700&amp;subd=chentiangemalc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>When doing colour calibration or ClearType Text Tuning in Windows 7 a standard user can happily click through the wizards until the very end…when clicking <strong>Finish…</strong></p>
<p>Although ClearType is enabled in Windows 7 maybe there are people who like jagged edged fonts and want to disable it. If they’re not admin, they can’t.</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image31.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb31.png?w=628&#038;h=517" width="628" height="517"></a></p>
<p>Boom! UAC Prompt…</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image18.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb18.png?w=466&#038;h=526" width="466" height="526"></a></p>
<p>The important point here is the <strong>CLSID</strong> … let’s grab that and search the registry under <strong>HKCR\CLSID</strong></p>
<p>This brings us to</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image19.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb19.png?w=816&#038;h=299" width="816" height="299"></a></p>
<p>Importantly there is the <strong>Elevation </strong>key</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image20.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb20.png?w=609&#038;h=140" width="609" height="140"></a></p>
<p>Let’s set it to 0. I don’t even have access as Local Admin, I have to right click <strong>Properties </strong>and give myself permission (You may need to take ownership of key). This registry key typically can only be modified by <em>TrustedInstaller. </em>You should take this as sign that this is not something you should be modifying. </p>
<p><em><strong><font color="#ff0000">Warnin</font><font color="#ff0000"><font color="#ff0000">g!</font> I do not recommend changing these Elevation/Enabled registry key settings. I am doing this for experimentation. You should backup the key before changing, you can break components of Windows modifying these keys. In addition to potentially introducing security vulnerability this solution may also be broken by Windows Updates in the future. </font></strong></em></p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image21.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb21.png?w=381&#038;h=460" width="381" height="460"></a></p>
<p>OK I can now happily set <strong>Enabled </strong>to <strong>0</strong></p>
<p>The UAC Shield icon is now gone from ClearType Tuner and no errors thrown when applying settings</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image22.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb22.png?w=707&#038;h=575" width="707" height="575"></a></p>
<p>Using ProcMon I found it also tries to update Registry Keys under <strong>HKLM\SOFTWARE\Microsoft\Avalon.Graphics</strong> so you may need to give Users full control here too.</p>
<p>For Display Calibration it is different here we see <strong>DCCW.exe </strong>is involved…</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image23.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb23.png?w=466&#038;h=526" width="466" height="526"></a></p>
<p>In this case the executable knows to elevate because it has a <em><strong>manifest</strong>. </em>This could be in format &lt;programname&gt;<em>.exe.manifest<strong> </strong></em>or it can be embedded as a resource. To view the embedded resource I use ResEdit<em> (</em><a title="http://www.resedit.net/" href="http://www.resedit.net/"><em>http://www.resedit.net/</em></a><em>) </em>Use 64-bit version for 64-bit EXEs and 32-bit version for 32-bit EXEs.</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image24.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb24.png?w=616&#038;h=696" width="616" height="696"></a></p>
<p>To override this I created a SHIM using Application Compatibility Toolkit (ACT)(<a title="http://www.microsoft.com/download/en/details.aspx?id=7352" href="http://www.microsoft.com/download/en/details.aspx?id=7352">http://www.microsoft.com/download/en/details.aspx?id=7352</a>) to apply <strong>runAsInvoker </strong>to the application. Because in this case I’m updating this for a 64-bit executable I need to ensure I’m using 64-bit version of Compatibility Administrator. If you’re not familiar with manifests please refer to Microsoft’s UAC Manifest documentation <a title="http://technet.microsoft.com/en-us/query/bb756929" href="http://technet.microsoft.com/en-us/query/bb756929">http://technet.microsoft.com/en-us/query/bb756929</a></p>
<p>For specific details on how to create SHIMs refer to ACT’s documentation.</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image25.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb25.png?w=688&#038;h=359" width="688" height="359"></a></p>
<p>After saving and installing my SHIM….Great. Now no UAC prompt, but Access Denied:</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image26.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb26.png?w=440&#038;h=203" width="440" height="203"></a></p>
<p>So I used one of my all-time favourite ProcMon (<a href="http://live.sysinternals.com/ProcMon.exe">http://live.sysinternals.com/ProcMon.exe</a>) filters – <strong>Result is ACCESS DENIED. </strong>I also could have used ACT’s <strong>Standard User Analyser + Application Verifier </strong>for a more automated report.</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image27.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb27.png?w=523&#038;h=328" width="523" height="328"></a></p>
<p>We see a single <strong>ACCESS DENIED </strong>event</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image28.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb28.png?w=759&#038;h=121" width="759" height="121"></a></p>
<p>So I granted <strong>Users </strong>full control to <strong>HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ICM</strong></p>
<p>This got me much further in program, and no further errors in program. But I also found Access Denied here</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image29.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb29.png?w=764&#038;h=240" width="764" height="240"></a></p>
<p>I then gave Users full control over these keys and all sub keys:</p>
<p>Imaging Devices Control Class -</p>
<p><strong>HKLM\SYSTEM\CurrentControlSet\Control\Class\{6BDD1FC6-810F-11D0-BEC7-08002BE2092F}</strong></p>
<p>Monitors Control Class -</p>
<p><strong>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96E-E325-11CE-BFC1-08002BE10318}</strong></p>
<p>Now colour calibration works fine, I tested changing settings and they applied fine.</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image30.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb30.png?w=839&#038;h=449" width="839" height="449"></a></p>
<p>So if you need to do this, understand this is an unsupported hack to allow standard users to run these tools. If you do use this I would re-test post any operating system updates.</p>
<p>I don’t know the security implications of allowing standard users to run these tools, although I believe the reason to require administrator is because the settings affects all users on a system, not just a single user.&nbsp; </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chentiangemalc.wordpress.com/1700/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chentiangemalc.wordpress.com/1700/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chentiangemalc.wordpress.com/1700/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chentiangemalc.wordpress.com/1700/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chentiangemalc.wordpress.com/1700/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chentiangemalc.wordpress.com/1700/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chentiangemalc.wordpress.com/1700/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chentiangemalc.wordpress.com/1700/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chentiangemalc.wordpress.com/1700/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chentiangemalc.wordpress.com/1700/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chentiangemalc.wordpress.com/1700/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chentiangemalc.wordpress.com/1700/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chentiangemalc.wordpress.com/1700/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chentiangemalc.wordpress.com/1700/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chentiangemalc.wordpress.com&amp;blog=17705451&amp;post=1700&amp;subd=chentiangemalc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chentiangemalc.wordpress.com/2012/01/26/enable-non-admins-to-disable-cleartype-color-calibrate-in-win7/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9b13d4393e6fda83cea20e7b68a2966d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chentiangemalc</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb31.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb18.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb19.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb20.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb21.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb22.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb23.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb24.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb25.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb26.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb27.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb28.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb29.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb30.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>PowerShell Script To Remove Office Macro Protection</title>
		<link>http://chentiangemalc.wordpress.com/2012/01/17/powershell-script-to-remove-office-macro-protection/</link>
		<comments>http://chentiangemalc.wordpress.com/2012/01/17/powershell-script-to-remove-office-macro-protection/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 12:36:05 +0000</pubDate>
		<dc:creator>chentiangemalc</dc:creator>
				<category><![CDATA[Office]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[PowerShell Remove Passworrd Protection Macros Office Word Excel Access]]></category>

		<guid isPermaLink="false">https://chentiangemalc.wordpress.com/?p=1670</guid>
		<description><![CDATA[In some cases in my app compat battles I’ve had to debug macros developed by those who have long since disappeared from a company. However the source is inaccessible due to Macro protection. While commercial 3rd party tools to remove &#8230; <a href="http://chentiangemalc.wordpress.com/2012/01/17/powershell-script-to-remove-office-macro-protection/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chentiangemalc.wordpress.com&amp;blog=17705451&amp;post=1670&amp;subd=chentiangemalc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In some cases in my app compat battles I’ve had to debug macros developed by those who have long since disappeared from a company. However the source is inaccessible due to Macro protection. While commercial 3rd party tools to remove such passwords have existed for a long time, I have had a habit of doing so via a Hex Editor. Apparently not everyone is in love with hex editors so here is a *rough* scripted version. Note: It is possible to completely remove the password programmatically, but it is a lot more complex. One day if I had the time to waste I might do so…until then here is the quick &amp; dirty method. This uses a simple method that has been popular for a long time which is to replace the DPB= value in the office file with DPx=</p>
<p><strong><font color="#ff0000">Note: This method only removes passwords on Macros, not other types of office document passwords and does not work on .Docx/.Xlsx formats</font></strong></p>
<p>We are also utilizing pointers in our PowerShell code. Can BASH do that? <img style="border-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://chentiangemalc.files.wordpress.com/2012/01/wlemoticon-smile.png?w=640"></p>
<p>First thing is this rough PowerShell script which is utilized in the following way:</p>
<p><font size="2" face="Courier New"><strong>Unlock-OfficeDocumentMacro -InputFile &#8220;c:\Support\Locked.xls&#8221; &#8220;c:\Support\Unlocked.xls&#8221;</strong></font></p>
<p>(As WordPress destroys formatting PowerShell script download in .ZIP at bottom of page)</p>
<p><font size="2" face="Courier New"># Function to unlock office 2000-2003 document by @chentiangemalc<br /># Proof-of-Concept Code lacking performance optimization &amp; error handling<br /># This should not be considered example of how to write PowerShell code.</font></p>
<p><font size="2" face="Courier New"># Binary &#8220;IndexOf&#8221;<br /># too lazy (or busy&#8230;) to write this code in PowerShell, couldn&#8217;t find any good PowerShell example<br /># And this is fast. From </font><a href="http://stackoverflow.com/users/649008/foubar"><font size="2" face="Courier New">http://stackoverflow.com/users/649008/foubar</font></a><font size="2" face="Courier New"> <br /># at </font><a href="http://stackoverflow.com/questions/283456/byte-array-pattern-search"><font size="2" face="Courier New">http://stackoverflow.com/questions/283456/byte-array-pattern-search</font></a><br /><font size="2" face="Courier New">$compilerParameters = New-Object System.CodeDom.Compiler.CompilerParameters<br />$compilerParameters.CompilerOptions=&#8221;/unsafe&#8221;</font></p>
<p><font size="2" face="Courier New">Add-Type -PassThru -CompilerParameters $compilerParameters -TypeDefinition @&#8221;<br />using System;<br />using System.Collections.Generic;</font></p>
<p><font size="2" face="Courier New">public static class FastByte<br />{</font></p>
<p><font size="2" face="Courier New">&nbsp;&nbsp;&nbsp; public static unsafe long IndexOf(byte[] Haystack, byte[] Needle)<br />&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fixed (byte* H = Haystack) fixed (byte* N = Needle)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; long i = 0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (byte* hNext = H, hEnd = H + Haystack.LongLength; hNext &lt; hEnd; i++, hNext++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bool Found = true;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (byte* hInc = hNext, nInc = N, nEnd = N + Needle.LongLength; Found &amp;&amp; nInc &lt; nEnd; Found = *nInc == *hInc, nInc++, hInc++);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (Found) return i;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return -1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; }<br />}<br />&#8220;@</font></p>
<p><font size="2" face="Courier New">Function Unlock-OfficeDocumentMacro<br />{<br />&nbsp;&nbsp;&nbsp; # To-do -<br />&nbsp;&nbsp;&nbsp; # * Check for valid office file formats. Currently works for Word/Acess/Excel 2000-2003 format<br />&nbsp;&nbsp;&nbsp; Param<br />&nbsp;&nbsp;&nbsp; (<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [ValidateScript({Test-Path $_ -PathType Leaf})]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [String]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $InputFile<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [String]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $OutputFile<br />&nbsp;&nbsp;&nbsp; )<br />&nbsp;&nbsp;&nbsp; Process<br />&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # We&#8217;ll work on the copy&#8212;just in case we mess up the original<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Copy-Item $InputFile $OutputFile<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Load our target file all at once<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Not scalable &#8230; &amp;c but works to test the concept<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Write-Host &#8220;Loading $OutputFile&#8221;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $data=Get-Content -Encoding Byte $OutputFile<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Write-Host &#8220;Searching file contents&#8221;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # The searchString is hex equivelant for string DPB=<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [Byte[]] $searchBytes =&nbsp; 0&#215;44,0&#215;50,0&#215;42,0x3D,0&#215;22<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [Byte[]] $replaceBytes = 0&#215;44,0&#215;50,0&#215;78,0x3D,0&#215;22<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $index=[FastByte]::IndexOf($data,$searchBytes)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Write-Host &#8220;Found at $index&#8221;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # update file<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # so many chances for failures here&#8230;add error checking!<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [System.IO.Stream]$stream = [System.IO.File]::Open($OutputFile,[System.IO.FileMode]::Open)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $stream.Position=$index<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $stream.Write($replaceBytes,0,$replaceBytes.Length)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $stream.Dispose()<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Write-Host &#8220;Update Complete! Output file: $OutputFile&#8221;</font></p>
<p><font size="2" face="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; }<br />}</font></p>
<p><font size="2" face="Courier New">Unlock-OfficeDocumentMacro -InputFile &#8220;c:\Support\Locked.xls&#8221; &#8220;c:\Support\Unlocked.xls&#8221;</font></p>
<p>Once the unlocked file has been output there remains some manual steps.</p>
<p>1. On launching unprotected file office will throw warning. Just click <strong>Yes</strong></p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image13.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb13.png?w=480&#038;h=210" width="480" height="210"></a></p>
<p>2. Then open Visual Basic Editor. You will probably see another error like below:</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image14.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb14.png?w=398&#038;h=221" width="398" height="221"></a></p>
<p>3. Right click the <strong>VBAProject</strong> and select <strong>VBAPRoject Properties</strong></p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image15.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb15.png?w=319&#038;h=262" width="319" height="262"></a></p>
<p>&nbsp;</p>
<p>4. On the <strong>Protection </strong>tab set your own password and click <strong>OK</strong></p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image16.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb16.png?w=461&#038;h=425" width="461" height="425"></a></p>
<p>5. Once this is done you can go back into properties and remove <strong>Lock project for viewing</strong></p>
<p>The PowerShell script and sample excel file contained in .ZIP below:</p>
<p><a title="http://www.tiange.com.au/MacroUnlockerDemoScript.zip" href="http://www.tiange.com.au/MacroUnlockerDemoScript.zip">http://www.tiange.com.au/MacroUnlockerDemoScript.zip</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chentiangemalc.wordpress.com/1670/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chentiangemalc.wordpress.com/1670/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chentiangemalc.wordpress.com/1670/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chentiangemalc.wordpress.com/1670/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chentiangemalc.wordpress.com/1670/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chentiangemalc.wordpress.com/1670/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chentiangemalc.wordpress.com/1670/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chentiangemalc.wordpress.com/1670/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chentiangemalc.wordpress.com/1670/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chentiangemalc.wordpress.com/1670/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chentiangemalc.wordpress.com/1670/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chentiangemalc.wordpress.com/1670/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chentiangemalc.wordpress.com/1670/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chentiangemalc.wordpress.com/1670/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chentiangemalc.wordpress.com&amp;blog=17705451&amp;post=1670&amp;subd=chentiangemalc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chentiangemalc.wordpress.com/2012/01/17/powershell-script-to-remove-office-macro-protection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9b13d4393e6fda83cea20e7b68a2966d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chentiangemalc</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/wlemoticon-smile.png" medium="image">
			<media:title type="html">Smile</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb13.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb14.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb15.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb16.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Case of the Internet Explorer Launch Failure</title>
		<link>http://chentiangemalc.wordpress.com/2012/01/12/case-of-the-internet-explorer-launch-failure/</link>
		<comments>http://chentiangemalc.wordpress.com/2012/01/12/case-of-the-internet-explorer-launch-failure/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 12:21:25 +0000</pubDate>
		<dc:creator>chentiangemalc</dc:creator>
				<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[ProcMon]]></category>
		<category><![CDATA["IE won't launch" "can't launch IE" "Internet Explorer 8" "IE8"]]></category>

		<guid isPermaLink="false">https://chentiangemalc.wordpress.com/?p=1652</guid>
		<description><![CDATA[A Windows 7 environment with Internet Explorer suddenly had a widespread IE8 failure. Clicking the IE icon did absolutely nothing. First thought was an Internet Explorer Add-ons, but running Internet Explorer in No add-ins mode still demonstrated the issue. You &#8230; <a href="http://chentiangemalc.wordpress.com/2012/01/12/case-of-the-internet-explorer-launch-failure/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chentiangemalc.wordpress.com&amp;blog=17705451&amp;post=1652&amp;subd=chentiangemalc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A Windows 7 environment with Internet Explorer suddenly had a widespread IE8 failure. Clicking the IE icon did absolutely nothing. First thought was an Internet Explorer Add-ons, but running Internet Explorer in No add-ins mode still demonstrated the issue.</p>
<p>You might also think “Repair IE8” but unfortunately the Microsoft KB article on how to perform this only has how to reset IE8 settings in Windows 7; which requires ability to start IE in the first place <a title="http://support.microsoft.com/kb/318378" href="http://support.microsoft.com/kb/318378">http://support.microsoft.com/kb/318378</a></p>
<p><strong><em>What’s going on!</em></strong></p>
<p>So of course first I turn to Process Monitor (<a href="http://live.sysinternals.com/ProcMon.exe">http://live.sysinternals.com/ProcMon.exe</a>) and filter by process <strong>iexplore.exe</strong></p>
<p><strong>Woah! So many events and so many say SUCCESS!</strong></p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb.png?w=682&#038;h=727" width="682" height="727"></a></p>
<p>The first key to successful ProcMon’ing is good filtering …</p>
<p>There first thing I notice is a <strong>lot</strong> of name not found events. So I filter to include only those events. Now I see some DLL files that are “name not found”</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image1.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb1.png?w=495&#038;h=51" width="495" height="51"></a></p>
<p>However these are not an issue as they are later found in the C:\windows\system32 directory. This is important to remember when looking at DLL files and Registry keys that show as “not found”</p>
<p>Typically DLL files are searched for in the same directory as the executable; followed by <strong>c:\windows\system32</strong> or <strong>C:\windows\syswow64</strong> (for 32-bit process on x64 Windows) So usually only DLLs that do not get found in system32 or syswow64 folder are truly missing.</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image2.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb2.png?w=452&#038;h=34" width="452" height="34"></a></p>
<p>What I do notice missing though are many <strong>HKCR\CLSID</strong> registry entries. For COM based applications such as Internet Explorer or Microsoft Office if a critical <strong>HKCR\CLSID</strong> key is missing it can be seriously bad news.</p>
<p>So I add a filter <strong>Path </strong>begins with <strong>HKCR\CLSID. </strong>Now these class root ID keys often have many subkeys that are unnecessary – so I am only looking for ones where the root key itself is missing:</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image3.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb3.png?w=651&#038;h=129" width="651" height="129"></a></p>
<p>On a non-broken machine I check this registry key. OK <strong>ieproxy.dll </strong>looks like a critical Internet Explorer file registration is missing!</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image11.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb11.png?w=648&#038;h=95" width="648" height="95"></a></p>
<p> OK so adding this key back in and now Internet Explorer is back in business…</p>
<p><strong><em>You’re alive!</em></strong></p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image12.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb12.png?w=651&#038;h=483" width="651" height="483"></a></p>
<p>But why did this key suddenly disappear in 1,000s of machines at once?</p>
<p>The Windows Application Log, Event ID <strong>1034</strong> offers a nice clue…A WebClient product got uninstalled… We also could have used the <strong>Reliability Monitor </strong>in Windows 7 to see all products/devices installed/uninstalled over a period of time…</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image6.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb6.png?w=833&#038;h=360" width="833" height="360"></a></p>
<p>Further testing proved uninstalling this product broke IE.</p>
<p>But it was now fixed…or so I thought…until I came across some sites failing…</p>
<p>Launching pop-up Windows resulted in blank page being displayed; or in some cases nothing happening at all:</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image7.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb7.png?w=838&#038;h=699" width="838" height="699"></a></p>
<p>While running ProcMon and launching this page I found a missing <strong>TypeLib</strong> key referring to <strong>Microsoft Internet Controls</strong></p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image8.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb8.png?w=890&#038;h=268" width="890" height="268"></a></p>
<p>And <strong>IServiceProvider</strong> registration key</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image9.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb9.png?w=886&#038;h=242" width="886" height="242"></a></p>
<p>So the final solution included adding the following keys back:</p>
<p><font face="Courier New">Windows Registry Editor Version 5.00</font></p>
<p><font face="Courier New">[HKEY_CLASSES_ROOT\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}]<br />@=&#8221;IServiceProvider&#8221;</font></p>
<p><font face="Courier New">[HKEY_CLASSES_ROOT\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}\ProxyStubClsid32]<br />@=&#8221;{A4A1A128-768F-41E0-BF75-E4FDDD701CBA}&#8221;<br /></font></p>
<p><font face="Courier New">[HKEY_CLASSES_ROOT\TypeLib\{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}]</font></p>
<p><font face="Courier New">[HKEY_CLASSES_ROOT\TypeLib\{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}\1.1]<br />@=&#8221;Microsoft Internet Controls&#8221;</font></p>
<p><font face="Courier New">[HKEY_CLASSES_ROOT\TypeLib\{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}\1.1]</font></p>
<p><font face="Courier New">[HKEY_CLASSES_ROOT\TypeLib\{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}\1.1\win32]<br />@=&#8221;C:\\Windows\\SysWOW64\\ieframe.dll&#8221;</font></p>
<p><font face="Courier New">[HKEY_CLASSES_ROOT\TypeLib\{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}\1.1\win64]<br />@=&#8221;C:\\Windows\\System32\\ieframe.dll&#8221;</font></p>
<p><font face="Courier New">[HKEY_CLASSES_ROOT\TypeLib\{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}\1.1\FLAGS]<br />@=&#8221;0&#8243;</font></p>
<p><font face="Courier New">[HKEY_CLASSES_ROOT\TypeLib\{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}\1.1\HELPDIR]<br />@=&#8221;C:\\Windows\\System32&#8243;</font></p>
<p><font face="Courier New"></font><br /><font face="Courier New">[HKEY_CLASSES_ROOT\CLSID\{A4A1A128-768F-41E0-BF75-E4FDDD701CBA}]</p>
<p></font>
<p><font face="Courier New">[HKEY_CLASSES_ROOT\CLSID\{A4A1A128-768F-41E0-BF75-E4FDDD701CBA}\InProcServer32]<br />@=&#8221;C:\\Program Files\\Internet Explorer\\ieproxy.dll&#8221;<br />&#8220;ThreadingModel&#8221;=&#8221;Both&#8221;</font></p>
<p><font face="Courier New">This can also be achieved by running the following commands from Administrative command prompt</font></p>
<blockquote><p><strong><font face="Courier New">regsvr32 &#8220;C:\Program Files\Internet Explorer\ieproxy.dll”</font></strong></p>
</blockquote>
<blockquote><p><strong><font face="Courier New">regsvr32 &#8220;C:\Windows\System32\ieframe.dll&#8221;</font></strong></p>
<p><font face="Courier New">(This last one will throw an error; don’t worry about it)</font></p>
</blockquote>
<blockquote><p><strong><font face="Courier New">If on x64 bit you may also need to include</font></strong></p>
</blockquote>
<blockquote><p><strong>regsvr32 &#8220;C:\program files (X86)\internet explorer\ieproxy.dll&#8221;</strong></p>
<p><strong>regsvr32 &#8220;C:\windows\syswow64\ieproxy.dll&#8221;</strong></p>
</blockquote>
<blockquote><p><font face="Courier New"></font>
<p></p>
</blockquote>
<p><strong>…and voila pop-up Windows are back in business…</strong></p>
<p><a href="http://chentiangemalc.files.wordpress.com/2012/01/image10.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb10.png?w=839&#038;h=602" width="839" height="602"></a></p>
<p>Moral of the story:</p>
<p><strong>Uninstallers please don’t mess with HKCR keys you are not responsible for. </strong>If created captured installs of MSIs pay particular attention to these keys if they get added in your package.</p>
<p>In this case a captured install detected a setup.exe changing these keys. i.e. the application added <strong>PSFactoryBuffer </strong>to this existing key</p>
<p>[HKEY_CLASSES_ROOT\CLSID\{A4A1A128-768F-41E0-BF75-E4FDDD701CBA}]<br /><strong><font color="#ff0000"><em>@=&#8221;PSFactoryBuffer&#8221;</em></font></strong></p>
<p><font color="#000000">Then during the uninstall rather than just removing that value; the captured package removed the entire key.</font></p>
<p> Finally even better virtualize your apps with App-V or ThinApp or your favourite virtualization technology then your app will never touch IE in the first place!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chentiangemalc.wordpress.com/1652/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chentiangemalc.wordpress.com/1652/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chentiangemalc.wordpress.com/1652/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chentiangemalc.wordpress.com/1652/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chentiangemalc.wordpress.com/1652/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chentiangemalc.wordpress.com/1652/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chentiangemalc.wordpress.com/1652/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chentiangemalc.wordpress.com/1652/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chentiangemalc.wordpress.com/1652/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chentiangemalc.wordpress.com/1652/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chentiangemalc.wordpress.com/1652/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chentiangemalc.wordpress.com/1652/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chentiangemalc.wordpress.com/1652/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chentiangemalc.wordpress.com/1652/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chentiangemalc.wordpress.com&amp;blog=17705451&amp;post=1652&amp;subd=chentiangemalc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chentiangemalc.wordpress.com/2012/01/12/case-of-the-internet-explorer-launch-failure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9b13d4393e6fda83cea20e7b68a2966d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chentiangemalc</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb1.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb2.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb3.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb11.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb12.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb6.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb7.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb8.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb9.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2012/01/image_thumb10.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>2011 in review</title>
		<link>http://chentiangemalc.wordpress.com/2012/01/06/2011-in-review/</link>
		<comments>http://chentiangemalc.wordpress.com/2012/01/06/2011-in-review/#comments</comments>
		<pubDate>Fri, 06 Jan 2012 00:22:37 +0000</pubDate>
		<dc:creator>chentiangemalc</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://chentiangemalc.wordpress.com/?p=1627</guid>
		<description><![CDATA[The WordPress.com stats helper monkeys prepared a 2011 annual report for this blog. Here&#8217;s an excerpt: The concert hall at the Sydney Opera House holds 2,700 people. This blog was viewed about 54,000 times in 2011. If it were a &#8230; <a href="http://chentiangemalc.wordpress.com/2012/01/06/2011-in-review/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chentiangemalc.wordpress.com&amp;blog=17705451&amp;post=1627&amp;subd=chentiangemalc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The WordPress.com stats helper monkeys prepared a 2011 annual report for this blog.</p>
<p><a href="/2011/annual-report/"><img src="http://www.wordpress.com/wp-content/mu-plugins/annual-reports/img/emailteaser.jpg" alt="" width="100%" /></a></p>
<p>Here&#8217;s an excerpt:</p>
<blockquote><p>The concert hall at the Sydney Opera House holds 2,700 people. This blog was viewed about <strong>54,000</strong> times in 2011. If it were a concert at Sydney Opera House, it would take about 20 sold-out performances for that many people to see it.</p></blockquote>
<p><a href="/2011/annual-report/">Click here to see the complete report.</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chentiangemalc.wordpress.com/1627/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chentiangemalc.wordpress.com/1627/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chentiangemalc.wordpress.com/1627/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chentiangemalc.wordpress.com/1627/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chentiangemalc.wordpress.com/1627/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chentiangemalc.wordpress.com/1627/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chentiangemalc.wordpress.com/1627/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chentiangemalc.wordpress.com/1627/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chentiangemalc.wordpress.com/1627/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chentiangemalc.wordpress.com/1627/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chentiangemalc.wordpress.com/1627/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chentiangemalc.wordpress.com/1627/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chentiangemalc.wordpress.com/1627/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chentiangemalc.wordpress.com/1627/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chentiangemalc.wordpress.com&amp;blog=17705451&amp;post=1627&amp;subd=chentiangemalc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chentiangemalc.wordpress.com/2012/01/06/2011-in-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9b13d4393e6fda83cea20e7b68a2966d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chentiangemalc</media:title>
		</media:content>

		<media:content url="http://www.wordpress.com/wp-content/mu-plugins/annual-reports/img/emailteaser.jpg" medium="image" />
	</item>
		<item>
		<title>Using ZunePass on Windows Developer Preview</title>
		<link>http://chentiangemalc.wordpress.com/2011/12/26/using-zunepass-on-windows-developer-preview/</link>
		<comments>http://chentiangemalc.wordpress.com/2011/12/26/using-zunepass-on-windows-developer-preview/#comments</comments>
		<pubDate>Mon, 26 Dec 2011 09:51:14 +0000</pubDate>
		<dc:creator>chentiangemalc</dc:creator>
				<category><![CDATA[Windows 8]]></category>
		<category><![CDATA[Windows Phone]]></category>
		<category><![CDATA[Zune]]></category>
		<category><![CDATA[C00D12F5 C00D11D0 C00D1385 ZunePass]]></category>

		<guid isPermaLink="false">https://chentiangemalc.wordpress.com/?p=1624</guid>
		<description><![CDATA[If you try to use playback Zune Pass content on Windows Developer Preview you may experience some of Zune’s wonderfully helpful error messages such as: Media Usage Rights Error — C00D12F5 According to Zune Support page (http://www.zune.net/en-au/support/webhelp/C00D12F5.htm) this typically occurs &#8230; <a href="http://chentiangemalc.wordpress.com/2011/12/26/using-zunepass-on-windows-developer-preview/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chentiangemalc.wordpress.com&amp;blog=17705451&amp;post=1624&amp;subd=chentiangemalc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>If you try to use playback Zune Pass content on Windows Developer Preview you may experience some of Zune’s wonderfully helpful error messages such as:</p>
<p><strong><em>Media Usage Rights Error — C00D12F5</em></strong> </p>
<p>According to Zune Support page (<a title="http://www.zune.net/en-au/support/webhelp/C00D12F5.htm" href="http://www.zune.net/en-au/support/webhelp/C00D12F5.htm">http://www.zune.net/en-au/support/webhelp/C00D12F5.htm</a>) this typically occurs when a component of the Windows Digital Rights Management (DRM) system on your computer is missing or damaged and needs to be replaced or upgraded.</p>
<p>However this article has no advice on a fix, but suggests search Microsoft Support Knowledge base.</p>
<p>Searching that you may come across <strong>Error message when trying to sign in to or play content from the Zune Marketplace</strong> <a href="http://support.microsoft.com/kb/929642">http://support.microsoft.com/kb/929642</a>&nbsp;</p>
<p>This article refers to a <strong>ResetDRM </strong>tool, however this fails to run on Windows Developer Preview. If you set it to run in Windows Vista compatibility mode it will then bomb out because you don’t have Windows Media Player 11 installed.</p>
<p>So what to do? This is how I got Zune protected content to play successfully on Windows Developer Preview x64:</p>
<p>1) Install latest Zune client from <a title="http://www.zune.net/" href="http://www.zune.net/">http://www.zune.net/</a></p>
<p>2) Ensure your location setting in Windows matches that of your Live ID &amp; your computer time is correct for configured time zone</p>
<p>3) Download ResetDRM tool from <a title="http://go.microsoft.com/fwlink/?LinkID=203950&amp;clcid=0x409" href="http://go.microsoft.com/fwlink/?LinkID=203950&amp;clcid=0x409">http://go.microsoft.com/fwlink/?LinkID=203950&amp;clcid=0&#215;409</a></p>
<p><font color="#ff0000"><b>Warning </b>This procedure affects all media files on the computer that use Windows Media <b>DRM</b> technology. The effect of this procedure is not limited to media files that you obtained from the Zune Marketplace. If you follow this procedure, content licenses for all protected media files on the hard disk are deleted. Other providers, such as, Napster, Netflix, MSN Music, and Wal-Mart, may have mechanisms for restoring licenses. If you have content from other providers, examine the appropriate license restoration policies before you continue.</font></p>
<p>Then run the following command to extract the contents, where /T specifies the extract folder:</p>
<p><strong>ResetDRM /T:%temp%\ResetDRM /C</strong></p>
<p>4) Ensure Windows Media Player &amp; Zune client are not running then from the extracted folder run</p>
<p><strong>CleanDRM /v</strong></p>
<p>This should bring up a notepad display with a message of what just happened. Importantly you should see <strong>CleanDRM succeeded</strong> at the end of the log file:</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2011/12/image13.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2011/12/image_thumb13.png?w=861&#038;h=575" width="861" height="575"></a></p>
<p>5) You may now also receive errors such as :</p>
<p>Usage-rights Error — C00D11D0 <br />Usage-rights Error — C00D1385 </p>
<p><a title="http://www.zune.net/en-au/support/webhelp/C00D1385.htm" href="http://www.zune.net/en-au/support/webhelp/C00D1385.htm">http://www.zune.net/en-au/support/webhelp/C00D1385.htm</a></p>
<p>Missing License Error — C00D0BBE </p>
<p><a title="http://www.zune.net/en-au/support/webhelp/C00D0BBE.htm" href="http://www.zune.net/en-au/support/webhelp/C00D0BBE.htm">http://www.zune.net/en-au/support/webhelp/C00D0BBE.htm</a></p>
<p>This can be caused by not having an internet connection or not being signed into Windows Live ID in the Zune client. You must see your Live ID name in the upper left corner of Zune client:</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2011/12/image14.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2011/12/image_thumb14.png?w=390&#038;h=56" width="390" height="56"></a></p>
<p>In addition your computer name should be listed in <strong>Settings –&gt; Account –&gt; Computers &amp; Devices </strong>section </p>
<p><a href="http://chentiangemalc.files.wordpress.com/2011/12/image15.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2011/12/image_thumb15.png?w=852&#038;h=511" width="852" height="511"></a></p>
<p>You may also need to perform a certificate revocation list update. To do this visit <a title="http://drmlicense.one.microsoft.com/crlupdate/en/crlupdate.html" href="http://drmlicense.one.microsoft.com/crlupdate/en/crlupdate.html">http://drmlicense.one.microsoft.com/crlupdate/en/crlupdate.html</a> and if prompted accept installation of ActiveX control. Then click the <strong>Upgrade </strong>button. If successful you should see the following page</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2011/12/image16.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2011/12/image_thumb16.png?w=860&#038;h=221" width="860" height="221"></a></p>
<p>OK now I can go back to enjoying my 30 GB+ ZunePass music collection on Windows Developer Preview…</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chentiangemalc.wordpress.com/1624/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chentiangemalc.wordpress.com/1624/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chentiangemalc.wordpress.com/1624/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chentiangemalc.wordpress.com/1624/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chentiangemalc.wordpress.com/1624/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chentiangemalc.wordpress.com/1624/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chentiangemalc.wordpress.com/1624/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chentiangemalc.wordpress.com/1624/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chentiangemalc.wordpress.com/1624/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chentiangemalc.wordpress.com/1624/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chentiangemalc.wordpress.com/1624/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chentiangemalc.wordpress.com/1624/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chentiangemalc.wordpress.com/1624/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chentiangemalc.wordpress.com/1624/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chentiangemalc.wordpress.com&amp;blog=17705451&amp;post=1624&amp;subd=chentiangemalc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chentiangemalc.wordpress.com/2011/12/26/using-zunepass-on-windows-developer-preview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9b13d4393e6fda83cea20e7b68a2966d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chentiangemalc</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2011/12/image_thumb13.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2011/12/image_thumb14.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2011/12/image_thumb15.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2011/12/image_thumb16.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Photo Fuse Your Holiday Photos</title>
		<link>http://chentiangemalc.wordpress.com/2011/12/25/photo-fuse-your-holiday-photos/</link>
		<comments>http://chentiangemalc.wordpress.com/2011/12/25/photo-fuse-your-holiday-photos/#comments</comments>
		<pubDate>Sun, 25 Dec 2011 08:38:58 +0000</pubDate>
		<dc:creator>chentiangemalc</dc:creator>
				<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">https://chentiangemalc.wordpress.com/?p=1614</guid>
		<description><![CDATA[It’s the holidays and I’ll take a break from the usual problem solving blog and demonstrate a really powerful feature of Windows Live Photo Gallery that many people are still not aware of. Basically a common problem: You take a &#8230; <a href="http://chentiangemalc.wordpress.com/2011/12/25/photo-fuse-your-holiday-photos/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chentiangemalc.wordpress.com&amp;blog=17705451&amp;post=1614&amp;subd=chentiangemalc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It’s the holidays and I’ll take a break from the usual problem solving blog and demonstrate a really powerful feature of Windows Live Photo Gallery that many people are still not aware of.</p>
<p>Basically a common problem: You take a photo of a group a few times, in the first photo one person looks great, but in the other photo someone else looks their best. Sure you can spend some time in PhotoShop, GIMP or Paint.NET to merge these photos, but the easy way is Photo Fuse.</p>
<p>Photo Fuse is a feature of Windows Live Photo Gallery, available for Windows 7, and can be downloaded at <a href="http://explore.live.com/windows-live-essentials">http://explore.live.com/windows-live-essentials</a></p>
<p>Once installed you can load by typing <strong>gallery </strong>into Windows 7 start menu then selecting the program</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2011/12/image7.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;margin:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2011/12/image_thumb7.png?w=244&#038;h=86" width="244" height="86"></a></p>
<p>Or you can select a photo in Windows Explorer and select open with Windows Live Photo Gallery</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2011/12/image8.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2011/12/image_thumb8.png?w=474&#038;h=342" width="474" height="342"></a></p>
<p>In this case I have two photos:</p>
<p>Photo #1 – Hand in front of mouth</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2011/12/christmas-day-2011-074.jpg"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="Christmas Day 2011 074" border="0" alt="Christmas Day 2011 074" src="http://chentiangemalc.files.wordpress.com/2011/12/christmas-day-2011-074_thumb.jpg?w=644&#038;h=484" width="644" height="484"></a></p>
<p>Photo #2 – Other toddler looking away</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2011/12/christmas-day-2011-075.jpg"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="Christmas Day 2011 075" border="0" alt="Christmas Day 2011 075" src="http://chentiangemalc.files.wordpress.com/2011/12/christmas-day-2011-075_thumb.jpg?w=644&#038;h=484" width="644" height="484"></a></p>
<p>In Windows Live Photo Gallery I then select the group of photos I want to fuse by ticking their checkboxes</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2011/12/image9.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2011/12/image_thumb9.png?w=900&#038;h=995" width="900" height="995"></a></p>
<p>I then select the <strong>Create </strong>tab and click <strong>Photo Fuse</strong></p>
<p><a href="http://chentiangemalc.files.wordpress.com/2011/12/image10.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2011/12/image_thumb10.png?w=846&#038;h=314" width="846" height="314"></a></p>
<p>You then get asked which do you like best, click the one you prefer</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2011/12/image11.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2011/12/image_thumb11.png?w=653&#038;h=593" width="653" height="593"></a></p>
<p>I then select the region I want to change</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2011/12/image12.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://chentiangemalc.files.wordpress.com/2011/12/image_thumb12.png?w=879&#038;h=571" width="879" height="571"></a></p>
<p>You may need to do a few regions with trial &amp; error to get it looking good, but the result after less than a minute is…</p>
<p><a href="http://chentiangemalc.files.wordpress.com/2011/12/christmas-day-2011-075-fuse.jpg"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="Christmas Day 2011 075 Fuse" border="0" alt="Christmas Day 2011 075 Fuse" src="http://chentiangemalc.files.wordpress.com/2011/12/christmas-day-2011-075-fuse_thumb.jpg?w=644&#038;h=484" width="644" height="484"></a></p>
<p>This is a really great &amp; simple way to touch-up your photos rapidly.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chentiangemalc.wordpress.com/1614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chentiangemalc.wordpress.com/1614/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chentiangemalc.wordpress.com/1614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chentiangemalc.wordpress.com/1614/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chentiangemalc.wordpress.com/1614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chentiangemalc.wordpress.com/1614/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chentiangemalc.wordpress.com/1614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chentiangemalc.wordpress.com/1614/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chentiangemalc.wordpress.com/1614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chentiangemalc.wordpress.com/1614/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chentiangemalc.wordpress.com/1614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chentiangemalc.wordpress.com/1614/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chentiangemalc.wordpress.com/1614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chentiangemalc.wordpress.com/1614/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chentiangemalc.wordpress.com&amp;blog=17705451&amp;post=1614&amp;subd=chentiangemalc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chentiangemalc.wordpress.com/2011/12/25/photo-fuse-your-holiday-photos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9b13d4393e6fda83cea20e7b68a2966d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chentiangemalc</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2011/12/image_thumb7.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2011/12/image_thumb8.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2011/12/christmas-day-2011-074_thumb.jpg" medium="image">
			<media:title type="html">Christmas Day 2011 074</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2011/12/christmas-day-2011-075_thumb.jpg" medium="image">
			<media:title type="html">Christmas Day 2011 075</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2011/12/image_thumb9.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2011/12/image_thumb10.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2011/12/image_thumb11.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2011/12/image_thumb12.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://chentiangemalc.files.wordpress.com/2011/12/christmas-day-2011-075-fuse_thumb.jpg" medium="image">
			<media:title type="html">Christmas Day 2011 075 Fuse</media:title>
		</media:content>
	</item>
	</channel>
</rss>
