<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Sunday Morning Musings on IIS</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/lprete/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/lprete/feed.xml</link>
    <description>Lou&amp;#039;s IIS Blog</description>
    <lastBuildDate>Wed, 17 Apr 2019 04:10:40 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>IIS7: The path is not of a legal form.</title>
      <link>https://docs.microsoft.com/archive/blogs/lprete/iis7-the-path-is-not-of-a-legal-form</link>
      <pubDate>Sun, 03 May 2009 10:53:00 GMT</pubDate>
      <dc:creator><![CDATA[lprete]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/lprete/2009/05/03/iis7-the-path-is-not-of-a-legal-form/</guid>
      <description><![CDATA[I recently encountered the error “The path is not of a legal form.” from the IIS 7.0 Manager, but...]]></description>
      <content:encoded><![CDATA[<p></p>  <p>I recently encountered the error “The path is not of a legal form.” from the IIS 7.0 Manager, but was unable to find any documentation on the error.&#160; Oddly this error didn’t log anything in the System Event Log either.&#160; </p>  <p>The error sounds like a config issue so I focused on web.config and applicationHost.config.</p>  <h3>Problem:</h3>  <p>When expanding a website in the IIS Manager we get the error below.&#160; This happens only for one specific web site, other sites are on the server are fine.&#160; Additionally the problematic site continues to serve out pages without error.&#160; The only real problem here is an inability to administer the web site.</p>  <h3>Error:</h3>  <p>Internet Information Services (IIS) Manager    <br />The path is not of a legal form.</p>  <blockquote>   <p>Screenshot:      <br /><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Internet Information Services (IIS) Manager - The path is not of a legal form." border="0" alt="Internet Information Services (IIS) Manager - The path is not of a legal form." src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/lprete/WindowsLiveWriter/4c25a1447c3a_8C01/IISError_1.jpg" original-url="https://blogs.msdn.com/blogfiles/lprete/WindowsLiveWriter/4c25a1447c3a_8C01/IISError_1.jpg" width="310" height="159" /></p> </blockquote>  <p>&#160;</p>  <h3>Cause:</h3>  <p>After inspecting applicationHost.config I noted that one application didn’t have a physical path specified.</p>  <p></p>  <blockquote>   <p class="MsoNormal"><span style="line-height: 115%; font-family: &quot;Courier New&quot;; color: blue; font-size: 10pt; mso-no-proof: yes; mso-ansi-language: en" lang="EN">&lt;</span><span style="line-height: 115%; font-family: &quot;Courier New&quot;; color: #a31515; font-size: 10pt; mso-no-proof: yes; mso-ansi-language: en" lang="EN">application</span><span style="line-height: 115%; font-family: &quot;Courier New&quot;; color: blue; font-size: 10pt; mso-no-proof: yes; mso-ansi-language: en" lang="EN"> </span><span style="line-height: 115%; font-family: &quot;Courier New&quot;; color: red; font-size: 10pt; mso-no-proof: yes; mso-ansi-language: en" lang="EN">path</span><span style="line-height: 115%; font-family: &quot;Courier New&quot;; color: blue; font-size: 10pt; mso-no-proof: yes; mso-ansi-language: en" lang="EN">=</span><span style="line-height: 115%; font-family: &quot;Courier New&quot;; font-size: 10pt; mso-no-proof: yes; mso-ansi-language: en" lang="EN">&quot;<span style="color: blue">/appdir</span>&quot;<span style="color: blue"> </span><span style="color: red">applicationPool</span><span style="color: blue">=</span>&quot;<span style="color: blue">DefaultAppPool</span>&quot;<span style="color: blue">&gt;          <br />&#160;&#160;&#160;&#160;&#160;&#160; &lt;</span><span style="color: #a31515">virtualDirectory</span><span style="color: blue"> </span><span style="color: red">path</span><span style="color: blue">=</span>&quot;<span style="color: blue">/</span>&quot;<span style="color: blue"> </span><span style="background: yellow; color: red; mso-highlight: yellow">physicalPath</span><span style="background: yellow; color: blue; mso-highlight: yellow">=</span><span style="background: yellow; mso-highlight: yellow">&quot;&quot;</span><span style="color: blue"> /&gt;          <br />&lt;/</span><span style="color: #a31515">application</span><span style="color: blue">&gt;</span></span></p> </blockquote>  <h3>Notes:</h3>  <p style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none" class="MsoNormal">This is a situation that we should never find ourselves in, unfortunately we did.&#160; The IIS manager wouldn’t let us make this kind of configuration setting, the physicalPath is required.&#160; In our case we got here by a third party application installation failure.</p>  <p style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none" class="MsoNormal">After noting the config error in the applicationHost.config we also determined that the problem was detectable in the IIS Manager itself by viewing the applications in the application pool.</p>  <p style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none" class="MsoNormal"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="View Applications" border="0" alt="View Applications" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/lprete/WindowsLiveWriter/4c25a1447c3a_8C01/image_6.png" original-url="https://blogs.msdn.com/blogfiles/lprete/WindowsLiveWriter/4c25a1447c3a_8C01/image_6.png" width="500" height="399" /> </p>  <p style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none" class="MsoNormal">Once we were viewing the various applications in the application pool it was obvious that there was one application which had it’s Physical path set to blank.</p>  <p style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none" class="MsoNormal"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Missing Physical Path" border="0" alt="Missing Physical Path" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/lprete/WindowsLiveWriter/4c25a1447c3a_8C01/image_3.png" original-url="https://blogs.msdn.com/blogfiles/lprete/WindowsLiveWriter/4c25a1447c3a_8C01/image_3.png" width="500" height="175" />&#160;</p>  <p style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none" class="MsoNormal">&#160;</p>  <h3>Solution:</h3>  <p>All Applications must have a valid physical path.</p>]]></content:encoded>
    </item>
    <item>
      <title>Session_OnEnd, Classic ASP and IIS 7.0</title>
      <link>https://docs.microsoft.com/archive/blogs/lprete/session_onend-classic-asp-and-iis-7-0</link>
      <pubDate>Sun, 04 Jan 2009 06:00:00 GMT</pubDate>
      <dc:creator><![CDATA[lprete]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/lprete/2009/01/04/session_onend-classic-asp-and-iis-7-0/</guid>
      <description><![CDATA[I have found that a classic ASP application that worked just fine on IIS 5.0 and IIS 6.0 may have...]]></description>
      <content:encoded><![CDATA[<P>I have found that a classic ASP application that worked just fine on IIS 5.0 and IIS 6.0 may have some problems in IIS 7.0 if it is making use of the Session_OnEnd function in Global.asa.</P>
<P>Here is the set up, I have a very simple global.asa file which increments <STRONG><EM>SessionCount</EM></STRONG> in <STRONG>Session_OnStart</STRONG> and decrements <STRONG><EM>SessionCount</EM></STRONG> in <STRONG>Session_OnEnd</STRONG>:</P>
<TABLE class="" cellSpacing=0 cellPadding=2 width=576 border=0>
<TBODY>
<TR>
<TD class="" vAlign=top width=10>&nbsp;</TD>
<TD class="" vAlign=top width=562>
<P><FONT face="Courier New" size=2>Sub Session_OnStart&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; Application("SessionCount")=Application("</FONT><FONT face="Courier New" size=2>Session</FONT><FONT face="Courier New" size=2>Count</FONT><FONT face="Courier New" size=2>")+1 <BR>End Sub </FONT></P>
<P><FONT face="Courier New" size=2>Sub Session_OnEnd <BR>&nbsp;&nbsp;&nbsp; Application("</FONT><FONT face="Courier New" size=2>Session</FONT><FONT face="Courier New" size=2>Count</FONT><FONT face="Courier New" size=2>")=Application("</FONT><FONT face="Courier New" size=2>Session</FONT><FONT face="Courier New" size=2>Count</FONT><FONT face="Courier New" size=2>")-1 <BR>End Sub</FONT> </P></TD></TR></TBODY></TABLE>
<P>and a very simple asp page which reports the value of <STRONG><EM>SessionCount</EM></STRONG>.</P>
<TABLE class="" cellSpacing=0 cellPadding=2 width=574 border=0>
<TBODY>
<TR>
<TD class="" vAlign=top width=10><FONT face="Courier New" size=2></FONT></TD>
<TD class="" vAlign=top width=562>
<P><FONT face="Courier New" size=2>&lt;% <BR>&nbsp;&nbsp;&nbsp; response.write("Session Counter Equals:&nbsp; ") <BR>&nbsp;&nbsp;&nbsp; response.write(Application("</FONT><FONT face="Courier New" size=2>Session</FONT><FONT face="Courier New" size=2>Count")) <BR>%&gt;</FONT></P>
<P><FONT face="Courier New" size=2></FONT></P></TD></TR></TBODY></TABLE>
<P>Seems simple enough right?</P>
<P>Well it is, and on IIS 5.0 and IIS 6.0 this simple set up works just as expected.&nbsp; However, on IIS 7.0 the session count never decrements.</P>
<P>To allow <STRONG>Session_OnEnd </STRONG>to execute correctly we need to set <FONT face="Courier New" size=2>RunOnEndAnonymously=False</FONT>.&nbsp; To set this value we just need to run this command:</P>
<TABLE class="" cellSpacing=0 cellPadding=2 width=574 border=0>
<TBODY>
<TR>
<TD class="" vAlign=top width=10><FONT face="Courier New" color=#ff0000 size=2></FONT></TD>
<TD class="" vAlign=top width=562>
<P><FONT face="Courier New" color=#ff0000 size=2>appcmd set config /section:system.webServer/asp /runOnEndAnonymously:false</FONT></P></TD></TR></TBODY></TABLE>
<P>Once this change is made the <STRONG>applicationhost.config</STRONG> should have the following entry:</P>
<TABLE class="" cellSpacing=0 cellPadding=2 width=574 border=0>
<TBODY>
<TR>
<TD class="" vAlign=top width=10><FONT face="Courier New" color=#ff0000 size=2></FONT></TD>
<TD class="" vAlign=top width=562>
<P><FONT face="Courier New" size=2>&lt;system.webServer&gt; <BR>&nbsp;&nbsp;&nbsp; &lt;asp runOnEndAnonymously="false" /&gt; <BR>&nbsp;&nbsp;&nbsp; &lt;/asp&gt; <BR>&lt;/system.webServer&gt;</FONT></P></TD></TR></TBODY></TABLE>
<P>After this the <STRONG>Session_OnEnd</STRONG> event should fire and run successfully.&nbsp; </P>
<P>NOTE: We could also use <EM>adsutil.vbs </EM>to make the needed change. <STRONG>IIS 6.0 Management Compatibility Role Service</STRONG> will need to be installed.&nbsp; Once it is installed we need to run this command to make the needed change:</P>
<TABLE class="" cellSpacing=0 cellPadding=2 width=574 border=0>
<TBODY>
<TR>
<TD class="" vAlign=top width=10><FONT face="Courier New" color=#ff0000 size=2></FONT></TD>
<TD class="" vAlign=top width=562>
<P><FONT face="Courier New" color=#ff0000 size=2>cscript.exe c:\inetpub\adminscripts\adsutil.vbs set w3svc/AspRunOnEndAnonymously false</FONT></P></TD></TR></TBODY></TABLE>]]></content:encoded>
    </item>
    <item>
      <title>RSS Feed of IIS Topics</title>
      <link>https://docs.microsoft.com/archive/blogs/lprete/rss-feed-of-iis-topics</link>
      <pubDate>Wed, 25 Jun 2008 08:59:00 GMT</pubDate>
      <dc:creator><![CDATA[lprete]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/lprete/2008/06/25/rss-feed-of-iis-topics/</guid>
      <description><![CDATA[https://pipes.yahoo.com/pipes/pipe.run?_id=EqlIGrFC3RGRK_U9X0sBXw&amp;_render=rss]]></description>
      <content:encoded><![CDATA[<A href="https://pipes.yahoo.com/pipes/pipe.run?_id=EqlIGrFC3RGRK_U9X0sBXw&amp;_render=rss">https://pipes.yahoo.com/pipes/pipe.run?_id=EqlIGrFC3RGRK_U9X0sBXw&amp;_render=rss</A>]]></content:encoded>
    </item>
    <item>
      <title>Cannot Select an Application Pool in IIS 6.0 "Invalid Application Pool" message</title>
      <link>https://docs.microsoft.com/archive/blogs/lprete/cannot-select-an-application-pool-in-iis-6-0-invalid-application-pool-message</link>
      <pubDate>Sun, 22 Jun 2008 11:36:12 GMT</pubDate>
      <dc:creator><![CDATA[lprete]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/lprete/2008/06/22/cannot-select-an-application-pool-in-iis-6-0-invalid-application-pool-message/</guid>
      <description><![CDATA[Problem Description  When trying to configure an Application Pool for a web site or web...]]></description>
      <content:encoded><![CDATA[<p></p>  <h1>Problem Description</h1>  <p>When trying to configure an Application Pool for a web site or web Application you see <strong>&lt;Invalid Application Pool&gt;</strong> in the Application Pool field on the Home Directory tab of the properties of the Site or Virtual directory. There may be other application pools to select or there may not. </p>  <p><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="471" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/lprete/WindowsLiveWriter/CannotSel.0InvalidApplicationPoolmessage_D01B/image_3.png" original-url="https://blogs.msdn.com/blogfiles/lprete/WindowsLiveWriter/CannotSel.0InvalidApplicationPoolmessage_D01B/image_3.png" width="487" border="0" /> </p>  <p>There are no errors in the system event log.</p>  <p>&#160;</p>  <h1>Cause</h1>  <br />  <p>This problem occurs when the KeyType element is missing or contains an invalid    <br />string. <a href="https://msdn2.microsoft.com/en-us/library/ms524547.aspx" target="_blank">A list of possible values for this element is available in MSDN.</a> </p>  <p>&#160;</p>  <h1>Resolution</h1>  <br />  <h2>Method #1</h2>  <p>Use adsutil.vbs to identify the Application pool which does not show up in the MMC</p>  <p>   <br /></p>  <p>Enumerate the application pools:</p>  <blockquote>   <p><style type="text/css">





.style1 {
	background-color: #000000;
}
.style2 {
	color: #ffffff;
	font-family: "Courier New", courier, monospace;

}</style>      <table class="style1" style="width: 100%" cellpadding="2"><tbody>         <tr>           <td><span class="style2">C:\Inetpub\AdminScripts&gt;<strong>adsutil.vbs enum /p w3svc/apppools</strong></span>               <br class="style2" /><span class="style2">[/w3svc/apppools/DefaultAppPool]</span>               <br class="style2" /><span class="style2">[/w3svc/apppools/ASP.NET 1.1]</span>               <br class="style2" /><span class="style2">[/w3svc/apppools/ASP.NET 2.0]</span>               <br class="style2" /><span class="style2">[/w3svc/apppools/Broken App Pool]</span>               <br class="style2" /><span class="style2">[/w3svc/apppools/Kerberos]</span>               <br class="style2" />              <br class="style2" /><span class="style2">C:\Inetpub\AdminScripts&gt;</span></td>         </tr>       </tbody></table>   </p> </blockquote>  <p>   <br />Then get each app pool keytype, we are looking for one which either returns &quot;<strong><em>The Parameter 'keytype' is not set at this node&quot;</em></strong> or returns a string which is <strong><em>NOT &quot;IIsApplicationPool&quot;</em></strong></p>  <blockquote>   <p><style type="text/css">




.style1 {
	background-color: #000000;
}
.style2 {
	color: #ffffff;
	font-family: "Courier New", courier, monospace;

}</style>      <table class="style1" style="width: 100%" cellpadding="2"><tbody>         <tr>           <td><span class="style2">C:\Inetpub\AdminScripts&gt;<strong>adsutil.vbs get &quot;w3svc/apppools/Broken App Pool/keytype&quot;</strong>                 <br />                <br />keytype&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : (STRING) &quot;IIsApplicationPoolNOT&quot;                 <br />                <br />C:\Inetpub\AdminScripts&gt;</span></td>         </tr>       </tbody></table>   </p> </blockquote>  <p>   <br />Once you have identified the invalid application pool you need to correct or add the value for keytype.</p>  <blockquote>   <p><style type="text/css">




.style1 {
	background-color: #000000;
}
.style2 {
	color: #ffffff;
	font-family: "Courier New", courier, monospace;

}</style>      <table class="style1" style="width: 100%" cellpadding="2"><tbody>         <tr>           <td class="style2">C:\Inetpub\AdminScripts&gt;<strong>adsutil.vbs set &quot;w3svc/apppools/Broken App Pool/keytype&quot; IIsApplicationPool</strong>               <br />keytype&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : (STRING) &quot;IIsApplicationPool&quot;               <br />              <br />C:\Inetpub\AdminScripts&gt;</td>         </tr>       </tbody></table>   </p> </blockquote>  <h2>Method #2</h2>  <p>You can also use <strong>Metabase Explorer</strong> to correct this issue. <strong>Metabase Explorer</strong> is part of the <strong><a href="https://www.microsoft.com/downloads/details.aspx?FamilyID=56fc92ee-a71a-4c73-b628-ade629c89499&amp;DisplayLang=en" target="_blank">IIS Resource Kit Tools</a>. </strong></p>  <ol>   <li>Open MB Explorer. </li>    <li>Expand <strong>LM&gt;W3SVC&gt;AppPools</strong>.       <br /><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="276" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/lprete/WindowsLiveWriter/CannotSel.0InvalidApplicationPoolmessage_D01B/image_6.png" original-url="https://blogs.msdn.com/blogfiles/lprete/WindowsLiveWriter/CannotSel.0InvalidApplicationPoolmessage_D01B/image_6.png" width="191" border="0" /> </li>    <li>Look for application pool which does not show up in IIS MMC or one missing or with an invalid string value. The only valid value at this location is &quot;IIsApplicationPool&quot;.      <br /><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="90" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/lprete/WindowsLiveWriter/CannotSel.0InvalidApplicationPoolmessage_D01B/image_9.png" original-url="https://blogs.msdn.com/blogfiles/lprete/WindowsLiveWriter/CannotSel.0InvalidApplicationPoolmessage_D01B/image_9.png" width="570" border="0" /> </li>    <li>Add a Record called &quot;KeyType&quot; with a value of &quot;IIsApplicationPool&quot;.      <br /><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="516" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/lprete/WindowsLiveWriter/CannotSel.0InvalidApplicationPoolmessage_D01B/image_12.png" original-url="https://blogs.msdn.com/blogfiles/lprete/WindowsLiveWriter/CannotSel.0InvalidApplicationPoolmessage_D01B/image_12.png" width="382" border="0" /> </li>    <li>Close Metabase Explorer. </li>    <li>Open IIS MMC and should be able to change application pool on web site/virtual directory now. </li> </ol>  <div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e06ccebb-2235-424f-a566-018fc6a5e117" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tags: <a href="https://technorati.com/tags/IIS%206.0" rel="tag">IIS 6.0</a>,<a href="https://technorati.com/tags/Metabase.xml" rel="tag">Metabase.xml</a></div>]]></content:encoded>
    </item>
    <item>
      <title>Assign a private key to a new certificate after you use the Certificates snap-in to delete the original certificate in Internet Information Services</title>
      <link>https://docs.microsoft.com/archive/blogs/lprete/assign-a-private-key-to-a-new-certificate-after-you-use-the-certificates-snap-in-to-delete-the-original-certificate-in-internet-information-services</link>
      <pubDate>Sun, 25 Nov 2007 11:45:41 GMT</pubDate>
      <dc:creator><![CDATA[lprete]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/lprete/2007/11/25/assign-a-private-key-to-a-new-certificate-after-you-use-the-certificates-snap-in-to-delete-the-original-certificate-in-internet-information-services/</guid>
      <description><![CDATA[Often users will make the request for a new certificate then reinstall an older cert while waiting...]]></description>
      <content:encoded><![CDATA[<p mce_keep="true">Often users will make the request for a new certificate then reinstall an older cert while waiting on the new one, this breaks the link that IIS keeps with the location of the Private key.&#160; When installing the new Cert IIS (the certificate wizard) will report that is cannot find the Private Key. This relationship can repaired by using CertUtil.exe. </p>  <p mce_keep="true">To assign the existing private key to a new certificate, you must use the Microsoft Windows Server 2003 version of Certutil.exe. To do this, follow these steps:    <table class="list ol"><tbody>       <tr>         <td class="number">1.</td>          <td class="text">Log on to the computer that issued the certificate request by using an account that has administrative permissions.</td>       </tr>        <tr>         <td class="number">2.</td>          <td class="text">Click <strong class="uiterm">Start</strong>, click <strong class="uiterm">Run</strong>, type <span class="userInput">mmc</span>, and then click <strong class="uiterm">OK</strong>.</td>       </tr>        <tr>         <td class="number">3.</td>          <td class="text">On the <strong class="uiterm">File</strong> menu, click <strong class="uiterm">Add/Remove Snap-in</strong>. </td>       </tr>        <tr>         <td class="number">4.</td>          <td class="text">In the <strong class="uiterm">Add/Remove Snap-in</strong> dialog box, click <strong class="uiterm">Add</strong>. </td>       </tr>        <tr>         <td class="number">5.</td>          <td class="text">Click <strong class="uiterm">Certificates</strong>, and then click <strong class="uiterm">Add</strong>.</td>       </tr>        <tr>         <td class="number">6.</td>          <td class="text">In the <strong class="uiterm">Certificates snap-in</strong> dialog box, click <strong class="uiterm">Computer account</strong>, and then click <strong class="uiterm">Next</strong>.</td>       </tr>        <tr>         <td class="number">7.</td>          <td class="text">In the <strong class="uiterm">Select Computer</strong> dialog box, click <strong class="uiterm">Local computer: (the computer this console is running on)</strong>, and then click <strong class="uiterm">Finish</strong>. </td>       </tr>        <tr>         <td class="number">8.</td>          <td class="text">Click <strong class="uiterm">Close</strong>, and then click <strong class="uiterm">OK</strong>. </td>       </tr>        <tr>         <td class="number">9.</td>          <td class="text">In the Certificates snap-in, expand <strong class="uiterm">Certificates</strong>, right-click the <strong class="uiterm">Personal</strong> folder, point to <strong class="uiterm">All Tasks</strong>, and then click <strong class="uiterm">Import</strong>.</td>       </tr>        <tr>         <td class="number">10.</td>          <td class="text">On the Welcome to the Certificate Import Wizard page, click <strong class="uiterm">Next</strong>.</td>       </tr>        <tr>         <td class="number">11.</td>          <td class="text">On the <strong class="uiterm">File to Import</strong> page, click <strong class="uiterm">Browse</strong>. </td>       </tr>        <tr>         <td class="number">12.</td>          <td class="text">In the <strong class="uiterm">Open</strong> dialog box, click the new certificate, click <strong class="uiterm">Open</strong>, and then click <strong class="uiterm">Next</strong>.</td>       </tr>        <tr>         <td class="number">13.</td>          <td class="text">On the <strong class="uiterm">Certificate Store</strong> page, click <strong class="uiterm">Place all certificates in the following store</strong>, and then click <strong class="uiterm">Browse</strong>. </td>       </tr>        <tr>         <td class="number">14.</td>          <td class="text">In the <strong class="uiterm">Select Certificate Store</strong> dialog box, click <strong class="uiterm">Personal</strong>, click <strong class="uiterm">OK</strong>, click <strong class="uiterm">Next</strong>, and then click <strong class="uiterm">Finish</strong>.</td>       </tr>        <tr>         <td class="number">15.</td>          <td class="text">In the Certificates snap-in, double-click the imported certificate that is in the Personal folder.</td>       </tr>        <tr>         <td class="number">16.</td>          <td class="text">In the <strong class="uiterm">Certificate</strong> dialog box, click the <strong class="uiterm">Details</strong> tab. </td>       </tr>        <tr>         <td class="number">17.</td>          <td class="text">Click <strong class="uiterm">Serial Number</strong> in the Field column of the <strong class="uiterm">Details</strong> tab, highlight the serial number, and then write down the serial number. </td>       </tr>        <tr>         <td class="number">18.</td>          <td class="text">Click <strong class="uiterm">Start</strong>, click <strong class="uiterm">Run</strong>, type <span class="userInput">cmd</span>, and then click <strong class="uiterm">OK</strong>.</td>       </tr>        <tr>         <td class="number">19.</td>          <td class="text">At the command prompt, type the following:            <br /><span class="userInput">certutil -repairstore my &quot;<var>SerialNumber</var>&quot;</span>             <br />            <br /><var>SerialNumber</var> is the serial number that you wrote down in step 17.</td>       </tr>        <tr>         <td class="number">20.</td>          <td class="text">In the Certificates snap-in, right-click <strong class="uiterm">Certificates</strong>, and then click <strong class="uiterm">Refresh</strong>.             <br />            <br />The certificate now has an associated private key.</td>       </tr>     </tbody></table> You can now use the IIS MMC to assign the recovered keyset (certificate) to the Web site that you want.</p>]]></content:encoded>
    </item>
  </channel>
</rss>