[#115] Allow self-updates on Windows #162
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Allow self-updates on Windows by using self-replace crate.
I was able to test this by building a release from Linux to Windows and the self-update works. I would appreciate if somebody else can test this with a dedicated Windows setup since it would take me some time to setup Windows for Rust. Going to add a Windows CI test if I can.
One caveat with
std::env::current_exe
is that if the executable is a symbolic link, this may be confused with updating the target of the link or the link itself. Given that the executables are in thestore_directory
and that should be inPATH
, the executables should not be a symbolic link so this should not be an issue. Still this may be an edge case.Resolves #115
Additional tasks