summaryrefslogtreecommitdiff
path: root/indra/viewer_components/updater/llupdateinstaller.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/viewer_components/updater/llupdateinstaller.cpp')
-rw-r--r--indra/viewer_components/updater/llupdateinstaller.cpp20
1 files changed, 9 insertions, 11 deletions
diff --git a/indra/viewer_components/updater/llupdateinstaller.cpp b/indra/viewer_components/updater/llupdateinstaller.cpp
index 84f23b3acc..e99fd0af7e 100644
--- a/indra/viewer_components/updater/llupdateinstaller.cpp
+++ b/indra/viewer_components/updater/llupdateinstaller.cpp
@@ -26,10 +26,10 @@
#include "linden_common.h"
#include <apr_file_io.h>
#include "llapr.h"
-#include "llprocesslauncher.h"
+#include "llprocess.h"
#include "llupdateinstaller.h"
#include "lldir.h"
-
+#include "llsd.h"
#if defined(LL_WINDOWS)
#pragma warning(disable: 4702) // disable 'unreachable code' so we can use lexical_cast (really!).
@@ -78,15 +78,13 @@ int ll_install_update(std::string const & script,
llinfos << "UpdateInstaller: installing " << updatePath << " using " <<
actualScriptPath << LL_ENDL;
- LLProcessLauncher launcher;
- launcher.setExecutable(actualScriptPath);
- launcher.addArgument(updatePath);
- launcher.addArgument(ll_install_failed_marker_path());
- launcher.addArgument(boost::lexical_cast<std::string>(required));
- int result = launcher.launch();
- launcher.orphan();
-
- return result;
+ LLSD params;
+ params["executable"] = actualScriptPath;
+ params["args"].append(updatePath);
+ params["args"].append(ll_install_failed_marker_path());
+ params["args"].append(boost::lexical_cast<std::string>(required));
+ params["autokill"] = false;
+ return LLProcess::create(params)? 0 : -1;
}