Record the installed Windows application version
Review effort 1/5
### **User description**
## Summary
- derive a separate three-part version from `transgui.exe` for both Windows installers
- use that value for Inno Setup's `AppVersion` and uninstall `DisplayVersion`
- preserve the existing shortened version used by `AppVerName` and installer filenames
## Why
The existing `AppVersion` macro intentionally shortens `5.18.0.0` to `5.18` for release naming. Reusing it for Inno Setup's `AppVersion` would make the installed `DisplayVersion` differ from the canonical project version, weakening exact version detection by package managers such as winget.
## Validation
- verified `5.18.0.0` produces an installed version of `5.18.0` while setup naming remains `5.18`
- verified both installer variants contain one `AppVersion={#AppDisplayVersion}` directive
- preserved the repository's CRLF line endings for `.iss` files
- rebased onto the latest `master` with one commit changing only the two installer scripts
Closes #1392.
___
### **PR Type**
Bug fix
___
### **Description**
- Record full application versions in Windows installers
- Enable accurate winget installed-version detection
- Preserve existing installer naming version format
___
### Diagram Walkthrough
```mermaid
flowchart LR
EXE["transgui.exe version"]
DISPLAY["Three-part display version"]
INNO["Inno Setup AppVersion"]
REGISTRY["Windows uninstall registry"]
WINGET["winget version detection"]
EXE -- "derives" --> DISPLAY
DISPLAY -- "sets" --> INNO
INNO -- "records" --> REGISTRY
REGISTRY -- "enables" --> WINGET
```
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Bug fix</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>setup.iss</strong><dd><code>Record full version in 32-bit installer</code> </dd></summary>
<hr>
setup/win/setup.iss
<ul><li>Derive a dedicated three-part version from <code>transgui.exe</code>.<br> <li> Set Inno Setup <code>AppVersion</code> to the full display version.<br> <li> Keep the existing shortened <code>AppVersion</code> macro for installer naming.</ul>
</details>
</td>
<td><a href="https://github.com/transmission-remote-gui/transgui/pull/1566/files#diff-3725cc80761aa7244eabef0d7cf9ea32159d42b0af5ec211206fc739b905d2fe">+4/-0</a> </td>
</tr>
<tr>
<td>
<details>
<summary><strong>setup.iss</strong><dd><code>Record full version in 64-bit installer</code> </dd></summary>
<hr>
setup/win_amd64/setup.iss
<ul><li>Derive a dedicated three-part version from <code>transgui.exe</code>.<br> <li> Set Inno Setup <code>AppVersion</code> to the full display version.<br> <li> Keep the existing shortened <code>AppVersion</code> macro for installer naming.</ul>
</details>
</td>
<td><a href="https://github.com/transmission-remote-gui/transgui/pull/1566/files#diff-8f0d4f59ba32fe49a01dca872ec34e6846d5440356aa1ebaac31629df7bb2427">+4/-0</a> </td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
合并状态:未合并 12 条评论