Helper utility to enable background updates for VS Code in Windows
⭐️ To create a new release, simply push a new tag; this will kick off a build and publish a release.
⭐️ To integrate a release of inno-updater in VS Code, simply extract the release archive to build/win32.
Before replacing the executable, the updater captures matching processes using limited query rights and retains separate handles for waiting and best-effort termination. A denied image path query gets a one second grace period because Windows can deny queries briefly while a process is exiting. Processes that remain inaccessible, cannot be identified, or cannot be terminated are logged and skipped rather than failing the update.
Run the process tests on Windows:
cargo test --locked --bin inno_updater --target i686-pc-windows-msvc process::testsTo inspect process logs in execution order, run the tests serially with output capture disabled:
cargo test --locked --bin inno_updater --target i686-pc-windows-msvc process::tests -- --test-threads=1 --nocaptureOne-time setup:
.\scripts\test-asan.ps1 -InstallThis installs:
- Rust nightly toolchain with
x86_64-pc-windows-msvctarget rust-srccomponent for-Zbuild-std- C++ AddressSanitizer component via Visual Studio Installer
Running ASAN tests:
.\scripts\test-asan.ps1Use -Verbose for detailed output.
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.