Naveen Kumar
Naveen Kumar

Reputation: 1432

How to update exe details generated by PyInstaller?

I've used PyInstaller to create executable and wants to update the exe details like File description, File version.

Below is the command I've used

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

I'm referring to the properties as shown in the details tab below:

enter image description here

Upvotes: 2

Views: 4959

Answers (1)

Naveen Kumar
Naveen Kumar

Reputation: 1432

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')

Upvotes: 9

Related Questions