Как изменить информацию о exe версию файла, версию продукта? К примеру изменить дату создания можно через IO.File.SetCreationTime, а как быть с остальной информацией?
P.S. Нужно изменить у скомпилированного файла, а не до его сборки.
Можно также использовать высокоуровневую обёртку над этими вызовами, которая распространяется в виде подключаемого NuGet-пакета:
Install-Package Vestris.ResourceLib
Пример использования этой библиотеки:
Получение информации о ресурсах dll или exe
string filename = "ConsoleApp1.exe"; // path to dll or exe
VersionResource vr = new VersionResource();
vr.LoadFrom(filename);
StringFileInfo sfi = (StringFileInfo)vr["StringFileInfo"];
foreach (var stringTableEntry in sfi.Default.Strings)
{
Console.WriteLine($"{stringTableEntry.Value.Key} = {stringTableEntry.Value.StringValue}");
}
//output:
Comments = CompanyName = FileDescription = ConsoleApp1 FileVersion = 1.0.0.0 InternalName = ConsoleApp1.exe LegalCopyright = Copyright © 2017 LegalTrademarks = OriginalFilename = ConsoleApp1.exe ProductName = ConsoleApp1 ProductVersion = 1.0.0.0 Assembly Version = 1.0.0.0
Запись изменений обратно в файл сборки
sfi["CompanyName"] = "New company name";
sfi["ProductVersion"] = "1.1.1.2";
sfi["LegalCopyright"] = "New copyright";
vr.SaveTo(filename);
Остальная документация тут
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Не могу отредактировать ячейки из DataGridView хотя ReadOnly = False; Заполняю грид так :