Skip to content

VoidLab's DevChrono Versioning Repository - Time Tracking App

License

Notifications You must be signed in to change notification settings

FieteGM/DevChronoVersioning

Repository files navigation

DevChronoVersioning

DevChronoVersioning contains the update and release tooling for DevChrono. It is responsible for packaging, signing, generating update metadata, and producing installer/uninstaller artifacts that are published to a versioning endpoint.

Main app repository: https://github.com/FieteGM/DevChrono

What This Repository Contains

  • Packaging pipeline for MSIX + installers/uninstallers.
  • Signing tooling for MSIX and EXE artifacts.
  • Update metadata generation (version manifest + hash).
  • Updater script for installing new versions.
  • Download pages for web-based installer links.

Repository Layout

  • create_installation_package.bat — end-to-end packaging pipeline.
  • Resources/Config/build-settings.ini.example — build settings template.
  • Resources/Config/DevChronoUpdater.ps1 — updater PowerShell script.
  • Executables/ — Inno Setup scripts, signing scripts, and assets.
  • Output/ — final artifacts + version.txt (publish from here).
  • VoidLabPages/ — HTML pages used for installer download/redirects.

Build & Release Workflow

Configuration Checklist (Before Publishing)

Update the values below before publishing artifacts or hosting the download pages:

  • Resources/Config/build-settings.ini (from .example)
    • SIGNTOOL_PATH, PFX_PATH, PFX_PASSWORD, TIMESTAMP_URL
    • MSIX_ROOT, INNO_SETUP_COMPILER_PATH
    • SUPPORT_EMAIL, INSTALLER_URL, UNINSTALLER_URL, MSIX_URL
    • CERT_SUBJECT, HTTPS_PORT, APP_ID, APP_MODEL_ID
    • PACKAGE_NAME, PACKAGE_FAMILY_NAME
  • Output/version.txt
    • Replace the placeholder MSIX URL and SHA256 hash after publishing.
  • VoidLabPages/*.html
    • Replace placeholder URLs, assets, and support email with your values.

1) Prepare build settings

Copy the example file and fill in your local paths/credentials:

[signing]
SIGNTOOL_PATH=...
PFX_PATH=...
PFX_PASSWORD=...
TIMESTAMP_URL=...

[paths]
MSIX_ROOT=...
INNO_SETUP_COMPILER_PATH=...

Template: Resources/Config/build-settings.ini.example. The pipeline requires Signtool, a PFX certificate, and Inno Setup.

2) Place the MSIX build

The pipeline searches for a .msix file in subdirectories of the repo, then extracts the version from the filename using the pattern:

DevChrono_<version>_...

The extracted <version> is written into the update manifest and used for signing/packaging.

3) Run the packaging pipeline

Run from the repo root on Windows (administrator rights required):

create_installation_package.bat

This process:

  1. Imports the PFX certificate to Trusted Root.
  2. Signs the MSIX.
  3. Builds installer/uninstaller EXEs via Inno Setup.
  4. Signs the EXEs.
  5. Updates the version manifest with the new hash.
  6. Moves artifacts to Output/.

Output Artifacts

Output/ contains the files to publish:

  • DevChrono.msix
  • DevChronoInstaller.exe
  • DevChronoUninstaller.exe
  • version.txt

version.txt format

<version>;<msix_url>;<sha256>

Example:

1.7.5.0;https://your-domain.example/DevChrono.msix;SHA256_HASH

The replace_hash.bat script updates the version and SHA256 hash after each build. Ensure the MSIX URL points to the hosted file before publishing.

Updater Script

Resources/Config/DevChronoUpdater.ps1 installs a new MSIX build and relaunches DevChrono. It:

  • Uninstalls the existing package (dev-chrono).
  • Installs the MSIX from a provided path.
  • Relaunches the application.
  • Removes the installer file after completion.

Download Pages

VoidLabPages/ contains HTML pages that link to the hosted installers and can be published alongside the update artifacts.

Uninstaller Behavior

  • Executables/uninstall.ps1 is an interactive, menu-driven cleanup tool for manual use.
  • Executables/uninstaller.ps1 is the non-interactive script executed by the Inno Setup uninstaller (DevChronoAppUninstaller.iss).

License

This project uses the PolyForm Noncommercial License 1.0.0. See LICENSE for full terms.

About

VoidLab's DevChrono Versioning Repository - Time Tracking App

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published