diff --git a/src/TableCloth.CatalogBuilder/Program.cs b/src/TableCloth.CatalogBuilder/Program.cs index c01203a..1f78da3 100644 --- a/src/TableCloth.CatalogBuilder/Program.cs +++ b/src/TableCloth.CatalogBuilder/Program.cs @@ -323,20 +323,33 @@ static void GenerateWin32RCFile(XDocument catalog, TextWriter logWriter, string """); + for (int i = 0, count = 0; i < icoFiles.Length; i++) + { + rcWriter.WriteLine($"#define ICON_{(i + 1)} {++count}"); + rcWriter.WriteLine($"#define ID_{(i + 1)} {++count}"); + rcWriter.WriteLine($"#define URL_{(i + 1)} {++count}"); + } + for (int i = 0; i < icoFiles.Length; i++) { var eachIcoFile = icoFiles[i]; var identifier = Path.GetFileNameWithoutExtension(eachIcoFile)!.ToUpperInvariant(); - var relativePath = Path.GetRelativePath(targetDirectory, eachIcoFile); - rcWriter.WriteLine($"{(i + 1)} ICON \"{relativePath}\""); + var relativePath = Path.GetRelativePath(targetDirectory, eachIcoFile).Replace('\\', '/'); + rcWriter.WriteLine($"ICON_{(i + 1)} ICON \"{relativePath}\""); } + var now = DateTime.UtcNow; + var major = now.Year; + var minor = now.Month; + var build = now.Day; + var rev = now.Hour * 60 + now.Minute; + rcWriter.WriteLine( - """ + $$""" VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,0,0 - PRODUCTVERSION 1,0,0,0 + FILEVERSION {{major}},{{minor}},{{build}},{{rev}} + PRODUCTVERSION {{major}},{{minor}},{{build}},{{rev}} FILEFLAGSMASK 0x3fL FILEFLAGS 0x0L FILEOS 0x4L @@ -349,12 +362,12 @@ FILESUBTYPE 0x0L BEGIN VALUE "CompanyName", "rkttu.com\0" VALUE "FileDescription", "Catalog Icon Library for Win32 applications\0" - VALUE "FileVersion", "1.0.0.0\0" + VALUE "FileVersion", "{{major}},{{minor}},{{build}},{{rev}}\0" VALUE "InternalName", "Catalog.dll\0" VALUE "LegalCopyright", "(c) rkttu.com, All rights reserved.\0" VALUE "OriginalFilename", "Catalog.dll\0" VALUE "ProductName", "TableCloth\0" - VALUE "ProductVersion", "1.0.0.0\0" + VALUE "ProductVersion", "{{major}},{{minor}},{{build}},{{rev}}\0" END END BLOCK "VarFileInfo" @@ -372,7 +385,7 @@ FILESUBTYPE 0x0L var eachIcoFile = icoFiles[i]; var identifier = Path.GetFileNameWithoutExtension(eachIcoFile)!.ToUpperInvariant(); - rcWriter.WriteLine($" ID_{(i + 1)}, \"{identifier}\""); + rcWriter.WriteLine($" ID_{(i + 1)} \"{identifier}\""); var targetElement = catalog.XPathSelectElement($"/TableClothCatalog/InternetServices/Service[translate(@Id, 'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ') = '{identifier}']"); var url = targetElement?.Attribute("Url")?.Value; @@ -380,7 +393,7 @@ FILESUBTYPE 0x0L if (string.IsNullOrWhiteSpace(url)) url = "https://yourtablecloth.app/"; - rcWriter.WriteLine($" URL_{(i + 1)}, \"{url}\""); + rcWriter.WriteLine($" URL_{(i + 1)} \"{url}\""); } rcWriter.WriteLine("END"); }