This is a regression from 4.x as far as I can tell.

Steps:
* `git clone https://github.com/bpasero/electron-crashreporter`
* `yarn`
* open `constants.js` and configure:
  * `enableCrashReporter: false`
  * `crashMain` (or renderer, or child process): `true`
  * `tmpDir`: some location that exists
* `yarn start`

=> 🐛 the process that crashes goes to 100% CPU and does not terminate. My feeling is that this is a regression from adopting crashpad for Windows.

This is a blocker for shipping E6 for VSCode.

//cc @deepak1556 
shell/common/crash_reporter/crash_reporter_win.cc
base::UTF16ToUTF8(crashes_dir.value()).c_str()));
    crashpad_client_.StartHandler(handler_path, crashes_dir, crashes_dir,
                                  submit_url, StringMap(), args, true, false);
    UpdatePipeName();
  } else {
    std::unique_ptr<base::Environment> env(base::Environment::Create());
    std::string pipe_name_utf8;
    if (env->GetVar(electron::kCrashpadPipeName, &pipe_name_utf8)) {
      base::string16 pipe_name = base::UTF8ToUTF16(pipe_name_utf8);
      if (!crashpad_client_.SetHandlerIPCPipe(pipe_name))
        LOG(ERROR) << "Failed to set handler IPC pipe name: " << pipe_name;
    } else {
      LOG(ERROR) << "Unable to get pipe name for crashpad";
    }
  }
  crashpad::CrashpadInfo* crashpad_info =
      crashpad::CrashpadInfo::GetCrashpadInfo();
  if (skip_system_crash_handler) {
    crashpad_info->set_system_crash_reporter_forwarding(
        crashpad::TriState::kDisabled);
  }
  simple_string_dictionary_.reset(new crashpad::SimpleStringDictionary());
  crashpad_info->set_simple_annotations(simple_string_dictionary_.get());
  SetInitialCrashKeyValues();
  if (process_type_.empty()) {  
    database_ = crashpad::CrashReportDatabase::Initialize(crashes_dir);
    SetUploadToServer(upload_to_server);
  }
}
void CrashReporterWin::SetUploadParameters() {