如何更新PyInstaller生成的exe详细信息?

时间:2019-06-13 13:02:40

标签: python installer pyinstaller

我已使用PyInstaller创建可执行文件,并想更新exe详细信息,例如File descriptionFile version

下面是我使用的命令

PyInstaller --onefile --icon=favicon.ico main.spec

我指的是下面的详细信息标签中所示的属性:

enter image description here

1 个答案:

答案 0 :(得分:1)

I have solved this by myself with the help of python documentation

1. Create version.rc file

    VSVersionInfo(
        ffi=FixedFileInfo(
        filevers=(ProductVersions),
        prodvers=(ProductVersions),
        mask=0x3f,
        flags=0x0,
        OS=0x40004,
        fileType=0x1,
        subtype=0x0,
        date=(0, 0)),
        kids=[StringFileInfo([StringTable(
        u'040904B0',
        [StringStruct(u'FileDescription', u'xyz'),
        StringStruct(u'FileVersion', u'1.0.0.0'),
        StringStruct(u'InternalName', u'xyz'),
        StringStruct(u'LegalCopyright', u'Copyright'),
        StringStruct(u'OriginalFilename', u'xyz'),
        StringStruct(u'ProductName', u'xyz'),
        StringStruct(u'ProductVersion', u'1.0.0.0'),
        StringStruct(u'Language', u'Language Neutral'),
        StringStruct(u'LegalTrademarks', u'xyz')])]), 
        VarFileInfo([VarStruct(u'Translation', [1033, 1200])])]
    )

2. Create main.spec file and call version.rc file in that

  a = Analysis(['main.py'],
             pathex=['.'],
             binaries=[],
             datas=[('data\\*.tsv', 'data')],
             hiddenimports=['sklearn.neighbors.typedefs','sklearn.neighbors.quad_tree','sklearn.tree._utils','boto', 'smart_open'],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher,
             noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          a.binaries,
          a.zipfiles,
          a.datas,
          [],
          name='xyz',
          debug=False,
          bootloader_ignore_signals=False,
          strip=False,
          upx=True,
          runtime_tmpdir=None,
          console=True , icon='favicon.ico', version='version.rc')