Compare commits
6 Commits
Author | SHA1 | Date | |
---|---|---|---|
5ed9fd4710 | |||
4763759997 | |||
6ebb421a7b | |||
6ef80be01f | |||
1a3c090612 | |||
fe7c8d2834 |
2
Cargo.lock
generated
2
Cargo.lock
generated
@ -28,7 +28,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "alterware-launcher"
|
name = "alterware-launcher"
|
||||||
version = "0.6.1"
|
version = "0.6.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"colored",
|
"colored",
|
||||||
"futures-util",
|
"futures-util",
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "alterware-launcher"
|
name = "alterware-launcher"
|
||||||
version = "0.6.1"
|
version = "0.6.2"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
build = "res/build.rs"
|
build = "res/build.rs"
|
||||||
|
|
||||||
|
@ -19,6 +19,14 @@ pub async fn download_file(
|
|||||||
) -> Result<(), String> {
|
) -> Result<(), String> {
|
||||||
let res = client
|
let res = client
|
||||||
.get(url)
|
.get(url)
|
||||||
|
.header(
|
||||||
|
"User-Agent",
|
||||||
|
&format!(
|
||||||
|
"AlterWare Launcher | github.com/{}/{}",
|
||||||
|
crate::global::GH_OWNER,
|
||||||
|
crate::global::GH_REPO
|
||||||
|
),
|
||||||
|
)
|
||||||
.send()
|
.send()
|
||||||
.await
|
.await
|
||||||
.or(Err(format!("Failed to GET from '{}'", &url)))?;
|
.or(Err(format!("Failed to GET from '{}'", &url)))?;
|
||||||
|
@ -374,7 +374,6 @@ fn arg_remove_value(args: &mut Vec<String>, arg: &str) {
|
|||||||
async fn main() {
|
async fn main() {
|
||||||
#[cfg(windows)]
|
#[cfg(windows)]
|
||||||
setup_env();
|
setup_env();
|
||||||
|
|
||||||
let mut args: Vec<String> = env::args().collect();
|
let mut args: Vec<String> = env::args().collect();
|
||||||
|
|
||||||
if arg_bool(&args, "--help") {
|
if arg_bool(&args, "--help") {
|
||||||
|
@ -25,6 +25,19 @@ pub fn run(_update_only: bool) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(windows)]
|
||||||
|
pub fn restart() -> std::io::Error {
|
||||||
|
use std::os::windows::process::CommandExt;
|
||||||
|
match std::process::Command::new(std::env::current_exe().unwrap())
|
||||||
|
.args(std::env::args().skip(1))
|
||||||
|
.creation_flags(0x00000010) // CREATE_NEW_CONSOLE
|
||||||
|
.spawn()
|
||||||
|
{
|
||||||
|
Ok(_) => std::process::exit(0),
|
||||||
|
Err(err) => err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg(windows)]
|
#[cfg(windows)]
|
||||||
pub fn run(update_only: bool) {
|
pub fn run(update_only: bool) {
|
||||||
use std::{fs, path::PathBuf};
|
use std::{fs, path::PathBuf};
|
||||||
@ -68,7 +81,7 @@ pub fn run(update_only: bool) {
|
|||||||
} else {
|
} else {
|
||||||
"alterware-launcher.exe"
|
"alterware-launcher.exe"
|
||||||
};
|
};
|
||||||
println!("{}", launcher_name);
|
|
||||||
http::download_file(
|
http::download_file(
|
||||||
&format!(
|
&format!(
|
||||||
"{}/download/{}",
|
"{}/download/{}",
|
||||||
@ -85,12 +98,12 @@ pub fn run(update_only: bool) {
|
|||||||
|
|
||||||
self_replace::self_replace("alterware-launcher-update.exe").unwrap();
|
self_replace::self_replace("alterware-launcher-update.exe").unwrap();
|
||||||
fs::remove_file(&file_path).unwrap();
|
fs::remove_file(&file_path).unwrap();
|
||||||
println!(
|
|
||||||
"Launcher updated. View the changelog at https://github.com/{}/{}/releases/latest",
|
// restarting spawns a new console, automation should manually restart on exit code 201
|
||||||
GH_OWNER, GH_REPO,
|
|
||||||
);
|
|
||||||
println!("Please restart the launcher.");
|
|
||||||
if !update_only {
|
if !update_only {
|
||||||
|
let restart_error = restart().to_string();
|
||||||
|
println!("Failed to restart launcher: {}", restart_error);
|
||||||
|
println!("Please restart the launcher manually.");
|
||||||
misc::stdin();
|
misc::stdin();
|
||||||
}
|
}
|
||||||
std::process::exit(201);
|
std::process::exit(201);
|
||||||
|
Reference in New Issue
Block a user