#replace #uninstall #self-update #self-uninstall

self-replace

一个实用工具包,允许可执行文件自行替换或卸载自身

11 个稳定版本

1.4.0 2024年7月21日
1.3.7 2023年9月19日
1.3.6 2023年8月25日
1.3.5 2023年6月3日
1.3.3 2023年5月19日

#23数学

Download history 14615/week @ 2024-05-04 19149/week @ 2024-05-11 16362/week @ 2024-05-18 14074/week @ 2024-05-25 19687/week @ 2024-06-01 17215/week @ 2024-06-08 18889/week @ 2024-06-15 19930/week @ 2024-06-22 16486/week @ 2024-06-29 17375/week @ 2024-07-06 17564/week @ 2024-07-13 21492/week @ 2024-07-20 20481/week @ 2024-07-27 16378/week @ 2024-08-03 17575/week @ 2024-08-10 19726/week @ 2024-08-17

78,071 每月下载量
用于 59 个库 (12 直接)

Apache-2.0

27KB
284

Self-Replace:用于自行替换可执行文件的工具

Crates.io License rustc 1.48.0 Documentation

self-replace 是一个库,允许二进制文件用新版本替换自身或卸载自身。在 Unix 系统上这是一个简单的任务,但在 Windows 上需要一些技巧,这就是为什么存在这个库的原因。

当与实现自我更新或自我卸载的单个可执行文件工具一起工作时,这是一个有用的操作。

有关实现的详细信息,请参阅 文档

如果您正在寻找一些更高级的更新逻辑,请查看 self_update,它底层使用 self-replace,但提供从 GitHub 发布或其他分发渠道的自动更新。请注意,self_update 由其他维护者维护。

卸载

要卸载二进制文件,请使用 self_delete

self_replace::self_delete()?;

更新

要替换二进制文件进行更新,请使用 self_replace

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

依赖关系

~2–13MB
~139K SLoC