目录
参考链接
前言
一. 获取版本信息
1. 拖过来个有版本和版权信息的exe文件
2. 放置一个txt文件
我们接着放置一个txt文件叫file_version_info.txt。这名字不能改,Pyinstaller自动就把版权信息放在这里。
3.开始获取
二. 修改
三. 打包
参考链接
pyinstaller打包exe加入版本和版权信息
pyinstaller使用方法(教你怎么加版权信息)_pyinstaller添加版权_我是飞飞酱的博客-CSDN博客
前言
其实我在看这篇文章时发现了一些问题,第一步Pyinstaller就抛出报错。我自己尝试了许多遍,再看cmd里的解释里我发现了错误,所以我就今天发一下这篇文章。
一. 获取版本信息
我们就是如果使用现成的就会有许许多多问题,这里就不细讲。我直接告诉你怎么获取,在根据情况自己修改。
1. 拖过来个有版本和版权信息的exe文件
Pyinstaller添加版权需要把信息写在一个txt文件里(其他后缀的应该也可以,我没有试过),我们需要先找一个范本来修改。
我们新建个文件夹,把有版本和版权信息的exe文件拖进去。我们不用管这个exe文件运行需要的其他文件,我们只是获取一下版本和版权信息,不运行。我这里用经典的Dev-C++为示例。
2. 放置一个txt文件
我们接着放置一个txt文件叫file_version_info.txt。这名字不能改,Pyinstaller自动就把版权信息放在这里。
3.开始获取
我们再文件位置里输入cmd,弹出命令提示符。
接着,我们打开命令提示符后输入
pyi-grab_version.exe devcpp.exe
如果没有什么问题的话应该会这样
这样我们已经拿到版权的范本了。
二. 修改
可以按照以下方式修改
VSVersionInfo(ffi=FixedFileInfo(filevers=(1, 0, 0, 0), # 文件版本prodvers=(5, 11, 0, 0), # 生产商mask=0x3f, # 两个位掩码flags=0x0,OS=0x4, # 关于操作系统的,无需修改它fileType=0x1, # 文件类型,这里是应用软件subtype=0x0, # 文件功能,这里是未定义date=(0, 0) # 没见到哪里显示),kids=[StringFileInfo([StringTable('040904E4',[StringStruct('CompanyName', 'Bloodshed Software'), # 鼠标搁那里会显示的东西StringStruct('FileDescription', 'Dev-C++ IDE'), # 文件名StringStruct('FileVersion', '5.11.0.0'), # 版本号StringStruct('InternalName', 'devcpp.exe'), # 原始文件名StringStruct('LegalCopyright', 'Copyright Bloodshed Software'), # 版权,"Copyright"指盈利版权StringStruct('LegalTrademarks', ''),StringStruct('OriginalFilename', 'devcpp.exe'), # 原始文件名,不知道为什么要再搞一次StringStruct('ProductName', 'Dev-C++'), # 产品名称StringStruct('ProductVersion', '5'), # 版本号,再详细信息里会有显示StringStruct('Comments', 'Under the GNU General Public License')])]), VarFileInfo([VarStruct('Translation', [1033, 1252])]) # 语言,[2052, 1200]是简体,中国]
)
三. 打包
打包时你可以输入
pyinstaller -i .ico File --noconfirm -w --version-file file_version_info.txt 文件位置
成功!