Skip to content

About

Helper utility to enable background updates for VS Code in Windows

Resources

Code of conduct

Security policy

Stars

121 stars

Watchers

17 watching

Forks

Repository files navigation

inno-updater

Build Status

Helper utility to enable background updates for VS Code in Windows

Integration

⭐️ 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.

Development

Process capture

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::tests

To 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 --nocapture

AddressSanitizer (ASAN)

One-time setup:

.\scripts\test-asan.ps1 -Install

This installs:

  • Rust nightly toolchain with x86_64-pc-windows-msvc target
  • rust-src component for -Zbuild-std
  • C++ AddressSanitizer component via Visual Studio Installer

Running ASAN tests:

.\scripts\test-asan.ps1

Use -Verbose for detailed output.

Contributing

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.

About

Helper utility to enable background updates for VS Code in Windows

Resources

Code of conduct

Security policy

Stars

121 stars

Watchers

17 watching

Forks

Releases

Packages

Used by

Contributors

Languages