如何使用Visual Studio将文件版本嵌入MSI文件中?
时间:2020-03-06 14:54:08 来源:igfitidea点击:
我有一个用于Cprogram的安装项目,并且此安装项目的属性中有一个Version。我希望生成的MSI文件中嵌入此版本,因此我可以在资源管理器中将其悬停在该文件上,然后查看文件的版本。
我正在使用VS2008. 我怎样才能做到这一点?
解决方案
我可能是错的,但是msi版本不是跟在启动项目的AssemblyInfo文件中的版本之后吗?
这是一个很好的问题,但我不知道任何设置工具都可以做到这一点。而且,我从未遇到过嵌入了文件版本资源的MSI文件,因此这不是一种常见的做法。通常,如果我想找出MSI文件的版本,则必须在Orca中打开它并检查其中的ProductVersion属性(在"属性"表中)。
据我所知,MSI文件将永远不会显示版本。原因很简单,MSI文件不是PE文件,而是排序数据库。然后,Msiexec.exe解释此数据库以进行实际安装。我们提到的version属性由MSI引擎在内部用于升级,卸载等,并且从不显示。
如果仅将" Version:1.5.0"文本添加到安装项目的Description属性中,则版本号也会显示在MSI文件上,如下所示:
http://screencast.com/t/A499i6jS