Add more debugging in errors and VSCode installer
This commit is contained in:
parent
b4b6b292d0
commit
acb2d38d8a
|
@ -422,7 +422,7 @@ impl<'a> Step<'a> {
|
||||||
|
|
||||||
ensure!(
|
ensure!(
|
||||||
err == windows_sys::Win32::Foundation::ERROR_SUCCESS,
|
err == windows_sys::Win32::Foundation::ERROR_SUCCESS,
|
||||||
"RegGetValueA failed"
|
"RegGetValueA failed: {err}"
|
||||||
);
|
);
|
||||||
|
|
||||||
assert!(len <= CAPACITY as u32, "Buffer overflow caught");
|
assert!(len <= CAPACITY as u32, "Buffer overflow caught");
|
||||||
|
@ -459,13 +459,13 @@ impl<'a> Step<'a> {
|
||||||
|
|
||||||
ensure!(
|
ensure!(
|
||||||
err == windows_sys::Win32::Foundation::ERROR_SUCCESS,
|
err == windows_sys::Win32::Foundation::ERROR_SUCCESS,
|
||||||
"RegOpenKeyExA failed"
|
"RegOpenKeyExA failed: {err}"
|
||||||
);
|
);
|
||||||
|
|
||||||
// SAFETY: we just opened the key (which sets the handle) and checked for errors.
|
// SAFETY: we just opened the key (which sets the handle) and checked for errors.
|
||||||
let hkey = unsafe { hkey.assume_init() };
|
let hkey = unsafe { hkey.assume_init() };
|
||||||
|
|
||||||
ensure!(buffer.len() < u32::MAX as usize, "Buffer is too large");
|
ensure!(buffer.len() < u32::MAX as usize, "Buffer is too large: {}", buffer.len());
|
||||||
|
|
||||||
let err = unsafe {
|
let err = unsafe {
|
||||||
windows_sys::Win32::System::Registry::RegSetValueExA(
|
windows_sys::Win32::System::Registry::RegSetValueExA(
|
||||||
|
@ -480,7 +480,7 @@ impl<'a> Step<'a> {
|
||||||
|
|
||||||
ensure!(
|
ensure!(
|
||||||
err == windows_sys::Win32::Foundation::ERROR_SUCCESS,
|
err == windows_sys::Win32::Foundation::ERROR_SUCCESS,
|
||||||
"RegSetValueExA failed"
|
"RegSetValueExA failed: {err}"
|
||||||
);
|
);
|
||||||
|
|
||||||
let err = unsafe {
|
let err = unsafe {
|
||||||
|
@ -489,7 +489,7 @@ impl<'a> Step<'a> {
|
||||||
|
|
||||||
ensure!(
|
ensure!(
|
||||||
err == windows_sys::Win32::Foundation::ERROR_SUCCESS,
|
err == windows_sys::Win32::Foundation::ERROR_SUCCESS,
|
||||||
"RegCloseKey failed"
|
"RegCloseKey failed: {err}"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
12
src/main.rs
12
src/main.rs
|
@ -82,6 +82,9 @@ async fn main() -> Result<()> {
|
||||||
let deno_dir = swtools_path!("deno");
|
let deno_dir = swtools_path!("deno");
|
||||||
//let deno_exe = swtools_path!("deno" / "deno.exe");
|
//let deno_exe = swtools_path!("deno" / "deno.exe");
|
||||||
|
|
||||||
|
let vscode_zip = swtools_path!("temp" / "vscode.zip");
|
||||||
|
let vscode_dir = swtools_path!("vscode");
|
||||||
|
|
||||||
let nppp_pl = [
|
let nppp_pl = [
|
||||||
Step::DownloadFile {
|
Step::DownloadFile {
|
||||||
file: nppp_zip.into(),
|
file: nppp_zip.into(),
|
||||||
|
@ -258,6 +261,14 @@ async fn main() -> Result<()> {
|
||||||
Step::AppendPath(deno_dir.into()),
|
Step::AppendPath(deno_dir.into()),
|
||||||
];
|
];
|
||||||
|
|
||||||
|
let vscode_pl = [
|
||||||
|
Step::DownloadFile {
|
||||||
|
file: vscode_zip.into(),
|
||||||
|
res: RemoteResource::Url("https://code.visualstudio.com/sha/download?build=stable&os=win32-x64-archive"),
|
||||||
|
},
|
||||||
|
Step::ExtractFile { file: vscode_zip.into(), dest: vscode_dir.into() },
|
||||||
|
];
|
||||||
|
|
||||||
let pipelines = [
|
let pipelines = [
|
||||||
Pipeline::new("Install Notepad++", nppp_pl.as_slice()),
|
Pipeline::new("Install Notepad++", nppp_pl.as_slice()),
|
||||||
Pipeline::new("Install Explorer++", epp_pl.as_slice()),
|
Pipeline::new("Install Explorer++", epp_pl.as_slice()),
|
||||||
|
@ -270,6 +281,7 @@ async fn main() -> Result<()> {
|
||||||
Pipeline::new("Install Rust (nightly)", rust_pl.as_slice()),
|
Pipeline::new("Install Rust (nightly)", rust_pl.as_slice()),
|
||||||
// TODO: add an option to install from src
|
// TODO: add an option to install from src
|
||||||
Pipeline::new("Install Deno (pre-compiled)", deno_pl.as_slice()),
|
Pipeline::new("Install Deno (pre-compiled)", deno_pl.as_slice()),
|
||||||
|
Pipeline::new("Install VSCode", vscode_pl.as_slice()),
|
||||||
];
|
];
|
||||||
|
|
||||||
let mut args = std::env::args_os();
|
let mut args = std::env::args_os();
|
||||||
|
|
Loading…
Reference in New Issue