#update #download #upgrade #release

update_me

Utility to implement self-updating standalone executables

2 unstable releases

0.2.0 Nov 21, 2022
0.1.0 Nov 17, 2022

#29 in #upgrade

MIT license

6KB
76 lines

crates.io:clin docs

Update Me: self updating Rust executables

update_me provides functionality to implement a self-updating Rust executable.

The executable can update itself by replacing the current executing file with a newer version.

This library only implements the updating mechanism itself, thereby providing full flexibility to implement different release distribution backends.

Example of updating from a file:

use update_me;

pub fn update(path: &String) -> Result<()> {
    let mut file = File::open(path)?;
    let mut data: Vec<u8> = Vec::new();
    file.read_to_end(&mut data)?;
    
    update_me::apply(&mut data)?;
    
    Ok(())
}

See also

  • self_update: provides updaters for updating rust executables in-place from various release distribution backends.

Dependencies

~2–10MB
~111K SLoC