Index: src/wp-admin/css/forms.css
===================================================================
--- src/wp-admin/css/forms.css	(revision 33145)
+++ src/wp-admin/css/forms.css	(working copy)
@@ -499,6 +499,10 @@
 	display:none;
 }
 
+.wp-pwd{
+	margin-right: 20px;
+}
+
 .indicator-hint {
 	padding-top: 8px;
 }
Index: src/wp-admin/css/install.css
===================================================================
--- src/wp-admin/css/install.css	(revision 33145)
+++ src/wp-admin/css/install.css	(working copy)
@@ -198,38 +198,71 @@
 	font-family: Consolas, Monaco, monospace;
 }
 
+button.wp-hide-pw > .dashicons {
+	position: relative;
+	top: 3px;
+}
+
+.wp-pwd{
+	margin-right: 20px;
+}
+
 #pass-strength-result {
 	background-color: #eee;
-	border-color: #ddd !important;
-	border-style: solid;
-	border-width: 1px;
-	margin: 5px 5px 5px 0;
-	padding: 5px;
+	border: 1px solid #ddd;
+	padding: 3px 5px;
 	text-align: center;
-	width: 200px;
-	display: none;
+	width: 218px;
+	-webkit-box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	box-sizing: border-box;
+	opacity: 0;
 }
 
+#pass-strength-result.short {
+	opacity: 1;
+	background-color: #ffa0a0;
+	border-color: #f04040;
+}
+
 #pass-strength-result.bad {
+	opacity: 1;
 	background-color: #ffb78c;
-	border-color: #ff853c !important;
+	border-color: #ff853c;
 }
 
 #pass-strength-result.good {
+	opacity: 1;
 	background-color: #ffec8b;
-	border-color: #ffcc00 !important;
+	border-color: #fc0;
 }
 
-#pass-strength-result.short {
-	background-color: #ffa0a0;
-	border-color: #f04040 !important;
-}
-
 #pass-strength-result.strong {
+	opacity: 1;
 	background-color: #c3ff88;
-	border-color: #8dff1c !important;
+	border-color: #8dff1c;
 }
 
+#pass1.short {
+	border-color: #f04040;
+}
+
+#pass1.bad {
+	border-color: #ff853c;
+}
+
+#pass1.good {
+	border-color: #fc0;
+}
+
+#pass1.strong {
+	border-color: #8dff1c;
+}
+
+.pw-weak{
+	display:none;
+}
+
 .message {
 	border: 1px solid #c00;
 	padding: 0.5em 0.7em;
@@ -374,6 +407,11 @@
 	vertical-align: top;
 }
 
+.button-secondary.hide-if-no-js,
+.hide-if-no-js {
+	display:none;
+}
+
 /**
  * HiDPI Displays
  */
Index: src/wp-admin/install.php
===================================================================
--- src/wp-admin/install.php	(revision 33145)
+++ src/wp-admin/install.php	(working copy)
@@ -128,18 +128,40 @@
 			</td>
 		</tr>
 		<?php if ( ! $user_table ) : ?>
-		<tr>
+		<tr class="form-field form-required user-pass1-wrap">
 			<th scope="row">
-				<label for="pass1"><?php _e('Password, twice'); ?></label>
-				<p><?php _e('A password will be automatically generated for you if you leave this blank.'); ?></p>
+				<label for="pass1">
+					<?php _e( 'Password' ); ?>
+					<span class="description hide-if-js"><?php /* translators: password input field */_e( '(required)' ); ?></span>
+				</label>
 			</th>
 			<td>
-				<input name="admin_password" type="password" id="pass1" size="25" value="" />
-				<p><input name="admin_password2" type="password" id="pass2" size="25" value="" /></p>
-				<div id="pass-strength-result"><?php _e('Strength indicator'); ?></div>
-				<p><?php echo wp_get_password_hint(); ?></p>
+				<button type="button" class="button button-secondary wp-generate-pw hide-if-no-js"><?php _e( 'Show password' ); ?></button>
+				<div class="wp-pwd hide-if-js">
+					<?php $initial_password = wp_generate_password( 24 ); ?>
+					<input type="password" name="admin_password" id="pass1" class="regular-text" autocomplete="off" data-reveal="1" data-pw="<?php echo esc_attr( $initial_password ); ?>" />
+					<button type="button" class="button button-secondary wp-hide-pw hide-if-no-js" data-toggle="0">
+						<span class="dashicons dashicons-visibility"></span>
+						<span class="text">hide</span>
+					</button>
+					<div style="display:none" id="pass-strength-result"></div>
+				</div>
+				<p><span class="description hide-if-no-js"><?php _e( 'A password reset link will be sent to the user via email' ); ?></span></p>
 			</td>
 		</tr>
+		<tr class="form-field form-required user-pass2-wrap hide-if-js">
+			<th scope="row"><label for="pass2"><?php _e( 'Repeat Password' ); ?> <span class="description"><?php /* translators: password input field */_e('(required)'); ?></span></label></th>
+			<td>
+			<input name="admin_password2" type="password" id="pass2" autocomplete="off" />
+			</td>
+		</tr>
+		<tr class="pw-weak">
+			<th><label for="pw-weak"><?php _e( 'Confirm Password' ); ?></label></th>
+			<td>
+				<input type="checkbox" name="pw-weak" class="pw-checkbox" />
+				<?php _e( 'Confirm use of weak password' ); ?>
+			</td>
+		</tr>
 		<?php endif; ?>
 		<tr>
 			<th scope="row"><label for="admin_email"><?php _e( 'Your E-mail' ); ?></label></th>
@@ -151,7 +173,7 @@
 			<td colspan="2"><label><input type="checkbox" name="blog_public" id="blog_public" value="1" <?php checked( $blog_public ); ?> /> <?php _e( 'Allow search engines to index this site.' ); ?></label></td>
 		</tr>
 	</table>
-	<p class="step"><input type="submit" name="Submit" value="<?php esc_attr_e( 'Install WordPress' ); ?>" class="button button-large" /></p>
+	<p class="step"><input id="submit" type="submit" name="Submit" value="<?php esc_attr_e( 'Install WordPress' ); ?>" class="button button-large" /></p>
 	<input type="hidden" name="language" value="<?php echo isset( $_REQUEST['language'] ) ? esc_attr( $_REQUEST['language'] ) : ''; ?>" />
 </form>
 <?php
@@ -323,5 +345,10 @@
 <?php } ?>
 <?php wp_print_scripts( 'user-profile' ); ?>
 <?php wp_print_scripts( 'language-chooser' ); ?>
+<script type="text/javascript">
+jQuery( document ).ready( function ( $ ) {
+	$( '.hide-if-no-js' ).removeClass( 'hide-if-no-js' );
+} );
+</script>
 </body>
 </html>
Index: src/wp-includes/pluggable.php
===================================================================
--- src/wp-includes/pluggable.php	(revision 33145)
+++ src/wp-includes/pluggable.php	(working copy)
@@ -2107,8 +2107,9 @@
 		$rnd_value .= sha1($rnd_value);
 		$rnd_value .= sha1($rnd_value . $seed);
 		$seed = md5($seed . $rnd_value);
-		if ( ! defined( 'WP_SETUP_CONFIG' ) )
-			set_transient('random_seed', $seed);
+		if ( ! defined( 'WP_SETUP_CONFIG' ) && ! defined( 'WP_INSTALLING' ) ) {
+			set_transient( 'random_seed', $seed );
+		}
 	}
 
 	// Take the first 8 digits for our value
