diff --git a/autobuild.xml b/autobuild.xml
index f8daa6a418a9b7a84d7b7ebb8d0adec9518662e0..e12f7cbc1d7b2e5f968f323f36e3443dbd6f6ce5 100644
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -225,6 +225,48 @@
         <key>version</key>
         <string>1.57</string>
       </map>
+      <key>bugsplat</key>
+      <map>
+        <key>copyright</key>
+        <string>Copyright 2003-2017, BugSplat</string>
+        <key>description</key>
+        <string>Bugsplat crash reporting package</string>
+        <key>license</key>
+        <string>Proprietary</string>
+        <key>license_file</key>
+        <string>LICENSES/BUGSPLAT_LICENSE.txt</string>
+        <key>name</key>
+        <string>bugsplat</string>
+        <key>platforms</key>
+        <map>
+          <key>windows</key>
+          <map>
+            <key>archive</key>
+            <map>
+              <key>hash</key>
+              <string>f01c3cbeeeedf9efaf111c7b51fc3e5b</string>
+              <key>url</key>
+              <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/9929/48024/bugsplat-3.5.0.5-windows-509917.tar.bz2</string>
+            </map>
+            <key>name</key>
+            <string>windows</string>
+          </map>
+          <key>windows64</key>
+          <map>
+            <key>archive</key>
+            <map>
+              <key>hash</key>
+              <string>6878c5ac26ee1a7b8126d1c9f052e059</string>
+              <key>url</key>
+              <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/9928/48018/bugsplat-3.5.0.5-windows64-509917.tar.bz2</string>
+            </map>
+            <key>name</key>
+            <string>windows64</string>
+          </map>
+        </map>
+        <key>version</key>
+        <string>3.5.0.5</string>
+      </map>
       <key>chardet</key>
       <map>
         <key>copyright</key>
diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake
index 5ccbe7d1d82b7f456721e42a8fca3e4fd9c350ee..9238d232b865e2d398050e78797b9ff5b578d84b 100644
--- a/indra/cmake/Copy3rdPartyLibs.cmake
+++ b/indra/cmake/Copy3rdPartyLibs.cmake
@@ -39,6 +39,9 @@ if(WINDOWS)
         libeay32.dll
         glod.dll
         libhunspell.dll
+        BugSplat64.dll
+        BugSplatRc64.dll
+        BsSndRpt64.exe
         )
 
     if (FMODEX)
diff --git a/indra/cmake/bugsplat.cmake b/indra/cmake/bugsplat.cmake
new file mode 100644
index 0000000000000000000000000000000000000000..6805465023b3ca582214ae661fa7a438d7dd1c9c
--- /dev/null
+++ b/indra/cmake/bugsplat.cmake
@@ -0,0 +1,20 @@
+include(Prebuilt)
+
+set(BUGSPLAT_FIND_QUIETLY ON)
+set(BUGSPLAT_FIND_REQUIRED ON)
+
+if (USESYSTEMLIBS)
+  include(FindBUGSPLAT)
+else (USESYSTEMLIBS)
+  use_prebuilt_binary(bugsplat)
+  if (WINDOWS)
+    set(BUGSPLAT_LIBRARIES 
+      ${ARCH_PREBUILT_DIRS_RELEASE}/bugsplat64.lib
+      )
+  elseif (DARWIN)
+
+  else (WINDOWS)
+
+  endif (WINDOWS)
+  set(BUGSPLAT_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/bugsplat)
+endif (USESYSTEMLIBS)
diff --git a/indra/llcommon/CMakeLists.txt b/indra/llcommon/CMakeLists.txt
index d9eb13d65a6ece0a5289a8d2d1c8a87da03aa0df..50e262ae7a729f475ac31ee7a8c3fc8cc8b54091 100644
--- a/indra/llcommon/CMakeLists.txt
+++ b/indra/llcommon/CMakeLists.txt
@@ -13,6 +13,7 @@ include(GoogleBreakpad)
 include(Copy3rdPartyLibs)
 include(ZLIB)
 include(URIPARSER)
