summaryrefslogtreecommitdiffstats
path: root/cloud_print/virtual_driver
diff options
context:
space:
mode:
authorvitalybuka@chromium.org <vitalybuka@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-23 05:48:38 +0000
committervitalybuka@chromium.org <vitalybuka@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-23 05:48:38 +0000
commitf41da18890d075d126fbef0fc1f4e5b973d2d802 (patch)
treee16f0d51350c2719cc88b2c12ef647c945561be6 /cloud_print/virtual_driver
parentde9f3e4cb330674fa2247199316e886588facad5 (diff)
downloadchromium_src-f41da18890d075d126fbef0fc1f4e5b973d2d802.zip
chromium_src-f41da18890d075d126fbef0fc1f4e5b973d2d802.tar.gz
chromium_src-f41da18890d075d126fbef0fc1f4e5b973d2d802.tar.bz2
Moved more installer related code to cloud_print/common.
R=gene Review URL: https://chromiumcodereview.appspot.com/14358018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@195734 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cloud_print/virtual_driver')
-rw-r--r--cloud_print/virtual_driver/win/install/setup.cc33
-rw-r--r--cloud_print/virtual_driver/win/install/virtual_driver_install.gyp2
2 files changed, 2 insertions, 33 deletions
diff --git a/cloud_print/virtual_driver/win/install/setup.cc b/cloud_print/virtual_driver/win/install/setup.cc
index fbc297e..4cde7a9 100644
--- a/cloud_print/virtual_driver/win/install/setup.cc
+++ b/cloud_print/virtual_driver/win/install/setup.cc
@@ -453,44 +453,13 @@ HRESULT UnregisterVirtualDriver() {
return hr;
}
-HRESULT DeleteProgramDir(const base::FilePath& installer_source, bool wait) {
- base::FilePath temp_path;
- if (file_util::CreateTemporaryFile(&temp_path)) {
- file_util::CopyFile(installer_source, temp_path);
- file_util::DeleteAfterReboot(temp_path);
- CommandLine command_line(temp_path);
- command_line.AppendSwitchPath(kDelete, installer_source.DirName());
- base::LaunchOptions options;
- options.wait = wait;
- base::ProcessHandle process_handle;
- if (!base::LaunchProcess(command_line, options, &process_handle)) {
- LOG(ERROR) << "Unable to launch child uninstall.";
- return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED);
- }
- if (wait) {
- int exit_code = -1;
- base::TerminationStatus status =
- base::GetTerminationStatus(process_handle, &exit_code);
- if (status == base::TERMINATION_STATUS_NORMAL_TERMINATION) {
- return exit_code;
- } else {
- LOG(ERROR) << "Improper termination of uninstall. " << status;
- return E_FAIL;
- }
- }
- }
- return S_OK;
-}
-
HRESULT DoUninstall() {
DeleteGoogleUpdateKeys(kGoogleUpdateProductId);
HRESULT result = UnregisterVirtualDriver();
if (FAILED(result))
return result;
DeleteUninstallKey(kUninstallId);
- base::FilePath installer_source;
- if (PathService::Get(base::FILE_EXE, &installer_source))
- return DeleteProgramDir(installer_source, false);
+ DeleteProgramDir(kDelete);
return S_OK;
}
diff --git a/cloud_print/virtual_driver/win/install/virtual_driver_install.gyp b/cloud_print/virtual_driver/win/install/virtual_driver_install.gyp
index 35c2b66..6180806 100644
--- a/cloud_print/virtual_driver/win/install/virtual_driver_install.gyp
+++ b/cloud_print/virtual_driver/win/install/virtual_driver_install.gyp
@@ -22,7 +22,7 @@
'dependencies': [
'../virtual_driver.gyp:virtual_driver_lib',
'<(DEPTH)/base/base.gyp:base',
- '<(DEPTH)/cloud_print/cloud_print.gyp:cloud_print_install_lib',
+ '<(DEPTH)/cloud_print/common/common.gyp:cloud_print_install_lib',
'<(DEPTH)/cloud_print/cloud_print.gyp:cloud_print_version_resources',
'virtual_driver_setup_resources',
],