Я действительно смущен номерами версий MSI. Здесь номер версии, используемый для ProductVersion в таблице свойств и в таблице обновлений, ограничен наличием основной и вспомогательной частей 256 или менее. Здесь номер версии, используемый в таблице файлов, может иметь большую и меньшую части 65536 или меньше.
Один из них не так? Эти две "версии" совершенно не связаны или как?
Кроме того, я не понимаю, что означает следующее, найденное в описании таблицы файлов Таблица файлов.
Версия
Это поле является строкой версии для версионного файла. Это поле пустое для не версионных файлов. Версия файла, введенная в это поле, должна совпадать с версией файла, включенного в установочный пакет. "
Как определяется " версия файла, включенного в установочный пакет "? Например, значение FILEVERSION в ресурсе Visual Studio VS_VERSION_INFO? Что бы это значило для файла, созданного с помощью NotePad или Word?
А что именно является "не версионным" файлом? Один с FILEVERSION = 0.0.0.0 в ресурсе VS_VERSION_INFO? Или что-то другое? Все ли файлы .exe считаются версионными?