Skip to content
This repository has been archived by the owner on Nov 8, 2023. It is now read-only.
/ self-replace Public archive
forked from mitsuhiko/self-replace

Utility library that helps to implement processes that replace themselves

License

Notifications You must be signed in to change notification settings

typst/self-replace

 
 

Repository files navigation

Self-Replace: A Utility For Self Replacing Executables

Build Status Crates.io License rustc 1.48.0 Documentation

self-replace is a crate that allows binaries to replace themselves with newer versions or to uninstall themselves. On Unix systems this is a simple feat, but on Windows a few hacks are needed which is why this crate exists.

This is a useful operation when working with single-executable utilties that want to implement a form of self updating or self uninstallation.

For details about the implementation refer to the documentation.

Uninstall

To uninstall a binary, use self_delete.

self_replace::self_delete()?;

Updating

To replace a binary for updating, use self_replace.

let new_binary = "/path/to/new/binary";
self_replace::self_replace(&new_binary)?;
std::fs::remove_file(&new_binary)?;

License and Links

About

Utility library that helps to implement processes that replace themselves

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 94.2%
  • Batchfile 2.1%
  • Shell 2.0%
  • Makefile 1.7%