diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index 0073641ed450d5b3ac64c6852c9a902985ec0569..55d64fd3a65b3f502016f2115c89bbacdf9af04c 100644
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -251,6 +251,10 @@ def construct(self):
         if self.prefix(src=os.path.join(os.pardir, 'sharedlibs', self.args['configuration']),
                        dst=""):
 
+            if self.prefix(src="../../viewer_components/updater", dst=""):
+                self.path("update_install.bat")
+                self.end_prefix()
+
             self.enable_crt_manifest_check()
 
             # Get kdu dll, continue if missing.
diff --git a/indra/viewer_components/updater/CMakeLists.txt b/indra/viewer_components/updater/CMakeLists.txt
index c5ccfbf66a2c5f5d62a2950239fb0f5e9494fbb6..469c0cf05e4d3eda345fa9bb9744a9d76d6b9c33 100644
--- a/indra/viewer_components/updater/CMakeLists.txt
+++ b/indra/viewer_components/updater/CMakeLists.txt
@@ -89,6 +89,13 @@ if(DARWIN)
 		update_installer_targets
 		"update_install"
 		)
+elseif(WINDOWS)
+	copy_if_different(
+		"${CMAKE_CURRENT_SOURCE_DIR}/scripts/windows"
+		"${CMAKE_CURRENT_BINARY_DIR}"
+		update_installer_targets
+		"update_install.bat"
+		)
 endif()
 add_custom_target(copy_update_install ALL DEPENDS ${update_installer_targets})
 add_dependencies(llupdaterservice copy_update_install)
diff --git a/indra/viewer_components/updater/scripts/windows/update_install.bat b/indra/viewer_components/updater/scripts/windows/update_install.bat
new file mode 100644
index 0000000000000000000000000000000000000000..def33c13462738fcc1149a0e0d9ef1329c332766
--- /dev/null
+++ b/indra/viewer_components/updater/scripts/windows/update_install.bat
@@ -0,0 +1 @@
+start /WAIT %1
\ No newline at end of file