<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;C0cGQXc6fCp7ImA9WhFSEk8.&quot;"><id>tag:blogger.com,1999:blog-9087075508981084919</id><updated>2013-06-14T17:43:40.914+03:00</updated><category term="images" /><category term="vss" /><category term="bitwise" /><category term="flash" /><category term="control" /><category term="Visual SourceSafe" /><category term="package" /><category term="arguments" /><category term="device" /><category term="just me" /><category term="adobe" /><category term="border" /><category term="cookie" /><category term="array" /><category term="chrome" /><category term="read info" /><category term="xml node" /><category term="remove cookies" /><category term="copy" /><category term="player" /><category term="compare tables" /><category term="xpath" /><category term="cldc" /><category term="israel" /><category term="Bootstrapper" /><category term="xhtml" /><category term="spy 7.0" /><category term="c++" /><category term="uninstall" /><category term="sort" /><category term="webservice. asp.net" /><category term="paint" /><category term="table" /><category term="winforms" /><category term="Excel 2007" /><category term="java" /><category term="elavation" /><category term="winmobile" /><category term="example" /><category term="information" /><category term="synchronization" /><category term="msi" /><category term="format" /><category term="Right to Left" /><category term="win forms" /><category term="date input" /><category term="j2me" /><category term="text" /><category term="align" /><category term="asp.net" /><category term="restrict" /><category term="convertion" /><category term="label" /><category term="windows vista" /><category term="Microsoft" /><category term="delimiter" /><category term="get device info" /><category term="seperated" /><category term="list" /><category term="post build" /><category term="listview" /><category term="RDA" /><category term="debugger" /><category term="short" /><category term="transparent" /><category term="compare schemas" /><category term="explorer" /><category term="input" /><category term="manage windows" /><category term="all users" /><category term="java me" /><category term="sync" /><category term="splash" /><category term="itanium" /><category term="key press" /><category term="current user" /><category term="excel" /><category term="plugin" /><category term="Excel 2003" /><category term="rim" /><category term="compare" /><category term="computer" /><category term="vcredist" /><category term="sp1" /><category term="canvas" /><category term="image" /><category term="code" /><category term="spy 8.0" /><category term="delimited" /><category term="embed" /><category term="unique" /><category term="IA64" /><category term="c sharp" /><category term="operation" /><category term="winvista" /><category term="cookies" /><category term="check" /><category term="CustomItem" /><category term="remote" /><category term="BannerBitmap" /><category term="program" /><category term="version" /><category term="get device name" /><category term="button" /><category term="netbeans" /><category term="replace" /><category term="stored-procedure" /><category term="columns" /><category term="Reflection" /><category term="web control" /><category term="SplashBitmap" /><category term="clone" /><category term="framework 2.0" /><category term="slider" /><category term="blackberry" /><category term="bubblesort" /><category term="sql" /><category term="redistributable" /><category term="auto size label" /><category term="source code" /><category term="transparent label" /><category term="winxp" /><category term="id" /><category term="visual c++" /><category term="image processing" /><category term="windows installer" /><category term="install" /><category term="mobile" /><category term="angle" /><category term="Microsoft Visual SourceSafe" /><category term="clear" /><category term="web" /><category term="webbrowser" /><category term="registry" /><category term="installed" /><category term="method" /><category term="cheking" /><category term="everyone" /><category term="date" /><category term="jar" /><category term="validation" /><category term="library" /><category term="windows 7" /><category term="attach window" /><category term="delete cookies" /><category term="firefox" /><category term="location" /><category term="applications" /><category term="windows xp" /><category term="string format" /><category term="bypass hosts" /><category term="js" /><category term="window" /><category term="web service" /><category term="function" /><category term="spxx" /><category term="installer" /><category term="Left to Right" /><category term="algorithem" /><category term="link" /><category term=".net" /><category term="windows mobile" /><category term="x64" /><category term="banner" /><category term="xml" /><category term="setup project" /><category term="select" /><category term="6.0" /><category term="get version" /><category term="mysql" /><category term="double" /><category term="datatable" /><category term="os" /><category term="nsis" /><category term="deskew" /><category term="object" /><category term="bootstraper" /><category term="parameters" /><category term="ensure single instance" /><category term="wince" /><category term="language" /><category term="sample" /><category term="component" /><category term="style" /><category term="visual studio" /><category term="split" /><category term="android" /><category term="LTR" /><category term="UAC" /><category term="PINVOKE" /><category term="html" /><category term="color" /><category term="session" /><category term="ie7" /><category term="xml attribute" /><category term="crop" /><category term="scroll" /><category term="string replace" /><category term="byte" /><category term="remove" /><category term="midp" /><category term="Remote Data Access" /><category term="bit" /><category term="setup" /><category term="single instance" /><category term="javascript" /><category term="dllimport" /><category term="center" /><category term="windows form" /><category term="compact framework" /><category term="macromedia" /><category term="extractvalue" /><category term="hosts" /><category term="x86" /><category term="maximized" /><category term="AutoCompleteExtender" /><category term="adjust width" /><category term="picturebox" /><category term="form" /><category term="string" /><category term="minimized" /><category term="synchronize" /><category term="delete" /><category term="win7" /><category term="picture" /><category term="short id" /><category term="browser" /><category term="monitor" /><category term="get device id" /><category term="class" /><category term="script" /><category term="open" /><category term="windows" /><category term="pin" /><category term="background" /><category term="file" /><category term="bypass" /><category term="database" /><category term="merge" /><category term="debug" /><category term="dot net" /><category term="clear cookies" /><category term="php" /><category term="Thread" /><category term="process" /><category term="ajax" /><category term="determine" /><category term="lwuit" /><category term="device info" /><category term="Autosize" /><category term="Auto size" /><category term="position" /><category term="sql server" /><category term="wap" /><category term="textbox" /><category term="xml content" /><category term="versioning" /><category term="C#" /><category term="spy++" /><category term="running" /><category term="Visual C++ 2008 SP1" /><category term="binary search" /><category term="upload" /><category term="runtime" /><category term="search" /><category term="command line" /><category term="jad" /><category term="israeli id" /><category term="expert" /><title>MDB Blog</title><subtitle type="html">My Development Blog!
Information and code samples/examples on: Compact Framework using C#, J2ME using java, Web development using ASP.NET, Windows Forms on C# and other special tricks at excel, word. enjoy...</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://mdb-blog.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://mdb-blog.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>sami.e</name><uri>http://www.blogger.com/profile/17924298382466536337</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>53</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/MdbBlog" /><feedburner:info uri="mdbblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DkQCSH04eSp7ImA9WhBTGE8.&quot;"><id>tag:blogger.com,1999:blog-9087075508981084919.post-2567157609194575049</id><published>2013-02-13T16:30:00.000+02:00</published><updated>2013-02-14T08:46:09.331+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-02-14T08:46:09.331+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="clear cookies" /><category scheme="http://www.blogger.com/atom/ns#" term="process" /><category scheme="http://www.blogger.com/atom/ns#" term="cookie" /><category scheme="http://www.blogger.com/atom/ns#" term="webbrowser" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><category scheme="http://www.blogger.com/atom/ns#" term="clear" /><category scheme="http://www.blogger.com/atom/ns#" term="session" /><category scheme="http://www.blogger.com/atom/ns#" term="remove cookies" /><category scheme="http://www.blogger.com/atom/ns#" term="cookies" /><category scheme="http://www.blogger.com/atom/ns#" term="delete cookies" /><category scheme="http://www.blogger.com/atom/ns#" term="delete" /><category scheme="http://www.blogger.com/atom/ns#" term="remove" /><category scheme="http://www.blogger.com/atom/ns#" term="winforms" /><category scheme="http://www.blogger.com/atom/ns#" term="web control" /><category scheme="http://www.blogger.com/atom/ns#" term="browser" /><title>c# Winforms WebBrowser - Clear all cookies</title><content type="html">&lt;div dir="ltr" style="text-align: left;"&gt;
&lt;div&gt;Hello,&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
I recently search for a method to delete all cookies from the build in .NET WinForms &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.aspx" target="_blank"&gt;WebBrowser&lt;/a&gt; control.&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
I didn't found any &lt;b&gt;working &lt;/b&gt;solution for it, nor working example.&lt;/div&gt;
&lt;div&gt;
It being told to use &lt;a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa385114%28v=vs.85%29.aspx" target="_blank"&gt;InternetSetOption,&lt;/a&gt; but nothing found about it.&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
So, i will write here my solution for &lt;b&gt;clearing and deleting all cookies.&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
My solution using &lt;a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa385114%28v=vs.85%29.aspx" target="_blank"&gt;InternetSetOption&lt;/a&gt;&amp;nbsp;with the option flag: &lt;a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa385328%28v=vs.85%29.aspx#INTERNET_OPTION_SUPPRESS_BEHAVIOR" target="_blank"&gt;INTERNET_OPTION_SUPPRESS_BEHAVIOR&lt;/a&gt;, which described as:&lt;/div&gt;
&lt;div dir="ltr" style="border: 1px solid black; text-align: left;"&gt;
&lt;i&gt;&lt;/i&gt;
            &lt;br /&gt;
&lt;i&gt;A general purpose option that is used to suppress behaviors on a process-wide basis. The lpBuffer parameter of the function must be a pointer to a DWORD containing the specific behavior to suppress. This option cannot be queried with InternetQueryOption.&lt;/i&gt;
            &lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
This option flag should be used together with INTERNET_SUPPRESS_COOKIE_PERSIST options, which means:&lt;br /&gt;
&lt;div dir="ltr" style="border: 1px solid black; text-align: left;"&gt;
&lt;i&gt;&lt;/i&gt;
                &lt;br /&gt;
&lt;i&gt;Suppresses the persistence of cookies, even if the server has specified them as persistent.&lt;/i&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
So the&amp;nbsp;example&amp;nbsp;code for it&amp;nbsp;will be:&lt;/div&gt;
&lt;/div&gt;
&lt;pre style="background-color: #f1f1f1; border: 1px solid black; padding: 10px; white-space: pre-wrap;"&gt;static void Main()
{
    SuppressWininetBehavior();

    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    Application.Run(new Form1());
}

[System.Runtime.InteropServices.DllImport("wininet.dll", CharSet = System.Runtime.InteropServices.CharSet.Auto, SetLastError = true)]
public static extern bool InternetSetOption(int hInternet, int dwOption, IntPtr lpBuffer, int dwBufferLength);

private static unsafe void SuppressWininetBehavior()
{
    /* SOURCE: http://msdn.microsoft.com/en-us/library/windows/desktop/aa385328%28v=vs.85%29.aspx
        * INTERNET_OPTION_SUPPRESS_BEHAVIOR (81):
        *      A general purpose option that is used to suppress behaviors on a process-wide basis. 
        *      The lpBuffer parameter of the function must be a pointer to a DWORD containing the specific behavior to suppress. 
        *      This option cannot be queried with InternetQueryOption. 
        *      
        * INTERNET_SUPPRESS_COOKIE_PERSIST (3):
        *      Suppresses the persistence of cookies, even if the server has specified them as persistent.
        *      Version:  Requires Internet Explorer 8.0 or later.
        */

    int option = (int)3/* INTERNET_SUPPRESS_COOKIE_PERSIST*/;
    int* optionPtr = &amp;amp;option;

    bool success = InternetSetOption(0, 81/*INTERNET_OPTION_SUPPRESS_BEHAVIOR*/, new IntPtr(optionPtr), sizeof(int));
    if (!success)
    {
        MessageBox.Show("Something went wrong !&amp;gt;?");
    }
}
&lt;/pre&gt;
&lt;div dir="ltr" style="text-align: left; "&gt;
&lt;br /&gt;
Please make sure your project is allows unsafe code. (under Properties =&amp;gt; Build Tab)
        &lt;br /&gt;
&lt;br /&gt;
This code is deleting&amp;nbsp;the COOKIES per PROCESS on startup ONLY. &lt;br /&gt;
[tested on WIN-7 and working great]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Best Regards,
        &lt;br /&gt;
MDB-BLOG :)
    &lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/MdbBlog/~4/Dm-5DZ1AQgU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mdb-blog.blogspot.com/feeds/2567157609194575049/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mdb-blog.blogspot.com/2013/02/c-winforms-webbrowser-clear-all-cookies.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/2567157609194575049?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/2567157609194575049?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MdbBlog/~3/Dm-5DZ1AQgU/c-winforms-webbrowser-clear-all-cookies.html" title="c# Winforms WebBrowser - Clear all cookies" /><author><name>sami.e</name><uri>http://www.blogger.com/profile/17924298382466536337</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mdb-blog.blogspot.com/2013/02/c-winforms-webbrowser-clear-all-cookies.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkAERXw9fyp7ImA9WhBTFU0.&quot;"><id>tag:blogger.com,1999:blog-9087075508981084919.post-7131523962345712174</id><published>2013-02-10T14:51:00.001+02:00</published><updated>2013-02-10T14:51:44.267+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-02-10T14:51:44.267+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sql" /><category scheme="http://www.blogger.com/atom/ns#" term="function" /><category scheme="http://www.blogger.com/atom/ns#" term="text" /><category scheme="http://www.blogger.com/atom/ns#" term="mysql" /><category scheme="http://www.blogger.com/atom/ns#" term="delimited" /><category scheme="http://www.blogger.com/atom/ns#" term="xpath" /><category scheme="http://www.blogger.com/atom/ns#" term="extractvalue" /><category scheme="http://www.blogger.com/atom/ns#" term="seperated" /><category scheme="http://www.blogger.com/atom/ns#" term="delimiter" /><title>MySQL xpath ExtractValue with delimiter</title><content type="html">&lt;div dir="rtl" style="text-align: right;" trbidi="on"&gt;
&lt;div dir="ltr" style="text-align: left;"&gt;
Hello,&lt;/div&gt;
&lt;div dir="ltr" style="text-align: left;"&gt;
&lt;/div&gt;
&lt;div dir="ltr" style="text-align: left;"&gt;
I recently noticed the XPATH option inside MySQL.&lt;/div&gt;
&lt;div dir="ltr" style="text-align: left;"&gt;
What a wonderfull way for handling XML. (&lt;a href="http://dev.mysql.com/doc/refman/5.1/en/xml-functions.html"&gt;http://dev.mysql.com/doc/refman/5.1/en/xml-functions.html&lt;/a&gt;)&lt;/div&gt;
&lt;div dir="ltr" style="text-align: left;"&gt;
&lt;/div&gt;
&lt;div dir="ltr" style="text-align: left;"&gt;
I used &lt;a href="http://dev.mysql.com/doc/refman/5.1/en/xml-functions.html#function_extractvalue" target="_blank"&gt;ExtractFunction&lt;/a&gt;, and noticed that this function is &lt;strong&gt;space&lt;/strong&gt; delimited:&lt;/div&gt;
&lt;div dir="ltr" style="text-align: left;"&gt;
&lt;div style="border: 1px solid black;"&gt;
&lt;em&gt;Because &lt;/em&gt;&lt;code class="literal"&gt;&lt;em&gt;ExtractValue()&lt;/em&gt;&lt;/code&gt;&lt;em&gt; returns      multiple matches as a single space-delimited string&lt;/em&gt;&lt;/div&gt;
&lt;br /&gt;
So I needed to create the same function with custom text delimted (comma, semi-colon or anything you want).&lt;br /&gt;
&lt;br /&gt;
The function called: &lt;strong&gt;EXTRACTVALUE_ALL &lt;/strong&gt;which is the same as &lt;strong&gt;&lt;span style="color: navy;"&gt;EXTRACTVALUE &lt;/span&gt;&lt;/strong&gt;just get a delimiter text to seperate between results. (seperated text).&lt;br /&gt;
&lt;u&gt;&lt;span style="background-color: yellow;"&gt;Tested on MySQL 5.5.28.&lt;/span&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;/div&gt;
&lt;div dir="ltr" style="text-align: left;"&gt;
&lt;strong&gt;Create Function CODE:&lt;/strong&gt;&lt;!--StartFragment--&gt;&lt;br /&gt;
&lt;pre class="Cpp" name="code" style="background-color: #f1f1f1; border: 1px solid black; padding: 10px;"&gt;&lt;pre&gt;&lt;code&gt;&lt;span class="sql1-reservedword"&gt;&lt;strong&gt;&lt;span style="color: blue;"&gt;DROP&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-reservedword"&gt;&lt;strong&gt;&lt;span style="color: blue;"&gt;FUNCTION&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-function"&gt;&lt;strong&gt;&lt;span style="color: navy;"&gt;IF&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-reservedword"&gt;&lt;strong&gt;&lt;span style="color: blue;"&gt;EXISTS&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;EXTRACTVALUE_ALL&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;&lt;span class="sql1-symbol"&gt;&lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;DELIMITER&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span style="color: blue;"&gt;&lt;span class="sql1-symbol"&gt;|
&lt;/span&gt;&lt;span class="sql1-reservedword"&gt;&lt;strong&gt;CREATE&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-reservedword"&gt;&lt;strong&gt;&lt;span style="color: blue;"&gt;FUNCTION&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;EXTRACTVALUE_ALL&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;p_xml&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-datatype"&gt;&lt;strong&gt;&lt;span style="color: maroon;"&gt;TEXT&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;p_xpathExpr&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-datatype"&gt;&lt;strong&gt;&lt;span style="color: maroon;"&gt;TEXT&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;p_delimiter&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-datatype"&gt;&lt;strong&gt;&lt;span style="color: maroon;"&gt;TEXT&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-reservedword"&gt;&lt;strong&gt;&lt;span style="color: blue;"&gt;RETURNS&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;strong&gt;&lt;span class="sql1-datatype"&gt;&lt;span style="color: maroon;"&gt;TEXT
&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-reservedword"&gt;&lt;span style="color: blue;"&gt;BEGIN
&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-plsql-reservedword"&gt;DECLARE&lt;/span&gt;&lt;/strong&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;total_elements&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-datatype"&gt;&lt;strong&gt;&lt;span style="color: maroon;"&gt;INT&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-plsql-reservedword"&gt;&lt;strong&gt;DECLARE&lt;/strong&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;xpath_expression_count&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;xpath_expression_index&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt;  &lt;/span&gt;&lt;span class="sql1-datatype"&gt;&lt;strong&gt;&lt;span style="color: maroon;"&gt;TEXT&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-plsql-reservedword"&gt;&lt;strong&gt;DECLARE&lt;/strong&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;single_tag&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;result&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt;  &lt;/span&gt;&lt;span class="sql1-datatype"&gt;&lt;strong&gt;&lt;span style="color: maroon;"&gt;TEXT&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;;

&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-comment"&gt;&lt;em&gt;&lt;span style="color: grey;"&gt;# calc TOTAL elements
&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;span class="sql1-reservedword"&gt;&lt;strong&gt;&lt;span style="color: blue;"&gt;SET&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;xpath_expression_count&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-function"&gt;&lt;strong&gt;&lt;span style="color: navy;"&gt;CONCAT&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-string"&gt;&lt;span style="color: green;"&gt;'count('&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;p_xpathExpr&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-string"&gt;&lt;span style="color: green;"&gt;')'&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;&lt;span class="sql1-symbol"&gt;);
&lt;/span&gt;&lt;span class="sql1-reservedword"&gt;&lt;strong&gt;SELECT&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-function"&gt;&lt;strong&gt;&lt;span style="color: navy;"&gt;EXTRACTVALUE&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;p_xml&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;xpath_expression_count&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-reservedword"&gt;&lt;strong&gt;&lt;span style="color: blue;"&gt;INTO&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;total_elements&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;;

&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-comment"&gt;&lt;em&gt;&lt;span style="color: grey;"&gt;# run over elements (create long text)
&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;span class="sql1-reservedword"&gt;&lt;strong&gt;&lt;span style="color: blue;"&gt;SET&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;result&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-string"&gt;&lt;span style="color: green;"&gt;''&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;&lt;span class="sql1-symbol"&gt;;
&lt;/span&gt;&lt;span class="sql1-reservedword"&gt;&lt;strong&gt;SET&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;xpath_expression_index&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-function"&gt;&lt;strong&gt;&lt;span style="color: navy;"&gt;CONCAT&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;p_xpathExpr&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-string"&gt;&lt;span style="color: green;"&gt;'[$@i]'&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;&lt;span class="sql1-symbol"&gt;);
&lt;/span&gt;&lt;span class="sql1-reservedword"&gt;&lt;strong&gt;SET&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;@&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-number"&gt;&lt;span style="color: purple;"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-plsql-reservedword"&gt;&lt;strong&gt;WHILE&lt;/strong&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;@&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;&amp;lt;=&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;total_elements&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;strong&gt;&lt;span class="sql1-plsql-reservedword"&gt;DO
&lt;/span&gt;&lt;span class="sql1-reservedword"&gt;&lt;span style="color: blue;"&gt;SET&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;single_tag&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-function"&gt;&lt;strong&gt;&lt;span style="color: navy;"&gt;EXTRACTVALUE&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;p_xml&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;xpath_expression_index&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;&lt;span class="sql1-symbol"&gt;);
&lt;/span&gt;&lt;span class="sql1-reservedword"&gt;&lt;strong&gt;SET&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;result&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-function"&gt;&lt;strong&gt;&lt;span style="color: navy;"&gt;IF&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;result&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-string"&gt;&lt;span style="color: green;"&gt;''&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;single_tag&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-function"&gt;&lt;strong&gt;&lt;span style="color: navy;"&gt;CONCAT&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;result&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;p_delimiter&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;single_tag&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;&lt;span class="sql1-symbol"&gt;));
&lt;/span&gt;&lt;span class="sql1-reservedword"&gt;&lt;strong&gt;SET&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;@&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;@&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;+&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-number"&gt;&lt;span style="color: purple;"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;&lt;span class="sql1-symbol"&gt;;
&lt;/span&gt;&lt;span class="sql1-reservedword"&gt;&lt;strong&gt;END&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-plsql-reservedword"&gt;&lt;strong&gt;WHILE&lt;/strong&gt;&lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;;

&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-comment"&gt;&lt;em&gt;&lt;span style="color: grey;"&gt;# return total result
&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;span class="sql1-reservedword"&gt;&lt;strong&gt;&lt;span style="color: blue;"&gt;RETURN&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-identifier"&gt;&lt;span style="color: olive;"&gt;result&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;&lt;span class="sql1-symbol"&gt;;
&lt;/span&gt;&lt;span class="sql1-reservedword"&gt;&lt;strong&gt;END&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="sql1-space"&gt; &lt;/span&gt;&lt;span class="sql1-symbol"&gt;&lt;span style="color: blue;"&gt;|
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Usage Code:&lt;/strong&gt;&lt;br /&gt;
&lt;pre class="Cpp" name="code" style="background-color: #f1f1f1; border: 1px solid black; padding: 10px;"&gt;SET @XXXMMMMLLL = '&lt;root&gt;&amp;nbsp;&lt;a1&gt;&amp;nbsp;&lt;time&gt;time1&lt;/time&gt;&amp;nbsp;&lt;/a1&gt;&amp;nbsp;&lt;a1&gt;&amp;nbsp;&lt;time&gt;time2&lt;/time&gt;&amp;nbsp;&lt;/a1&gt;&lt;/root&gt;';

