From d4ad91a85d92c8fb4905c199cb297ec819e958a4 Mon Sep 17 00:00:00 2001 From: partisan Date: Wed, 19 Feb 2025 09:21:08 +0000 Subject: [PATCH] Simplified app.manifest since full version was not working --- win_manifest_gen.go | 37 ++++++++++++++----------------------- 1 file changed, 14 insertions(+), 23 deletions(-) diff --git a/win_manifest_gen.go b/win_manifest_gen.go index 2dabedc..04024b6 100644 --- a/win_manifest_gen.go +++ b/win_manifest_gen.go @@ -39,34 +39,23 @@ func main() { *version = now + ".0" } - // Choose the requested execution level based on the requireAdmin flag. - executionLevel := "asInvoker" + // --- Generate app.manifest --- + level := "asInvoker" if *requireAdmin { - executionLevel = "requireAdministrator" + level = "requireAdministrator" } - // --- Generate app.manifest --- manifestContent := fmt.Sprintf(` - - - - - - - - - - - true/PM - - + + + + + + + -`, *name, *version, executionLevel) +`, level) if err := os.WriteFile("app.manifest", []byte(manifestContent), 0644); err != nil { fmt.Println("Error writing app.manifest:", err) @@ -99,7 +88,9 @@ func main() { } fileVersion := fmt.Sprintf("%s,%s,%s,%s", v1, v2, v3, v4) - // Note: We use "2 RT_MANIFEST" so it doesn't collide with the VERSIONINFO (ID=1). + // Generate the resource script. + // Note: The manifest is embedded here under resource ID 1 (type 24), but after running, it's enforced by mt.exe. + // I'm not sure if I should remove mt.exe enforcement or remove it here. rcContent := fmt.Sprintf(`1 VERSIONINFO FILEVERSION %s PRODUCTVERSION %s