diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake
index 2160d7230bc72124ab161ebb23f67c518cab2795..642fef757f0462cc61a29ac5114564a823e129d0 100644
--- a/indra/cmake/00-Common.cmake
+++ b/indra/cmake/00-Common.cmake
@@ -204,6 +204,11 @@ if (WINDOWS)
       /DURI_STATIC_BUILD=1
       /DLIBXML_STATIC=1
       /DHUNSPELL_STATIC=1
+      /DXML_STATIC=1
+      /DXMLRPCEPI_STATIC=1
+      /DAPR_DECLARE_STATIC=1
+      /DAPU_DECLARE_STATIC=1
+      /DAPI_DECLARE_STATIC=1
   )
 
   # configure win32 API for 7 and above compatibility
diff --git a/indra/cmake/APR.cmake b/indra/cmake/APR.cmake
index a7688ff0c0588a621fb4c3fe6e21dfe2e7c54839..8fe4144a28f852d88cc3388a23b3b6dd8f94b422 100644
--- a/indra/cmake/APR.cmake
+++ b/indra/cmake/APR.cmake
@@ -12,7 +12,7 @@ if (USESYSTEMLIBS)
 else (USESYSTEMLIBS)
   use_prebuilt_binary(apr_suite)
   if (WINDOWS)
-    set(APR_selector "lib")
+    set(APR_selector "")
     set(APR_LIBRARIES 
       debug ${ARCH_PREBUILT_DIRS_DEBUG}/${APR_selector}apr-1.lib
       optimized ${ARCH_PREBUILT_DIRS_RELEASE}/${APR_selector}apr-1.lib
@@ -25,7 +25,7 @@ else (USESYSTEMLIBS)
       debug ${ARCH_PREBUILT_DIRS_DEBUG}/${APR_selector}aprutil-1.lib ${APRICONV_LIBRARIES}
       optimized ${ARCH_PREBUILT_DIRS_RELEASE}/${APR_selector}aprutil-1.lib ${APRICONV_LIBRARIES}
       )
-  elseif (DARWIN)
+  else()
     set(APR_LIBRARIES 
       debug ${ARCH_PREBUILT_DIRS_DEBUG}/libapr-1.a
       optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libapr-1.a
@@ -35,11 +35,7 @@ else (USESYSTEMLIBS)
       debug ${ARCH_PREBUILT_DIRS_DEBUG}/libaprutil-1.a ${APRICONV_LIBRARIES}
       optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libaprutil-1.a ${APRICONV_LIBRARIES}
       )
-  else (WINDOWS)
-    set(APR_LIBRARIES apr-1)
-    set(APRUTIL_LIBRARIES aprutil-1)
-    set(APRICONV_LIBRARIES iconv)
-  endif (WINDOWS)
+  endif ()
   set(APR_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/apr-1)
 
   if (LINUX)
diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake
index 80e7c28f04528a5ba6ef8694ea11faf08b4409ab..2b61913803230707e0e9f978cb6c27d212f98b97 100644
--- a/indra/cmake/Copy3rdPartyLibs.cmake
+++ b/indra/cmake/Copy3rdPartyLibs.cmake
@@ -80,22 +80,12 @@ if(WINDOWS)
 
     set(debug_src_dir "${ARCH_PREBUILT_DIRS_DEBUG}")
     set(debug_files
-        libexpatd.dll
-        libapr-1.dll
-        libaprutil-1.dll
-        libapriconv-1.dll
         openjp2.dll
-        xmlrpc-epid.dll
         )
 
     set(release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}")
     set(release_files
-        libexpat.dll
-        libapr-1.dll
-        libaprutil-1.dll
-        libapriconv-1.dll
         openjp2.dll
-        xmlrpc-epi.dll
         )
 
     # Filenames are different for 32/64 bit BugSplat file and we don't
@@ -242,9 +232,6 @@ elseif(LINUX)
     set(release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}")
     # *FIX - figure out what to do with duplicate libalut.so here -brad
     set(release_files
-        libapr-1.so.0
-        libaprutil-1.so.0
-        ${EXPAT_COPY}
         libopenal.so
         libjpeg.so
         libjpeg.so.8
diff --git a/indra/cmake/EXPAT.cmake b/indra/cmake/EXPAT.cmake
index 0fdf5bf676c8ee4901331628ea96791daa2f4fa1..586fd09f2aa0e2dde76599ccb1bc70cf268cf50b 100644
--- a/indra/cmake/EXPAT.cmake
+++ b/indra/cmake/EXPAT.cmake
@@ -12,14 +12,10 @@ else (USESYSTEMLIBS)
         set(EXPAT_LIBRARIES
             debug ${ARCH_PREBUILT_DIRS_DEBUG}/libexpatd.lib
             optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libexpat.lib)
-        set(EXPAT_COPY libexpat.dll)
-    elseif (DARWIN)
+    else ()
         set(EXPAT_LIBRARIES
             debug ${ARCH_PREBUILT_DIRS_DEBUG}/libexpat.a
             optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libexpat.a)
-    else ()
-        set(EXPAT_LIBRARIES expat)
-        set(EXPAT_COPY libexpat.so.1 libexpat.so)
     endif ()
     set(EXPAT_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include)
 endif (USESYSTEMLIBS)
diff --git a/indra/cmake/XmlRpcEpi.cmake b/indra/cmake/XmlRpcEpi.cmake
index d1c2673a84dc225caa0ec0af724853fe051c816f..852412168963663275c62f53c229a6a99dc8f930 100644
--- a/indra/cmake/XmlRpcEpi.cmake
+++ b/indra/cmake/XmlRpcEpi.cmake
@@ -13,13 +13,11 @@ else (USESYSTEMLIBS)
             debug ${ARCH_PREBUILT_DIRS_DEBUG}/xmlrpc-epid.lib
             optimized ${ARCH_PREBUILT_DIRS_RELEASE}/xmlrpc-epi.lib
         )