SELECT EXTRACTVALUE_ALL(@XXXMMMMLLL, '/descendant-or-self::time', '&amp;nbsp; |&amp;nbsp; ');
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Output:&lt;/strong&gt;&lt;br /&gt;
&lt;pre class="Cpp" name="code" style="background-color: #f1f1f1; border: 1px solid black; padding: 10px;"&gt;time1  |  time2
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Rememeber that you will need a MYSQL permission for creating new functions.&lt;br /&gt;
&lt;br /&gt;
MDB-BLOG :)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/MdbBlog/~4/9EBEeFPS51w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mdb-blog.blogspot.com/feeds/7131523962345712174/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mdb-blog.blogspot.com/2013/02/mysql-xpath-extractvalue-with-delimiter.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/7131523962345712174?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/7131523962345712174?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MdbBlog/~3/9EBEeFPS51w/mysql-xpath-extractvalue-with-delimiter.html" title="MySQL xpath ExtractValue with delimiter" /><author><name>sami.e</name><uri>http://www.blogger.com/profile/17924298382466536337</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mdb-blog.blogspot.com/2013/02/mysql-xpath-extractvalue-with-delimiter.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE4MQXg6eyp7ImA9WhNUFUs.&quot;"><id>tag:blogger.com,1999:blog-9087075508981084919.post-2859568066435891992</id><published>2013-01-02T12:43:00.000+02:00</published><updated>2013-01-07T15:56:20.613+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-07T15:56:20.613+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="winxp" /><category scheme="http://www.blogger.com/atom/ns#" term="process" /><category scheme="http://www.blogger.com/atom/ns#" term="elavation" /><category scheme="http://www.blogger.com/atom/ns#" term="command line" /><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><category scheme="http://www.blogger.com/atom/ns#" term="windows" /><category scheme="http://www.blogger.com/atom/ns#" term="nsis" /><category scheme="http://www.blogger.com/atom/ns#" term="UAC" /><category scheme="http://www.blogger.com/atom/ns#" term="win7" /><category scheme="http://www.blogger.com/atom/ns#" term="winvista" /><category scheme="http://www.blogger.com/atom/ns#" term="program" /><category scheme="http://www.blogger.com/atom/ns#" term="parameters" /><category scheme="http://www.blogger.com/atom/ns#" term="arguments" /><category scheme="http://www.blogger.com/atom/ns#" term="windows vista" /><category scheme="http://www.blogger.com/atom/ns#" term="explorer" /><category scheme="http://www.blogger.com/atom/ns#" term="installer" /><title>NSIS - Launch a program as user from UAC elevated installer</title><content type="html">&lt;div dir="rtl" style="text-align: right;" trbidi="on"&gt;
&lt;div style="direction: ltr;"&gt;
&lt;div style="text-align: left;"&gt;
&lt;a href="http://nsis.sourceforge.net/Main_Page"&gt;NSIS&lt;/a&gt; - Launch&amp;nbsp;a program as user from &lt;a href="http://msdn.microsoft.com/en-us/library/windows/desktop/bb756996.aspx"&gt;UAC&lt;/a&gt;&amp;nbsp;elevated installer&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
==========================================&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
I noticed that if a program is running as&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/windows/desktop/bb756996.aspx"&gt;UAC&lt;/a&gt;&amp;nbsp;elevated (admin or high user privileges),&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
any opening process by this process will get the same privileges as the executing program,&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
which means, that any process opened by this&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/windows/desktop/bb756996.aspx"&gt;UAC&lt;/a&gt;&amp;nbsp;elevated program &lt;strong&gt;will be elevated also&lt;/strong&gt;.&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
I found a solution for it, for&amp;nbsp;opening the process UN-ELEVATED from ELEVATED running program.&lt;br /&gt;
I show this information as for NSIS installer, but can be used in ANY development&amp;nbsp;environment&amp;nbsp;(C#, NSIS, C++, JAVA, VB, and any).&lt;br /&gt;
&lt;br /&gt;
The idea is to run the process in UN-ELEVATED mode, using windows's file explorer process `explorer.exe` (&lt;a href="http://en.wikipedia.org/wiki/File_Explorer_(Windows)"&gt;info&lt;/a&gt;).&lt;br /&gt;
Lets say the process that we want to launch is on `$TEMP\MyUnElevatedProcess.exe`.&lt;br /&gt;
So, for NSIS code, I will just write:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="Cpp" name="code" style="background-color: #f1f1f1; border: 1px solid black; padding: 10px;"&gt;Exec '"$WINDIR\explorer.exe" "$TEMP\MyUnElevatedProcess.exe"'
&lt;/pre&gt;
&lt;br /&gt;
And this will do the work...&lt;br /&gt;
The process `MyUnElevatedProcess.exe` will run with same ELEVATION that have your windows login, as have `$WINDIR\explorer.exe`.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: #f1f1f1;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;u&gt;&lt;strong&gt;Execute with parameters:&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;
In addition, if the UN-ELEVATED process need to executed with parameters, you will need to create another file that executes the&amp;nbsp;UN-ELEVATED process (for example a BATCH file which just run the process with the command line parameters).&lt;br /&gt;
a good example can be:&lt;br /&gt;
&lt;pre class="Cpp" name="code" style="background-color: #f1f1f1; border: 1px solid black; padding: 10px;"&gt;; assuming that the file `MyUnElevatedProcess.exe` exists on `$TEMP\`

; create shortcut with ARGUMENTS
CreateShortCut "$TEMP\Shortcut.lnk" "$TEMP\MyUnElevatedProcess.exe" "/arg1 /arg2 /arg3"

; execute the file NON elevated
Exec '"$WINDIR\explorer.exe" "$TEMP\Shortcut.lnk"'
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Remember,&lt;br /&gt;
if your main program (the executing), is not ELEVATED, this logic is not relevant, because then you can just run `&lt;span style="background-color: #f1f1f1;"&gt;Exec`&amp;nbsp;&lt;/span&gt;(open-process function in NSIS) which will have the same elevation as your process.&lt;br /&gt;
&lt;br /&gt;
I hope it helps,&lt;br /&gt;
&lt;a href="http://mdb-blog.blogspot.com/"&gt;MDB-BLOG&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/MdbBlog/~4/mp6qAN5g_sM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mdb-blog.blogspot.com/feeds/2859568066435891992/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mdb-blog.blogspot.com/2013/01/nsis-lunch-program-as-user-from-uac.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/2859568066435891992?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/2859568066435891992?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MdbBlog/~3/mp6qAN5g_sM/nsis-lunch-program-as-user-from-uac.html" title="NSIS - Launch a program as user from UAC elevated installer" /><author><name>sami.e</name><uri>http://www.blogger.com/profile/17924298382466536337</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://mdb-blog.blogspot.com/2013/01/nsis-lunch-program-as-user-from-uac.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YGQ306cSp7ImA9WhZVEEk.&quot;"><id>tag:blogger.com,1999:blog-9087075508981084919.post-8558153777619973227</id><published>2011-05-22T10:23:00.001+03:00</published><updated>2011-05-22T10:25:22.319+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-22T10:25:22.319+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="winxp" /><category scheme="http://www.blogger.com/atom/ns#" term="border" /><category scheme="http://www.blogger.com/atom/ns#" term="attach window" /><category scheme="http://www.blogger.com/atom/ns#" term="pin" /><category scheme="http://www.blogger.com/atom/ns#" term="form" /><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><category scheme="http://www.blogger.com/atom/ns#" term="windows" /><category scheme="http://www.blogger.com/atom/ns#" term="position" /><category scheme="http://www.blogger.com/atom/ns#" term="window" /><category scheme="http://www.blogger.com/atom/ns#" term="win7" /><category scheme="http://www.blogger.com/atom/ns#" term="winvista" /><category scheme="http://www.blogger.com/atom/ns#" term="location" /><category scheme="http://www.blogger.com/atom/ns#" term="windows vista" /><category scheme="http://www.blogger.com/atom/ns#" term="winforms" /><title>c# WinForm | Check form window size and location</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Hello,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I wanted to open a new window form, exactly near another form. (pinning one form to another).&lt;br /&gt;
Because of the border difference among Windows XP, Vista and Windows7 (win7), &lt;b&gt;it didn't work easily&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
So to determine windows size under win7/vista, I had to check if &lt;a href="http://windows.microsoft.com/en-US/windows-vista/What-is-Windows-Aero"&gt;Windows Aero&lt;/a&gt;. (checking made by short&amp;easy code)&lt;br /&gt;
&lt;br /&gt;
Now, after checking this, I had to also support winXP (which does not have AERO technology).&lt;br /&gt;
&lt;br /&gt;
For finding the left and right window border size (width) I used the &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.systeminformation.aspx"&gt;SystemInformation Class&lt;/a&gt; which provides information about the current system environment.&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
I recommend to check if it works for other &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.form.formborderstyle.aspx"&gt;FormBorderStyle&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
The code:&lt;br /&gt;
&lt;div align="left" dir="ltr" style="background-color: #f0f0f0; border-bottom: black 1px solid; border-left: black 1px solid; border-right: black 1px solid; border-top: black 1px solid;"&gt;internal&amp;nbsp;static&amp;nbsp;bool&amp;nbsp;IsAeroEnabled()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bool&amp;nbsp;isEnabled&amp;nbsp;=&amp;nbsp;false;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(Environment.OSVersion.Version.Major&amp;nbsp;&gt;=&amp;nbsp;6)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DwmIsCompositionEnabled(out&amp;nbsp;isEnabled);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;catch&amp;nbsp;(Exception&amp;nbsp;ex)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Logger.WriteLog(ex);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;isEnabled;&lt;br /&gt;
}&lt;br /&gt;
[DllImport("dwmapi.dll")]&lt;br /&gt;
internal&amp;nbsp;static&amp;nbsp;extern&amp;nbsp;int&amp;nbsp;DwmIsCompositionEnabled(out&amp;nbsp;bool&amp;nbsp;enabled);&lt;/div&gt;&lt;br /&gt;
Best regard,&lt;br /&gt;
&lt;a href="http://mdb-blog.blogspot.com/"&gt;MDB Blog&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MdbBlog/~4/DD_51XGH_iY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mdb-blog.blogspot.com/feeds/8558153777619973227/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mdb-blog.blogspot.com/2011/05/c-winform-check-form-window-size-and.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/8558153777619973227?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/8558153777619973227?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MdbBlog/~3/DD_51XGH_iY/c-winform-check-form-window-size-and.html" title="c# WinForm | Check form window size and location" /><author><name>sami.e</name><uri>http://www.blogger.com/profile/17924298382466536337</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mdb-blog.blogspot.com/2011/05/c-winform-check-form-window-size-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0EGQn07fSp7ImA9WhZXE08.&quot;"><id>tag:blogger.com,1999:blog-9087075508981084919.post-3015000566655727893</id><published>2011-05-02T10:33:00.000+03:00</published><updated>2011-05-02T10:33:43.305+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-02T10:33:43.305+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="hosts" /><category scheme="http://www.blogger.com/atom/ns#" term="bypass" /><category scheme="http://www.blogger.com/atom/ns#" term="file" /><category scheme="http://www.blogger.com/atom/ns#" term="windows" /><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><category scheme="http://www.blogger.com/atom/ns#" term="win forms" /><category scheme="http://www.blogger.com/atom/ns#" term="bypass hosts" /><title>Check HOSTS file - C# WinForms</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Hello,&lt;br /&gt;
&lt;br /&gt;
In today's post i'm giving a good &lt;u&gt;(and simple)&lt;/u&gt; anti-hacking tool which allow your application to CHECK for any changes in the &lt;a href="http://en.wikipedia.org/wiki/Hosts_%28file%29" target="_blank"&gt;Windows HOSTS file&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
So, the operation is simple:&lt;br /&gt;
Just read the hosts file content, and validate that &lt;u&gt;your site DNS&lt;/u&gt; is not included in the list. &lt;br /&gt;
[basiclly, check if hosts file contains your dns name]&lt;br /&gt;
if so, the user probably is trying to &lt;b&gt;bypass your server&lt;/b&gt; so you can stop him from doing so.&lt;br /&gt;
&lt;br /&gt;
The code:&lt;br /&gt;
&lt;div align="left" dir="ltr" style="background-color: #f0f0f0; border-bottom: black 1px solid; border-left: black 1px solid; border-right: black 1px solid; border-top: black 1px solid;"&gt;&lt;span style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas;color:blue'&gt;static&lt;/span&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt; &lt;span style='color:blue'&gt;bool&lt;/span&gt; IsDnsByPassed(&lt;span style='color:blue'&gt;string&lt;/span&gt; p_dnsName)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;&lt;span
style='color:blue'&gt;string&lt;/span&gt; path = &lt;span style='color:#2B91AF'&gt;Path&lt;/span&gt;.Combine(&lt;span
style='color:#2B91AF'&gt;Environment&lt;/span&gt;.GetFolderPath(&lt;span style='color:#2B91AF'&gt;Environment&lt;/span&gt;.&lt;span
style='color:#2B91AF'&gt;SpecialFolder&lt;/span&gt;.System), &lt;span style='color:#A31515'&gt;@&amp;quot;drivers\etc\hosts&amp;quot;&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;&lt;span
style='color:blue'&gt;string&lt;/span&gt; hostsText = &lt;span style='color:#2B91AF'&gt;File&lt;/span&gt;.ReadAllText(path);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;&lt;span
style='color:blue'&gt;return&lt;/span&gt; hostsText.ToLower().Contains(p_dnsName.ToLower());&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
Note:&lt;br /&gt;
Although reading the HOSTS file is allowed to all user, &lt;b&gt;do not&lt;/b&gt; try to &lt;b&gt;edit&lt;/b&gt; the HOSTS file, because on Vista &amp; Windows7 this operation is allowed only for administrators. if your application is NOT running as Admin, then you won't have permission for this (and an &lt;a href="http://msdn.microsoft.com/en-us/library/system.exception.aspx"&gt;Exception&lt;/a&gt; will be thrown).&lt;br /&gt;
&lt;br /&gt;
Best regard,&lt;br /&gt;
&lt;a href="http://mdb-blog.blogspot.com/"&gt;MDB-Blog&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MdbBlog/~4/inArc5MB9zI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mdb-blog.blogspot.com/feeds/3015000566655727893/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mdb-blog.blogspot.com/2011/05/check-hosts-file-c-winforms.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/3015000566655727893?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/3015000566655727893?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MdbBlog/~3/inArc5MB9zI/check-hosts-file-c-winforms.html" title="Check HOSTS file - C# WinForms" /><author><name>sami.e</name><uri>http://www.blogger.com/profile/17924298382466536337</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://mdb-blog.blogspot.com/2011/05/check-hosts-file-c-winforms.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0IGSH4zcCp7ImA9Wx9UE08.&quot;"><id>tag:blogger.com,1999:blog-9087075508981084919.post-6250097383920714496</id><published>2011-02-10T10:12:00.000+02:00</published><updated>2011-02-10T10:12:09.088+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-10T10:12:09.088+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="post build" /><category scheme="http://www.blogger.com/atom/ns#" term="splash" /><category scheme="http://www.blogger.com/atom/ns#" term="images" /><category scheme="http://www.blogger.com/atom/ns#" term="windows installer" /><category scheme="http://www.blogger.com/atom/ns#" term="embed" /><category scheme="http://www.blogger.com/atom/ns#" term="msi" /><category scheme="http://www.blogger.com/atom/ns#" term="BannerBitmap" /><category scheme="http://www.blogger.com/atom/ns#" term="js" /><category scheme="http://www.blogger.com/atom/ns#" term="visual studio" /><category scheme="http://www.blogger.com/atom/ns#" term="banner" /><category scheme="http://www.blogger.com/atom/ns#" term="SplashBitmap" /><category scheme="http://www.blogger.com/atom/ns#" term="installer" /><category scheme="http://www.blogger.com/atom/ns#" term="script" /><title>MSI | Embed images inside MSI installer file</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;In this post I show how to embed images inside MSI installer file.&lt;br /&gt;
&lt;br /&gt;
The first try i made was to try adding splash image and banners to the installer through Visual-Studio User-Interface. (just added two jpg files into "Common Files Folder", and set the &lt;a href="http://msdn.microsoft.com/en-us/library/8s4dddtk(v=vs.80).aspx"&gt;SplashBitmap&lt;/a&gt; and &lt;a href="http://msdn.microsoft.com/en-us/library/3kbk77sf.aspx"&gt;BannerBitmap&lt;/a&gt; attributes). But doing so, created a problem - when changing the image, new version installer did NOT changed the images (or the images disappeared).&lt;br /&gt;
So i needed another solution...&lt;br /&gt;
&lt;br /&gt;
The next solution is just to INSERT those images (banner&amp;amp;splash) &lt;b&gt;directly&lt;/b&gt; into the MSI file created by Visual-Studio.&lt;br /&gt;
I created file &lt;b&gt;run.js&lt;/b&gt; file, which automaticlly runs when the build process finished, and edits the MSI. This is achieved by setting the &lt;a herf="http://msdn.microsoft.com/en-us/library/6h314436.aspx" href=""&gt;PostBuildEvent&lt;/a&gt; on the Windows Installer project. &lt;br /&gt;
&lt;br /&gt;
The event that added is to the PostBuildEvent: (remember to copy the file to the main folder of the Windows Installer project)&lt;br /&gt;
&lt;div align="left" dir="ltr" style="background-color: #f0f0f0; border-bottom: black 1px solid; border-left: black 1px solid; border-right: black 1px solid; border-top: black 1px solid;"&gt;cscript.exe "$(ProjectDir)run.js" "$(BuiltOuputPath)"&lt;/div&gt;&lt;br /&gt;
In this way, you don't have to add any image file to your project, and it s embedded in the msi file (which u can edit any time).&lt;br /&gt;
&lt;br /&gt;
The run.js file:&lt;br /&gt;
&lt;div align="left" dir="ltr" style="background-color: #f0f0f0; border-bottom: black 1px solid; border-left: black 1px solid; border-right: black 1px solid; border-top: black 1px solid;"&gt;&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="color: darkgreen; font-family: Consolas; font-size: 9.5pt;"&gt;// run.js &lt;msi-file&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="color: darkgreen; font-family: Consolas; font-size: 9.5pt;"&gt;// Performs a post-build fixup of an msi&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="color: blue; font-family: Consolas; font-size: 9.5pt;"&gt;if&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt; (WScript.Arguments.Length != 1)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;WScript.StdErr.WriteLine(WScript.ScriptName + &lt;span style="color: maroon;"&gt;" file"&lt;/span&gt;);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;WScript.Quit(1);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="color: blue; font-family: Consolas; font-size: 9.5pt;"&gt;var&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt; filespec = WScript.Arguments(0);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="color: blue; font-family: Consolas; font-size: 9.5pt;"&gt;var&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt; installer = WScript.CreateObject(&lt;span style="color: maroon;"&gt;"WindowsInstaller.Installer"&lt;/span&gt;);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="color: blue; font-family: Consolas; font-size: 9.5pt;"&gt;var&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt; database = installer.OpenDatabase(filespec, 1&lt;span style="color: darkgreen;"&gt;/*msiOpenDatabaseModeTransact*/&lt;/span&gt;);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="color: blue; font-family: Consolas; font-size: 9.5pt;"&gt;var&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt; sql&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="color: blue; font-family: Consolas; font-size: 9.5pt;"&gt;var&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt; view&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="color: blue; font-family: Consolas; font-size: 9.5pt;"&gt;var&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt; record&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="color: blue; font-family: Consolas; font-size: 9.5pt;"&gt;try&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt; {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;br /&gt;
&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WScript.Echo(&lt;span style="color: maroon;"&gt;"UPDATE default banner image"&lt;/span&gt;);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sql = &lt;span style="color: maroon;"&gt;"UPDATE `Binary` SET `Data` = ? WHERE `Name`= 'DefBannerBitmap'"&lt;/span&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;view = database.OpenView(sql)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;record = installer.CreateRecord(1);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;record.SetStream(1, &lt;span style="color: maroon;"&gt;"C:\\installer_banner_img.jpg"&lt;/span&gt;);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; view.Execute(record);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; view.Close();&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WScript.Echo(&lt;span style="color: maroon;"&gt;"ADD splash image"&lt;/span&gt;);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sql = &lt;span style="color: maroon;"&gt;"INSERT INTO `Binary` (`Name`, `Data`) VALUES ('DefSplashBitmap', ?)"&lt;/span&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;view = database.OpenView(sql)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;record = installer.CreateRecord(1);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; record.SetStream(1, &lt;span style="color: maroon;"&gt;"C:\\Installer_splash_img.jpg"&lt;/span&gt;);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; view.Execute(record);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; view.Close();&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WScript.Echo(&lt;span style="color: maroon;"&gt;"Update splash control"&lt;/span&gt;);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sql = &lt;span style="color: maroon;"&gt;"UPDATE `Control` SET `Text`='DefSplashBitmap' WHERE `Dialog_`='SplashForm' AND `Control`='SplashBmp'"&lt;/span&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;view = database.OpenView(sql)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; view.Execute();&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; view.Close();&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; database.Commit();&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="color: blue; font-family: Consolas; font-size: 9.5pt;"&gt;catch&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt; (e) {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;WScript.StdErr.Write(&lt;span style="color: maroon;"&gt;"|||ERROR||| "&lt;/span&gt;);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WScript.StdErr.WriteLine(e.Message);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WScript.Quit(1);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="MsoNormal" style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
Note:&lt;br /&gt;
Before running this script, add a splash screen to the installer (using User-Interface view in Visual Studio)&lt;br /&gt;
&lt;br /&gt;
(*) this is also a good example how to &lt;b&gt;add/update binary(image) into your MSI using a sql script&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Best regard,&lt;br /&gt;
&lt;a href="http://mdb-blog.blogspot.com/"&gt;MDB-Blog&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MdbBlog/~4/dcepworMY6E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mdb-blog.blogspot.com/feeds/6250097383920714496/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mdb-blog.blogspot.com/2011/02/msi-embed-images-inside-msi-installer.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/6250097383920714496?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/6250097383920714496?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MdbBlog/~3/dcepworMY6E/msi-embed-images-inside-msi-installer.html" title="MSI | Embed images inside MSI installer file" /><author><name>sami.e</name><uri>http://www.blogger.com/profile/17924298382466536337</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mdb-blog.blogspot.com/2011/02/msi-embed-images-inside-msi-installer.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QDQng5cCp7ImA9Wx9VFUo.&quot;"><id>tag:blogger.com,1999:blog-9087075508981084919.post-8260555157114006742</id><published>2011-02-01T18:56:00.000+02:00</published><updated>2011-02-01T18:56:13.628+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-01T18:56:13.628+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="determine" /><category scheme="http://www.blogger.com/atom/ns#" term="registry" /><category scheme="http://www.blogger.com/atom/ns#" term="macromedia" /><category scheme="http://www.blogger.com/atom/ns#" term="cheking" /><category scheme="http://www.blogger.com/atom/ns#" term="c sharp" /><category scheme="http://www.blogger.com/atom/ns#" term="winforms" /><category scheme="http://www.blogger.com/atom/ns#" term="player" /><category scheme="http://www.blogger.com/atom/ns#" term="installed" /><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><category scheme="http://www.blogger.com/atom/ns#" term="adobe" /><category scheme="http://www.blogger.com/atom/ns#" term="flash" /><category scheme="http://www.blogger.com/atom/ns#" term="win forms" /><title>C# | Determine if Adobe (Macromedia) Flash player installed.</title><content type="html">All started when I needed to integrate an &lt;b&gt;Adobe (Macromedia) Flash object&lt;/b&gt; in my C# WinForm application.&lt;br /&gt;
I saw several posts about it, where &lt;u&gt;two&lt;/u&gt; solutions where presents:&lt;br /&gt;
1. Add WebBrowser Control and just nevigate to the "test.swf" file.&lt;br /&gt;
2. Create COM object of ADOBE MACROMEDIA.&lt;br /&gt;
&lt;br /&gt;
I liked the 1st option more, because I don't need to handle COM objects (and to add another DLL to the app).&lt;br /&gt;
Here is the code I used:&lt;br /&gt;
&lt;div dir="ltr" style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #f0f0f0" align="left"&gt;WebBrowser wb = new WebBrowser();&lt;br /&gt;
//wb.Location = SOME LOCATION&lt;br /&gt;
//wb.Size = SOME SIZE&lt;br /&gt;
wb.AllowNavigation = false;&lt;br /&gt;
wb.IsWebBrowserContextMenuEnabled = false;&lt;br /&gt;
this.Controls.Add(wb); // this = FORM&lt;br /&gt;
wb.Navigate(@"C:\test.swf");&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
BUT, Then i noticed that when a pc &lt;b&gt;do NOT&lt;/b&gt; have Adobe (Macromedia) Flash player &lt;b&gt;installed&lt;/b&gt;, the webbrowser display a big red X.&lt;br /&gt;
SO, before I use the FLASH image in my winform application, &lt;u&gt;I needed to check if FLASH player is INSTALLED or not!&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
The idea is to check the registry for:&lt;br /&gt;
&lt;div dir="ltr" style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #f0f0f0" align="left"&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Macromedia\FlashPlayer\CurrentVersion&lt;/div&gt;&lt;br /&gt;
&lt;b style="color: red;"&gt;And indeed it worked!&lt;/b&gt;&lt;br /&gt;
Here is the full code for testing if FLASH installed (and also get the major Version):&lt;br /&gt;
&lt;div dir="ltr" style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #f0f0f0" align="left"&gt;internal&amp;nbsp;static&amp;nbsp;int?&amp;nbsp;GetFlashPlayerVersion()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;using&amp;nbsp;(RegistryKey&amp;nbsp;rk&amp;nbsp;=&amp;nbsp;Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Macromedia\FlashPlayer"))&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(rk&amp;nbsp;!=&amp;nbsp;null)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string&amp;nbsp;version&amp;nbsp;=&amp;nbsp;rk.GetValue("CurrentVersion")&amp;nbsp;as&amp;nbsp;string;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(string.IsNullOrEmpty(version)&amp;nbsp;==&amp;nbsp;false)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;idx&amp;nbsp;=&amp;nbsp;version.IndexOf(",");&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(idx&amp;nbsp;&gt;&amp;nbsp;0)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;value;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(int.TryParse(version.Substring(0,&amp;nbsp;idx),&amp;nbsp;out&amp;nbsp;value)&amp;nbsp;==&amp;nbsp;true)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;value;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;null;&lt;br /&gt;
}&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;And the code which using the method:&lt;/b&gt;&lt;br /&gt;
&lt;div dir="ltr" style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #f0f0f0" align="left"&gt;int? flashVersion = WindowsUtils.GetFlashPlayerVersion();&lt;br /&gt;
if (flashVersion.HasValue == true &amp;&amp; flashVersion &gt; 6)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WebBrowser wb = new WebBrowser();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wb.AllowNavigation = false;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wb.IsWebBrowserContextMenuEnabled = false;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.Controls.Add(wb); // this = FORM&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wb.Navigate(@"C:\test.swf");&lt;br /&gt;
}&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
Best regards,&lt;br /&gt;
&lt;a href="http://mdb-blog.blogspot.com/"&gt;MDB-Blog&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/MdbBlog/~4/MvPuyRCoT8U" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mdb-blog.blogspot.com/feeds/8260555157114006742/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mdb-blog.blogspot.com/2011/02/c-determine-if-adobe-macromedia-flash.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/8260555157114006742?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/8260555157114006742?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MdbBlog/~3/MvPuyRCoT8U/c-determine-if-adobe-macromedia-flash.html" title="C# | Determine if Adobe (Macromedia) Flash player installed." /><author><name>sami.e</name><uri>http://www.blogger.com/profile/17924298382466536337</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://mdb-blog.blogspot.com/2011/02/c-determine-if-adobe-macromedia-flash.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C08BRns_eSp7ImA9Wx9RF0g.&quot;"><id>tag:blogger.com,1999:blog-9087075508981084919.post-7295618597387723101</id><published>2010-12-08T16:58:00.005+02:00</published><updated>2010-12-19T11:44:17.541+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-19T11:44:17.541+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="windows 7" /><category scheme="http://www.blogger.com/atom/ns#" term="all users" /><category scheme="http://www.blogger.com/atom/ns#" term="registry" /><category scheme="http://www.blogger.com/atom/ns#" term="sample" /><category scheme="http://www.blogger.com/atom/ns#" term="windows" /><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><category scheme="http://www.blogger.com/atom/ns#" term="setup" /><category scheme="http://www.blogger.com/atom/ns#" term="msi" /><category scheme="http://www.blogger.com/atom/ns#" term="current user" /><category scheme="http://www.blogger.com/atom/ns#" term="example" /><category scheme="http://www.blogger.com/atom/ns#" term="install" /><category scheme="http://www.blogger.com/atom/ns#" term="everyone" /><category scheme="http://www.blogger.com/atom/ns#" term="windows vista" /><category scheme="http://www.blogger.com/atom/ns#" term="windows xp" /><category scheme="http://www.blogger.com/atom/ns#" term="just me" /><category scheme="http://www.blogger.com/atom/ns#" term="setup project" /><category scheme="http://www.blogger.com/atom/ns#" term="code" /><category scheme="http://www.blogger.com/atom/ns#" term="installed" /><category scheme="http://www.blogger.com/atom/ns#" term="win forms" /><category scheme="http://www.blogger.com/atom/ns#" term="installer" /><title>C# | Check if app is installed for “All users” or "Just me"</title><content type="html">&lt;div dir="ltr" style="text-align: left;"&gt;&lt;br /&gt;
&lt;b&gt;Today I bring a very HARD-to-find topic about getting an installed application &lt;a href="http://msdn.microsoft.com/en-us/library/dd765197(v=VS.85).aspx"&gt;"Installation context"&lt;/a&gt;.&lt;/b&gt;&lt;br /&gt;
An installation context may be &lt;u&gt;Per-Machine Installation Context (ALLUSERS=1)&lt;/u&gt; and &lt;u&gt;Per-User Installation Context (ALLUSERS="")&lt;/u&gt;.&lt;br /&gt;
&lt;br /&gt;
When installing an application, the user may select one of two options:&lt;i&gt;&lt;br /&gt;
&lt;b&gt;a.&lt;/b&gt; Install [APP] for yourself&lt;br /&gt;
&lt;b&gt;b.&lt;/b&gt; or for anyone who uses this computer&lt;/i&gt;&lt;br /&gt;
[a] installs only for the &lt;b&gt;current user&lt;/b&gt;(just me) while [b] installs for the &lt;u&gt;Local System user&lt;/u&gt; which is for all-users(everyone).&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_a9m03IOahfE/TP-Wn8vi1zI/AAAAAAAAAYg/2pLlIGjLFUo/s1600/install.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="261" n4="true" src="http://2.bp.blogspot.com/_a9m03IOahfE/TP-Wn8vi1zI/AAAAAAAAAYg/2pLlIGjLFUo/s320/install.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
In this post I will give a code for checking is an installed application &lt;b&gt;was&lt;/b&gt; installed for "Everyone" or "Just me".&lt;br /&gt;
&lt;br /&gt;
The validation process is check if the APPLICATION-NAME exists in the registry keys under UserData.&lt;br /&gt;
(*) &lt;b&gt;Everyone&lt;/b&gt; - check under &lt;span style='color: blue;'&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\&lt;b&gt;S-1-5-18&lt;/b&gt;\Products\&lt;/span&gt; (&lt;b&gt;S-1-5-18&lt;/b&gt; represents the Local System user)&lt;br /&gt;
&lt;br /&gt;
(*) &lt;b&gt;Just me (Current user)&lt;/b&gt; - check under &lt;span style='color: blue;'&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\&lt;b&gt;S-?!?!?!?!&lt;/b&gt;\Products\&lt;/span&gt; (&lt;b&gt;S-?!?!?!?!&lt;/b&gt; represents the Current user. this value found by the code: &lt;span style='font-size:9.5pt;font-family:Consolas;color:#2B91AF'&gt;WindowsIdentity&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;.GetCurrent().User.Value&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[Code] Method's return type:&lt;br /&gt;
&lt;div align="left" dir="ltr" style="background-color: #f0f0f0; border-bottom: black 1px solid; border-left: black 1px solid; border-right: black 1px solid; border-top: black 1px solid;font-size:9.5pt;font-family:Consolas;"&gt;&lt;span style='color:blue'&gt;private&lt;/span&gt; &lt;span&gt;&lt;span style='color:blue'&gt;enum&lt;/span&gt; &lt;span style='color:#2B91AF'&gt;InstallationContexts&lt;/span&gt; { NotInstalled, Everyone, JustMe };&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
[Code] Method declaration:&lt;br /&gt;
&lt;div align="left" dir="ltr" style="background-color: #f0f0f0; border-bottom: black 1px solid; border-left: black 1px solid; border-right: black 1px solid; border-top: black 1px solid;font-size:8pt;font-family:Consolas;"&gt;&lt;span style=';color:blue'&gt;private&lt;/span&gt;&lt;span style=''&gt; &lt;span style='color:#2B91AF'&gt;InstallationContexts&lt;/span&gt; GetInstalledContext(&lt;span style='color:blue'&gt;string&lt;/span&gt; p_appDisplayName)&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;&lt;span
style='color:green'&gt;//The S-1-5-18&lt;span style='mso-spacerun:yes'&gt;  &lt;/span&gt;=&lt;br /&gt;
Local System user (Everyone) | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;&lt;span
style='color:green'&gt;//The S-XXXXXX&lt;span style='mso-spacerun:yes'&gt;  &lt;/span&gt;=&lt;br /&gt;
Current user (Just me)&lt;span style='mso-spacerun:yes'&gt;       &lt;/span&gt;|&lt;br /&gt;
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-?!?!?!?!\Products\&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&amp;nbsp;&lt;/span&gt;&lt;span style='
'&gt;&lt;span style='mso-spacerun:yes'&gt;   &lt;/span&gt;&lt;span
style='color:blue'&gt;string&lt;/span&gt; key;&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;&lt;span
style='color:blue'&gt;string&lt;/span&gt; keyFormat = &lt;span style='color:#A31515'&gt;@&amp;quot;SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\{0}\Products\&amp;quot;&lt;/span&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;&lt;span
style='color:green'&gt;// Check if installed for -&amp;gt; Everyone&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;key = &lt;span
style='color:blue'&gt;string&lt;/span&gt;.Format(keyFormat, &lt;span style='color:#A31515'&gt;&amp;quot;S-1-5-18&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;&lt;span
style='color:blue'&gt;bool&lt;/span&gt; res = GetInstalledContext_IsRegKeyExists(key, p_appDisplayName, &lt;span style='color:#2B91AF'&gt;StringComparison&lt;/span&gt;.OrdinalIgnoreCase);&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;&lt;span
style='color:blue'&gt;if&lt;/span&gt; (res == &lt;span style='color:blue'&gt;true&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&lt;span style='mso-spacerun:yes'&gt;        &lt;/span&gt;&lt;span
style='color:blue'&gt;return&lt;/span&gt; &lt;span style='color:#2B91AF'&gt;InstallationContexts&lt;/span&gt;.Everyone;&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;&lt;span
style='color:green'&gt;// Check if installed for -&amp;gt; Just me&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;key = &lt;span
style='color:blue'&gt;string&lt;/span&gt;.Format(keyFormat, &lt;span style='color:#2B91AF'&gt;WindowsIdentity&lt;/span&gt;.GetCurrent().User.Value);&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;res = GetInstalledContext_IsRegKeyExists(key, p_appDisplayName, &lt;span
style='color:#2B91AF'&gt;StringComparison&lt;/span&gt;.OrdinalIgnoreCase);&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;&lt;span
style='color:blue'&gt;if&lt;/span&gt; (res == &lt;span style='color:blue'&gt;true&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&lt;span style='mso-spacerun:yes'&gt;        &lt;/span&gt;&lt;span
style='color:blue'&gt;return&lt;/span&gt; &lt;span style='color:#2B91AF'&gt;InstallationContexts&lt;/span&gt;.JustMe;&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;&lt;span
style='color:blue'&gt;return&lt;/span&gt; &lt;span style='color:#2B91AF'&gt;InstallationContexts&lt;/span&gt;.NotInstalled;&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style='
;color:blue'&gt;private&lt;/span&gt;&lt;span style='
'&gt; &lt;span style='color:blue'&gt;bool&lt;/span&gt; GetInstalledContext_IsRegKeyExists(&lt;span style='color:blue'&gt;string&lt;/span&gt; p_regKey, &lt;span style='color:blue'&gt;string&lt;/span&gt; p_appDisplayName, &lt;span
style='color:#2B91AF'&gt;StringComparison&lt;/span&gt; p_scompare)&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;&lt;span
style='color:blue'&gt;using&lt;/span&gt; (&lt;span style='color:#2B91AF'&gt;RegistryKey&lt;/span&gt; regkey = &lt;span style='color:#2B91AF'&gt;Registry&lt;/span&gt;.LocalMachine.OpenSubKey(p_regKey))&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&lt;span style='mso-spacerun:yes'&gt;        &lt;/span&gt;&lt;span
style='color:blue'&gt;if&lt;/span&gt; (regkey != &lt;span style='color:blue'&gt;null&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&lt;span style='mso-spacerun:yes'&gt;        &lt;/span&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&lt;span style='mso-spacerun:yes'&gt;            &lt;/span&gt;&lt;span
style='color:#2B91AF'&gt;RegistryKey&lt;/span&gt; rk;&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&lt;span style='mso-spacerun:yes'&gt;            &lt;/span&gt;&lt;span
style='color:blue'&gt;string&lt;/span&gt;[] arrProducs = regkey.GetSubKeyNames();&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&lt;span style='mso-spacerun:yes'&gt;            &lt;/span&gt;&lt;span
style='color:blue'&gt;for&lt;/span&gt; (&lt;span style='color:blue'&gt;int&lt;/span&gt; i = 0; i &amp;lt; arrProducs.Length; i++)&lt;/span&gt; &lt;span style=''&gt;&lt;br /&gt;
&lt;span style='mso-spacerun:yes'&gt;            &lt;/span&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style='mso-spacerun:yes'&gt;               &lt;/span&gt;&lt;span style='color:blue'&gt;using&lt;/span&gt; (rk = regkey.OpenSubKey(arrProducs[i] + &lt;span style='color:#A31515'&gt;@&amp;quot;\InstallProperties&amp;quot;&lt;/span&gt;))&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style='mso-spacerun:yes'&gt;               &lt;/span&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style='mso-spacerun:yes'&gt;                 &lt;/span&gt; &lt;span style='color:blue'&gt; if&lt;/span&gt; (rk != &lt;span style='color:blue'&gt;null&lt;/span&gt; &amp;amp;&amp;amp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style='mso-spacerun:yes'&gt;   &lt;/span&gt;&lt;span
style='mso-pacerun:yes'&gt;                     &lt;/span&gt;p_appDisplayName.Equals(rk.GetValue(&lt;span style='color:#A31515'&gt;&amp;quot;DisplayName&amp;quot;&lt;/span&gt;).ToString(), p_scompare) == &lt;span style='color:blue'&gt;true&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style='mso-spacerun:yes'&gt;                   &lt;/span&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style='mso-spacerun:yes'&gt;                        &lt;/span&gt;&lt;span style='color:blue'&gt;return&lt;/span&gt; &lt;span style='color:blue'&gt;true&lt;/span&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style='mso-spacerun:yes'&gt;                   &lt;/span&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style='mso-spacerun:yes'&gt;               &lt;/span&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&lt;span style='mso-spacerun:yes'&gt;            &lt;/span&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&lt;span style='mso-spacerun:yes'&gt;        &lt;/span&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;&lt;span
style='color:blue'&gt;return&lt;/span&gt; &lt;span style='color:blue'&gt;false&lt;/span&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style='
'&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
[Code] Method's usage example:&lt;br /&gt;
&lt;div align="left" dir="ltr" style="background-color: #f0f0f0; border-bottom: black 1px solid; border-left: black 1px solid; border-right: black 1px solid; border-top: black 1px solid;font-size:9.5pt;font-family:Consolas;"&gt;&lt;span style='color:#2B91AF'&gt;InstallationContexts &lt;/span&gt;&lt;span&gt; appContext = GetInstalledContext(&lt;span style='color:#A31515'&gt;&amp;quot;APP-DISPLAY-NAME&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
This code gives the ability to detect previously installed application or previously installed software is installed to ALLUSERS (everyone) or only to CURRENT USER (just me).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style='color:#707070; font-size: 10px;'&gt;Addition on 19.12.2010:&lt;/span&gt;&lt;br /&gt;
(*) This checking operation is valid &lt;u&gt;ONLY&lt;/u&gt; for an application and software which were installed using Microsoft's &lt;a href="http://msdn.microsoft.com/en-us/library/cc185688%28VS.85%29.aspx"&gt;Windows Installer&lt;/a&gt;.&lt;br /&gt;
For general checking for installed application, check my post about &lt;a href="http://mdb-blog.blogspot.com/2010/09/c-check-if-programapplication-is.html"&gt;check if program/application is installed&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enjoy...&lt;br /&gt;
&lt;a href="http://mdb-blog.blogspot.com/"&gt;MDB-Blog&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MdbBlog/~4/C7QpTzwPZfM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mdb-blog.blogspot.com/feeds/7295618597387723101/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mdb-blog.blogspot.com/2010/12/c-check-if-app-is-installed-for-all.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/7295618597387723101?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/7295618597387723101?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MdbBlog/~3/C7QpTzwPZfM/c-check-if-app-is-installed-for-all.html" title="C# | Check if app is installed for “All users” or &quot;Just me&quot;" /><author><name>sami.e</name><uri>http://www.blogger.com/profile/17924298382466536337</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_a9m03IOahfE/TP-Wn8vi1zI/AAAAAAAAAYg/2pLlIGjLFUo/s72-c/install.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://mdb-blog.blogspot.com/2010/12/c-check-if-app-is-installed-for-all.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUMQ3o-eip7ImA9Wx9SEkU.&quot;"><id>tag:blogger.com,1999:blog-9087075508981084919.post-9147197107584930074</id><published>2010-12-02T12:04:00.000+02:00</published><updated>2010-12-02T12:04:42.452+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-02T12:04:42.452+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="program" /><category scheme="http://www.blogger.com/atom/ns#" term="manage windows" /><category scheme="http://www.blogger.com/atom/ns#" term="example" /><category scheme="http://www.blogger.com/atom/ns#" term="uninstall" /><category scheme="http://www.blogger.com/atom/ns#" term="dot net" /><category scheme="http://www.blogger.com/atom/ns#" term="install" /><category scheme="http://www.blogger.com/atom/ns#" term="check" /><category scheme="http://www.blogger.com/atom/ns#" term="remote" /><category scheme="http://www.blogger.com/atom/ns#" term="source code" /><category scheme="http://www.blogger.com/atom/ns#" term="installed" /><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><category scheme="http://www.blogger.com/atom/ns#" term="computer" /><title>C# | check if program/application is installed on remote computer</title><content type="html">As an advance to my previous post about &lt;a href="http://mdb-blog.blogspot.com/2010/09/c-check-if-programapplication-is.html"&gt;checking if a program or an application is installed on my comptuer&lt;/a&gt;, I bringing a code for doing this validation on &lt;b&gt;a remote computer&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
The code is the same as checking for installed app in local comptuer (&lt;a href="http://mdb-blog.blogspot.com/2010/09/c-check-if-programapplication-is.html"&gt;as described here&lt;/a&gt;) except that checking remote machine registry.&lt;br /&gt;
The remote machine registry checking is preformed using the static method &lt;a href="http://msdn.microsoft.com/en-us/library/8zha3xws.aspx"&gt;OpenRemoteBaseKey&lt;/a&gt; of the class &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.win32.registrykey.aspx"&gt;RegistryKey&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
The code:&lt;br /&gt;
&lt;div dir="ltr" style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #f0f0f0" align="left"&gt;&lt;span style='font-size:9.5pt;font-family:Consolas; mso-fareast-font-family:"Times New Roman";color:blue'&gt;public&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:"Times New Roman"'&gt; &lt;span style='color:blue'&gt;static&lt;/span&gt; &lt;span class=SpellE&gt;&lt;span style='color:blue'&gt;bool&lt;/span&gt;&lt;/span&gt; &lt;span class=SpellE&gt;IsAppInstalled&lt;/span&gt;(&lt;span style='color:blue'&gt;string&lt;/span&gt; &lt;span class=SpellE&gt;p_machineName&lt;/span&gt;, &lt;span style='color:blue'&gt;string&lt;/span&gt; &lt;span class=SpellE&gt;p_name&lt;/span&gt;)&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; {&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;string&lt;/span&gt; &lt;span class=SpellE&gt;keyName&lt;/span&gt;;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;u1:p&gt;&amp;nbsp;&lt;/u1:p&gt; &lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style='color:green'&gt;// search in: &lt;span class=SpellE&gt;CurrentUser&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span class=SpellE&gt;keyName&lt;/span&gt; = &lt;span style='color:#A31515'&gt;@&amp;quot;SOFTWARE\Microsoft\Windows\&lt;span class=SpellE&gt;CurrentVersion&lt;/span&gt;\Uninstall&amp;quot;&lt;/span&gt;;&lt;br&gt; &lt;u1:p&gt;&lt;/u1:p&gt;&lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;if&lt;/span&gt; (&lt;span class=SpellE&gt;ExistsInRemoteSubKey&lt;/span&gt;(&lt;span class=SpellE&gt;p_machineName&lt;/span&gt;, &lt;span class=SpellE&gt;&lt;span style='color:#2B91AF'&gt;RegistryHive&lt;/span&gt;.CurrentUser&lt;/span&gt;, &lt;span class=SpellE&gt;keyName&lt;/span&gt;, &lt;span style='color:#A31515'&gt;&amp;quot;&lt;span class=SpellE&gt;DisplayName&lt;/span&gt;&amp;quot;&lt;/span&gt;, &lt;span class=SpellE&gt;p_name&lt;/span&gt;) == &lt;span style='color:blue'&gt;true&lt;/span&gt;)&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;{&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;return&lt;/span&gt; &lt;span style='color:blue'&gt;true&lt;/span&gt;;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;}&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;u1:p&gt;&amp;nbsp;&lt;/u1:p&gt; &lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style='color:green'&gt;// search in: LocalMachine_32&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/span&gt;&lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span class=SpellE&gt;keyName&lt;/span&gt; = &lt;span style='color:#A31515'&gt;@&amp;quot;SOFTWARE\Microsoft\Windows\&lt;span class=SpellE&gt;CurrentVersion&lt;/span&gt;\Uninstall&amp;quot;&lt;/span&gt;;&lt;br&gt; &lt;u1:p&gt;&lt;/u1:p&gt;&lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;if&lt;/span&gt; (&lt;span class=SpellE&gt;ExistsInRemoteSubKey&lt;/span&gt;(&lt;span class=SpellE&gt;p_machineName&lt;/span&gt;, &lt;span class=SpellE&gt;&lt;span style='color:#2B91AF'&gt;RegistryHive&lt;/span&gt;.LocalMachine&lt;/span&gt;, &lt;span class=SpellE&gt;keyName&lt;/span&gt;, &lt;span style='color:#A31515'&gt;&amp;quot;&lt;span class=SpellE&gt;DisplayName&lt;/span&gt;&amp;quot;&lt;/span&gt;, &lt;span class=SpellE&gt;p_name&lt;/span&gt;) == &lt;span style='color:blue'&gt;true&lt;/span&gt;)&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;{&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;return&lt;/span&gt; &lt;span style='color:blue'&gt;true&lt;/span&gt;;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;}&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;u1:p&gt;&amp;nbsp;&lt;/u1:p&gt; &lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style='color:green'&gt;// search in: LocalMachine_64&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/span&gt;&lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span class=SpellE&gt;keyName&lt;/span&gt; = &lt;span style='color:#A31515'&gt;@&amp;quot;SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall&amp;quot;&lt;/span&gt;;&lt;br&gt; &lt;u1:p&gt;&lt;/u1:p&gt;&lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;if&lt;/span&gt; (&lt;span class=SpellE&gt;ExistsInRemoteSubKey&lt;/span&gt;(&lt;span class=SpellE&gt;p_machineName&lt;/span&gt;, &lt;span class=SpellE&gt;&lt;span style='color:#2B91AF'&gt;RegistryHive&lt;/span&gt;.LocalMachine&lt;/span&gt;, &lt;span class=SpellE&gt;keyName&lt;/span&gt;, &lt;span style='color:#A31515'&gt;&amp;quot;&lt;span class=SpellE&gt;DisplayName&lt;/span&gt;&amp;quot;&lt;/span&gt;, &lt;span class=SpellE&gt;p_name&lt;/span&gt;) == &lt;span style='color:blue'&gt;true&lt;/span&gt;)&lt;br&gt; &lt;u1:p&gt;&lt;/u1:p&gt;&lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;{&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;return&lt;/span&gt; &lt;span style='color:blue'&gt;true&lt;/span&gt;;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;}&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;u1:p&gt;&amp;nbsp;&lt;/u1:p&gt; &lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;return&lt;/span&gt; &lt;span style='color:blue'&gt;false&lt;/span&gt;;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; }&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;span style='color:blue'&gt;private&lt;/span&gt; &lt;span style='color:blue'&gt;static&lt;/span&gt; &lt;span class=SpellE&gt;&lt;span style='color:blue'&gt;bool&lt;/span&gt;&lt;/span&gt; &lt;span class=SpellE&gt;ExistsInRemoteSubKey&lt;/span&gt;(&lt;span style='color:blue'&gt;string&lt;/span&gt; &lt;span class=SpellE&gt;p_machineName&lt;/span&gt;, &lt;span class=SpellE&gt;&lt;span style='color:#2B91AF'&gt;RegistryHive&lt;/span&gt;&lt;/span&gt; &lt;span class=SpellE&gt;p_hive&lt;/span&gt;, &lt;span style='color:blue'&gt;string&lt;/span&gt; &lt;span class=SpellE&gt;p_subKeyName&lt;/span&gt;, &lt;span style='color:blue'&gt;string&lt;/span&gt; &lt;span class=SpellE&gt;p_attributeName&lt;/span&gt;, &lt;span style='color:blue'&gt;string&lt;/span&gt; &lt;span class=SpellE&gt;p_name&lt;/span&gt;)&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; {&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span class=SpellE&gt;&lt;span style='color:#2B91AF'&gt;RegistryKey&lt;/span&gt;&lt;/span&gt; &lt;span class=SpellE&gt;subkey&lt;/span&gt;;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;string&lt;/span&gt; &lt;span class=SpellE&gt;displayName&lt;/span&gt;;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;u1:p&gt;&amp;nbsp;&lt;/u1:p&gt; &lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;using&lt;/span&gt; (&lt;span class=SpellE&gt;&lt;span style='color:#2B91AF'&gt;RegistryKey&lt;/span&gt;&lt;/span&gt; &lt;span class=SpellE&gt;regHive&lt;/span&gt; = &lt;span class=SpellE&gt;&lt;span style='color:#2B91AF'&gt;RegistryKey&lt;/span&gt;.OpenRemoteBaseKey&lt;/span&gt;(&lt;span class=SpellE&gt;p_hive&lt;/span&gt;, &lt;span class=SpellE&gt;p_machineName&lt;/span&gt;))&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;{&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;using&lt;/span&gt; (&lt;span class=SpellE&gt;&lt;span style='color:#2B91AF'&gt;RegistryKey&lt;/span&gt;&lt;/span&gt; &lt;span class=SpellE&gt;regKey&lt;/span&gt; = &lt;span class=SpellE&gt;regHive.OpenSubKey&lt;/span&gt;(&lt;span class=SpellE&gt;p_subKeyName&lt;/span&gt;))&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;{&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&lt;/span&gt;if&lt;/span&gt; (&lt;span class=SpellE&gt;regKey&lt;/span&gt; != &lt;span style='color:blue'&gt;null&lt;/span&gt;)&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;{&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=SpellE&gt;foreach&lt;/span&gt;&lt;/span&gt; (&lt;span style='color:blue'&gt;string&lt;/span&gt; &lt;span class=SpellE&gt;kn&lt;/span&gt; &lt;span style='color:blue'&gt;in&lt;/span&gt; &lt;span class=SpellE&gt;regKey.GetSubKeyNames&lt;/span&gt;())&lt;br&gt; &lt;u1:p&gt;&lt;/u1:p&gt;&lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;{&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;using&lt;/span&gt; (&lt;span class=SpellE&gt;subkey&lt;/span&gt; = &lt;span class=SpellE&gt;regKey.OpenSubKey&lt;/span&gt;(&lt;span class=SpellE&gt;kn&lt;/span&gt;))&lt;br&gt; &lt;u1:p&gt;&lt;/u1:p&gt;&lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;{&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class=SpellE&gt;displayName&lt;/span&gt; = &lt;span class=SpellE&gt;subkey.GetValue&lt;/span&gt;(&lt;span class=SpellE&gt;p_attributeName&lt;/span&gt;) &lt;span style='color:blue'&gt;as&lt;/span&gt; &lt;span style='color:blue'&gt;string&lt;/span&gt;;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;if&lt;/span&gt; (&lt;span class=SpellE&gt;p_name.Equals&lt;/span&gt;(&lt;span class=SpellE&gt;displayName&lt;/span&gt;, &lt;span class=SpellE&gt;&lt;span style='color:#2B91AF'&gt;StringComparison&lt;/span&gt;.OrdinalIgnoreCase&lt;/span&gt;) == &lt;span style='color:blue'&gt;true&lt;/span&gt;) &lt;span style='color:green'&gt;// key found!&lt;/span&gt;&lt;br&gt; &lt;u1:p&gt;&lt;/u1:p&gt;&lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;{&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=GramE&gt;return&lt;/span&gt;&lt;/span&gt; &lt;span style='color:blue'&gt;true&lt;/span&gt;;&lt;br&gt; &lt;u1:p&gt;&lt;/u1:p&gt;&lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;}&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp; &lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;}&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp; &lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;}&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;}&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;}&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;}&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;span style='color:blue'&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;return&lt;/span&gt; &lt;span style='color:blue'&gt;false&lt;/span&gt;;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; }&lt;u1:p&gt;&lt;/u1:p&gt;&lt;br&gt; &lt;span style='color:blue'&gt;&lt;u1:p&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/u1:p&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
How to use this code:&lt;br /&gt;
&lt;div dir="ltr" style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR:#f0f0f0;font-size:9.5pt;font-family:Consolas;" align="left"&gt;&lt;span style='color:blue'&gt;string&lt;/span&gt;&lt;span style=''&gt; MACHINE_NAME = &lt;span style='color:#A31515'&gt;&amp;quot;MY-PC-NAME&amp;quot;&lt;/span&gt;;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;span style='color:blue'&gt;string&lt;/span&gt;&lt;span style=''&gt; APPLICATION_NAME = &lt;span style='color:#A31515'&gt;&amp;quot;APP-NAME&amp;quot;&lt;/span&gt;;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;span style='color:blue'&gt;try&lt;/span&gt;&lt;span style=''&gt;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;span style=''&gt;{&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;span style=''&gt;&lt;span style='mso-spacerun:yes'&gt;  &lt;/span&gt;&lt;span style='color:blue'&gt;bool&lt;/span&gt; isAppInstalled = IsAppInstalled(MACHINE_NAME, APPLICATION_NAME);&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;span style=''&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt; &lt;span style=''&gt;&lt;span style='mso-spacerun:yes'&gt;  &lt;/span&gt;&lt;span style='color:blue'&gt;string&lt;/span&gt; msg = &lt;span style='color:blue'&gt;string&lt;/span&gt;.Format(&lt;span style='color:#A31515'&gt;&amp;quot;Application '{0}' is {1} on the remote-machine '{2}'!&amp;quot;&lt;/span&gt;,&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;span style=''&gt;&lt;span style='mso-spacerun:yes'&gt; &lt;/span&gt;APPLICATION_NAME,&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;span style=''&gt;&lt;span style='mso-spacerun:yes'&gt; &lt;/span&gt;isAppInstalled ? &lt;span style='color:#A31515'&gt;&amp;quot;installed&amp;quot;&lt;/span&gt; : &lt;span style='color:#A31515'&gt;&amp;quot;NOT installed&amp;quot;&lt;/span&gt;,&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;span style=''&gt;&lt;span style='mso-spacerun:yes'&gt; &lt;/span&gt;MACHINE_NAME);&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;span style=''&gt;&lt;span style='mso-spacerun:yes'&gt;  &lt;/span&gt;&lt;span style='color:#2B91AF'&gt;MessageBox&lt;/span&gt;.Show(msg);&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;span style=''&gt;}&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;span style='color:blue'&gt;catch&lt;/span&gt;&lt;span style=''&gt; (&lt;span style='color:#2B91AF'&gt;Exception&lt;/span&gt; ex)&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;span style=''&gt;{&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;span style=''&gt;&lt;span style='mso-spacerun:yes'&gt;  &lt;/span&gt;&lt;span style='color:#2B91AF'&gt;MessageBox&lt;/span&gt;.Show(ex.Message);&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;span style=''&gt;}&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Enjoy...&lt;br /&gt;
&lt;a href="http://mdb-blog.blogspot.com/"&gt;MDB-Blog&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/MdbBlog/~4/274LT-13CKs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mdb-blog.blogspot.com/feeds/9147197107584930074/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mdb-blog.blogspot.com/2010/12/c-check-if-programapplication-is.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/9147197107584930074?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/9147197107584930074?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MdbBlog/~3/274LT-13CKs/c-check-if-programapplication-is.html" title="C# | check if program/application is installed on remote computer" /><author><name>sami.e</name><uri>http://www.blogger.com/profile/17924298382466536337</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://mdb-blog.blogspot.com/2010/12/c-check-if-programapplication-is.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MHSXwyeSp7ImA9Wx9TGUk.&quot;"><id>tag:blogger.com,1999:blog-9087075508981084919.post-8760354349607380568</id><published>2010-11-28T15:03:00.000+02:00</published><updated>2010-11-28T15:03:58.291+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-28T15:03:58.291+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="c++" /><category scheme="http://www.blogger.com/atom/ns#" term="x64" /><category scheme="http://www.blogger.com/atom/ns#" term="package" /><category scheme="http://www.blogger.com/atom/ns#" term="vcredist" /><category scheme="http://www.blogger.com/atom/ns#" term="x86" /><category scheme="http://www.blogger.com/atom/ns#" term="visual c++" /><category scheme="http://www.blogger.com/atom/ns#" term="Visual C++ 2008 SP1" /><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><category scheme="http://www.blogger.com/atom/ns#" term="IA64" /><category scheme="http://www.blogger.com/atom/ns#" term="bootstraper" /><category scheme="http://www.blogger.com/atom/ns#" term="redistributable" /><title>c# | Check if VcRedist installed (x86/x64/IA64)</title><content type="html">&lt;div dir="ltr" style="text-align: left;"&gt;The following code checks if vcredist (&lt;b&gt;Microsoft Visual C++ 2008 SP1 Redistributable Package&lt;/b&gt;) is installed.&lt;br /&gt;
This check is used when we want to assure that the Visual C++ 2008 SP1 is INSTALLED perior to the application launch.&lt;br /&gt;
&lt;br /&gt;
The code is using the &lt;a href="http://msdn.microsoft.com/en-us/library/aa370363.aspx"&gt;MsiQueryProductState&lt;/a&gt; function from the &lt;b&gt;msi.dll&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
We check the product codes of vcredist_x86, vcredist_x64 and vcredist_IA64 using MsiQueryProductState to validate if the product is installed or not!&lt;br /&gt;
(vcredist product codes are listed &lt;a href="http://mdb-blog.blogspot.com/2010/11/bootstrapper-package-detect-vcredist.html"&gt;HERE&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
The Code:&lt;br /&gt;
&lt;div dir="ltr" style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #f0f0f0" align="left"&gt;&lt;div style="font-size:9.5pt;font-family:Consolas"&gt;&lt;span style=''&gt;&lt;span style='color:blue'&gt;public&lt;/span&gt;&lt;span style=''&gt; &lt;span style='color:blue'&gt;enum&lt;/span&gt; &lt;span style='color:#2B91AF'&gt;INSTALLSTATE&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;{&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;   INSTALLSTATE_NOTUSED = -7,  &lt;span style='color:green'&gt;// component disabled&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;   INSTALLSTATE_BADCONFIG = -6,  &lt;span style='color:green'&gt;// configuration datacorrupt&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;   INSTALLSTATE_INCOMPLETE = -5,  &lt;span style='color:green'&gt;// installationsuspended or in progress&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;   INSTALLSTATE_SOURCEABSENT = -4,  &lt;span style='color:green'&gt;// run from source,source is unavailable&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;   INSTALLSTATE_MOREDATA = -3,  &lt;span style='color:green'&gt;// return bufferoverflow&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;   INSTALLSTATE_INVALIDARG = -2,  &lt;span style='color:green'&gt;// invalid functionargument&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;   INSTALLSTATE_UNKNOWN = -1,  &lt;span style='color:green'&gt;// unrecognized productor feature&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;   INSTALLSTATE_BROKEN = 0,  &lt;span style='color:green'&gt;// broken&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;   INSTALLSTATE_ADVERTISED = 1,  &lt;span style='color:green'&gt;// advertised feature&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;   INSTALLSTATE_REMOVED = 1,  &lt;span style='color:green'&gt;// component being removed(action state, not settable)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;   INSTALLSTATE_ABSENT = 2,  &lt;span style='color:green'&gt;// uninstalled (or actionstate absent but clients remain)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;   INSTALLSTATE_LOCAL = 3,  &lt;span style='color:green'&gt;// installed on local drive&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;   INSTALLSTATE_SOURCE = 4,  &lt;span style='color:green'&gt;// run from source, CD ornet&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;   INSTALLSTATE_DEFAULT = 5,  &lt;span style='color:green'&gt;// use default, local orsource&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;[&lt;span style='color:#2B91AF'&gt;DllImport&lt;/span&gt;(&lt;span style='color:#A31515'&gt;&amp;quot;msi.dll&amp;quot;&lt;/span&gt;)]&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style='color:blue'&gt;private&lt;/span&gt;&lt;span style=''&gt; &lt;span style='color:blue'&gt;static&lt;/span&gt; &lt;span style='color:blue'&gt;extern&lt;/span&gt; &lt;span style='color:#2B91AF'&gt;INSTALLSTATE&lt;/span&gt; MsiQueryProductState(&lt;span style='color:blue'&gt;string&lt;/span&gt; product);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style='color:blue'&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style='color:blue'&gt;public&lt;/span&gt;&lt;span style=''&gt; &lt;span style='color:blue'&gt;static&lt;/span&gt; &lt;span style='color:blue'&gt;bool&lt;/span&gt;IsVCRedistInstalled()&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;{&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;   &lt;span style='color:blue'&gt;string&lt;/span&gt;[] strCodes = &lt;span style='color:blue'&gt;new&lt;/span&gt;&lt;span style='color:blue'&gt;string&lt;/span&gt;[]&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;   {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       &lt;span style='color:green'&gt;//vcredist_x86 - ProductCode&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       &lt;span style='color:#A31515'&gt;&amp;quot;{9A25302D-30C0-39D9-BD6F-21E6EC160475}&amp;quot;&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       &lt;span style='color:#A31515'&gt;&amp;quot;{86CE1746-9EFF-3C9C-8755-81EA8903AC34}&amp;quot;&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       &lt;span style='color:#A31515'&gt;&amp;quot;{CA8A885F-E95B-3FC6-BB91-F4D9377C7686}&amp;quot;&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       &lt;span style='color:#A31515'&gt;&amp;quot;{820B6609-4C97-3A2B-B644-573B06A0F0CC}&amp;quot;&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       &lt;span style='color:#A31515'&gt;&amp;quot;{6AFCA4E1-9B78-3640-8F72-A7BF33448200}&amp;quot;&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       &lt;span style='color:#A31515'&gt;&amp;quot;{F03CB3EF-DC16-35CE-B3C1-C68EA09E5E97}&amp;quot;&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       &lt;span style='color:#A31515'&gt;&amp;quot;{402ED4A1-8F5B-387A-8688-997ABF58B8F2}&amp;quot;&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       &lt;span style='color:#A31515'&gt;&amp;quot;{887868A2-D6DE-3255-AA92-AA0B5A59B874}&amp;quot;&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       &lt;span style='color:#A31515'&gt;&amp;quot;{527BBE2F-1FED-3D8B-91CB-4DB0F838E69E}&amp;quot;&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       &lt;span style='color:#A31515'&gt;&amp;quot;{57660847-B1F7-35BD-9118-F62EB863A598}&amp;quot;&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       &lt;span style='color:green'&gt;//vcredist_x64 - ProductCode&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       &lt;span style='color:#A31515'&gt;&amp;quot;{8220EEFE-38CD-377E-8595-13398D740ACE}&amp;quot;&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       &lt;span style='color:#A31515'&gt;&amp;quot;{56F27690-F6EA-3356-980A-02BA379506EE}&amp;quot;&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       &lt;span style='color:#A31515'&gt;&amp;quot;{14297226-E0A0-3781-8911-E9D529552663}&amp;quot;&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       &lt;span style='color:#A31515'&gt;&amp;quot;{9B3F0A88-790D-3AD9-9F96-B19CF2746452}&amp;quot;&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       &lt;span style='color:#A31515'&gt;&amp;quot;{D285FC5F-3021-32E9-9C59-24CA325BDC5C}&amp;quot;&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       &lt;span style='color:#A31515'&gt;&amp;quot;{092EE08C-60DE-3FE6-B113-90076EC06D0D}&amp;quot;&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       &lt;span style='color:#A31515'&gt;&amp;quot;{A96702F7-EFC8-3EED-BE46-22C809D4EBE5}&amp;quot;&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       &lt;span style='color:#A31515'&gt;&amp;quot;{92B8FD1F-C1AE-3750-8577-631B0AA85DF5}&amp;quot;&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       &lt;span style='color:#A31515'&gt;&amp;quot;{2DFD8316-9EF1-3210-908C-4CB61961C1AC}&amp;quot;&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       &lt;span style='color:#A31515'&gt;&amp;quot;{E34002C7-8CE7-3F76-B36C-09FA973BC4F6}&amp;quot;&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       &lt;span style='color:green'&gt;//vcredist_IA64 - ProductCode&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       &lt;span style='color:#A31515'&gt;&amp;quot;{5827ECE1-AEB0-328E-B813-6FC68622C1F9}&amp;quot;&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       &lt;span style='color:#A31515'&gt;&amp;quot;{9363B366-8370-34F7-8164-25052EBF35FD}&amp;quot;&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       &lt;span style='color:#A31515'&gt;&amp;quot;{4EC84186-70BB-3121-9C1B-C63512D7126E}&amp;quot;&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       &lt;span style='color:#A31515'&gt;&amp;quot;{1F7B9797-A3C8-3B98-85C4-00620F221CE8}&amp;quot;&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       &lt;span style='color:#A31515'&gt;&amp;quot;{6BE0A7C7-3462-30EE-8B77-D21D7848D967}&amp;quot;&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       &lt;span style='color:#A31515'&gt;&amp;quot;{BF58DC07-38AB-3887-8000-70173F9650EA}&amp;quot;&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       &lt;span style='color:#A31515'&gt;&amp;quot;{D289009A-2728-3D0A-833E-F08E0E58934C}&amp;quot;&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       &lt;span style='color:#A31515'&gt;&amp;quot;{9476DC14-00C3-3C36-A435-00D714CF77B8}&amp;quot;&lt;/span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       &lt;span style='color:#A31515'&gt;&amp;quot;{678835D7-D524-3C0E-9C33-1D3767FDA6BF}&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;   };&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;   &lt;span style='color:#2B91AF'&gt;INSTALLSTATE&lt;/span&gt; state;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;   &lt;span style='color:blue'&gt;for&lt;/span&gt; (&lt;span style='color:blue'&gt;int&lt;/span&gt; i = 0;i &amp;lt; strCodes.Length; i++)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;   {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       state = MsiQueryProductState(strCodes[i]);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       &lt;span style='color:blue'&gt;if&lt;/span&gt; (state == &lt;span style='color:#2B91AF'&gt;INSTALLSTATE&lt;/span&gt;.INSTALLSTATE_LOCAL||&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;           state == &lt;span style='color:#2B91AF'&gt;INSTALLSTATE&lt;/span&gt;.INSTALLSTATE_DEFAULT)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;           &lt;span style='color:blue'&gt;return&lt;/span&gt; &lt;span style='color:blue'&gt;true&lt;/span&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;       }&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;   }&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;   &lt;span style='color:blue'&gt;return&lt;/span&gt; &lt;span style='color:blue'&gt;false&lt;/span&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=''&gt;&lt;span style=''&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
You may also &lt;b&gt;extent and improve&lt;/b&gt; this method to check only those Product Codes that matching current architecture (x86/x64/IA64).&lt;br /&gt;
&lt;br /&gt;
Hope it helps, &lt;br /&gt;
&lt;a href="http://mdb-blog.blogspot.com/"&gt;MDB-Blog&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MdbBlog/~4/OUgFyDo3XTU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mdb-blog.blogspot.com/feeds/8760354349607380568/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mdb-blog.blogspot.com/2010/11/c-check-if-vcredist-installed.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/8760354349607380568?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/8760354349607380568?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MdbBlog/~3/OUgFyDo3XTU/c-check-if-vcredist-installed.html" title="c# | Check if VcRedist installed (x86/x64/IA64)" /><author><name>sami.e</name><uri>http://www.blogger.com/profile/17924298382466536337</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mdb-blog.blogspot.com/2010/11/c-check-if-vcredist-installed.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUICRnw4cCp7ImA9Wx9TFko.&quot;"><id>tag:blogger.com,1999:blog-9087075508981084919.post-7156529584670816175</id><published>2010-11-24T14:54:00.003+02:00</published><updated>2010-11-25T10:26:07.238+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-25T10:26:07.238+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="c++" /><category scheme="http://www.blogger.com/atom/ns#" term="dot net" /><category scheme="http://www.blogger.com/atom/ns#" term="compact framework" /><category scheme="http://www.blogger.com/atom/ns#" term="framework 2.0" /><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><category scheme="http://www.blogger.com/atom/ns#" term="itanium" /><category scheme="http://www.blogger.com/atom/ns#" term="setup" /><category scheme="http://www.blogger.com/atom/ns#" term="redistributable" /><category scheme="http://www.blogger.com/atom/ns#" term="visual studio" /><category scheme="http://www.blogger.com/atom/ns#" term="x64" /><category scheme="http://www.blogger.com/atom/ns#" term="install" /><category scheme="http://www.blogger.com/atom/ns#" term="x86" /><category scheme="http://www.blogger.com/atom/ns#" term="visual c++" /><category scheme="http://www.blogger.com/atom/ns#" term="runtime" /><category scheme="http://www.blogger.com/atom/ns#" term="setup project" /><category scheme="http://www.blogger.com/atom/ns#" term="IA64" /><category scheme="http://www.blogger.com/atom/ns#" term="sp1" /><title>Bootstrapper Package | detect vcredist installed | Microsoft Visual C++ 2008 SP1 Redistributable Package</title><content type="html">As a countinue post of my previous &lt;a href="http://mdb-blog.blogspot.com/2010/11/bootstrapper-package-visual-studio-2010.html"&gt;http://mdb-blog.blogspot.com/2010/11/bootstrapper-package-visual-studio-2010.html&lt;/a&gt; about Bootstrapper Package ( Visual Studio 2010) of Microsoft .NET Framework Version 2.0 Redistributable, i give an example for:&lt;br /&gt;
&lt;b&gt;Bootstrapper Package for Microsoft Visual C++ 2008 SP1 Redistributable Package&lt;/b&gt;&lt;br /&gt;
(also known as Visual C++ 9.0 runtime redistributable package)&lt;br /&gt;
&lt;br /&gt;
As I searched for many sites, I couldn't find any &lt;b&gt;GOOD&lt;/b&gt; article about detecting this resi package.&lt;br /&gt;
So, I built a &lt;u&gt;bootstrapper package&lt;/u&gt; using the information I found on Aaron's post: "How to detect the presence of the Visual C++ 9.0 runtime redistributable package" at &lt;a href="http://blogs.msdn.com/b/astebner/archive/2009/01/29/9384143.aspx"&gt;http://blogs.msdn.com/b/astebner/archive/2009/01/29/9384143.aspx&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
First of all, we have to detect if one of (vcredist_x86, vcredist_x64, vcredist_IA64) is INSTALLED! &lt;br /&gt;
To do so, we will use the &lt;a href="http://msdn2.microsoft.com/en-gb/library/aa370363.aspx"&gt;MsiQueryProductState API&lt;/a&gt; inside our &lt;b&gt;Product.xml&lt;/b&gt; in the bootstrapper package folder. (for more information about bootstrapper package files watch my &lt;a href="http://mdb-blog.blogspot.com/2010/11/bootstrapper-package-visual-studio-2010.html"&gt;previous post&lt;/a&gt;.&lt;br /&gt;
Because there is a difference in the &lt;b&gt;Product-Code&lt;/b&gt; between the &lt;u&gt;localized versions&lt;/u&gt; of the redistributables for VC++ 2008, i checked and write down all the product codes in the following table:&lt;br /&gt;
&lt;br /&gt;
&lt;div dir="ltr" style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #f0f0f0" align="left"&gt;&lt;table border=1&gt;&lt;tr style="color: firebrick; font-weight: bold;"&gt;&lt;td&gt;vcredist_x86.exe&lt;/td&gt;&lt;td&gt;ProductCode&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;English&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{9A25302D-30C0-39D9-BD6F-21E6EC160475}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;ChineseSimplified&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{86CE1746-9EFF-3C9C-8755-81EA8903AC34}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;ChineseTraditional&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{CA8A885F-E95B-3FC6-BB91-F4D9377C7686}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;French&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{820B6609-4C97-3A2B-B644-573B06A0F0CC}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;German&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{6AFCA4E1-9B78-3640-8F72-A7BF33448200}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;Italian&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{F03CB3EF-DC16-35CE-B3C1-C68EA09E5E97}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;Japanese&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{402ED4A1-8F5B-387A-8688-997ABF58B8F2}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;Korean&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{887868A2-D6DE-3255-AA92-AA0B5A59B874}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;Russian&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{527BBE2F-1FED-3D8B-91CB-4DB0F838E69E}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;Spanish&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{57660847-B1F7-35BD-9118-F62EB863A598}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan="2"&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan="2"&gt;UpgradeCode &lt;u&gt;for all&lt;/u&gt; {AA783A14-A7A3-3D33-95F0-9A351D530011}&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;br /&gt;
&lt;table border=1&gt;&lt;tr style="color: firebrick; font-weight: bold;"&gt;&lt;td&gt;vcredist_x64.exe&lt;/td&gt;&lt;td&gt;ProductCode&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;English&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{8220EEFE-38CD-377E-8595-13398D740ACE}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;ChineseSimplified&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{56F27690-F6EA-3356-980A-02BA379506EE}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;ChineseTraditional&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{14297226-E0A0-3781-8911-E9D529552663}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;French&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{9B3F0A88-790D-3AD9-9F96-B19CF2746452}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;German&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{D285FC5F-3021-32E9-9C59-24CA325BDC5C}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;Italian&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{092EE08C-60DE-3FE6-B113-90076EC06D0D}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;Japanese&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{A96702F7-EFC8-3EED-BE46-22C809D4EBE5}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;Korean&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{92B8FD1F-C1AE-3750-8577-631B0AA85DF5}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;Russian&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{2DFD8316-9EF1-3210-908C-4CB61961C1AC}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;Spanish&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{E34002C7-8CE7-3F76-B36C-09FA973BC4F6}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan="2"&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan="2"&gt;UpgradeCode &lt;u&gt;for all&lt;/u&gt; {AA783A14-A7A3-3D33-95F0-9A351D530011}&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;br /&gt;
&lt;table border=1&gt;&lt;tr style="color: firebrick; font-weight: bold;"&gt;&lt;td&gt;vcredist_IA64.exe&lt;/td&gt;&lt;td&gt;ProductCode&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;English&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{5827ECE1-AEB0-328E-B813-6FC68622C1F9}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;ChineseSimplified&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{9363B366-8370-34F7-8164-25052EBF35FD}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;ChineseTraditional&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{4EC84186-70BB-3121-9C1B-C63512D7126E}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;French&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1F7B9797-A3C8-3B98-85C4-00620F221CE8}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;German&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{6BE0A7C7-3462-30EE-8B77-D21D7848D967}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;Italian&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{BF58DC07-38AB-3887-8000-70173F9650EA}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;Japanese&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{D289009A-2728-3D0A-833E-F08E0E58934C}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;Korean&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{9476DC14-00C3-3C36-A435-00D714CF77B8}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;Russian&lt;/b&gt;&lt;/td&gt;&lt;td&gt;[Installer NOT exists!]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;Spanish&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{678835D7-D524-3C0E-9C33-1D3767FDA6BF}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan="2"&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan="2"&gt;UpgradeCode &lt;u&gt;for all&lt;/u&gt; {AA783A14-A7A3-3D33-95F0-9A351D530011}&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
All left is to create the bootstrapper folder (name it &lt;u&gt;Vcredist2008sp1&lt;/u&gt;):&lt;br /&gt;
(*) en (FOLDER)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(*) package.xml&lt;br /&gt;
(*) Product.xml&lt;br /&gt;
(*) redist.txt&lt;br /&gt;
(*) vcredist_x86.exe (&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2"&gt;download here&lt;/a&gt;)&lt;br /&gt;
(*) vcredist_x64.exe (&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E"&gt;download here&lt;/a&gt;)&lt;br /&gt;
(*) vcredist_IA64.exe (&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=DCC211E6-AB82-41D6-8DEC-C79937393FE8"&gt;download here&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b style="color: firebrick;"&gt;package.xml file:&lt;/b&gt;&lt;br /&gt;
&lt;div dir="ltr" style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #f0f0f0" align="left"&gt;&amp;lt;?xml&amp;nbsp;version="1.0"&amp;nbsp;encoding="utf-8"?&amp;gt;&lt;br /&gt;
&amp;lt;Package&amp;nbsp;Name="DisplayName"&amp;nbsp;Culture="Culture"&amp;nbsp;xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;Strings&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;String&amp;nbsp;Name="Culture"&amp;gt;en&amp;lt;/String&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;String&amp;nbsp;Name="DisplayName"&amp;gt;Microsoft&amp;nbsp;Visual&amp;nbsp;C++&amp;nbsp;2008&amp;nbsp;SP1&amp;nbsp;Redistributable&amp;nbsp;Package&amp;lt;/String&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;String&amp;nbsp;Name="AdminRequired"&amp;gt;Administrator&amp;nbsp;permissions&amp;nbsp;are&amp;nbsp;required&amp;nbsp;to&amp;nbsp;install&amp;nbsp;the&amp;nbsp;Microsoft&amp;nbsp;Visual&amp;nbsp;C++&amp;nbsp;2008&amp;nbsp;SP1&amp;nbsp;Redistributable&amp;nbsp;Package&amp;nbsp;Contact&amp;nbsp;your&amp;nbsp;administrator.&amp;lt;/String&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;String&amp;nbsp;Name="CancelledInstall"&amp;gt;The&amp;nbsp;user&amp;nbsp;has&amp;nbsp;cancelled&amp;nbsp;the&amp;nbsp;installation.&amp;nbsp;The&amp;nbsp;Microsoft&amp;nbsp;Visual&amp;nbsp;C++&amp;nbsp;2008&amp;nbsp;SP1&amp;nbsp;Redistributable&amp;nbsp;Package&amp;nbsp;has&amp;nbsp;not&amp;nbsp;been&amp;nbsp;installed.&amp;lt;/String&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;String&amp;nbsp;Name="GeneralFailure"&amp;gt;A&amp;nbsp;failure&amp;nbsp;occurred&amp;nbsp;attempting&amp;nbsp;to&amp;nbsp;install&amp;nbsp;the&amp;nbsp;Microsoft&amp;nbsp;Visual&amp;nbsp;C++&amp;nbsp;2008&amp;nbsp;SP1&amp;nbsp;Redistributable&amp;nbsp;Package.&amp;lt;/String&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;String&amp;nbsp;Name="ErrorDownloading"&amp;gt;A&amp;nbsp;failure&amp;nbsp;occurred&amp;nbsp;while&amp;nbsp;downloading&amp;nbsp;Microsoft&amp;nbsp;Visual&amp;nbsp;C++&amp;nbsp;2008&amp;nbsp;SP1&amp;nbsp;Redistributable&amp;nbsp;Package.&amp;lt;/String&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;/Strings&amp;gt;&lt;br /&gt;
&amp;lt;/Package&amp;gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;b style="color: firebrick;"&gt;Product.xml file:&lt;/b&gt;&lt;br /&gt;
1. PackageFiles (installation files):&lt;br /&gt;
&lt;div dir="ltr" style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #f0f0f0" align="left"&gt;&amp;lt;PackageFiles&amp;nbsp;CopyAllPackageFiles="false"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;PackageFile&amp;nbsp;Name="vcredist_x86.exe"&amp;nbsp;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;PackageFile&amp;nbsp;Name="vcredist_x64.exe"&amp;nbsp;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;PackageFile&amp;nbsp;Name="vcredist_IA64.exe"&amp;nbsp;/&amp;gt;&lt;br /&gt;
&amp;lt;/PackageFiles&amp;gt;&lt;/div&gt;&lt;br /&gt;
2. InstallChecks (valiadation prefurmed):&lt;br /&gt;
&lt;div dir="ltr" style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #f0f0f0" align="left"&gt;&amp;lt;InstallChecks&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;!--VCRedistx86&amp;nbsp;-&amp;nbsp;ProductCodes--&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;MsiProductCheck&amp;nbsp;Property="VCRedistx86_English_Installed"&amp;nbsp;Product="{9A25302D-30C0-39D9-BD6F-21E6EC160475}"&amp;nbsp;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;MsiProductCheck&amp;nbsp;Property="VCRedistx86_ChineseSimplified_Installed"&amp;nbsp;Product="{86CE1746-9EFF-3C9C-8755-81EA8903AC34}"&amp;nbsp;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;MsiProductCheck&amp;nbsp;Property="VCRedistx86_ChineseTraditional_Installed"&amp;nbsp;Product="{CA8A885F-E95B-3FC6-BB91-F4D9377C7686}"&amp;nbsp;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;MsiProductCheck&amp;nbsp;Property="VCRedistx86_French_Installed"&amp;nbsp;Product="{820B6609-4C97-3A2B-B644-573B06A0F0CC}"&amp;nbsp;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;MsiProductCheck&amp;nbsp;Property="VCRedistx86_German_Installed"&amp;nbsp;Product="{6AFCA4E1-9B78-3640-8F72-A7BF33448200}"&amp;nbsp;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;MsiProductCheck&amp;nbsp;Property="VCRedistx86_Italian_Installed"&amp;nbsp;Product="{F03CB3EF-DC16-35CE-B3C1-C68EA09E5E97}"&amp;nbsp;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;MsiProductCheck&amp;nbsp;Property="VCRedistx86_Japanese_Installed"&amp;nbsp;Product="{402ED4A1-8F5B-387A-8688-997ABF58B8F2}"&amp;nbsp;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;MsiProductCheck&amp;nbsp;Property="VCRedistx86_Korean_Installed"&amp;nbsp;Product="{887868A2-D6DE-3255-AA92-AA0B5A59B874}"&amp;nbsp;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;MsiProductCheck&amp;nbsp;Property="VCRedistx86_Russian_Installed"&amp;nbsp;Product="{527BBE2F-1FED-3D8B-91CB-4DB0F838E69E}"&amp;nbsp;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;MsiProductCheck&amp;nbsp;Property="VCRedistx86_Spanish_Installed"&amp;nbsp;Product="{57660847-B1F7-35BD-9118-F62EB863A598}"&amp;nbsp;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;!--VCRedistx64&amp;nbsp;-&amp;nbsp;ProductCodes--&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;MsiProductCheck&amp;nbsp;Property="VCRedistx64_English_Installed"&amp;nbsp;Product="{8220EEFE-38CD-377E-8595-13398D740ACE}"&amp;nbsp;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;MsiProductCheck&amp;nbsp;Property="VCRedistx64_ChineseSimplified_Installed"&amp;nbsp;Product="{56F27690-F6EA-3356-980A-02BA379506EE}"&amp;nbsp;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;MsiProductCheck&amp;nbsp;Property="VCRedistx64_ChineseTraditional_Installed"&amp;nbsp;Product="{14297226-E0A0-3781-8911-E9D529552663}"&amp;nbsp;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;MsiProductCheck&amp;nbsp;Property="VCRedistx64_French_Installed"&amp;nbsp;Product="{9B3F0A88-790D-3AD9-9F96-B19CF2746452}"&amp;nbsp;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;MsiProductCheck&amp;nbsp;Property="VCRedistx64_German_Installed"&amp;nbsp;Product="{D285FC5F-3021-32E9-9C59-24CA325BDC5C}"&amp;nbsp;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;MsiProductCheck&amp;nbsp;Property="VCRedistx64_Italian_Installed"&amp;nbsp;Product="{092EE08C-60DE-3FE6-B113-90076EC06D0D}"&amp;nbsp;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;MsiProductCheck&amp;nbsp;Property="VCRedistx64_Japanese_Installed"&amp;nbsp;Product="{A96702F7-EFC8-3EED-BE46-22C809D4EBE5}"&amp;nbsp;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;MsiProductCheck&amp;nbsp;Property="VCRedistx64_Korean_Installed"&amp;nbsp;Product="{92B8FD1F-C1AE-3750-8577-631B0AA85DF5}"&amp;nbsp;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;MsiProductCheck&amp;nbsp;Property="VCRedistx64_Russian_Installed"&amp;nbsp;Product="{2DFD8316-9EF1-3210-908C-4CB61961C1AC}"&amp;nbsp;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;MsiProductCheck&amp;nbsp;Property="VCRedistx64_Spanish_Installed"&amp;nbsp;Product="{E34002C7-8CE7-3F76-B36C-09FA973BC4F6}"&amp;nbsp;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;!--VCRedistIA64&amp;nbsp;-&amp;nbsp;ProductCodes--&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;MsiProductCheck&amp;nbsp;Property="VCRedistIA64_English_Installed"&amp;nbsp;Product="{5827ECE1-AEB0-328E-B813-6FC68622C1F9}"&amp;nbsp;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;MsiProductCheck&amp;nbsp;Property="VCRedistIA64_ChineseSimplified_Installed"&amp;nbsp;Product="{9363B366-8370-34F7-8164-25052EBF35FD}"&amp;nbsp;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;MsiProductCheck&amp;nbsp;Property="VCRedistIA64_ChineseTraditional_Installed"&amp;nbsp;Product="{4EC84186-70BB-3121-9C1B-C63512D7126E}"&amp;nbsp;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;MsiProductCheck&amp;nbsp;Property="VCRedistIA64_French_Installed"&amp;nbsp;Product="{1F7B9797-A3C8-3B98-85C4-00620F221CE8}"&amp;nbsp;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;MsiProductCheck&amp;nbsp;Property="VCRedistIA64_German_Installed"&amp;nbsp;Product="{6BE0A7C7-3462-30EE-8B77-D21D7848D967}"&amp;nbsp;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;MsiProductCheck&amp;nbsp;Property="VCRedistIA64_Italian_Installed"&amp;nbsp;Product="{BF58DC07-38AB-3887-8000-70173F9650EA}"&amp;nbsp;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;MsiProductCheck&amp;nbsp;Property="VCRedistIA64_Japanese_Installed"&amp;nbsp;Product="{D289009A-2728-3D0A-833E-F08E0E58934C}"&amp;nbsp;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;MsiProductCheck&amp;nbsp;Property="VCRedistIA64_Korean_Installed"&amp;nbsp;Product="{9476DC14-00C3-3C36-A435-00D714CF77B8}"&amp;nbsp;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;!--RUSSIAN&amp;nbsp;installer&amp;nbsp;not&amp;nbsp;exists&amp;nbsp;--&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;MsiProductCheck&amp;nbsp;Property="VCRedistIA64_Spanish_Installed"&amp;nbsp;Product="{678835D7-D524-3C0E-9C33-1D3767FDA6BF}"&amp;nbsp;/&amp;gt;&lt;br /&gt;
&amp;lt;/InstallChecks&amp;gt;&lt;/div&gt;&lt;br /&gt;
3. for each installation check if any localized installed:&lt;br /&gt;
&lt;div dir="ltr" style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #f0f0f0" align="left"&gt;&amp;lt;BypassIf Property="VCRedistx86_English_Installed" Compare="ValueEqualTo" Value="5" /&amp;gt;&lt;br /&gt;
&amp;lt;BypassIf Property="VCRedistx86_ChineseSimplified_Installed" Compare="ValueEqualTo" Value="5" /&amp;gt;&lt;br /&gt;
&amp;lt;BypassIf Property="VCRedistx86_ChineseTraditional_Installed" Compare="ValueEqualTo" Value="5" /&amp;gt;&lt;br /&gt;
&amp;lt;BypassIf Property="VCRedistx86_French_Installed" Compare="ValueEqualTo" Value="5" /&amp;gt;&lt;br /&gt;
&amp;lt;BypassIf Property="VCRedistx86_German_Installed" Compare="ValueEqualTo" Value="5" /&amp;gt;&lt;br /&gt;
&amp;lt;BypassIf Property="VCRedistx86_Italian_Installed" Compare="ValueEqualTo" Value="5" /&amp;gt;&lt;br /&gt;
&amp;lt;BypassIf Property="VCRedistx86_Japanese_Installed" Compare="ValueEqualTo" Value="5" /&amp;gt;&lt;br /&gt;
&amp;lt;BypassIf Property="VCRedistx86_Korean_Installed" Compare="ValueEqualTo" Value="5" /&amp;gt;&lt;br /&gt;
&amp;lt;BypassIf Property="VCRedistx86_Russian_Installed" Compare="ValueEqualTo" Value="5" /&amp;gt;&lt;br /&gt;
&amp;lt;BypassIf Property="VCRedistx86_Spanish_Installed" Compare="ValueEqualTo" Value="5" /&amp;gt;&lt;/div&gt;&lt;br /&gt;
Download link for the full bootstrapper package is here:&lt;br /&gt;
&lt;a href="http://cid-539d62829af123fb.office.live.com/self.aspx/.Public/Bootstrapper%20Package/Vcredist2008sp1%5E_bootstrapper.zip"&gt;download full package here&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Hope it helps,&lt;br /&gt;
&lt;a href="http://mdb-blog.blogspot.com/"&gt;MDB-Blog&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/MdbBlog/~4/oiu1vowGL2s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mdb-blog.blogspot.com/feeds/7156529584670816175/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mdb-blog.blogspot.com/2010/11/bootstrapper-package-detect-vcredist.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/7156529584670816175?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/7156529584670816175?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MdbBlog/~3/oiu1vowGL2s/bootstrapper-package-detect-vcredist.html" title="Bootstrapper Package | detect vcredist installed | Microsoft Visual C++ 2008 SP1 Redistributable Package" /><author><name>sami.e</name><uri>http://www.blogger.com/profile/17924298382466536337</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>3</thr:total><feedburner:origLink>http://mdb-blog.blogspot.com/2010/11/bootstrapper-package-detect-vcredist.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkAEQn48cCp7ImA9Wx9TFUw.&quot;"><id>tag:blogger.com,1999:blog-9087075508981084919.post-9091819347338798770</id><published>2010-11-23T15:25:00.000+02:00</published><updated>2010-11-23T15:25:03.078+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-23T15:25:03.078+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="windows 7" /><category scheme="http://www.blogger.com/atom/ns#" term="version" /><category scheme="http://www.blogger.com/atom/ns#" term="windows vista" /><category scheme="http://www.blogger.com/atom/ns#" term="get version" /><category scheme="http://www.blogger.com/atom/ns#" term="windows" /><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><category scheme="http://www.blogger.com/atom/ns#" term="versioning" /><title>How to determine the Windows version by using Visual C# | windows 7 windows vista</title><content type="html">Here is a good code includes Windows 7 and Windows Vista recognaizer.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Code:&lt;/b&gt;&lt;br /&gt;
&lt;div dir="ltr" style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #f0f0f0" align="left"&gt;&lt;div class=WordSection1&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span class=GramE&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas'&gt; &lt;span class=SpellE&gt;&lt;span
style='color:blue'&gt;enum&lt;/span&gt;&lt;/span&gt; &lt;span class=SpellE&gt;&lt;span
style='color:#2B91AF'&gt;WindowsVersions&lt;/span&gt;&lt;/span&gt; { &lt;span class=SpellE&gt;UnKnown&lt;/span&gt;,&lt;br /&gt;
Win95, Win98, &lt;span class=SpellE&gt;WinMe&lt;/span&gt;, WinNT3or4, Win2000, &lt;span
class=SpellE&gt;WinXP&lt;/span&gt;, WinServer2003, &lt;span class=SpellE&gt;WinVista&lt;/span&gt;,&lt;br /&gt;
Win7, &lt;span class=SpellE&gt;MacOSX&lt;/span&gt;, Unix,&lt;span style='mso-spacerun:yes'&gt; &lt;br /&gt;
&lt;/span&gt;Xbox };&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span class=GramE&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas'&gt; &lt;span style='color:blue'&gt;static&lt;/span&gt;&lt;br /&gt;
&lt;span class=SpellE&gt;&lt;span style='color:#2B91AF'&gt;WindowsVersions&lt;/span&gt;&lt;/span&gt; &lt;span
class=SpellE&gt;GetCurrentWindowsVersion&lt;/span&gt;()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;&lt;span
style='color:green'&gt;// Get &lt;span class=SpellE&gt;OperatingSystem&lt;/span&gt;&lt;br /&gt;
information from the system namespace.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;&lt;span
class=SpellE&gt;System.&lt;span style='color:#2B91AF'&gt;OperatingSystem&lt;/span&gt;&lt;/span&gt; &lt;span
class=SpellE&gt;osInfo&lt;/span&gt; = &lt;span class=SpellE&gt;System.&lt;span style='color:#2B91AF'&gt;Environment&lt;/span&gt;.OSVersion&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;&lt;span
style='color:green'&gt;// &lt;span class=GramE&gt;Determine&lt;/span&gt; the platform.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;&lt;span
class=GramE&gt;&lt;span style='color:blue'&gt;if&lt;/span&gt;&lt;/span&gt; (&lt;span class=SpellE&gt;osInfo.Platform&lt;/span&gt;&lt;br /&gt;
== System.&lt;span style='color:#2B91AF'&gt;PlatformID&lt;/span&gt;.Win32Windows)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;        &lt;/span&gt;&lt;span
style='color:green'&gt;// Platform is Windows 95, Windows 98, Windows 98 Second&lt;br /&gt;
Edition, or Windows Me.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;        &lt;/span&gt;&lt;span
class=GramE&gt;&lt;span style='color:blue'&gt;switch&lt;/span&gt;&lt;/span&gt; (&lt;span class=SpellE&gt;osInfo.Version.Minor&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;        &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;            &lt;/span&gt;&lt;span
class=GramE&gt;&lt;span style='color:blue'&gt;case&lt;/span&gt;&lt;/span&gt; 0:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;               &lt;br /&gt;
&lt;/span&gt;&lt;span style='color:green'&gt;//&lt;span class=SpellE&gt;&lt;span class=GramE&gt;Console.WriteLine&lt;/span&gt;&lt;/span&gt;&lt;span
class=GramE&gt;(&lt;/span&gt;&amp;quot;Windows 95&amp;quot;);&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;               &lt;br /&gt;
&lt;/span&gt;&lt;span class=GramE&gt;&lt;span style='color:blue'&gt;return&lt;/span&gt;&lt;/span&gt; &lt;span
style='color:#2B91AF'&gt;WindowsVersions&lt;/span&gt;.Win95;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;            &lt;/span&gt;&lt;span
class=GramE&gt;&lt;span style='color:blue'&gt;case&lt;/span&gt;&lt;/span&gt; 10:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;       &lt;/span&gt;&lt;span
style='mso-spacerun:yes'&gt;         &lt;/span&gt;&lt;span style='color:green'&gt;//if (&lt;span
class=SpellE&gt;&lt;span class=GramE&gt;osInfo.Version.Revision.ToString&lt;/span&gt;&lt;/span&gt;&lt;span
class=GramE&gt;(&lt;/span&gt;) == &amp;quot;2222A&amp;quot;)&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;               &lt;br /&gt;
&lt;/span&gt;&lt;span style='color:green'&gt;//&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;&lt;span
class=SpellE&gt;&lt;span class=GramE&gt;Console.WriteLine&lt;/span&gt;&lt;/span&gt;&lt;span
class=GramE&gt;(&lt;/span&gt;&amp;quot;Windows 98 Second Edition&amp;quot;);&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;               &lt;br /&gt;
&lt;/span&gt;&lt;span style='color:green'&gt;//else&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;               &lt;br /&gt;
&lt;/span&gt;&lt;span style='color:green'&gt;//&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;&lt;span
class=SpellE&gt;&lt;span class=GramE&gt;Console.WriteLine&lt;/span&gt;&lt;/span&gt;&lt;span
class=GramE&gt;(&lt;/span&gt;&amp;quot;Windows 98&amp;quot;);&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;               &lt;br /&gt;
&lt;/span&gt;&lt;span class=GramE&gt;&lt;span style='color:blue'&gt;return&lt;/span&gt;&lt;/span&gt; &lt;span
style='color:#2B91AF'&gt;WindowsVersions&lt;/span&gt;.Win98;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;            &lt;/span&gt;&lt;span
class=GramE&gt;&lt;span style='color:blue'&gt;case&lt;/span&gt;&lt;/span&gt; 90:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;               &lt;br /&gt;
&lt;/span&gt;&lt;span style='color:green'&gt;//&lt;span class=SpellE&gt;&lt;span class=GramE&gt;Console.WriteLine&lt;/span&gt;&lt;/span&gt;&lt;span
class=GramE&gt;(&lt;/span&gt;&amp;quot;Windows Me&amp;quot;);&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;               &lt;br /&gt;
&lt;/span&gt;&lt;span class=GramE&gt;&lt;span style='color:blue'&gt;return&lt;/span&gt;&lt;/span&gt; &lt;span
class=SpellE&gt;&lt;span style='color:#2B91AF'&gt;WindowsVersions&lt;/span&gt;.WinMe&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;&lt;span
class=GramE&gt;&lt;span style='color:blue'&gt;else&lt;/span&gt;&lt;/span&gt; &lt;span style='color:
blue'&gt;if&lt;/span&gt; (&lt;span class=SpellE&gt;osInfo.Platform&lt;/span&gt; == System.&lt;span
style='color:#2B91AF'&gt;PlatformID&lt;/span&gt;.Win32NT)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;        &lt;/span&gt;&lt;span
style='color:green'&gt;// Platform is Windows NT 3.51, Windows NT 4.0, Windows&lt;br /&gt;
2000, or Windows XP.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;        &lt;/span&gt;&lt;span
class=GramE&gt;&lt;span style='color:blue'&gt;switch&lt;/span&gt;&lt;/span&gt; (&lt;span class=SpellE&gt;osInfo.Version.Major&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;        &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;            &lt;/span&gt;&lt;span
class=GramE&gt;&lt;span style='color:blue'&gt;case&lt;/span&gt;&lt;/span&gt; 3:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;            &lt;/span&gt;&lt;span
class=GramE&gt;&lt;span style='color:blue'&gt;case&lt;/span&gt;&lt;/span&gt; 4:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;               &lt;br /&gt;
&lt;/span&gt;&lt;span style='color:green'&gt;//&lt;span class=SpellE&gt;&lt;span class=GramE&gt;Console.WriteLine&lt;/span&gt;&lt;/span&gt;&lt;span
class=GramE&gt;(&lt;/span&gt;&amp;quot;Windows NT 3.51&amp;quot;); // = 3&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;               &lt;br /&gt;
&lt;/span&gt;&lt;span style='color:green'&gt;//&lt;span class=SpellE&gt;&lt;span class=GramE&gt;Console.WriteLine&lt;/span&gt;&lt;/span&gt;&lt;span
class=GramE&gt;(&lt;/span&gt;&amp;quot;Windows NT 4.0&amp;quot;);&lt;span
style='mso-spacerun:yes'&gt;  &lt;/span&gt;// = 4&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;               &lt;br /&gt;
&lt;/span&gt;&lt;span class=GramE&gt;&lt;span style='color:blue'&gt;return&lt;/span&gt;&lt;/span&gt; &lt;span
style='color:#2B91AF'&gt;WindowsVersions&lt;/span&gt;.WinNT3or4;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;            &lt;/span&gt;&lt;span
class=GramE&gt;&lt;span style='color:blue'&gt;case&lt;/span&gt;&lt;/span&gt; 5:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;               &lt;br /&gt;
&lt;/span&gt;&lt;span class=GramE&gt;&lt;span style='color:blue'&gt;switch&lt;/span&gt;&lt;/span&gt; (&lt;span
class=SpellE&gt;osInfo.Version.Minor&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;               &lt;br /&gt;
&lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;                   &lt;br /&gt;
&lt;/span&gt;&lt;span class=GramE&gt;&lt;span style='color:blue'&gt;case&lt;/span&gt;&lt;/span&gt; 0:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span
style='mso-spacerun:yes'&gt;                        &lt;/span&gt;&lt;span style='color:
green'&gt;//name = &amp;quot;Windows 2000&amp;quot;;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;         &lt;/span&gt;&lt;span
style='mso-spacerun:yes'&gt;               &lt;/span&gt;&lt;span class=GramE&gt;&lt;span
style='color:blue'&gt;return&lt;/span&gt;&lt;/span&gt; &lt;span style='color:#2B91AF'&gt;WindowsVersions&lt;/span&gt;.Win2000;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;                   &lt;br /&gt;
&lt;/span&gt;&lt;span class=GramE&gt;&lt;span style='color:blue'&gt;case&lt;/span&gt;&lt;/span&gt; 1:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span
style='mso-spacerun:yes'&gt;                        &lt;/span&gt;&lt;span style='color:
green'&gt;//name = &amp;quot;Windows XP&amp;quot;;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span
style='mso-spacerun:yes'&gt;                        &lt;/span&gt;&lt;span class=GramE&gt;&lt;span
style='color:blue'&gt;return&lt;/span&gt;&lt;/span&gt; &lt;span class=SpellE&gt;&lt;span
style='color:#2B91AF'&gt;WindowsVersions&lt;/span&gt;.WinXP&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;                   &lt;br /&gt;
&lt;/span&gt;&lt;span class=GramE&gt;&lt;span style='color:blue'&gt;case&lt;/span&gt;&lt;/span&gt; 2:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span
style='mso-spacerun:yes'&gt;                        &lt;/span&gt;&lt;span style='color:
green'&gt;//name = &amp;quot;Windows Server 2003&amp;quot;;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span
style='mso-spacerun:yes'&gt;                        &lt;/span&gt;&lt;span class=GramE&gt;&lt;span
style='color:blue'&gt;return&lt;/span&gt;&lt;/span&gt; &lt;span style='color:#2B91AF'&gt;WindowsVersions&lt;/span&gt;.WinServer2003;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;               &lt;br /&gt;
&lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;               &lt;br /&gt;
&lt;/span&gt;&lt;span class=GramE&gt;&lt;span style='color:blue'&gt;break&lt;/span&gt;&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;            &lt;/span&gt;&lt;span
class=GramE&gt;&lt;span style='color:blue'&gt;case&lt;/span&gt;&lt;/span&gt; 6:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;               &lt;br /&gt;
&lt;/span&gt;&lt;span class=GramE&gt;&lt;span style='color:blue'&gt;switch&lt;/span&gt;&lt;/span&gt; (&lt;span
class=SpellE&gt;osInfo.Version.Minor&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;               &lt;br /&gt;
&lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;                   &lt;br /&gt;
&lt;/span&gt;&lt;span class=GramE&gt;&lt;span style='color:blue'&gt;case&lt;/span&gt;&lt;/span&gt; 0:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span
style='mso-spacerun:yes'&gt;                        &lt;/span&gt;&lt;span style='color:
green'&gt;// Windows Vista or Windows Server 2008 (distinct by &lt;span class=SpellE&gt;rpoduct&lt;/span&gt;&lt;br /&gt;
type)&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span
style='mso-spacerun:yes'&gt;                        &lt;/span&gt;&lt;span class=GramE&gt;&lt;span
style='color:blue'&gt;return&lt;/span&gt;&lt;/span&gt; &lt;span class=SpellE&gt;&lt;span
style='color:#2B91AF'&gt;WindowsVersions&lt;/span&gt;.WinVista&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;                   &lt;br /&gt;
&lt;/span&gt;&lt;span class=GramE&gt;&lt;span style='color:blue'&gt;case&lt;/span&gt;&lt;/span&gt; 1:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span
style='mso-spacerun:yes'&gt;                        &lt;/span&gt;&lt;span class=GramE&gt;&lt;span
style='color:blue'&gt;return&lt;/span&gt;&lt;/span&gt; &lt;span style='color:#2B91AF'&gt;WindowsVersions&lt;/span&gt;.Win7;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;               &lt;br /&gt;
&lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;               &lt;br /&gt;
&lt;/span&gt;&lt;span class=GramE&gt;&lt;span style='color:blue'&gt;break&lt;/span&gt;&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;&lt;span
class=GramE&gt;&lt;span style='color:blue'&gt;else&lt;/span&gt;&lt;/span&gt; &lt;span style='color:
blue'&gt;if&lt;/span&gt; (&lt;span class=SpellE&gt;osInfo.Platform&lt;/span&gt; == &lt;span
class=SpellE&gt;System.&lt;span style='color:#2B91AF'&gt;PlatformID&lt;/span&gt;.Unix&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;        &lt;/span&gt;&lt;span
class=GramE&gt;&lt;span style='color:blue'&gt;return&lt;/span&gt;&lt;/span&gt; &lt;span class=SpellE&gt;&lt;span
style='color:#2B91AF'&gt;WindowsVersions&lt;/span&gt;.Unix&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;&lt;span
class=GramE&gt;&lt;span style='color:blue'&gt;else&lt;/span&gt;&lt;/span&gt; &lt;span style='color:
blue'&gt;if&lt;/span&gt; (&lt;span class=SpellE&gt;osInfo.Platform&lt;/span&gt; == &lt;span
class=SpellE&gt;System.&lt;span style='color:#2B91AF'&gt;PlatformID&lt;/span&gt;.MacOSX&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;        &lt;/span&gt;&lt;span
class=GramE&gt;&lt;span style='color:blue'&gt;return&lt;/span&gt;&lt;/span&gt; &lt;span class=SpellE&gt;&lt;span
style='color:#2B91AF'&gt;WindowsVersions&lt;/span&gt;.MacOSX&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;&lt;span
class=GramE&gt;&lt;span style='color:blue'&gt;else&lt;/span&gt;&lt;/span&gt; &lt;span style='color:
blue'&gt;if&lt;/span&gt; (&lt;span class=SpellE&gt;osInfo.Platform&lt;/span&gt; == &lt;span
class=SpellE&gt;&lt;span style='color:#2B91AF'&gt;PlatformID&lt;/span&gt;.Xbox&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;        &lt;/span&gt;&lt;span
class=GramE&gt;&lt;span style='color:blue'&gt;return&lt;/span&gt;&lt;/span&gt; &lt;span class=SpellE&gt;&lt;span
style='color:#2B91AF'&gt;WindowsVersions&lt;/span&gt;.Xbox&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;&lt;span style='mso-spacerun:yes'&gt;    &lt;/span&gt;&lt;span
class=GramE&gt;&lt;span style='color:blue'&gt;return&lt;/span&gt;&lt;/span&gt; &lt;span class=SpellE&gt;&lt;span
style='color:#2B91AF'&gt;WindowsVersions&lt;/span&gt;.UnKnown&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;span style='font-size:
9.5pt;font-family:Consolas'&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
Enjoy...&lt;br /&gt;
&lt;a href="http://mdb-blog.blogspot.com/"&gt;mdb-blog&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/MdbBlog/~4/hqj5tjcOAsI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mdb-blog.blogspot.com/feeds/9091819347338798770/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mdb-blog.blogspot.com/2010/11/how-to-determine-windows-version-by.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/9091819347338798770?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/9091819347338798770?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MdbBlog/~3/hqj5tjcOAsI/how-to-determine-windows-version-by.html" title="How to determine the Windows version by using Visual C# | windows 7 windows vista" /><author><name>sami.e</name><uri>http://www.blogger.com/profile/17924298382466536337</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mdb-blog.blogspot.com/2010/11/how-to-determine-windows-version-by.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUINQ3o_eip7ImA9Wx9SEEw.&quot;"><id>tag:blogger.com,1999:blog-9087075508981084919.post-999231435554095883</id><published>2010-11-22T16:08:00.004+02:00</published><updated>2010-11-29T09:59:52.442+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-29T09:59:52.442+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="dot net" /><category scheme="http://www.blogger.com/atom/ns#" term="compact framework" /><category scheme="http://www.blogger.com/atom/ns#" term="framework 2.0" /><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><category scheme="http://www.blogger.com/atom/ns#" term="itanium" /><category scheme="http://www.blogger.com/atom/ns#" term="setup" /><category scheme="http://www.blogger.com/atom/ns#" term="visual studio" /><category scheme="http://www.blogger.com/atom/ns#" term="x64" /><category scheme="http://www.blogger.com/atom/ns#" term="install" /><category scheme="http://www.blogger.com/atom/ns#" term="x86" /><category scheme="http://www.blogger.com/atom/ns#" term="setup project" /><category scheme="http://www.blogger.com/atom/ns#" term="Bootstrapper" /><category scheme="http://www.blogger.com/atom/ns#" term="IA64" /><title>Bootstrapper Package | Visual Studio 2010 | Microsoft .NET Framework Version 2.0 Redistributable</title><content type="html">&lt;div dir="ltr" style="text-align: left;"&gt;&lt;br /&gt;
After long searching &amp; reading, I created &lt;b style="font-size: 14px"&gt;Bootstrapper package&lt;/b&gt; for using prerequisites on my setup project for my dot.net 2.0 application.&lt;br /&gt;
&lt;br /&gt;
First of all, there must exist the Microsoft .NET Framework Version 2.0 Redistributable packages &lt;b&gt;installation files&lt;/b&gt;:&lt;br /&gt;
&lt;b&gt;1.&lt;/b&gt; dotnetfx.exe - for x86 (&lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5"&gt;download here&lt;/a&gt;)&lt;br /&gt;
&lt;b&gt;2.&lt;/b&gt; NetFx64.exe  - for x64 (&lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=B44A0000-ACF8-4FA1-AFFB-40E78D788B00"&gt;download here&lt;/a&gt;)&lt;br /&gt;
&lt;b&gt;3.&lt;/b&gt; NetFx64.exe  - for IA64-Itanium (&lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=53c2548b-bec7-4ab4-8cbe-33e07cfc83a7"&gt;download here&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
Let's rename the files (respectively) so they will be more readable:&lt;br /&gt;
&lt;b&gt;1.&lt;/b&gt; dotnetfx_x86.exe (for x86)&lt;br /&gt;
&lt;b&gt;2.&lt;/b&gt; NetFx64_x64.exe  (for x64)&lt;br /&gt;
&lt;b&gt;3.&lt;/b&gt; NetFx64_IA64.exe (for IA64-Itanium)&lt;br /&gt;
&lt;br /&gt;
Now, we have to create new &lt;b&gt;Bootstrapper Package&lt;/b&gt; for this cause Visual Studio 2010 not contains in its setup prerequisites the Microsoft .NET Framework Version 2.0.&lt;br /&gt;
&lt;br /&gt;
First we create a folder on C:\ and then copy the finished folder to the Bootstrapper folder.&lt;br /&gt;
&lt;br /&gt;
&lt;b style="color: firebrick"&gt;Step 1&lt;/b&gt;&lt;br /&gt;
Create a folder under C:\ and name it &lt;i&gt;DotNetFx20&lt;/i&gt;&lt;br /&gt;
Inside DotNetFx20, create:&lt;br /&gt;
a. copy the 3 downloaded Redistributable files to it (dotnetfx_x86.exe, NetFx64_x64.exe, NetFx64_IA64.exe)&lt;br /&gt;
b. create an (empty) XML file named &lt;i&gt;Product.xml&lt;/i&gt; (will be edited later)&lt;br /&gt;
c. create a folder named &lt;i&gt;en&lt;/i&gt; (for english locale) and create an (empty) XML file named &lt;i&gt;package.xml&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b style="color: firebrick"&gt;Step 2&lt;/b&gt;&lt;br /&gt;
&lt;span style="text-decoration : underline; color: blue; cursor: pointer;" onclick="document.getElementById('div1').style.display=document.getElementById('div1').style.display=='none' ? '' : 'none';"&gt;[Expand/Collapse]&lt;/span&gt; Edit file &lt;i&gt;Product.xml&lt;/i&gt;:&lt;br /&gt;
&lt;div id="div1" dir="ltr" style="display: none; BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #f0f0f0" align="left"&gt;&lt;div class=WordSection1&gt;&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;&amp;lt;?&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;xml&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;version&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;1.0&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;encoding&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;utf-8&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; ?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;&amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;Product&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;  &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;xmlns&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;http://schemas.microsoft.com/developer/2004/01/bootstrapper&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;  &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;ProductCode&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;Microsoft.Net.Framework.2.0&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;  &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;RelatedProducts&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;    &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;DependsOnProduct&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Code&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;Microsoft.Windows.Installer.3.1&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;  &amp;lt;/&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;RelatedProducts&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;  &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;Schedules&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;    &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;Schedule&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Name&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;AfterCoreInstalled&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;      &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;BeforePackage&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:blue'&gt; /&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;      &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;AfterPackage&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:blue'&gt; /&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;    &amp;lt;/&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;Schedule&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;  &amp;lt;/&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;Schedules&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;  &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:green'&gt; Defines list of files to be copied on build &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;  &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;PackageFiles&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;CopyAllPackageFiles&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;false&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;    &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;PackageFile&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Name&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;dotnetfx_x86.exe&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;    &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;PackageFile&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Name&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;NetFx64_x64.exe&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;    &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;PackageFile&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Name&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;NetFx64_IA64.exe&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;  &amp;lt;/&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;PackageFiles&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;  &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;InstallChecks&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;    &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;RegistryCheck&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;InstalledSP&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Key&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;HKLM\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt; &lt;/span&gt;&lt;span style='color:red'&gt;Value&lt;/span&gt;&lt;span
style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;SP&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;    &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;RegistryCheck&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;Installed&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Key&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;HKLM\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt; &lt;/span&gt;&lt;span style='color:red'&gt;Value&lt;/span&gt;&lt;span
style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;Install&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;    &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;RegistryCheck&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;IEVersion&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Key&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;HKLM\Software\Microsoft\Internet Explorer&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt; &lt;/span&gt;&lt;span style='color:red'&gt;Value&lt;/span&gt;&lt;span
style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;Version&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;  &amp;lt;/&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;InstallChecks&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;  &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:green'&gt; Defines how to invoke the setup for the .NET Framework redist &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;  &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;Commands&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Reboot&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;Immediate&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;    &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:green'&gt; The x86 version! &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;    &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;Command&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;PackageFile&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;dotnetfx_x86.exe&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;             &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Arguments&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;= &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;'&lt;span
style='color:blue'&gt;/q&lt;/span&gt;'&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;             &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;EstimatedInstallSeconds&lt;/span&gt;&lt;span style='font-size:9.5pt;
font-family:Consolas;color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;
font-family:Consolas'&gt;&amp;quot;&lt;span style='color:blue'&gt;150&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt; &lt;/span&gt;&lt;span style='color:red'&gt;EstimatedInstalledBytes&lt;/span&gt;&lt;span
style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;80000000&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt; &lt;/span&gt;&lt;span style='color:red'&gt;EstimatedTempBytes&lt;/span&gt;&lt;span
style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;50000000&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;      &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;InstallConditions&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt; Skip install if NetFX20 is already installed &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;BypassIf&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;Installed&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Compare&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;ValueEqualTo&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Value&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;1&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt; Skip install if NetFX20 SP2 is already installed &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt;&amp;lt;BypassIf Property=&amp;quot;InstalledSP&amp;quot;&lt;br /&gt;
Compare=&amp;quot;ValueGreaterThanOrEqualTo&amp;quot; Value=&amp;quot;2&amp;quot;/&amp;gt;&lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt; Skip running setup if the OS is Vista or later &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;FailIf&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;VersionNT&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Compare&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;VersionGreaterThanOrEqualTo&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt; &lt;/span&gt;&lt;span style='color:red'&gt;Value&lt;/span&gt;&lt;span
style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;6.0.0&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt; &lt;/span&gt;&lt;span style='color:red'&gt;String&lt;/span&gt;&lt;span
style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;NotOnVista&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt; Skip install if the platform is IA-64 &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt;&amp;lt;FailIf Property=&amp;quot;ProcessorArchitecture&amp;quot;&lt;br /&gt;
Compare=&amp;quot;ValueEqualTo&amp;quot; Value=&amp;quot;IA64&amp;quot; String=&amp;quot;InvalidPlatformArchitecture&amp;quot;&lt;br /&gt;
/&amp;gt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt; Skip install if the platform is not x86 &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;BypassIf&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;ProcessorArchitecture&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Compare&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;ValueNotEqualTo&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Value&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;Intel&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt; Block install if user does not have admin privileges &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;FailIf&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;AdminUser&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Compare&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;ValueEqualTo&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Value&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;false&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;AdminRequired&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt; Block install if IE 5.01 or greater is not present &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;FailIf&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;IEVersion&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Compare&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;ValueNotExists&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;InvalidPlatformIE&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&lt;br /&gt;
/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;FailIf&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;IEVersion&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Compare&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;VersionLessThan&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Value&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;5.0.2900&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;InvalidPlatformIE&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&lt;br /&gt;
/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt; Block install on Windows 95 &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;FailIf&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;Version9x&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Compare&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;ValueExists&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;InvalidPlatformWin9x&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt; Block install on less than Windows 2000 SP4 &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;FailIf&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;VersionNT&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Compare&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;VersionLessThan&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Value&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;5.0.4&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;InvalidPlatformWinNT&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt; Block install on less than Windows XP SP2 &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;FailIf&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;VersionNT&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Compare&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;VersionEqualTo&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Value&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;5.1.0&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;InvalidPlatformWinNT&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;FailIf&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;VersionNT&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Compare&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;VersionEqualTo&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Value&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;5.1.1&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;InvalidPlatformWinNT&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt; Block install on W2K3 with no service pack &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;FailIf&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;VersionNT&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Compare&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;VersionEqualTo&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Value&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;5.2.0&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;InvalidPlatformWinNT&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;      &amp;lt;/&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;InstallConditions&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;      &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;ExitCodes&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;ExitCode&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Value&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;0&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Result&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;Success&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;ExitCode&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Value&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;1602&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Result&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;Fail&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;CancelledInstall&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;ExitCode&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Value&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;1603&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Result&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;Fail&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;GeneralFailure&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;ExitCode&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Value&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;1641&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Result&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;SuccessReboot&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;ExitCode&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Value&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;3010&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Result&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;SuccessReboot&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;ExitCode&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Value&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;5100&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Result&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;Fail&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;GeneralFailure&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;DefaultExitCode&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Result&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;Fail&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;FormatMessageFromSystem&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;true&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;GeneralFailure&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;      &amp;lt;/&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;ExitCodes&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;    &amp;lt;/&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;Command&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;    &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:green'&gt; The x64 version! &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;    &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;Command&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;PackageFile&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;NetFx64_x64.exe&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;             &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Arguments&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;= &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;'&lt;span
style='color:blue'&gt;/q&lt;/span&gt;'&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;             &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;EstimatedInstallSeconds&lt;/span&gt;&lt;span style='font-size:9.5pt;
font-family:Consolas;color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;
font-family:Consolas'&gt;&amp;quot;&lt;span style='color:blue'&gt;150&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt; &lt;/span&gt;&lt;span style='color:red'&gt;EstimatedInstalledBytes&lt;/span&gt;&lt;span
style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;180000000&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt; &lt;/span&gt;&lt;span style='color:red'&gt;EstimatedTempBytes&lt;/span&gt;&lt;span
style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;110000000&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;      &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;InstallConditions&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt; Skip install if NetFX20 is already installed &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;BypassIf&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;Installed&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Compare&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;ValueEqualTo&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Value&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;1&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt; Skip install if NetFX20 SP2 is already installed &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt;&amp;lt;BypassIf Property=&amp;quot;InstalledSP&amp;quot;&lt;br /&gt;
Compare=&amp;quot;ValueGreaterThanOrEqualTo&amp;quot; Value=&amp;quot;2&amp;quot;/&amp;gt;&lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt; Skip running setup if the OS is Vista or later &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;FailIf&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;VersionNT&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Compare&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;VersionGreaterThanOrEqualTo&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt; &lt;/span&gt;&lt;span style='color:red'&gt;Value&lt;/span&gt;&lt;span
style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;6.0.0&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt; &lt;/span&gt;&lt;span style='color:red'&gt;String&lt;/span&gt;&lt;span
style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;NotOnVista&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt; Skip install if the platform is IA-64 &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt;&amp;lt;FailIf Property=&amp;quot;ProcessorArchitecture&amp;quot;&lt;br /&gt;
Compare=&amp;quot;ValueEqualTo&amp;quot; Value=&amp;quot;IA64&amp;quot;&lt;br /&gt;
String=&amp;quot;InvalidPlatformArchitecture&amp;quot; /&amp;gt;&lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt; Skip install if the platform is not x64 &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;BypassIf&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;ProcessorArchitecture&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Compare&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;ValueNotEqualTo&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Value&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;amd64&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt; Block install if user does not have admin privileges &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;FailIf&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;AdminUser&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Compare&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;ValueEqualTo&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Value&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;false&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;AdminRequired&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt; Block install if IE 5.01 or greater is not present &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;FailIf&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;IEVersion&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Compare&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;ValueNotExists&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;InvalidPlatformIE&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&lt;br /&gt;
/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;FailIf&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;IEVersion&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Compare&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;VersionLessThan&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Value&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;5.0.2900&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;InvalidPlatformIE&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&lt;br /&gt;
/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt; Block install on Windows 95 &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;FailIf&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;Version9x&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Compare&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;ValueExists&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;InvalidPlatformWin9x&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt; Block install on less than Windows 2000 SP4 &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;FailIf&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;VersionNT&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Compare&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;VersionLessThan&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Value&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;5.0.4&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;InvalidPlatformWinNT&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt; Block install on less than Windows XP SP2 &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;FailIf&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;VersionNT&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Compare&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;VersionEqualTo&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Value&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;5.1.0&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;InvalidPlatformWinNT&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;FailIf&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;VersionNT&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Compare&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;VersionEqualTo&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Value&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;5.1.1&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;InvalidPlatformWinNT&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt; Block install on W2K3 with no service pack &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;FailIf&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;VersionNT&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Compare&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;VersionEqualTo&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Value&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;5.2.0&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;InvalidPlatformWinNT&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;      &amp;lt;/&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;InstallConditions&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;      &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;ExitCodes&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;ExitCode&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Value&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;0&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Result&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;Success&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;ExitCode&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Value&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;1602&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Result&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;Fail&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;CancelledInstall&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;ExitCode&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Value&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;1603&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Result&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;Fail&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;GeneralFailure&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;ExitCode&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Value&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;1641&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Result&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;SuccessReboot&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;ExitCode&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Value&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;3010&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Result&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;SuccessReboot&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;ExitCode&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Value&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;5100&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Result&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;Fail&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;GeneralFailure&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;DefaultExitCode&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Result&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;Fail&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;FormatMessageFromSystem&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;true&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;GeneralFailure&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;      &amp;lt;/&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;ExitCodes&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;    &amp;lt;/&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;Command&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;    &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:green'&gt; The IA64 version! &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;    &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;Command&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;PackageFile&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;NetFx64_IA64&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;             &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Arguments&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;= &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;'&lt;span
style='color:blue'&gt;/q&lt;/span&gt;'&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;             &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;EstimatedInstallSeconds&lt;/span&gt;&lt;span style='font-size:9.5pt;
font-family:Consolas;color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;
font-family:Consolas'&gt;&amp;quot;&lt;span style='color:blue'&gt;150&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt; &lt;/span&gt;&lt;span style='color:red'&gt;EstimatedInstalledBytes&lt;/span&gt;&lt;span
style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;180000000&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt; &lt;/span&gt;&lt;span style='color:red'&gt;EstimatedTempBytes&lt;/span&gt;&lt;span
style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;110000000&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;      &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;InstallConditions&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt; Skip install if NetFX20 is already installed &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;BypassIf&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;Installed&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Compare&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;ValueEqualTo&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Value&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;1&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt; Skip install if NetFX20 SP2 is already installed &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt;&amp;lt;BypassIf Property=&amp;quot;InstalledSP&amp;quot;&lt;br /&gt;
Compare=&amp;quot;ValueGreaterThanOrEqualTo&amp;quot; Value=&amp;quot;2&amp;quot;/&amp;gt;&lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt; Skip running setup if the OS is Vista or later &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;FailIf&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;VersionNT&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Compare&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;VersionGreaterThanOrEqualTo&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt; &lt;/span&gt;&lt;span style='color:red'&gt;Value&lt;/span&gt;&lt;span
style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;6.0.0&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt; &lt;/span&gt;&lt;span style='color:red'&gt;String&lt;/span&gt;&lt;span
style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;NotOnVista&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt; Skip install if the platform is IA-64 &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt;&amp;lt;FailIf Property=&amp;quot;ProcessorArchitecture&amp;quot;&lt;br /&gt;
Compare=&amp;quot;ValueEqualTo&amp;quot; Value=&amp;quot;&amp;quot;&lt;br /&gt;
String=&amp;quot;InvalidPlatformArchitecture&amp;quot; /&amp;gt;&lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt; Skip install if the platform is not IA64 &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;BypassIf&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;ProcessorArchitecture&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Compare&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;ValueNotEqualTo&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Value&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;IA64&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt; Block install if user does not have admin privileges &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;FailIf&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;AdminUser&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Compare&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;ValueEqualTo&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Value&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;false&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;AdminRequired&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt; Block install if IE 5.01 or greater is not present &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;FailIf&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;IEVersion&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Compare&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;ValueNotExists&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;InvalidPlatformIE&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&lt;br /&gt;
/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;FailIf&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;IEVersion&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Compare&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;VersionLessThan&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Value&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;5.0.2900&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;InvalidPlatformIE&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&lt;br /&gt;
/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt; Block install on Windows 95 &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;FailIf&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;Version9x&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Compare&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;ValueExists&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;InvalidPlatformWin9x&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt; Block install on less than Windows 2000 SP4 &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;FailIf&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;VersionNT&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Compare&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;VersionLessThan&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Value&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;5.0.4&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;InvalidPlatformWinNT&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt; Block install on less than Windows XP SP2 &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;FailIf&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;VersionNT&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Compare&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;VersionEqualTo&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Value&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;5.1.0&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;InvalidPlatformWinNT&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;FailIf&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;VersionNT&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Compare&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;VersionEqualTo&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Value&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;5.1.1&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;InvalidPlatformWinNT&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;!--&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:green'&gt; Block install on W2K3 with no service pack &lt;/span&gt;&lt;span
style='font-size:9.5pt;font-family:Consolas;color:blue'&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;FailIf&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Property&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;VersionNT&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Compare&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;VersionEqualTo&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Value&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;5.2.0&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;InvalidPlatformWinNT&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;      &amp;lt;/&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;InstallConditions&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;      &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;ExitCodes&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;ExitCode&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Value&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;0&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Result&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;Success&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;ExitCode&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Value&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;1602&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Result&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;Fail&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;CancelledInstall&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;ExitCode&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Value&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;1603&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Result&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;Fail&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;GeneralFailure&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;ExitCode&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Value&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;1641&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Result&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;SuccessReboot&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;ExitCode&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Value&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;3010&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Result&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;SuccessReboot&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;ExitCode&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Value&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;5100&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Result&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;Fail&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;GeneralFailure&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;        &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;DefaultExitCode&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Result&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;Fail&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;FormatMessageFromSystem&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;true&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;GeneralFailure&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;      &amp;lt;/&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;ExitCodes&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;    &amp;lt;/&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;Command&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;  &amp;lt;/&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;Commands&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;&amp;lt;/&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;Product&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
&lt;b style="color: firebrick"&gt;Step 3&lt;/b&gt;&lt;br /&gt;
&lt;span style="text-decoration : underline; color: blue; cursor: pointer;" onclick="document.getElementById('div2').style.display=document.getElementById('div2').style.display=='none' ? '' : 'none';"&gt;[Expand/Collapse]&lt;/span&gt; Edit file &lt;i&gt;package.xml&lt;/i&gt;:&lt;br /&gt;
&lt;div id="div2" dir="ltr" style="display: none; BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #f0f0f0" align="left"&gt;&lt;div class=WordSection1&gt;&lt;p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;&amp;lt;?&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;xml&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;version&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;1.0&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;encoding&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;utf-8&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;&amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;Package&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Name&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;DisplayName&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;LicenseAgreement&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;eula.rtf&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;Culture&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;Culture&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span
style='color:red'&gt;xmlns&lt;/span&gt;&lt;span style='color:blue'&gt;=&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;http://schemas.microsoft.com/developer/2004/01/bootstrapper&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;  &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;PackageFiles&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;CopyAllPackageFiles&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;false&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;    &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;PackageFile&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Name&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;eula.rtf&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;  &amp;lt;/&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;PackageFiles&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:
Consolas;color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;  &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;Strings&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;    &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;String&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Name&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;Culture&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;en&lt;span
style='color:blue'&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#A31515'&gt;String&lt;/span&gt;&lt;span
style='color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;    &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;String&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Name&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;DisplayName&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;.NET&lt;br /&gt;
Framework 2.0&lt;span style='color:blue'&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#A31515'&gt;String&lt;/span&gt;&lt;span
style='color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;    &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;String&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Name&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;InvalidPlatformWin9x&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;Installation&lt;br /&gt;
of the .NET Framework 2.0 is not supported on Windows 95/98/ME. Contact your&lt;br /&gt;
application vendor.&lt;span style='color:blue'&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:
#A31515'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;    &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;String&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Name&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;InvalidPlatformWinNT&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;Installation&lt;br /&gt;
of the .NET Framework 2.0 requires a minimum of one of the following: Windows&lt;br /&gt;
2000 Service Pack 4, Windows XP Service Pack 2, Windows Server 2003 Service&lt;br /&gt;
Pack 1. To upgrade Windows Vista to .NET Frameworks 2.0 requires the&lt;br /&gt;
installation of .NET Frameworks 3.5 SP1, available on Microsoft Download&lt;br /&gt;
Center.&lt;span style='color:blue'&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#A31515'&gt;String&lt;/span&gt;&lt;span
style='color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;    &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;String&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Name&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;InvalidPlatformArchitecture&lt;/span&gt;&amp;quot;&lt;span
style='color:blue'&gt;&amp;gt;&lt;/span&gt;This version of the .NET Framework 2.0 is not&lt;br /&gt;
supported on an IA-64 operating system. Contact your application vendor.&lt;span
style='color:blue'&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#A31515'&gt;String&lt;/span&gt;&lt;span
style='color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;    &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;String&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Name&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;NotOnVista&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;This&lt;br /&gt;
version of the .NET Framework 2.0 can not be installed on Vista or Windows&lt;br /&gt;
Server 2008. Install .NET Framework 3.5 SP1, which will upgrade .NET Framework&lt;br /&gt;
2.0 to SP2, or contact your application vendor.&lt;span style='color:blue'&gt;&amp;lt;/&lt;/span&gt;&lt;span
style='color:#A31515'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;    &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;String&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Name&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;AdminRequired&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;Administrator&lt;br /&gt;
permissions are required to install the .NET Framework 2.0. Contact your&lt;br /&gt;
administrator.&lt;span style='color:blue'&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#A31515'&gt;String&lt;/span&gt;&lt;span
style='color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;    &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;String&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Name&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;InvalidPlatformIE&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;Installation&lt;br /&gt;
of the .NET Framework 2.0 requires Internet Explorer 5.01 or greater. Contact&lt;br /&gt;
your application vendor.&lt;span style='color:blue'&gt;&amp;lt;/&lt;/span&gt;&lt;span
style='color:#A31515'&gt;String&lt;/span&gt;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;    &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;String&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Name&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;CancelledInstall&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;The&lt;br /&gt;
user has cancelled the installation. The .NET Framework 2.0 has not been&lt;br /&gt;
installed.&lt;span style='color:blue'&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#A31515'&gt;String&lt;/span&gt;&lt;span
style='color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;    &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;String&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Name&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;GeneralFailure&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;A&lt;br /&gt;
failure occurred attempting to install the .NET Framework 2.0.&lt;span
style='color:blue'&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#A31515'&gt;String&lt;/span&gt;&lt;span
style='color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;    &amp;lt;&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;String&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:red'&gt;Name&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;=&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas'&gt;&amp;quot;&lt;span
style='color:blue'&gt;ErrorDownloading&lt;/span&gt;&amp;quot;&lt;span style='color:blue'&gt;&amp;gt;&lt;/span&gt;A&lt;br /&gt;
failure occurred while downloading .NET Framework 2.0 package.&lt;span
style='color:blue'&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#A31515'&gt;String&lt;/span&gt;&lt;span
style='color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;  &amp;lt;/&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;Strings&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;text-autospace:none'&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;&amp;lt;/&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:#A31515'&gt;Package&lt;/span&gt;&lt;span style='font-size:9.5pt;font-family:Consolas;
color:blue'&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
&lt;b style="color: firebrick"&gt;Step 4&lt;/b&gt;&lt;br /&gt;
Copy the folder &lt;i&gt;DotNetFx20&lt;/i&gt; to the Bootstrapper packages folder which is under:&lt;br /&gt;
&lt;b&gt;C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b style="color: firebrick"&gt;Step 5&lt;/b&gt;&lt;br /&gt;
That's it.. :)&lt;br /&gt;
&lt;br /&gt;
Here is the whole Bootstrapper Package ready-to-use folder to download without (dotnetfx_x86.exe, NetFx64_x64.exe, NetFx64_IA64.exe) which can be downloaded from MSDN directly (links above):&lt;br /&gt;
&lt;a href="http://cid-539d62829af123fb.office.live.com/self.aspx/.Public/Bootstrapper%20Package/DotNetFx20.zip"&gt;download here (updated file)&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: gray;"&gt;Update (29.11.2010):&lt;br /&gt;
There was problem with the Product.xml file, so file updated and also &lt;b&gt;zip file&lt;/b&gt; for downloading. The filenames did NOT match...&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regards,&lt;br /&gt;
&lt;a href="http://mdb-blog.blogspot.com/"&gt;MDB-Blog&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MdbBlog/~4/NFb_XYIW6F8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mdb-blog.blogspot.com/feeds/999231435554095883/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mdb-blog.blogspot.com/2010/11/bootstrapper-package-visual-studio-2010.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/999231435554095883?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/999231435554095883?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MdbBlog/~3/NFb_XYIW6F8/bootstrapper-package-visual-studio-2010.html" title="Bootstrapper Package | Visual Studio 2010 | Microsoft .NET Framework Version 2.0 Redistributable" /><author><name>sami.e</name><uri>http://www.blogger.com/profile/17924298382466536337</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>4</thr:total><feedburner:origLink>http://mdb-blog.blogspot.com/2010/11/bootstrapper-package-visual-studio-2010.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE4ARX4_fip7ImA9Wx5aF0k.&quot;"><id>tag:blogger.com,1999:blog-9087075508981084919.post-9070206976161313013</id><published>2010-11-14T17:02:00.000+02:00</published><updated>2010-11-14T17:02:24.046+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-14T17:02:24.046+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="text" /><category scheme="http://www.blogger.com/atom/ns#" term="control" /><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><category scheme="http://www.blogger.com/atom/ns#" term="textbox" /><category scheme="http://www.blogger.com/atom/ns#" term="win forms" /><category scheme="http://www.blogger.com/atom/ns#" term="window" /><category scheme="http://www.blogger.com/atom/ns#" term="button" /><title>C# | Winforms | Textbox within Button</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Here is an example for creating a Button control which contains a Textbox inside it. &lt;br /&gt;
This is very usefull when the button functionality is based (only) on the textbox content text, and it is very usefull for the user.&lt;br /&gt;
&lt;br /&gt;
Screenshot (image) example:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_a9m03IOahfE/TN_53m1CsyI/AAAAAAAAAYc/bjvbYfHmLJA/s1600/button_with_textbox.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="314" px="true" src="http://3.bp.blogspot.com/_a9m03IOahfE/TN_53m1CsyI/AAAAAAAAAYc/bjvbYfHmLJA/s320/button_with_textbox.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
The Code:&lt;br /&gt;
&lt;div align="left" dir="ltr" style="background-color: #f0f0f0; border-bottom: black 1px solid; border-left: black 1px solid; border-right: black 1px solid; border-top: black 1px solid;"&gt;class&amp;nbsp;ButtonWithTextbox&amp;nbsp;:&amp;nbsp;Button&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TextBox&amp;nbsp;_textbox&amp;nbsp;=&amp;nbsp;new&amp;nbsp;TextBox();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;int&amp;nbsp;TextboxWidth&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;get&amp;nbsp;{&amp;nbsp;return&amp;nbsp;_textbox.Width;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set&amp;nbsp;{&amp;nbsp;_textbox.Width&amp;nbsp;=&amp;nbsp;value;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;Point&amp;nbsp;TextboxLocation&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;get&amp;nbsp;{&amp;nbsp;return&amp;nbsp;_textbox.Location;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set&amp;nbsp;{&amp;nbsp;_textbox.Location&amp;nbsp;=&amp;nbsp;value;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**&amp;nbsp;And&amp;nbsp;we&amp;nbsp;may&amp;nbsp;add&amp;nbsp;all&amp;nbsp;properties&amp;nbsp;of&amp;nbsp;the&amp;nbsp;Textbox&amp;nbsp;***/&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;ButtonWithTextbox()&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.Controls.Add(_textbox);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
}&lt;/div&gt;&lt;br /&gt;
Also work great on the designer... :)&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;MDB-Blog&lt;/strong&gt;&lt;br /&gt;
&lt;a href="http://mdb-blog.blogspot.com/"&gt;&lt;strong&gt;http://mdb-blog.blogspot.com&lt;/strong&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MdbBlog/~4/_75M0uRVz4E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mdb-blog.blogspot.com/feeds/9070206976161313013/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mdb-blog.blogspot.com/2010/11/c-winforms-textbox-within-button.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/9070206976161313013?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/9070206976161313013?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MdbBlog/~3/_75M0uRVz4E/c-winforms-textbox-within-button.html" title="C# | Winforms | Textbox within Button" /><author><name>sami.e</name><uri>http://www.blogger.com/profile/17924298382466536337</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_a9m03IOahfE/TN_53m1CsyI/AAAAAAAAAYc/bjvbYfHmLJA/s72-c/button_with_textbox.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://mdb-blog.blogspot.com/2010/11/c-winforms-textbox-within-button.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQDQnw4fip7ImA9Wx5aEEk.&quot;"><id>tag:blogger.com,1999:blog-9087075508981084919.post-7654085466741308367</id><published>2010-11-04T17:23:00.001+02:00</published><updated>2010-11-06T14:26:13.236+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-06T14:26:13.236+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="spxx" /><category scheme="http://www.blogger.com/atom/ns#" term="spy++" /><category scheme="http://www.blogger.com/atom/ns#" term="spy 7.0" /><category scheme="http://www.blogger.com/atom/ns#" term="spy 8.0" /><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft" /><title>Microsoft Spy++ or Spyxx for download</title><content type="html">After long! searching for this program, i finally found it:&lt;br /&gt;
Microsoft Spy++ or by other name spyxx.exe for windows.&lt;br /&gt;
&lt;br /&gt;
&lt;h1&gt;&lt;u&gt;Spy++ version 7.x&lt;/u&gt;&lt;/h1&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_a9m03IOahfE/TNLNv8XPUxI/AAAAAAAAAYM/7cx4b8JFbYo/s1600/spyxx.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="184" width="400" src="http://3.bp.blogspot.com/_a9m03IOahfE/TNLNv8XPUxI/AAAAAAAAAYM/7cx4b8JFbYo/s400/spyxx.png"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;&lt;a href="http://cid-539d62829af123fb.office.live.com/self.aspx/.Public/spyxx.rar"&gt;Download spy++ 7 here&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
This is the binary code, just extract the RAR file and run application :)&lt;br /&gt;
it working great on windows 7.&lt;br /&gt;
&lt;br /&gt;
&lt;h1&gt;&lt;u&gt;Spy++ version 8.x&lt;/u&gt;&lt;/h1&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_a9m03IOahfE/TNVIHOGYiII/AAAAAAAAAYU/ekldHp9NczI/s1600/spyxx8.png" imageanchor="1" style=""&gt;&lt;img border="0" height="184" width="400" src="http://4.bp.blogspot.com/_a9m03IOahfE/TNVIHOGYiII/AAAAAAAAAYU/ekldHp9NczI/s400/spyxx8.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;&lt;a href="http://cid-539d62829af123fb.office.live.com/self.aspx/.Public/spy^M^M8.rar"&gt;Download spy++ 8 here&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
This is the binary code, just extract the RAR file and run application...&lt;br /&gt;
it working great on windows 7.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You welcome to download it,&lt;br /&gt;
MDB-Blog&lt;img src="http://feeds.feedburner.com/~r/MdbBlog/~4/f9f1wXlj_II" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mdb-blog.blogspot.com/feeds/7654085466741308367/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mdb-blog.blogspot.com/2010/11/microsoft-spy-or-spyxx-for-download.html#comment-form" title="20 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/7654085466741308367?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/7654085466741308367?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MdbBlog/~3/f9f1wXlj_II/microsoft-spy-or-spyxx-for-download.html" title="Microsoft Spy++ or Spyxx for download" /><author><name>sami.e</name><uri>http://www.blogger.com/profile/17924298382466536337</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_a9m03IOahfE/TNLNv8XPUxI/AAAAAAAAAYM/7cx4b8JFbYo/s72-c/spyxx.png" height="72" width="72" /><thr:total>20</thr:total><feedburner:origLink>http://mdb-blog.blogspot.com/2010/11/microsoft-spy-or-spyxx-for-download.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcAR3g7fSp7ImA9WhBQEU8.&quot;"><id>tag:blogger.com,1999:blog-9087075508981084919.post-8182518419342894867</id><published>2010-10-06T17:12:00.000+02:00</published><updated>2013-03-13T00:07:26.605+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-03-13T00:07:26.605+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="image" /><category scheme="http://www.blogger.com/atom/ns#" term="angle" /><category scheme="http://www.blogger.com/atom/ns#" term="process" /><category scheme="http://www.blogger.com/atom/ns#" term="image processing" /><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><category scheme="http://www.blogger.com/atom/ns#" term="deskew" /><title>C# | How to deskew an image</title><content type="html">&lt;div dir="rtl" style="text-align: right;" trbidi="on"&gt;
&lt;div dir="ltr" style="text-align: left;"&gt;
I found this code on CodeProject site:&lt;br /&gt;
http://www.codeproject.com/KB/graphics/Deskew_an_Image.aspx&lt;br /&gt;
By mackenb | 25 Apr 2006 &lt;br /&gt;
&lt;br /&gt;
The article describes an algorithm to calculate the skew angle of an image.&lt;br /&gt;
&lt;br /&gt;
This is converted to C#: (tested and working)&lt;br /&gt;
The Code:&lt;br /&gt;
&lt;div align="left" dir="ltr" style="background-color: #f0f0f0; border-bottom: black 1px solid; border-left: black 1px solid; border-right: black 1px solid; border-top: black 1px solid;"&gt;
using&amp;nbsp;System.Drawing;&lt;br /&gt;
using&amp;nbsp;System.Drawing.Imaging;&lt;br /&gt;
using&amp;nbsp;System;&lt;br /&gt;
using&amp;nbsp;System.Diagnostics;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
public&amp;nbsp;class&amp;nbsp;gmseDeskew&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Representation&amp;nbsp;of&amp;nbsp;a&amp;nbsp;line&amp;nbsp;in&amp;nbsp;the&amp;nbsp;image.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;class&amp;nbsp;HougLine&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//'&amp;nbsp;Count&amp;nbsp;of&amp;nbsp;points&amp;nbsp;in&amp;nbsp;the&amp;nbsp;line.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;int&amp;nbsp;Count;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//'&amp;nbsp;Index&amp;nbsp;in&amp;nbsp;Matrix.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;int&amp;nbsp;Index;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//'&amp;nbsp;The&amp;nbsp;line&amp;nbsp;is&amp;nbsp;represented&amp;nbsp;as&amp;nbsp;all&amp;nbsp;x,y&amp;nbsp;that&amp;nbsp;solve&amp;nbsp;y*cos(alpha)-x*sin(alpha)=d&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;double&amp;nbsp;Alpha;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;double&amp;nbsp;d;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;The&amp;nbsp;Bitmap&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Bitmap&amp;nbsp;cBmp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;The&amp;nbsp;range&amp;nbsp;of&amp;nbsp;angles&amp;nbsp;to&amp;nbsp;search&amp;nbsp;for&amp;nbsp;lines&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;double&amp;nbsp;cAlphaStart&amp;nbsp;=&amp;nbsp;-20;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;double&amp;nbsp;cAlphaStep&amp;nbsp;=&amp;nbsp;0.2;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;cSteps&amp;nbsp;=&amp;nbsp;40&amp;nbsp;*&amp;nbsp;5;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Precalculation&amp;nbsp;of&amp;nbsp;sin&amp;nbsp;and&amp;nbsp;cos.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;double[]&amp;nbsp;cSinA;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;double[]&amp;nbsp;cCosA;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Range&amp;nbsp;of&amp;nbsp;d&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;double&amp;nbsp;cDMin;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;double&amp;nbsp;cDStep&amp;nbsp;=&amp;nbsp;1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;cDCount;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Count&amp;nbsp;of&amp;nbsp;points&amp;nbsp;that&amp;nbsp;fit&amp;nbsp;in&amp;nbsp;a&amp;nbsp;line.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int[]&amp;nbsp;cHMatrix;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// calculate&amp;nbsp;the&amp;nbsp;skew&amp;nbsp;angle&amp;nbsp;of&amp;nbsp;the&amp;nbsp;image&amp;nbsp;cBmp&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;double&amp;nbsp;GetSkewAngle()&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HougLine[]&amp;nbsp;hl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;i;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;double&amp;nbsp;sum&amp;nbsp;=&amp;nbsp;0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;count&amp;nbsp;=&amp;nbsp;0;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//'&amp;nbsp;Hough&amp;nbsp;Transformation&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Calc();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//'&amp;nbsp;Top&amp;nbsp;20&amp;nbsp;of&amp;nbsp;the&amp;nbsp;detected&amp;nbsp;lines&amp;nbsp;in&amp;nbsp;the&amp;nbsp;image.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hl&amp;nbsp;=&amp;nbsp;GetTop(20);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//'&amp;nbsp;Average&amp;nbsp;angle&amp;nbsp;of&amp;nbsp;the&amp;nbsp;lines&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(i&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;i&amp;nbsp;&amp;lt;&amp;nbsp;19;&amp;nbsp;i++)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sum&amp;nbsp;+=&amp;nbsp;hl[i].Alpha;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;count&amp;nbsp;+=&amp;nbsp;1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;sum&amp;nbsp;/&amp;nbsp;count;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;Calculate&amp;nbsp;the&amp;nbsp;Count&amp;nbsp;lines&amp;nbsp;in&amp;nbsp;the&amp;nbsp;image&amp;nbsp;with&amp;nbsp;most&amp;nbsp;points.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; private&amp;nbsp;HougLine[]&amp;nbsp;GetTop(int&amp;nbsp;Count)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HougLine[]&amp;nbsp;hl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;j;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HougLine&amp;nbsp;tmp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;AlphaIndex,&amp;nbsp;dIndex;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hl&amp;nbsp;=&amp;nbsp;new&amp;nbsp;HougLine[Count];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for&amp;nbsp;(int&amp;nbsp;i&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;i&amp;nbsp;&amp;lt;&amp;nbsp;Count;&amp;nbsp;i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hl[i]&amp;nbsp;=&amp;nbsp;new&amp;nbsp;HougLine();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(int&amp;nbsp;i&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;i&amp;nbsp;&amp;lt;&amp;nbsp;cHMatrix.Length&amp;nbsp;-&amp;nbsp;1;&amp;nbsp;i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(cHMatrix[i]&amp;nbsp;&amp;gt;&amp;nbsp;hl[Count&amp;nbsp;-&amp;nbsp;1].Count)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hl[Count&amp;nbsp;-&amp;nbsp;1].Count&amp;nbsp;=&amp;nbsp;cHMatrix[i];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hl[Count&amp;nbsp;-&amp;nbsp;1].Index&amp;nbsp;=&amp;nbsp;i;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;j&amp;nbsp;=&amp;nbsp;Count&amp;nbsp;-&amp;nbsp;1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while&amp;nbsp;(j&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;hl[j].Count&amp;nbsp;&amp;gt;&amp;nbsp;hl[j&amp;nbsp;-&amp;nbsp;1].Count)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tmp&amp;nbsp;=&amp;nbsp;hl[j];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hl[j]&amp;nbsp;=&amp;nbsp;hl[j&amp;nbsp;-&amp;nbsp;1];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hl[j&amp;nbsp;-&amp;nbsp;1]&amp;nbsp;=&amp;nbsp;tmp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;j&amp;nbsp;-=&amp;nbsp;1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(int&amp;nbsp;i&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;i&amp;nbsp;&amp;lt;&amp;nbsp;Count;&amp;nbsp;i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dIndex&amp;nbsp;=&amp;nbsp;hl[i].Index&amp;nbsp;/&amp;nbsp;cSteps;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AlphaIndex&amp;nbsp;=&amp;nbsp;hl[i].Index&amp;nbsp;-&amp;nbsp;dIndex&amp;nbsp;*&amp;nbsp;cSteps;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hl[i].Alpha&amp;nbsp;=&amp;nbsp;GetAlpha(AlphaIndex);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hl[i].d&amp;nbsp;=&amp;nbsp;dIndex&amp;nbsp;+&amp;nbsp;cDMin;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;hl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;void&amp;nbsp;New(Bitmap&amp;nbsp;bmp)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cBmp&amp;nbsp;=&amp;nbsp;bmp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;Hough&amp;nbsp;Transforamtion:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;void&amp;nbsp;Calc()&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;x;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;y;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;hMin&amp;nbsp;=&amp;nbsp;cBmp.Height&amp;nbsp;/&amp;nbsp;4;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;hMax&amp;nbsp;=&amp;nbsp;cBmp.Height&amp;nbsp;*&amp;nbsp;3&amp;nbsp;/&amp;nbsp;4;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Init();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(y&amp;nbsp;=&amp;nbsp;hMin;&amp;nbsp;y&amp;nbsp;&amp;lt;&amp;nbsp;hMax;&amp;nbsp;y++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(x&amp;nbsp;=&amp;nbsp;1;&amp;nbsp;x&amp;nbsp;&amp;lt;&amp;nbsp;cBmp.Width&amp;nbsp;-&amp;nbsp;2;&amp;nbsp;x++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//'&amp;nbsp;Only&amp;nbsp;lower&amp;nbsp;edges&amp;nbsp;are&amp;nbsp;considered.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(IsBlack(x,&amp;nbsp;y)&amp;nbsp;==&amp;nbsp;true)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(IsBlack(x,&amp;nbsp;y&amp;nbsp;+&amp;nbsp;1)&amp;nbsp;==&amp;nbsp;false)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Calc(x,&amp;nbsp;y);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;Calculate&amp;nbsp;all&amp;nbsp;lines&amp;nbsp;through&amp;nbsp;the&amp;nbsp;point&amp;nbsp;(x,y).&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;void&amp;nbsp;Calc(int&amp;nbsp;x,&amp;nbsp;int&amp;nbsp;y)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;double&amp;nbsp;d;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;dIndex;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;Index;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(int&amp;nbsp;alpha&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;alpha&amp;nbsp;&amp;lt;&amp;nbsp;cSteps&amp;nbsp;-&amp;nbsp;1;&amp;nbsp;alpha++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;d&amp;nbsp;=&amp;nbsp;y&amp;nbsp;*&amp;nbsp;cCosA[alpha]&amp;nbsp;-&amp;nbsp;x&amp;nbsp;*&amp;nbsp;cSinA[alpha];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dIndex&amp;nbsp;=&amp;nbsp;(int)CalcDIndex(d);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Index&amp;nbsp;=&amp;nbsp;dIndex&amp;nbsp;*&amp;nbsp;cSteps&amp;nbsp;+&amp;nbsp;alpha;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cHMatrix[Index]&amp;nbsp;+=&amp;nbsp;1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;catch&amp;nbsp;(Exception&amp;nbsp;ex)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Debug.WriteLine(ex.ToString());&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;double&amp;nbsp;CalcDIndex(double&amp;nbsp;d)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;Convert.ToInt32(d&amp;nbsp;-&amp;nbsp;cDMin);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;bool&amp;nbsp;IsBlack(int&amp;nbsp;x,&amp;nbsp;int&amp;nbsp;y)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Color&amp;nbsp;c;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;double&amp;nbsp;luminance;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;c&amp;nbsp;=&amp;nbsp;cBmp.GetPixel(x,&amp;nbsp;y);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;luminance&amp;nbsp;=&amp;nbsp;(c.R&amp;nbsp;*&amp;nbsp;0.299)&amp;nbsp;+&amp;nbsp;(c.G&amp;nbsp;*&amp;nbsp;0.587)&amp;nbsp;+&amp;nbsp;(c.B&amp;nbsp;*&amp;nbsp;0.114);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;luminance&amp;nbsp;&amp;lt;&amp;nbsp;140;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;void&amp;nbsp;Init()&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;double&amp;nbsp;angle;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//'&amp;nbsp;Precalculation&amp;nbsp;of&amp;nbsp;sin&amp;nbsp;and&amp;nbsp;cos.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cSinA&amp;nbsp;=&amp;nbsp;new&amp;nbsp;double[cSteps&amp;nbsp;-&amp;nbsp;1];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cCosA&amp;nbsp;=&amp;nbsp;new&amp;nbsp;double[cSteps&amp;nbsp;-&amp;nbsp;1];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(int&amp;nbsp;i&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;i&amp;nbsp;&amp;lt;&amp;nbsp;cSteps&amp;nbsp;-&amp;nbsp;1;&amp;nbsp;i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;angle&amp;nbsp;=&amp;nbsp;GetAlpha(i)&amp;nbsp;*&amp;nbsp;Math.PI&amp;nbsp;/&amp;nbsp;180.0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cSinA[i]&amp;nbsp;=&amp;nbsp;Math.Sin(angle);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cCosA[i]&amp;nbsp;=&amp;nbsp;Math.Cos(angle);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//'&amp;nbsp;Range&amp;nbsp;of&amp;nbsp;d&lt;br /&gt;
:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cDMin&amp;nbsp;=&amp;nbsp;-cBmp.Width;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cDCount&amp;nbsp;=&amp;nbsp;(int)(2&amp;nbsp;*&amp;nbsp;(cBmp.Width&amp;nbsp;+&amp;nbsp;cBmp.Height)&amp;nbsp;/&amp;nbsp;cDStep);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cHMatrix&amp;nbsp;=&amp;nbsp;new&amp;nbsp;int[cDCount&amp;nbsp;*&amp;nbsp;cSteps];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;double&amp;nbsp;GetAlpha(int&amp;nbsp;Index)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;cAlphaStart&amp;nbsp;+&amp;nbsp;Index&amp;nbsp;*&amp;nbsp;cAlphaStep;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;Bitmap&amp;nbsp;RotateImage(Bitmap&amp;nbsp;bmp,&amp;nbsp;double&amp;nbsp;angle)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Graphics&amp;nbsp;g;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Bitmap&amp;nbsp;tmp&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Bitmap(bmp.Width,&amp;nbsp;bmp.Height,&amp;nbsp;PixelFormat.Format32bppRgb);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tmp.SetResolution(bmp.HorizontalResolution,&amp;nbsp;bmp.VerticalResolution);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;g&amp;nbsp;=&amp;nbsp;Graphics.FromImage(tmp);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;g.FillRectangle(Brushes.White,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;bmp.Width,&amp;nbsp;bmp.Height);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;g.RotateTransform((float)angle);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;g.DrawImage(bmp,&amp;nbsp;0,&amp;nbsp;0);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;finally&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;g.Dispose();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;tmp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;}
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
enjoy...&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/MdbBlog/~4/VgTgTPv0Y4E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mdb-blog.blogspot.com/feeds/8182518419342894867/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mdb-blog.blogspot.com/2010/10/c-how-to-deskew-image.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/8182518419342894867?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/8182518419342894867?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MdbBlog/~3/VgTgTPv0Y4E/c-how-to-deskew-image.html" title="C# | How to deskew an image" /><author><name>sami.e</name><uri>http://www.blogger.com/profile/17924298382466536337</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><feedburner:origLink>http://mdb-blog.blogspot.com/2010/10/c-how-to-deskew-image.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkIGQXg7fSp7ImA9Wx5VEUU.&quot;"><id>tag:blogger.com,1999:blog-9087075508981084919.post-5457104236563993608</id><published>2010-10-04T12:35:00.000+02:00</published><updated>2010-10-04T12:35:20.605+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-04T12:35:20.605+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="dot net" /><category scheme="http://www.blogger.com/atom/ns#" term="image processing" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="form" /><category scheme="http://www.blogger.com/atom/ns#" term="sample" /><category scheme="http://www.blogger.com/atom/ns#" term="source code" /><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><category scheme="http://www.blogger.com/atom/ns#" term="clone" /><category scheme="http://www.blogger.com/atom/ns#" term="window" /><category scheme="http://www.blogger.com/atom/ns#" term="crop" /><category scheme="http://www.blogger.com/atom/ns#" term="example" /><category scheme="http://www.blogger.com/atom/ns#" term="manage windows" /><category scheme="http://www.blogger.com/atom/ns#" term="image" /><category scheme="http://www.blogger.com/atom/ns#" term="winforms" /><category scheme="http://www.blogger.com/atom/ns#" term="code" /><category scheme="http://www.blogger.com/atom/ns#" term="byte" /><category scheme="http://www.blogger.com/atom/ns#" term="win forms" /><title>Trim Image white-spaces (black&amp;white) | C# Winforms</title><content type="html">&lt;div dir="rtl" style="text-align: right;" trbidi="on"&gt;&lt;div dir="ltr" style="text-align: left;"&gt;I searched for a simple code that preform "TRIMMING" to an image.&lt;br /&gt;
By "trimming" i mean, that if i have a LARGE image that contains information (painting/drawing...) only in small part of the image and all other is white-space (WHITE or BLACK pixels).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;I needed to remove such whitespace and also to decrease image size.&lt;/b&gt;&lt;br /&gt;
Following three code examples:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Code #1 - Gets the NON-WHITE-SPACE bounds of an image&lt;/b&gt;&lt;br /&gt;
&lt;div dir="ltr" style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #f0f0f0" align="left"&gt;private&amp;nbsp;Rectangle&amp;nbsp;GetImageNonWhiteSpaceBounds(Bitmap&amp;nbsp;p_img,&amp;nbsp;bool&amp;nbsp;p_isBlackWhitespace)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Rectangle&amp;nbsp;rect&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Rectangle();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;unsafe&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BitmapData&amp;nbsp;bdActual&amp;nbsp;=&amp;nbsp;null;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;width&amp;nbsp;=&amp;nbsp;p_img.Width;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;height&amp;nbsp;=&amp;nbsp;p_img.Height;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bdActual&amp;nbsp;=&amp;nbsp;p_img.LockBits(new&amp;nbsp;Rectangle(0,&amp;nbsp;0,&amp;nbsp;width,&amp;nbsp;height),&amp;nbsp;System.Drawing.Imaging.ImageLockMode.ReadOnly,&amp;nbsp;PixelFormat.Format24bppRgb);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Int32&amp;nbsp;i;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Int32&amp;nbsp;pSize&amp;nbsp;=&amp;nbsp;3;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Byte&amp;nbsp;whiteTrashold&amp;nbsp;=&amp;nbsp;(Byte)240;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Byte&amp;nbsp;blackTrashold&amp;nbsp;=&amp;nbsp;(Byte)10;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Byte*&amp;nbsp;sourceRow;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Int32&amp;nbsp;minX&amp;nbsp;=&amp;nbsp;width;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Int32&amp;nbsp;maxX&amp;nbsp;=&amp;nbsp;0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Int32&amp;nbsp;minY&amp;nbsp;=&amp;nbsp;height;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Int32&amp;nbsp;maxY&amp;nbsp;=&amp;nbsp;0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bool&amp;nbsp;isWhitepace;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(Int32&amp;nbsp;_y&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;_y&amp;nbsp;&lt;&amp;nbsp;height;&amp;nbsp;++_y)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sourceRow&amp;nbsp;=&amp;nbsp;(Byte*)bdActual.Scan0&amp;nbsp;+&amp;nbsp;(_y&amp;nbsp;*&amp;nbsp;bdActual.Stride);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(Int32&amp;nbsp;_x&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;_x&amp;nbsp;&lt;&amp;nbsp;width;&amp;nbsp;++_x)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;_x&amp;nbsp;*&amp;nbsp;pSize;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isWhitepace&amp;nbsp;=
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(p_isBlackWhitespace&amp;nbsp;&amp;&amp;&amp;nbsp;sourceRow[i]&amp;nbsp;&lt;=&amp;nbsp;blackTrashold&amp;nbsp;&amp;&amp;&amp;nbsp;sourceRow[i&amp;nbsp;+&amp;nbsp;1]&amp;nbsp;&lt;=&amp;nbsp;blackTrashold&amp;nbsp;&amp;&amp;&amp;nbsp;sourceRow[i&amp;nbsp;+&amp;nbsp;2]&amp;nbsp;&lt;=&amp;nbsp;blackTrashold)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;||
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(!p_isBlackWhitespace&amp;nbsp;&amp;&amp;&amp;nbsp;sourceRow[i]&amp;nbsp;&gt;=&amp;nbsp;whiteTrashold&amp;nbsp;&amp;&amp;&amp;nbsp;sourceRow[i&amp;nbsp;+&amp;nbsp;1]&amp;nbsp;&gt;=&amp;nbsp;whiteTrashold&amp;nbsp;&amp;&amp;&amp;nbsp;sourceRow[i&amp;nbsp;+&amp;nbsp;2]&amp;nbsp;&gt;=&amp;nbsp;whiteTrashold);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(isWhitepace&amp;nbsp;==&amp;nbsp;false)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;NO&amp;nbsp;whitespace!!!&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;minX&amp;nbsp;=&amp;nbsp;Math.Min(_x,&amp;nbsp;minX);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;maxX&amp;nbsp;=&amp;nbsp;Math.Max(_x,&amp;nbsp;maxX);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;minY&amp;nbsp;=&amp;nbsp;Math.Min(_y,&amp;nbsp;minY);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;maxY&amp;nbsp;=&amp;nbsp;Math.Max(_y,&amp;nbsp;maxY);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rect.X&amp;nbsp;=&amp;nbsp;minX;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rect.Y&amp;nbsp;=&amp;nbsp;minY;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rect.Width&amp;nbsp;=&amp;nbsp;maxX&amp;nbsp;-&amp;nbsp;minX;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rect.Height&amp;nbsp;=&amp;nbsp;maxY&amp;nbsp;-&amp;nbsp;minY;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;finally&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(bdActual&amp;nbsp;!=&amp;nbsp;null)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p_img.UnlockBits(bdActual);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;rect;&lt;br /&gt;
}&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;Code #2 - Draw rectangle around the NON-WHITE-SPACE&lt;/b&gt;&lt;br /&gt;
&lt;div dir="ltr" style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #f0f0f0" align="left"&gt;private&amp;nbsp;void&amp;nbsp;DrawNonWhiteSpaceRectangle(Bitmap&amp;nbsp;p_img,&amp;nbsp;bool&amp;nbsp;p_isBlackWhitespace,&amp;nbsp;Color&amp;nbsp;p_color)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;unsafe&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BitmapData&amp;nbsp;bdActual&amp;nbsp;=&amp;nbsp;null;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;width&amp;nbsp;=&amp;nbsp;p_img.Width;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;height&amp;nbsp;=&amp;nbsp;p_img.Height;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bdActual&amp;nbsp;=&amp;nbsp;p_img.LockBits(new&amp;nbsp;Rectangle(0,&amp;nbsp;0,&amp;nbsp;width,&amp;nbsp;height),&amp;nbsp;System.Drawing.Imaging.ImageLockMode.ReadWrite,&amp;nbsp;PixelFormat.Format24bppRgb);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Int32&amp;nbsp;i;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Int32&amp;nbsp;pSize&amp;nbsp;=&amp;nbsp;3;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Byte&amp;nbsp;whiteTrashold&amp;nbsp;=&amp;nbsp;(Byte)240;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Byte&amp;nbsp;blackTrashold&amp;nbsp;=&amp;nbsp;(Byte)10;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Byte*&amp;nbsp;sourceRow;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Int32&amp;nbsp;minX&amp;nbsp;=&amp;nbsp;width;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Int32&amp;nbsp;maxX&amp;nbsp;=&amp;nbsp;0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Int32&amp;nbsp;minY&amp;nbsp;=&amp;nbsp;height;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Int32&amp;nbsp;maxY&amp;nbsp;=&amp;nbsp;0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bool&amp;nbsp;isWhitepace;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(Int32&amp;nbsp;_y&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;_y&amp;nbsp;&lt;&amp;nbsp;height;&amp;nbsp;++_y)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sourceRow&amp;nbsp;=&amp;nbsp;(Byte*)bdActual.Scan0&amp;nbsp;+&amp;nbsp;(_y&amp;nbsp;*&amp;nbsp;bdActual.Stride);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(Int32&amp;nbsp;_x&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;_x&amp;nbsp;&lt;&amp;nbsp;width;&amp;nbsp;++_x)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;_x&amp;nbsp;*&amp;nbsp;pSize;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isWhitepace&amp;nbsp;=
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(p_isBlackWhitespace&amp;nbsp;&amp;&amp;&amp;nbsp;sourceRow[i]&amp;nbsp;&lt;=&amp;nbsp;blackTrashold&amp;nbsp;&amp;&amp;&amp;nbsp;sourceRow[i&amp;nbsp;+&amp;nbsp;1]&amp;nbsp;&lt;=&amp;nbsp;blackTrashold&amp;nbsp;&amp;&amp;&amp;nbsp;sourceRow[i&amp;nbsp;+&amp;nbsp;2]&amp;nbsp;&lt;=&amp;nbsp;blackTrashold)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;||
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(!p_isBlackWhitespace&amp;nbsp;&amp;&amp;&amp;nbsp;sourceRow[i]&amp;nbsp;&gt;=&amp;nbsp;whiteTrashold&amp;nbsp;&amp;&amp;&amp;nbsp;sourceRow[i&amp;nbsp;+&amp;nbsp;1]&amp;nbsp;&gt;=&amp;nbsp;whiteTrashold&amp;nbsp;&amp;&amp;&amp;nbsp;sourceRow[i&amp;nbsp;+&amp;nbsp;2]&amp;nbsp;&gt;=&amp;nbsp;whiteTrashold);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(isWhitepace&amp;nbsp;==&amp;nbsp;false)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;NO&amp;nbsp;whitespace!!!&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;minX&amp;nbsp;=&amp;nbsp;Math.Min(_x,&amp;nbsp;minX);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;maxX&amp;nbsp;=&amp;nbsp;Math.Max(_x,&amp;nbsp;maxX);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;minY&amp;nbsp;=&amp;nbsp;Math.Min(_y,&amp;nbsp;minY);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;maxY&amp;nbsp;=&amp;nbsp;Math.Max(_y,&amp;nbsp;maxY);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;draw&amp;nbsp;rectagle:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(Int32&amp;nbsp;_y&amp;nbsp;=&amp;nbsp;minY;&amp;nbsp;_y&amp;nbsp;&lt;=&amp;nbsp;maxY;&amp;nbsp;++_y)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sourceRow&amp;nbsp;=&amp;nbsp;(Byte*)bdActual.Scan0&amp;nbsp;+&amp;nbsp;(_y&amp;nbsp;*&amp;nbsp;bdActual.Stride);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;minX&amp;nbsp;*&amp;nbsp;pSize;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sourceRow[i]&amp;nbsp;=&amp;nbsp;(Byte)p_color.R;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sourceRow[i&amp;nbsp;+&amp;nbsp;1]&amp;nbsp;=&amp;nbsp;(Byte)p_color.G;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sourceRow[i&amp;nbsp;+&amp;nbsp;2]&amp;nbsp;=&amp;nbsp;(Byte)p_color.B;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;maxX&amp;nbsp;*&amp;nbsp;pSize;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sourceRow[i]&amp;nbsp;=&amp;nbsp;(Byte)p_color.R;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sourceRow[i&amp;nbsp;+&amp;nbsp;1]&amp;nbsp;=&amp;nbsp;(Byte)p_color.G;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sourceRow[i&amp;nbsp;+&amp;nbsp;2]&amp;nbsp;=&amp;nbsp;(Byte)p_color.B;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Byte*&amp;nbsp;sourceRowX1&amp;nbsp;=&amp;nbsp;(Byte*)bdActual.Scan0&amp;nbsp;+&amp;nbsp;(minY&amp;nbsp;*&amp;nbsp;bdActual.Stride);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Byte*&amp;nbsp;sourceRowX2&amp;nbsp;=&amp;nbsp;(Byte*)bdActual.Scan0&amp;nbsp;+&amp;nbsp;(maxY&amp;nbsp;*&amp;nbsp;bdActual.Stride);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(Int32&amp;nbsp;_x&amp;nbsp;=&amp;nbsp;minX;&amp;nbsp;_x&amp;nbsp;&lt;=&amp;nbsp;maxX;&amp;nbsp;++_x)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;_x&amp;nbsp;*&amp;nbsp;pSize;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sourceRowX1[i]&amp;nbsp;=&amp;nbsp;(Byte)p_color.R;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sourceRowX1[i&amp;nbsp;+&amp;nbsp;1]&amp;nbsp;=&amp;nbsp;(Byte)p_color.G;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sourceRowX1[i&amp;nbsp;+&amp;nbsp;2]&amp;nbsp;=&amp;nbsp;(Byte)p_color.B;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sourceRowX2[i]&amp;nbsp;=&amp;nbsp;(Byte)p_color.R;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sourceRowX2[i&amp;nbsp;+&amp;nbsp;1]&amp;nbsp;=&amp;nbsp;(Byte)p_color.G;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sourceRowX2[i&amp;nbsp;+&amp;nbsp;2]&amp;nbsp;=&amp;nbsp;(Byte)p_color.B;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;finally
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(bdActual&amp;nbsp;!=&amp;nbsp;null)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p_img.UnlockBits(bdActual);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}
&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Code #3 - Trim Image whitespaces&lt;/b&gt;&lt;br /&gt;
&lt;div dir="ltr" style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #f0f0f0" align="left"&gt;private&amp;nbsp;Bitmap&amp;nbsp;CropImageWhitespaces(Bitmap&amp;nbsp;p_img,&amp;nbsp;bool&amp;nbsp;p_isBlackWhitespace)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Rectangle&amp;nbsp;rect&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Rectangle();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;unsafe&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BitmapData&amp;nbsp;bdActual&amp;nbsp;=&amp;nbsp;null;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;width&amp;nbsp;=&amp;nbsp;p_img.Width;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;height&amp;nbsp;=&amp;nbsp;p_img.Height;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bdActual&amp;nbsp;=&amp;nbsp;p_img.LockBits(new&amp;nbsp;Rectangle(0,&amp;nbsp;0,&amp;nbsp;width,&amp;nbsp;height),&amp;nbsp;System.Drawing.Imaging.ImageLockMode.ReadOnly,&amp;nbsp;PixelFormat.Format24bppRgb);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Int32&amp;nbsp;i;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Int32&amp;nbsp;pSize&amp;nbsp;=&amp;nbsp;3;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Byte&amp;nbsp;whiteTrashold&amp;nbsp;=&amp;nbsp;(Byte)240;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Byte&amp;nbsp;blackTrashold&amp;nbsp;=&amp;nbsp;(Byte)10;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Byte*&amp;nbsp;sourceRow;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Int32&amp;nbsp;minX&amp;nbsp;=&amp;nbsp;width;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Int32&amp;nbsp;maxX&amp;nbsp;=&amp;nbsp;0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Int32&amp;nbsp;minY&amp;nbsp;=&amp;nbsp;height;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Int32&amp;nbsp;maxY&amp;nbsp;=&amp;nbsp;0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bool&amp;nbsp;isWhitepace;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(Int32&amp;nbsp;_y&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;_y&amp;nbsp;&lt;&amp;nbsp;height;&amp;nbsp;++_y)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sourceRow&amp;nbsp;=&amp;nbsp;(Byte*)bdActual.Scan0&amp;nbsp;+&amp;nbsp;(_y&amp;nbsp;*&amp;nbsp;bdActual.Stride);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(Int32&amp;nbsp;_x&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;_x&amp;nbsp;&lt;&amp;nbsp;width;&amp;nbsp;++_x)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;_x&amp;nbsp;*&amp;nbsp;pSize;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isWhitepace&amp;nbsp;=
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(p_isBlackWhitespace&amp;nbsp;&amp;&amp;&amp;nbsp;sourceRow[i]&amp;nbsp;&lt;=&amp;nbsp;blackTrashold&amp;nbsp;&amp;&amp;&amp;nbsp;sourceRow[i&amp;nbsp;+&amp;nbsp;1]&amp;nbsp;&lt;=&amp;nbsp;blackTrashold&amp;nbsp;&amp;&amp;&amp;nbsp;sourceRow[i&amp;nbsp;+&amp;nbsp;2]&amp;nbsp;&lt;=&amp;nbsp;blackTrashold)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;||
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(!p_isBlackWhitespace&amp;nbsp;&amp;&amp;&amp;nbsp;sourceRow[i]&amp;nbsp;&gt;=&amp;nbsp;whiteTrashold&amp;nbsp;&amp;&amp;&amp;nbsp;sourceRow[i&amp;nbsp;+&amp;nbsp;1]&amp;nbsp;&gt;=&amp;nbsp;whiteTrashold&amp;nbsp;&amp;&amp;&amp;nbsp;sourceRow[i&amp;nbsp;+&amp;nbsp;2]&amp;nbsp;&gt;=&amp;nbsp;whiteTrashold);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(isWhitepace&amp;nbsp;==&amp;nbsp;false)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;NO&amp;nbsp;whitespace!!!&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;minX&amp;nbsp;=&amp;nbsp;Math.Min(_x,&amp;nbsp;minX);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;maxX&amp;nbsp;=&amp;nbsp;Math.Max(_x,&amp;nbsp;maxX);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;minY&amp;nbsp;=&amp;nbsp;Math.Min(_y,&amp;nbsp;minY);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;maxY&amp;nbsp;=&amp;nbsp;Math.Max(_y,&amp;nbsp;maxY);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rect.X&amp;nbsp;=&amp;nbsp;minX;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rect.Y&amp;nbsp;=&amp;nbsp;minY;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rect.Width&amp;nbsp;=&amp;nbsp;maxX&amp;nbsp;-&amp;nbsp;minX;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rect.Height&amp;nbsp;=&amp;nbsp;maxY&amp;nbsp;-&amp;nbsp;minY;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;finally&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(bdActual&amp;nbsp;!=&amp;nbsp;null)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p_img.UnlockBits(bdActual);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;p_img.Clone(rect,&amp;nbsp;p_img.PixelFormat);&lt;br /&gt;
}&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
I hope it will be helpful for you.&lt;br /&gt;
this code if fast and easy to use.&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MdbBlog/~4/Ycds-ksBBcc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mdb-blog.blogspot.com/feeds/5457104236563993608/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mdb-blog.blogspot.com/2010/10/trim-image-white-spaces-black-c.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/5457104236563993608?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/5457104236563993608?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MdbBlog/~3/Ycds-ksBBcc/trim-image-white-spaces-black-c.html" title="Trim Image white-spaces (black&amp;white) | C# Winforms" /><author><name>sami.e</name><uri>http://www.blogger.com/profile/17924298382466536337</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mdb-blog.blogspot.com/2010/10/trim-image-white-spaces-black-c.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkYARXkyeCp7ImA9Wx5QE0k.&quot;"><id>tag:blogger.com,1999:blog-9087075508981084919.post-28014084259767972</id><published>2010-09-01T14:22:00.000+03:00</published><updated>2010-09-01T14:22:24.790+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-01T14:22:24.790+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="program" /><category scheme="http://www.blogger.com/atom/ns#" term="example" /><category scheme="http://www.blogger.com/atom/ns#" term="uninstall" /><category scheme="http://www.blogger.com/atom/ns#" term="dot net" /><category scheme="http://www.blogger.com/atom/ns#" term="install" /><category scheme="http://www.blogger.com/atom/ns#" term="check" /><category scheme="http://www.blogger.com/atom/ns#" term="windows" /><category scheme="http://www.blogger.com/atom/ns#" term="source code" /><category scheme="http://www.blogger.com/atom/ns#" term="installed" /><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><category scheme="http://www.blogger.com/atom/ns#" term="applications" /><title>C# | check if program/application is installed</title><content type="html">&lt;div dir="rtl" style="text-align: right;" trbidi="on"&gt;&lt;div dir="ltr" style="text-align: left;"&gt;I searched for a code that getting the list of installed application/programs on my windows pc, but the result wat not satisfying.&lt;/div&gt;&lt;div dir="ltr" style="text-align: left;"&gt;I saw that the list of installed programs that i find is NOT like the "Add-Remove Programs" list!!!&lt;/div&gt;&lt;div dir="ltr" style="text-align: left;"&gt;The solution is to search for &lt;u&gt;3 places&lt;/u&gt; in &lt;strong&gt;registry&lt;/strong&gt;:&lt;/div&gt;&lt;div dir="ltr" style="text-align: left;"&gt;1. SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall &lt;strong&gt;inside CurrentUser&lt;/strong&gt;&lt;/div&gt;&lt;div dir="ltr" style="text-align: left;"&gt;2. SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall &lt;strong&gt;inside LocalMachine&lt;/strong&gt;&lt;/div&gt;&lt;div dir="ltr" style="text-align: left;"&gt;3. SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall &lt;strong&gt;in LocalMachine&lt;/strong&gt;&lt;br /&gt;
And this is my solution...&lt;br /&gt;
&lt;br /&gt;
The Code:&lt;br /&gt;
&lt;div dir="ltr" style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #f0f0f0" align="left"&gt;public&amp;nbsp;static&amp;nbsp;bool&amp;nbsp;IsApplictionInstalled(string&amp;nbsp;p_name)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string&amp;nbsp;displayName;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RegistryKey&amp;nbsp;key;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color:red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;search&amp;nbsp;in:&amp;nbsp;CurrentUser&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;key&amp;nbsp;=&amp;nbsp;Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall");&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach&amp;nbsp;(String&amp;nbsp;keyName&amp;nbsp;in&amp;nbsp;key.GetSubKeyNames())&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RegistryKey&amp;nbsp;subkey&amp;nbsp;=&amp;nbsp;key.OpenSubKey(keyName);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;displayName&amp;nbsp;=&amp;nbsp;subkey.GetValue("DisplayName")&amp;nbsp;as&amp;nbsp;string;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(p_name.Equals(displayName,&amp;nbsp;StringComparison.OrdinalIgnoreCase)&amp;nbsp;==&amp;nbsp;true)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;true;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color:red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;search&amp;nbsp;in:&amp;nbsp;LocalMachine_32&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;key&amp;nbsp;=&amp;nbsp;Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall");&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach&amp;nbsp;(String&amp;nbsp;keyName&amp;nbsp;in&amp;nbsp;key.GetSubKeyNames())&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RegistryKey&amp;nbsp;subkey&amp;nbsp;=&amp;nbsp;key.OpenSubKey(keyName);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;displayName&amp;nbsp;=&amp;nbsp;subkey.GetValue("DisplayName")&amp;nbsp;as&amp;nbsp;string;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(p_name.Equals(displayName,&amp;nbsp;StringComparison.OrdinalIgnoreCase)&amp;nbsp;==&amp;nbsp;true)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;true;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color:red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;search&amp;nbsp;in:&amp;nbsp;LocalMachine_64&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;key&amp;nbsp;=&amp;nbsp;Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall");&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach&amp;nbsp;(String&amp;nbsp;keyName&amp;nbsp;in&amp;nbsp;key.GetSubKeyNames())&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RegistryKey&amp;nbsp;subkey&amp;nbsp;=&amp;nbsp;key.OpenSubKey(keyName);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;displayName&amp;nbsp;=&amp;nbsp;subkey.GetValue("DisplayName")&amp;nbsp;as&amp;nbsp;string;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(p_name.Equals(displayName,&amp;nbsp;StringComparison.OrdinalIgnoreCase)&amp;nbsp;==&amp;nbsp;true)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;true;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color:red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// NOT FOUND&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;false;&lt;br /&gt;
}&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
This is great for searching for installed / uninstall programs.&lt;br /&gt;
I would like for some comments...&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MdbBlog/~4/xIoaM438UXE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mdb-blog.blogspot.com/feeds/28014084259767972/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mdb-blog.blogspot.com/2010/09/c-check-if-programapplication-is.html#comment-form" title="27 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/28014084259767972?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/28014084259767972?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MdbBlog/~3/xIoaM438UXE/c-check-if-programapplication-is.html" title="C# | check if program/application is installed" /><author><name>sami.e</name><uri>http://www.blogger.com/profile/17924298382466536337</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>27</thr:total><feedburner:origLink>http://mdb-blog.blogspot.com/2010/09/c-check-if-programapplication-is.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYFQng-fip7ImA9Wx5SEE0.&quot;"><id>tag:blogger.com,1999:blog-9087075508981084919.post-8737133706946947537</id><published>2010-08-05T12:55:00.000+03:00</published><updated>2010-08-05T12:55:13.656+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-05T12:55:13.656+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="double" /><category scheme="http://www.blogger.com/atom/ns#" term="format" /><category scheme="http://www.blogger.com/atom/ns#" term="asp.net" /><category scheme="http://www.blogger.com/atom/ns#" term="string format" /><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><category scheme="http://www.blogger.com/atom/ns#" term="string" /><category scheme="http://www.blogger.com/atom/ns#" term="date" /><title>C# / Asp.Net - Some string format...</title><content type="html">&lt;u&gt;&lt;b&gt;DateTime Format:&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
yyyy-MM-ddTHH:mm:ss.fffffff ==&gt; 2007-06-10T13:52:55&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;String format for bits:&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
int[] values = { 0, 0x111, 0xfffff, 0x8888, 0x22000022};&lt;br /&gt;
foreach (int v in values)&lt;br /&gt;
{&lt;br /&gt;
    Console.WriteLine("~0x{0:x8} = 0x{1:x8}", v, ~v);&lt;br /&gt;
}&lt;br /&gt;
&lt;i&gt;Output:&lt;br /&gt;
~0x00000000 = 0xffffffff&lt;br /&gt;
~0x00000111 = 0xfffffeee&lt;br /&gt;
~0x000fffff = 0xfff00000&lt;br /&gt;
~0x00008888 = 0xffff7777&lt;br /&gt;
~0x22000022 = 0xddffffdd&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;String format for double:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
// just two decimal places&lt;br /&gt;
String.Format("{0:0.00}", 123.4567);      // "123.46"&lt;br /&gt;
String.Format("{0:0.00}", 123.4);         // "123.40"&lt;br /&gt;
String.Format("{0:0.00}", 123.0);         // "123.00"&lt;br /&gt;
&lt;br /&gt;
// max. two decimal places&lt;br /&gt;
String.Format("{0:0.##}", 123.4567);      // "123.46"&lt;br /&gt;
String.Format("{0:0.##}", 123.4);         // "123.4"&lt;br /&gt;
String.Format("{0:0.##}", 123.0);         // "123"&lt;br /&gt;
&lt;br /&gt;
// at least two digits before decimal point&lt;br /&gt;
String.Format("{0:00.0}", 123.4567);      // "123.5"&lt;br /&gt;
String.Format("{0:00.0}", 23.4567);       // "23.5"&lt;br /&gt;
String.Format("{0:00.0}", 3.4567);        // "03.5"&lt;br /&gt;
String.Format("{0:00.0}", -3.4567);       // "-03.5"&lt;br /&gt;
&lt;br /&gt;
// Thousands separator&lt;br /&gt;
String.Format("{0:0,0.0}", 12345.67);     // "12,345.7"&lt;br /&gt;
String.Format("{0:0,0}", 12345.67);       // "12,346"&lt;br /&gt;
&lt;br /&gt;
// formatted a zero (of double type)&lt;br /&gt;
String.Format("{0:0.0}", 0.0);            // "0.0"&lt;br /&gt;
String.Format("{0:0.#}", 0.0);            // "0"&lt;br /&gt;
String.Format("{0:#.0}", 0.0);            // ".0"&lt;br /&gt;
String.Format("{0:#.#}", 0.0);            // ""&lt;br /&gt;
&lt;br /&gt;
// Align numbers with spaces&lt;br /&gt;
String.Format("{0,10:0.0}", 123.4567);    // "     123.5"&lt;br /&gt;
String.Format("{0,-10:0.0}", 123.4567);   // "123.5     "&lt;br /&gt;
String.Format("{0,10:0.0}", -123.4567);   // "    -123.5"&lt;br /&gt;
String.Format("{0,-10:0.0}", -123.4567);  // "-123.5    "&lt;br /&gt;
&lt;br /&gt;
// Custom formatting for negative numbers and zero&lt;br /&gt;
String.Format("{0:0.00;minus 0.00;zero}", 123.4567);   // "123.46"&lt;br /&gt;
String.Format("{0:0.00;minus 0.00;zero}", -123.4567);  // "minus 123.46"&lt;br /&gt;
String.Format("{0:0.00;minus 0.00;zero}", 0.0);        // "zero"&lt;br /&gt;
&lt;br /&gt;
// Other&lt;br /&gt;
String.Format("{0:my number is 0.0}", 12.3);   // "my number is 12.3"&lt;br /&gt;
String.Format("{0:0aaa.bbb0}", 12.3);          // "12aaa.bbb3"&lt;img src="http://feeds.feedburner.com/~r/MdbBlog/~4/uz6zgpuTGzA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mdb-blog.blogspot.com/feeds/8737133706946947537/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mdb-blog.blogspot.com/2010/08/c-aspnet-some-string-format.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/8737133706946947537?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/8737133706946947537?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MdbBlog/~3/uz6zgpuTGzA/c-aspnet-some-string-format.html" title="C# / Asp.Net - Some string format..." /><author><name>sami.e</name><uri>http://www.blogger.com/profile/17924298382466536337</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mdb-blog.blogspot.com/2010/08/c-aspnet-some-string-format.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEQFQXk9cSp7ImA9WxFUEkw.&quot;"><id>tag:blogger.com,1999:blog-9087075508981084919.post-4449784473564740942</id><published>2010-06-22T16:11:00.000+03:00</published><updated>2010-06-22T16:11:50.769+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-22T16:11:50.769+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="jar" /><category scheme="http://www.blogger.com/atom/ns#" term="java me" /><category scheme="http://www.blogger.com/atom/ns#" term="control" /><category scheme="http://www.blogger.com/atom/ns#" term="color" /><category scheme="http://www.blogger.com/atom/ns#" term="link" /><category scheme="http://www.blogger.com/atom/ns#" term="lwuit" /><category scheme="http://www.blogger.com/atom/ns#" term="j2me" /><category scheme="http://www.blogger.com/atom/ns#" term="style" /><category scheme="http://www.blogger.com/atom/ns#" term="component" /><category scheme="http://www.blogger.com/atom/ns#" term="button" /><title>lwuit | j2me link control (component)</title><content type="html">&lt;div dir="ltr" style="text-align: left;"&gt;Here is an implemantation of a LINK component for the LWUIT enviroment under J2ME (Java ME).&lt;br /&gt;
This code creates a lwuit link component based on the lwuit button which not have a border and is transparent! also have an appropriate color (blue) and font style (underline).&lt;br /&gt;
hope it is helpful:&lt;br /&gt;
&lt;br /&gt;
code example:&lt;br /&gt;
&lt;div dir="ltr" style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #f0f0f0" align="left"&gt;&lt;br /&gt;
Button btn = new Button("LINK1");&lt;br /&gt;
&lt;span style="color: #aaaaaa"&gt;//btn.getStyle().setBorder(Border.createEmpty());&lt;/span&gt;&lt;br /&gt;
btn.getUnselectedStyle().setBorder(Border.createEmpty());&lt;br /&gt;
btn.getSelectedStyle().setBorder(Border.createEmpty());&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #aaaaaa"&gt;//btn.getStyle().setBgTransparency(100);&lt;/span&gt;&lt;br /&gt;
btn.getUnselectedStyle().setBgTransparency(100);&lt;br /&gt;
btn.getSelectedStyle().setBgTransparency(100);&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #aaaaaa"&gt;//btn.getStyle().setFont(Font.createSystemFont(Font.FACE_SYSTEM, Font.STYLE_UNDERLINED, Font.SIZE_MEDIUM));&lt;/span&gt;&lt;br /&gt;
btn.getUnselectedStyle().setFont(Font.createSystemFont(Font.FACE_SYSTEM, Font.STYLE_UNDERLINED, Font.SIZE_MEDIUM));&lt;br /&gt;
btn.getSelectedStyle().setFont(Font.createSystemFont(Font.FACE_SYSTEM, Font.STYLE_UNDERLINED | Font.STYLE_BOLD, Font.SIZE_MEDIUM));&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #aaaaaa"&gt;//btn.getStyle().setFgColor(0x0000ff);&lt;/span&gt;&lt;br /&gt;
btn.getUnselectedStyle().setFgColor(0x0000ff);&lt;br /&gt;
btn.getSelectedStyle().setFgColor(0x0000ff);&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MdbBlog/~4/JcCmw3VKgGo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mdb-blog.blogspot.com/feeds/4449784473564740942/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mdb-blog.blogspot.com/2010/06/lwuit-j2me-link-control-component.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/4449784473564740942?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/4449784473564740942?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MdbBlog/~3/JcCmw3VKgGo/lwuit-j2me-link-control-component.html" title="lwuit | j2me link control (component)" /><author><name>sami.e</name><uri>http://www.blogger.com/profile/17924298382466536337</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>3</thr:total><feedburner:origLink>http://mdb-blog.blogspot.com/2010/06/lwuit-j2me-link-control-component.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkADRng_fSp7ImA9WxFXFko.&quot;"><id>tag:blogger.com,1999:blog-9087075508981084919.post-8880243473453723227</id><published>2010-05-23T18:27:00.002+03:00</published><updated>2010-05-24T08:26:17.645+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-24T08:26:17.645+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="device" /><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="rim" /><category scheme="http://www.blogger.com/atom/ns#" term="library" /><category scheme="http://www.blogger.com/atom/ns#" term="jad" /><category scheme="http://www.blogger.com/atom/ns#" term="cldc" /><category scheme="http://www.blogger.com/atom/ns#" term="information" /><category scheme="http://www.blogger.com/atom/ns#" term="get device name" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="jar" /><category scheme="http://www.blogger.com/atom/ns#" term="blackberry" /><category scheme="http://www.blogger.com/atom/ns#" term="expert" /><category scheme="http://www.blogger.com/atom/ns#" term="get device info" /><category scheme="http://www.blogger.com/atom/ns#" term="device info" /><category scheme="http://www.blogger.com/atom/ns#" term="midp" /><category scheme="http://www.blogger.com/atom/ns#" term="j2me" /><category scheme="http://www.blogger.com/atom/ns#" term="get device id" /><category scheme="http://www.blogger.com/atom/ns#" term="read info" /><title>J2ME | read BlackBerry device name, device id (under MIDP)</title><content type="html">&lt;div dir="ltr" style="text-align: left;"&gt;Hello to all.&lt;br /&gt;
&lt;br /&gt;
I searched the web and not found any implemantaion of reading device name or device id using J2ME MIDP for blackberry.&lt;br /&gt;
&lt;br /&gt;
There exists an RIM api: "net.rim.device.api.system.DeviceInfo.getDeviceName()" which allow you to read the blackberry device information, but on when creating a global application for all MIDP devices, this api will not work for other devices like Sony-Ericsson, NOKIA, Samsung, Motorola, HTC and so...&lt;br /&gt;
&lt;br /&gt;
The solution is to &lt;b&gt;dynamicly &lt;/b&gt; load an outer JAR (dynamic library = dll) &lt;b style="text-decoration: underlinel"&gt;only&lt;/b&gt; when a blackberry device detected and read all data.&lt;br /&gt;
NOTE: if we will access to this library (JAR) without validating the RIM device, an excaption will be thrown!!&lt;br /&gt;
&lt;br /&gt;
So, the solution is:&lt;br /&gt;
Step 1:&lt;br /&gt;
&lt;div dir="ltr" style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #f0f0f0" align="left"&gt;Create a new project: Mobile Class Library. &lt;br /&gt;
Name it: &lt;b&gt;BlackberryInfo&lt;/b&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
Step 2:&lt;br /&gt;
&lt;div dir="ltr" style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #f0f0f0" align="left"&gt;create new Class named: &lt;b&gt;DeviceInfo&lt;/b&gt;&lt;br /&gt;
with the following code:&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
Code for step 2:&lt;br /&gt;
&lt;div dir="ltr" style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #f0f0f0" align="left"&gt;package BlackberryInfo;&lt;br /&gt;
&lt;br /&gt;
public class DeviceInfo&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;static public String getDeviceName()&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return net.rim.device.api.system.DeviceInfo.getDeviceName();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;static public String getManufacturerName()&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return net.rim.device.api.system.DeviceInfo.getManufacturerName();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;static public int getDeviceId()&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return net.rim.device.api.system.DeviceInfo.getDeviceId();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;static public String getPlatformVersion()&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return net.rim.device.api.system.DeviceInfo.getPlatformVersion();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
}&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
Step 3:&lt;br /&gt;
&lt;div dir="ltr" style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #f0f0f0" align="left"&gt;Build project and get JAR and JAD named: &lt;b&gt;BlackberryInfo.jar&lt;/b&gt;&lt;br /&gt;
Note: build this JAR using Blackberry BlackBerry JDE (I used 5.0.0) (&lt;a href="http://na.blackberry.com/eng/developers/javaappdev/javadevenv.jsp"&gt;BlackBerry JDE downloads&lt;/a&gt;)&lt;br /&gt;
&lt;span style="color: red;"&gt;if you want, i can upload this library to the blog...&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
Step 4:&lt;br /&gt;
&lt;div dir="ltr" style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #f0f0f0" align="left"&gt;In your application (J2ME MIDP), just add &lt;b&gt;BlackberryInfo.jar&lt;/b&gt; as library.&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
Step 5:&lt;br /&gt;
&lt;div dir="ltr" style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #f0f0f0" align="left"&gt;Now, all you have to do, is just to validate that this is RIM Blackberry device, and the read all device info.&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
Code for step 5:&lt;br /&gt;
&lt;div dir="ltr" style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #f0f0f0" align="left"&gt;static&amp;nbsp;public&amp;nbsp;boolean&amp;nbsp;isBlackberryPlatform()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Class.forName("net.rim.blackberry.api.browser.Browser");&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;true;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;catch&amp;nbsp;(Exception&amp;nbsp;ex)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;false;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// some func for read device information (device name, device id, device &lt;br /&gt;
&lt;b&gt;&amp;nbsp;if&amp;nbsp;(isBlackberryPlatform()&amp;nbsp;==&amp;nbsp;true)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println("Blackberry&amp;nbsp;platform:");&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(BlackberryInfo.DeviceInfo.getDeviceName());&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(BlackberryInfo.DeviceInfo.getManufacturerName());&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(BlackberryInfo.DeviceInfo.getPlatformVersion());&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(BlackberryInfo.DeviceInfo.getDeviceId()&amp;nbsp;+&amp;nbsp;"");&lt;br /&gt;
}&lt;/b&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Notice that, the JAR is loaded only when trying to access it, so other devices expect RIM blackberry will &lt;b&gt;NOT&lt;/b&gt; get to this line so they won't try to load unavailable api of rim blackberry.&lt;br /&gt;
&lt;br /&gt;
reference to DeviceInfo implemantation (5.0.0) &lt;br /&gt;
&lt;a href="http://www.blackberry.com/developers/docs/5.0.0api/net/rim/device/api/system/DeviceInfo.html"&gt;http://www.blackberry.com/developers/docs/5.0.0api/net/rim/device/api/system/DeviceInfo.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
hope i could help someone outthere...&lt;br /&gt;
p.s.&lt;br /&gt;
&lt;b&gt;this method can work for every OUTER/UNKNOWN API in J2ME.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MdbBlog/~4/HnU8ODqIUCQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mdb-blog.blogspot.com/feeds/8880243473453723227/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mdb-blog.blogspot.com/2010/05/j2me-read-blackberry-device-name-device.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/8880243473453723227?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/8880243473453723227?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MdbBlog/~3/HnU8ODqIUCQ/j2me-read-blackberry-device-name-device.html" title="J2ME | read BlackBerry device name, device id (under MIDP)" /><author><name>sami.e</name><uri>http://www.blogger.com/profile/17924298382466536337</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><feedburner:origLink>http://mdb-blog.blogspot.com/2010/05/j2me-read-blackberry-device-name-device.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcNSHo8fyp7ImA9WxFXFko.&quot;"><id>tag:blogger.com,1999:blog-9087075508981084919.post-6847604015851804449</id><published>2010-05-17T15:00:00.001+03:00</published><updated>2010-05-24T08:14:59.477+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-24T08:14:59.477+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="device" /><category scheme="http://www.blogger.com/atom/ns#" term="os" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="blackberry" /><category scheme="http://www.blogger.com/atom/ns#" term="midp" /><category scheme="http://www.blogger.com/atom/ns#" term="j2me" /><title>J2ME | determine BlackBerry device (OS)</title><content type="html">&lt;div dir="ltr" style="text-align: left;"&gt;Here is a code for determine whether a J2ME application is running over Blackberry device.&lt;br /&gt;
&lt;br /&gt;
The idea is to check for a class that exists &lt;u&gt;only&lt;/u&gt; in Blackberry platform and not on J2ME MIDP Operation system.&lt;br /&gt;
here I choose to determine using &lt;i&gt;"net.rim.blackberry.api.browser.Browser"&lt;/i&gt; which exists only in Blackberry OS (NOT in other OSs).&lt;br /&gt;
&lt;br /&gt;
The code using Class.forClass method (&lt;a href="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Class.html#forName(java.lang.String)"&gt;link&lt;/a&gt;) which returns the Class object associated with the class or interface with the given string name. if the class exists (so we in Blackberry) the method return an object, otherwise throws an exception.&lt;br /&gt;
&lt;br /&gt;
here is a simple code:&lt;br /&gt;
&lt;div dir="ltr" style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #f0f0f0" align="left"&gt;static public boolean isBlackberryPlatform()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Class.forName("net.rim.blackberry.api.browser.Browser");&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return true;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;catch (Exception ex)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return false;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
}&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
enjoy, and post replies...&lt;br /&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MdbBlog/~4/0fvIBvrBOuI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mdb-blog.blogspot.com/feeds/6847604015851804449/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mdb-blog.blogspot.com/2010/05/j2me-determine-blackberry-device-os.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/6847604015851804449?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/6847604015851804449?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MdbBlog/~3/0fvIBvrBOuI/j2me-determine-blackberry-device-os.html" title="J2ME | determine BlackBerry device (OS)" /><author><name>sami.e</name><uri>http://www.blogger.com/profile/17924298382466536337</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mdb-blog.blogspot.com/2010/05/j2me-determine-blackberry-device-os.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08FQHwyeSp7ImA9WxFXEEQ.&quot;"><id>tag:blogger.com,1999:blog-9087075508981084919.post-491788677602223985</id><published>2010-05-17T14:30:00.001+03:00</published><updated>2010-05-17T14:30:11.291+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-17T14:30:11.291+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="class" /><category scheme="http://www.blogger.com/atom/ns#" term="midp" /><category scheme="http://www.blogger.com/atom/ns#" term="j2me" /><category scheme="http://www.blogger.com/atom/ns#" term="android" /><title>J2ME | identify MIDP runner over Android OS</title><content type="html">&lt;div dir="ltr" style="text-align: left;"&gt;Here is a good code for determine whether a J2ME application is running over MIDP runner over Android OS.&lt;br /&gt;
&lt;br /&gt;
The idea is to check for a class that exists &lt;u&gt;only&lt;/u&gt; in Android platform and not on J2ME MIDP Operaion system.&lt;br /&gt;
here I choose to determine using &lt;i&gt;"android.Manifest"&lt;/i&gt; which exists in Android OS and NOT in other OSs.&lt;br /&gt;
&lt;br /&gt;
The code using Class.forClass method (&lt;a href="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Class.html#forName(java.lang.String)"&gt;link&lt;/a&gt;) which returns the Class object associated with the class or interface with the given string name. if the class exists (so we in Android) the method return an object, otherwise throws an exception.&lt;br /&gt;
&lt;br /&gt;
here is a simple code:&lt;br /&gt;
&lt;div dir="ltr" style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #f0f0f0" align="left"&gt;static public boolean isAndroidPlatform()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Class.forName("android.Manifest");&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return true;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;catch (Exception ex)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return false;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
}&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
enjoy, and post replies...&lt;br /&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MdbBlog/~4/i89KABozbyU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mdb-blog.blogspot.com/feeds/491788677602223985/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mdb-blog.blogspot.com/2010/05/j2me-identify-midp-runner-over-android.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/491788677602223985?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/491788677602223985?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MdbBlog/~3/i89KABozbyU/j2me-identify-midp-runner-over-android.html" title="J2ME | identify MIDP runner over Android OS" /><author><name>sami.e</name><uri>http://www.blogger.com/profile/17924298382466536337</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mdb-blog.blogspot.com/2010/05/j2me-identify-midp-runner-over-android.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEIMRHo5eSp7ImA9WxBVFU0.&quot;"><id>tag:blogger.com,1999:blog-9087075508981084919.post-6823855506081853887</id><published>2010-02-18T16:16:00.000+02:00</published><updated>2010-02-18T16:16:25.421+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-18T16:16:25.421+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="xhtml" /><category scheme="http://www.blogger.com/atom/ns#" term="center" /><category scheme="http://www.blogger.com/atom/ns#" term="align" /><category scheme="http://www.blogger.com/atom/ns#" term="compare tables" /><category scheme="http://www.blogger.com/atom/ns#" term="wap" /><category scheme="http://www.blogger.com/atom/ns#" term="html" /><title>xHTML | Align center table</title><content type="html">&lt;div dir="rtl" style="text-align: right;" trbidi="on"&gt;&lt;div style="direction: ltr; text-align: left;"&gt;After hours of searching and checking, the following code makes your table &lt;br /&gt;
to align center of the screen.&lt;br /&gt;
This code tested and working on some WAP xHTML (MP) devices.&lt;br /&gt;
&lt;br /&gt;
The first code should set table's margin as the following:&lt;br /&gt;
&lt;i style="color: #444444; font-weight: bold;"&gt;table&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;margin-left: auto;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;margin-right: auto;&lt;br /&gt;
}&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
now, insert your table in div element:&lt;br /&gt;
&lt;i style="color: #444444; font-weight: bold;"&gt;&amp;lt;div style="text-align: center;"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Enjoy.&lt;br /&gt;
Ask question if needed...&lt;br /&gt;
&lt;/i&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MdbBlog/~4/cmk6yytOzlg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mdb-blog.blogspot.com/feeds/6823855506081853887/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mdb-blog.blogspot.com/2010/02/xhtml-align-center-table.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/6823855506081853887?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/6823855506081853887?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MdbBlog/~3/cmk6yytOzlg/xhtml-align-center-table.html" title="xHTML | Align center table" /><author><name>sami.e</name><uri>http://www.blogger.com/profile/17924298382466536337</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mdb-blog.blogspot.com/2010/02/xhtml-align-center-table.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEUDQXw5fCp7ImA9WxBXGUk.&quot;"><id>tag:blogger.com,1999:blog-9087075508981084919.post-3006587988067824155</id><published>2010-01-31T15:57:00.000+02:00</published><updated>2010-01-31T15:57:50.224+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-31T15:57:50.224+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="file" /><category scheme="http://www.blogger.com/atom/ns#" term="excel" /><category scheme="http://www.blogger.com/atom/ns#" term="asp.net" /><category scheme="http://www.blogger.com/atom/ns#" term="html" /><category scheme="http://www.blogger.com/atom/ns#" term="upload" /><title>Javascript | clear input file value = file url</title><content type="html">&lt;div dir="ltr"&gt;Included javascript function for clearing INPUT FILE contents!&lt;br /&gt;
I did it for disable uploading NON excel file (.xls).&lt;br /&gt;
(a message should be include...)&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
The CODE for ASP.NET:&lt;br /&gt;
&lt;div dir="ltr" style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #f0f0f0" align="left"&gt;&amp;lt;asp:FileUpload ID="txtFile" runat="server" &lt;br /&gt;
         Enabled="true" &lt;br /&gt;
                        &lt;span style="background-color:gold;"&gt;onchange="if (this.value.endsWith('.xls') == false) { this.parentNode.innerHTML = this.parentNode.innerHTML; }"&lt;/span&gt; /&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
The CODE HTML:&lt;br /&gt;
&lt;div dir="ltr" style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #f0f0f0" align="left"&gt;&lt;br /&gt;
&amp;lt;input type="file" &lt;span style="background-color:gold;"&gt;onchange="if (this.value.endsWith('.xls') == false) { this.parentNode.innerHTML = this.parentNode.innerHTML; }"&lt;/span&gt; style="width:216px;" /&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enjoy... &lt;br /&gt;
:)&lt;img src="http://feeds.feedburner.com/~r/MdbBlog/~4/Kt-LKEKLl4s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mdb-blog.blogspot.com/feeds/3006587988067824155/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mdb-blog.blogspot.com/2010/01/javascript-clear-input-file-value-file.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/3006587988067824155?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9087075508981084919/posts/default/3006587988067824155?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MdbBlog/~3/Kt-LKEKLl4s/javascript-clear-input-file-value-file.html" title="Javascript | clear input file value = file url" /><author><name>sami.e</name><uri>http://www.blogger.com/profile/17924298382466536337</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mdb-blog.blogspot.com/2010/01/javascript-clear-input-file-value-file.html</feedburner:origLink></entry></feed>
