You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 7b4d72a
Browse filesBrowse the repository at this point in the historyBrowse files
Embed and verify PE version info across built binaries and CI (#8)
## Summary
- **`jiffshot.exe` (`assets/icon_res.rs`, `app/build.rs`,
`app/src/main.rs`)**: Emit an `RT_VERSION` (`VS_VERSION_INFO`) resource
alongside the icon resources so `jiffshot.exe` has proper `FileVersion`
(`X.Y.Z.0`), `ProductVersion` (`X.Y.Z`), `CompanyName` (`Devolutions
Inc.`), `ProductName` (`Devolutions Jiffshot`), `FileDescription`,
`InternalName`, `OriginalFilename`, and `LegalCopyright` metadata (and
populates the MSI `File` table's `Version` column). Honors
`JIFFSHOT_VERSION` when set and falls back to `CARGO_PKG_VERSION`.
- **`Jiffshot.Package.exe` (`package/Jiffshot.Package.csproj`,
`package/Program.cs`)**: Set `<Version>`, `<Company>`, `<Product>`,
`<Description>`, and `<Copyright>` on the MSI packager project and
verify that `jiffshot.exe`'s `FileVersionInfo` matches the target MSI
version before building the installer.
- **CI & Release workflows (`.github/workflows/ci.yml`,
`.github/workflows/release.yml`)**: Pass `version` from `release.yml`
into `ci.yml`, propagate `JIFFSHOT_VERSION` and `-p:Version`, and
validate `FileVersionInfo` on `jiffshot.exe`, `rustolonia_host.dll`,
`Jiffshot.Package.exe`, and the MSI-installed `jiffshot.exe`.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
if ($installedVer.ProductVersion -ne $product[0].DisplayVersion -or $installedVer.FileVersion -ne "$($product[0].DisplayVersion).0") {
270
+
throw "Installed jiffshot.exe version ($($installedVer.FileVersion) / $($installedVer.ProductVersion)) does not match MSI DisplayVersion '$($product[0].DisplayVersion)'"
0 commit comments