mirror of
https://github.com/ddeverill/SteamlessController.git
synced 2026-10-18 20:59:45 -05:00
Stamp the build into the binary and into the first line of its log
A release carried no version anywhere a user or a maintainer could see it. The exe had no VERSIONINFO, so its properties showed nothing, and events.log opened with a bare "=== SteamlessController started ===". Twice while chasing #79 a reporter's log arrived and there was no way to tell which of two builds had written it, which cost a round trip each time. resource.h now holds the version once, and both consumers read it from there: app.rc builds a VERSIONINFO resource so Explorer and Programs and Features can report it, and the startup line names it. Keeping them on one definition means a binary and its log can never disagree about what they are. InnoInstallerScript.iss still carries its own copy of the number. Inno can read it back out of the built exe instead, which would leave one place to edit, but that makes the installer refuse to compile before the app is built and is a change to how releases are cut rather than to the app. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
234d016ac8
commit
c3f58de856
4 files changed
+41
-2
No files matched your search
@@ -3,7 +3,7 @@
|
||||
; Non-commercial use only
|
||||
|
||||
#define MyAppName "SteamlessController"
|
||||
#define MyAppVersion "1.17"
|
||||
#define MyAppVersion "1.17.3"
|
||||
#define ViGEmSetup "ViGEmBus_1.22.0_x64_x86_arm64.exe"
|
||||
#define MyAppPublisher "Dylan Deverill"
|
||||
#define MyAppURL "https://github.com/ddeverill/SteamlessController"
|
||||
|
||||
@@ -1,5 +1,33 @@
|
||||
#include "resource.h"
|
||||
#include <winver.h>
|
||||
|
||||
IDI_ICON_OFF ICON "SteamControllerOFF.ico"
|
||||
IDI_ICON_ON ICON "SteamControllerON.ico"
|
||||
IDI_ICON_SHARED ICON "SteamControllerSHARED.ico"
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION APP_VERSION_MAJOR,APP_VERSION_MINOR,APP_VERSION_PATCH,0
|
||||
PRODUCTVERSION APP_VERSION_MAJOR,APP_VERSION_MINOR,APP_VERSION_PATCH,0
|
||||
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
||||
FILEFLAGS 0x0L
|
||||
FILEOS VOS_NT_WINDOWS32
|
||||
FILETYPE VFT_APP
|
||||
FILESUBTYPE VFT2_UNKNOWN
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904b0"
|
||||
BEGIN
|
||||
VALUE "FileDescription", "SteamlessController"
|
||||
VALUE "FileVersion", APP_VERSION_STR
|
||||
VALUE "InternalName", "SteamlessController"
|
||||
VALUE "OriginalFilename", "SteamlessController.exe"
|
||||
VALUE "ProductName", "SteamlessController"
|
||||
VALUE "ProductVersion", APP_VERSION_STR
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x409, 1200
|
||||
END
|
||||
END
|
||||
@@ -5,3 +5,14 @@
|
||||
// Game mode is live, but on a handle shared with another writer (typically
|
||||
// Steam) rather than an exclusive one — see ControllerManager::IsGameModeShared.
|
||||
#define IDI_ICON_SHARED 103
|
||||
|
||||
// One definition of the version, for the VERSIONINFO resource in app.rc and for
|
||||
// the startup line in the event log. Both matter: a build with no version stamp
|
||||
// is indistinguishable from any other once it is installed, and a log that does
|
||||
// not say which build wrote it costs a round trip with whoever reported the bug.
|
||||
//
|
||||
// Keep in step with MyAppVersion in resources/InnoInstallerScript.iss.
|
||||
#define APP_VERSION_MAJOR 1
|
||||
#define APP_VERSION_MINOR 17
|
||||
#define APP_VERSION_PATCH 3
|
||||
#define APP_VERSION_STR "1.17.3"
|
||||
+1
-1
@@ -92,7 +92,7 @@ bool TrayApp::Init(HINSTANCE hInstance) {
|
||||
{0x88, 0xCB, 0x00, 0x11, 0x11, 0x00, 0x00, 0x30}};
|
||||
RegisterDeviceNotificationW(m_hwnd, &filter, DEVICE_NOTIFY_WINDOW_HANDLE);
|
||||
|
||||
EventLog::Write("=== SteamlessController started ===");
|
||||
EventLog::Write("=== SteamlessController %s started ===", APP_VERSION_STR);
|
||||
|
||||
m_startTick = GetTickCount64();
|
||||
QueryUnbiasedInterruptTime(&m_lastHeartbeatUnbiased);
|
||||
|
||||
Reference in new issue
Block a user