wix - Windows 安装程序:哪些文件被视为“版本化”
问题描述
Windows 安装程序文档对“版本化”和“非版本化”文件进行了很多引用(例如,参见this或this)。但是,我无法找到哪些文件被视为“版本化”或“非版本化”。
我知道 PE 格式的文件(例如 .dll 和 .exe 文件)被认为是版本化的,并且版本是从嵌入在这些文件中的 VersionInfo 资源中读取的。
其他文件呢,例如 TTF 字体文件?这些文件确实有一个可以被 windows 识别的版本头(例如在 fontview 和 windows explorer 中),但它与 PE 文件不同。
msi 如何确定文件是版本化的还是非版本化的?仅基于扩展名?还是尝试读取已知的标头/资源?这些受支持的扩展名(或文件格式)是否记录在任何地方?
解决方案
Windows Installer 支持来自 PE versioninfo 资源和 TTF 字体标头的版本信息。未使用扩展名。该MsiGetFileVersion
函数提供了一个公共 API 来执行与 MSI 在内部执行的相同版本检查。
推荐阅读
- java - Springboot jdbc/jpa
- autodesk-forge - Forge Viewer - 如何输出网格信息日志?
- powershell - 如何使用 powershell 将 CSV 文件直接导入 Azure DataLake 而不是本地路径?
- python - 如何在 django 中编写自己的权限
- react-native - React Navigation 3 顶部选项卡
- git - 更新多个 Git 存储库的远程 URL
- ios - 如何使用搜索栏过滤器解决错误,然后快速展开 segue?
- elasticsearch - 用于 xml 的 LOGSTASH 配置
- ejabberd - 如何为 ejabberd 上的用户设置每秒消息限制?
- javascript - PHP sql表onclick事件