-    elseif (DARWIN)
+    else()
         set(XMLRPCEPI_LIBRARIES
             debug ${ARCH_PREBUILT_DIRS_DEBUG}/libxmlrpc-epi.a
             optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libxmlrpc-epi.a
         )
-    else()
-        set(XMLRPCEPI_LIBRARIES xmlrpc-epi)
     endif (WINDOWS)
     set(XMLRPCEPI_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include)
 endif (USESYSTEMLIBS)
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 02982bb836e386cd26c747ad3c971b283c901274..cbfd7d5527cab919e2e06b7a1911f89beef02e1d 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -1950,9 +1950,6 @@ if (WINDOWS)
       # The following commented dependencies are determined at variably at build time. Can't do this here.
       ${CMAKE_SOURCE_DIR}/../etc/message.xml
       ${CMAKE_SOURCE_DIR}/../scripts/messages/message_template.msg
-      ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/libapr-1.dll
-      ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/libaprutil-1.dll
-      ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/libapriconv-1.dll
       ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/openjp2.dll
       ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/SLVoice.exe
       ${CMAKE_CURRENT_SOURCE_DIR}/licenses-win32.txt
@@ -1962,38 +1959,6 @@ if (WINDOWS)
       media_plugin_example
       )
 
-    if (GEN_IS_MULTI_CONFIG)
-      list(APPEND COPY_INPUT_DEPENDENCIES
-          ${SHARED_LIB_STAGING_DIR}/Release/libexpat.dll
-          ${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/libexpat.dll
-          ${SHARED_LIB_STAGING_DIR}/Debug/libexpatd.dll
-          )
-    elseif (UPPERCASE_CMAKE_BUILD_TYPE MATCHES DEBUG)
-      list(APPEND COPY_INPUT_DEPENDENCIES
-          ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/libexpatd.dll
-          )
-    else()
-      list(APPEND COPY_INPUT_DEPENDENCIES
-          ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/libexpat.dll
-          )
-    endif()
-
-    if (GEN_IS_MULTI_CONFIG)
-      list(APPEND COPY_INPUT_DEPENDENCIES
-          ${SHARED_LIB_STAGING_DIR}/Release/xmlrpc-epi.dll
-          ${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/xmlrpc-epi.dll
-          ${SHARED_LIB_STAGING_DIR}/Debug/xmlrpc-epid.dll
-          )
-    elseif (UPPERCASE_CMAKE_BUILD_TYPE MATCHES DEBUG)
-      list(APPEND COPY_INPUT_DEPENDENCIES
-          ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/xmlrpc-epid.dll
-          )
-    else()
-      list(APPEND COPY_INPUT_DEPENDENCIES
-          ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/xmlrpc-epi.dll
-          )
-    endif()
-    
     if (ADDRESS_SIZE EQUAL 64)
         list(APPEND COPY_INPUT_DEPENDENCIES
             ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/vivoxsdk_x64.dll
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index 5d7b5364bfd063ab34129c98957d761be6d6f702..ecb9183672b0b504d0d1c0cf68949be413a5fa36 100755
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -459,26 +459,9 @@ def construct(self):
         # Get shared libs from the shared libs staging directory
         with self.prefix(src=os.path.join(self.args['build'], os.pardir,
                                           'sharedlibs', self.args['configuration'])):
-            # APR Libraries
-            self.path("libapr-1.dll")
-            self.path("libapriconv-1.dll")
-            self.path("libaprutil-1.dll")
-
             # For image support
             self.path("openjp2.dll")
 
-            # HTTP and Network
-            if self.args['configuration'].lower() == 'debug':
-                self.path("xmlrpc-epid.dll")
-            else:
-                self.path("xmlrpc-epi.dll")
-
-            # Misc
-            if self.args['configuration'].lower() == 'debug':
-                self.path("libexpatd.dll")
-            else:
-                self.path("libexpat.dll")
-
             # Get openal dll for audio engine, continue if missing
             if self.args['openal'] == 'ON' or self.args['openal'] == 'TRUE':
                 # Get openal dll
@@ -1311,10 +1294,6 @@ def construct(self):
         debpkgdir = os.path.join(pkgdir, "lib", "debug")
 
         with self.prefix(src=relpkgdir, dst="lib"):
-            self.path("libapr-1.so*")
-            self.path("libaprutil-1.so*")
-            self.path("libdb*.so")
-            self.path("libexpat.so.*")
             self.path("libSDL2*.so*")
             self.path("libopenjp2.*so*")
             self.path("libjpeg.so*")
@@ -1362,9 +1341,6 @@ def construct(self):
         debpkgdir = os.path.join(pkgdir, "lib", "debug")
 
         with self.prefix(src=relpkgdir, dst="lib"):
-            self.path("libapr-1.so*")
-            self.path("libaprutil-1.so*")
-            self.path("libexpat.so.*")
             self.path("libSDL2*.so*")
             self.path("libopenjp2.*so*")
             self.path("libjpeg.so*")