Index: wp-admin/includes/misc.php
===================================================================
--- wp-admin/includes/misc.php	(revision 11710)
+++ wp-admin/includes/misc.php	(working copy)
@@ -154,7 +154,7 @@
 	// Using win_is_writable() instead of is_writable() because of a bug in Windows PHP
 	if ( ( ! file_exists($web_config_file) && win_is_writable($home_path) && $wp_rewrite->using_mod_rewrite_permalinks() ) || win_is_writable($web_config_file) ) {
 		if ( iis7_supports_permalinks() ) {
-			$rule = $wp_rewrite->iis7_url_rewrite_rules();
+			$rule = $wp_rewrite->iis7_url_rewrite_rules(false, '', '');
 			if ( ! empty($rule) ) {
 				return iis7_add_rewrite_rule($web_config_file, $rule);
 			} else {
@@ -587,6 +587,7 @@
 	$rule_fragment->appendXML($rewrite_rule);
 	$rules_node->appendChild($rule_fragment);
 
+	$doc->encoding = "UTF-8";
 	$doc->formatOutput = true;
 	saveDomDocument($doc, $filename);
 
Index: wp-admin/options-permalink.php
===================================================================
--- wp-admin/options-permalink.php	(revision 11710)
+++ wp-admin/options-permalink.php	(working copy)
@@ -222,13 +222,22 @@
 </p>
   </form>
 <?php if ($iis7_permalinks) :
-	if ( isset($_POST['submit']) && $permalink_structure && ! $usingpi && ! $writable ) : ?>
+	if ( isset($_POST['submit']) && $permalink_structure && ! $usingpi && ! $writable ) : 
+		if ( file_exists($home_path . 'web.config') ) : ?>
 <p><?php _e('If your <code>web.config</code> file were <a href="http://codex.wordpress.org/Changing_File_Permissions">writable</a>, we could do this automatically, but it isn&#8217;t so this is the url rewrite rule you should have in your <code>web.config</code> file. Click in the field and press <kbd>CTRL + a</kbd> to select all. Then insert this rule inside of the <code>/&lt;configuration&gt;/&lt;system.webServer&gt;/&lt;rewrite&gt;/&lt;rules&gt;</code> element in <code>web.config</code> file.') ?></p>
 <form action="options-permalink.php" method="post">
 <?php wp_nonce_field('update-permalink') ?>
-	<p><textarea rows="10" class="large-text readonly" name="rules" id="rules" readonly="readonly"><?php echo esc_html($wp_rewrite->iis7_url_rewrite_rules()); ?></textarea></p>
+	<p><textarea rows="9" class="large-text readonly" name="rules" id="rules" readonly="readonly"><?php echo esc_html($wp_rewrite->iis7_url_rewrite_rules()); ?></textarea></p>
 </form>
 <p><?php _e('If you temporarily make your <code>web.config</code> file writable for us to generate rewrite rules automatically, do not forget to revert the permissions after rule has been saved.')  ?></p>
+		<?php else : ?>
+<p><?php _e('If the root directory of your site were <a href="http://codex.wordpress.org/Changing_File_Permissions">writable</a>, we could do this automatically, but it isn&#8217;t so this is the url rewrite rule you should have in your <code>web.config</code> file. Create a new file, called <code>web.config</code> in the root directory of your site. Click in the field and press <kbd>CTRL + a</kbd> to select all. Then insert this code into the <code>web.config</code> file.') ?></p>
+<form action="options-permalink.php" method="post">
+<?php wp_nonce_field('update-permalink') ?>
+	<p><textarea rows="18" class="large-text readonly" name="rules" id="rules" readonly="readonly"><?php echo esc_html($wp_rewrite->iis7_url_rewrite_rules(true)); ?></textarea></p>
+</form>
+<p><?php _e('If you temporarily make your site&#8217;s root directory writable for us to generate the <code>web.config</code> file automatically, do not forget to revert the permissions after the file has been created.')  ?></p>			
+		<?php endif; ?>
 	<?php endif; ?>
 <?php else :
 	if ( $permalink_structure && ! $usingpi && ! $writable ) : ?>
Index: wp-includes/rewrite.php
===================================================================
--- wp-includes/rewrite.php	(revision 11710)
+++ wp-includes/rewrite.php	(working copy)
@@ -1715,19 +1715,37 @@
 	 *
 	 * @return string
 	 */
-	function iis7_url_rewrite_rules(){
+	function iis7_url_rewrite_rules($add_parent_tags = false, $indent = "  ", $end_of_line = "\n") {
 
 		if ( ! $this->using_permalinks()) {
 			return '';
 		}
-		$rules  = "<rule name=\"wordpress\" patternSyntax=\"Wildcard\">\n";
-		$rules .= "	<match url=\"*\" />\n";
-		$rules .= "	<conditions>\n";
-		$rules .= "		<add input=\"{REQUEST_FILENAME}\" matchType=\"IsFile\" negate=\"true\" />\n";
-		$rules .= "		<add input=\"{REQUEST_FILENAME}\" matchType=\"IsDirectory\" negate=\"true\" />\n";
-		$rules .= "	</conditions>\n";
-		$rules .= "	<action type=\"Rewrite\" url=\"index.php\" />\n";
-		$rules .= "</rule>";
+		
+		$rules = '';
+		$extra_indent = '';
+		if ( $add_parent_tags ) {
+			$rules .= "<configuration>".$end_of_line;
+			$rules .= $indent."<system.webServer>".$end_of_line;
+			$rules .= $indent.$indent."<rewrite>".$end_of_line;
+			$rules .= $indent.$indent.$indent."<rules>".$end_of_line;
+			$extra_indent = $indent.$indent.$indent.$indent;
+		}
+		
+		$rules .= $extra_indent."<rule name=\"wordpress\" patternSyntax=\"Wildcard\">".$end_of_line;
+		$rules .= $extra_indent.$indent."<match url=\"*\" />".$end_of_line;
+		$rules .= $extra_indent.$indent.$indent."<conditions>".$end_of_line;
+		$rules .= $extra_indent.$indent.$indent.$indent."<add input=\"{REQUEST_FILENAME}\" matchType=\"IsFile\" negate=\"true\" />".$end_of_line;
+		$rules .= $extra_indent.$indent.$indent.$indent."<add input=\"{REQUEST_FILENAME}\" matchType=\"IsDirectory\" negate=\"true\" />".$end_of_line;
+		$rules .= $extra_indent.$indent.$indent."</conditions>".$end_of_line;
+		$rules .= $extra_indent.$indent."<action type=\"Rewrite\" url=\"index.php\" />".$end_of_line;
+		$rules .= $extra_indent."</rule>";
+		
+		if ( $add_parent_tags ) {
+			$rules .= $end_of_line.$indent.$indent.$indent."</rules>".$end_of_line;
+			$rules .= $indent.$indent."</rewrite>".$end_of_line;
+			$rules .= $indent."</system.webServer>".$end_of_line;
+			$rules .= "</configuration>";
+		}
 
 		$rules = apply_filters('iis7_url_rewrite_rules', $rules);
 
