Добавить номер версии в общий файл в Windows - PullRequest
0 голосов
/ 24 октября 2019

Последнее редактирование: номер версии нельзя добавить в общий файл в Windows.

Управление версиями в Windows происходит из ресурса VERSIONINFO, подключенного к двоичному исполняемому файлу, например .EXE или .DLL. Этот ресурс нельзя прикрепить к какому-либо произвольному файлу, и он не является частью какого-либо альтернативного потока данных.

Я думал, что информация о версии была сохранена в альтернативном потоке данных, но это не так.

Есть ли способ добавить номер версии программы к метаданным для файла в Windows, который не является исполняемым файлом или dll? У нас есть приложение Linux. он будет храниться на сервере Windows и копироваться на компьютеры Linux при изменении версии.

Редактировать: я хотел бы добавить информацию о версии в файл, который хранится в потоке альтернативного файла для файла.

Я хотел бы записать номер версии в метаданные, чтобычто его можно прочитать из программы, используя метод, подобный следующему:

string fullPath = "folder_name" + "\\" + "linux_app_name";
if (File.Exists(fullPath))
{
    FileAttributes fileAttributes = File.GetAttributes(fullPath);
    FileVersionInfo verInfo = FileVersionInfo.GetVersionInfo(fullPath);
    // todo: add version info to the file.
    textBox1.AppendText("File name:\t" + Path.GetFileName(verInfo.FileName) + '\n');
    textBox1.AppendText("Version Info:\t");         
    if (verInfo.FileVersion != null)
    {
        textBox1.AppendText(verInfo.FileVersion);
    }
    else
    {
        textBox1.AppendText("No Version info.");
    }
}

Заранее благодарен за любые ответы.

1 Ответ

0 голосов
/ 01 ноября 2019

Я публикую этот ответ на тот случай, если кто-то другой ищет способ добавления версий в произвольный файл в Windows, который не является программным файлом Windows.

Вы не можете.

Управление версиями в Windows происходит из ресурса VERSIONINFO, прикрепленного к двоичному исполняемому файлу, например .EXE или .DLL. Этот ресурс нельзя прикрепить к какому-либо произвольному файлу, и он не является частью какого-либо альтернативного потока данных.

...