Index: src/js/_enqueues/wp/updates.js
===================================================================
--- src/js/_enqueues/wp/updates.js	(revision 56040)
+++ src/js/_enqueues/wp/updates.js	(working copy)
@@ -2832,9 +2832,17 @@
 
 				case 'install-plugin':
 				case 'update-plugin':
-					/* jscs:disable requireCamelCaseOrUpperCaseIdentifiers */
-					window.tb_remove();
-					/* jscs:enable */
+					var slug        = message.data.slug;
+					var activate    = $( '#plugin-activate-' + slug );
+					var isActivated = ( 1 === activate.length() ) ? true : false;
+					// todo: execute update/install and handle notifications.
+					if ( isActivated ) {
+						/* jscs:disable requireCamelCaseOrUpperCaseIdentifiers */
+						window.tb_remove();
+						/* jscs:enable */
+					} else {
+						activate.show().trigger( 'focus' );
+					}
 
 					message.data = wp.updates._addCallbacks( message.data, message.action );
 
Index: src/wp-admin/includes/plugin-install.php
===================================================================
--- src/wp-admin/includes/plugin-install.php	(revision 56040)
+++ src/wp-admin/includes/plugin-install.php	(working copy)
@@ -899,6 +899,50 @@
 				echo '<a class="button button-primary right disabled">' . __( 'Latest Version Installed' ) . '</a>';
 				break;
 		}
+
+		$installed_plugin = get_plugins( '/' . $api->slug );
+		$key              = array_keys( $installed_plugin );
+		// Use the first plugin regardless of the name.
+		// Could have issues for multiple plugins in one directory if they share different version numbers.
+		$key         = reset( $key );
+		$plugin_file = $api->slug . '/' . $key;
+
+		if ( is_network_admin() ) {
+			$is_active  = is_plugin_active_for_network( $plugin_file );
+		} else {
+			$is_active  = is_plugin_active( $plugin_file );
+		}
+		$link = '';
+		if ( ! $is_active && $installed_plugin && current_user_can( 'activate_plugin', $plugin_file ) ) {
+			if ( $compatible_php && $compatible_wp ) {
+				$button_label = _x( 'Activate', 'plugin' );
+				$activate_url = add_query_arg(
+					array(
+						'_wpnonce' => wp_create_nonce( 'activate-plugin_' . $status['file'] ),
+						'action'   => 'activate',
+						'plugin'   => $plugin_file,
+					),
+					network_admin_url( 'plugins.php' )
+				);
+
+				if ( is_network_admin() ) {
+					$button_label = _x( 'Network Activate', 'plugin' );
+					$activate_url = add_query_arg( array( 'networkwide' => 1 ), $activate_url );
+				}
+
+				$link = sprintf(
+					'<a href="%1$s" class="button right activate-now" target="_parent">%2$s</a>',
+					esc_url( $activate_url ),
+					$button_label
+				);
+			} else {
+				$link = sprintf(
+					'<button type="button" class="button right button-disabled" disabled="disabled">%s</button>',
+					_x( 'Cannot Activate', 'plugin' )
+				);
+			}
+		}
+		echo $link;
 	}
 	echo "</div>\n";
 