+include(BUGSPLAT)
 
 include_directories(
     ${EXPAT_INCLUDE_DIRS}
@@ -21,6 +22,7 @@ include_directories(
     ${ZLIB_INCLUDE_DIRS}
     ${BREAKPAD_INCLUDE_DIRECTORIES}
     ${URIPARSER_INCLUDE_DIRS}
+    ${BUGSPLAT_INCLUDE_DIR}
     )
 
 # add_executable(lltreeiterators lltreeiterators.cpp)
@@ -291,6 +293,7 @@ target_link_libraries(
     ${BOOST_SYSTEM_LIBRARY}
     ${GOOGLE_PERFTOOLS_LIBRARIES}
     ${URIPARSER_LIBRARIES}
+    ${BUGSPLAT_LIBRARIES}
     )
 
 if (DARWIN)
diff --git a/indra/llcommon/llapp.cpp b/indra/llcommon/llapp.cpp
index 6cc9e804d4ac4558551247128e31980ea0decb62..9dd9fc3c701318feefeacd9e33b93ea5f5ef87da 100644
--- a/indra/llcommon/llapp.cpp
+++ b/indra/llcommon/llapp.cpp
@@ -50,6 +50,10 @@
 #include "stringize.h"
 #include "llcleanup.h"
 
+#include "BugSplat.h"
+
+MiniDmpSender *mpSender;
+
 //
 // Signal handling
 //
@@ -151,6 +155,14 @@ void LLApp::commonCtor()
 	// (this is used to avoid allocating memory in the crash handler)
 	memset(mMinidumpPath, 0, MAX_MINDUMP_PATH_LENGTH);
 	mCrashReportPipeStr = L"\\\\.\\pipe\\LLCrashReporterPipe";
+
+
+	static const wchar_t *bugdb_name = L"second_life_callum_test";
+	static const wchar_t *app_name = L"SecondLifeViewer";
+	static const wchar_t *app_version = L"1.0.0";
+	mpSender = new MiniDmpSender((const __wchar_t *)bugdb_name, (const __wchar_t *)app_name, (const __wchar_t *)app_version, NULL);
+
+
 }
 
 LLApp::LLApp(LLErrorThread *error_thread) :
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index 71e348db3f1f0ee519a46258a9f51b73ec32b635..7292f715b764b4515d22e7d67f620eaaee19618f 100755
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -448,6 +448,11 @@ def construct(self):
             # Hunspell
             self.path("libhunspell.dll")
 
+            # BugSplat
+            self.path("BsSndRpt64.exe")
+            self.path("BugSplat64.dll")
+            self.path("BugSplatRc64.dll")
+
             # For google-perftools tcmalloc allocator.
             try:
                 if self.args['configuration'].lower() == 'debug':
@@ -457,7 +462,6 @@ def construct(self):
             except:
                 print "Skipping libtcmalloc_minimal.dll"
 
-
         self.path(src="licenses-win32.txt", dst="licenses.txt")
         self.path("featuretable.txt")
         self.path("ca-bundle.crt")
@@ -571,10 +575,15 @@ def construct(self):
             self.path("zh-CN.pak")
             self.path("zh-TW.pak")
 
-            with self.prefix(src=os.path.join(os.pardir, 'packages', 'bin', 'release'), dst="llplugin"):
-                self.path("libvlc.dll")
-                self.path("libvlccore.dll")
-                self.path("plugins/")
+        with self.prefix(src=os.path.join(os.pardir, 'packages', 'bin', 'release'), dst="llplugin"):
+            self.path("libvlc.dll")
+            self.path("libvlccore.dll")
+            self.path("plugins/")
+
+        with self.prefix(src=os.path.join(os.pardir, 'packages', 'lib', 'release'), dst=""):
+            self.path("BsSndRpt64.exe")
+            self.path("BugSplat64.dll")
+            self.path("BugSplatRc64.dll")
 
         # pull in the crash logger and updater from other projects
         # tag:"crash-logger" here as a cue to the exporter