.py dosyasının derlenmesi sırasında .spec dosyası oluşmaktadır.
Bu dosyayı kullanarak .exe dosyasına “açıklama” alanı ekleyebiliriz.
Normal derleme komutu;
pyinstaller --onefile --windowed --icon=appico.ico Program.py
Açıklama alanı ekleyerek;
pyinstaller --onefile --windowed --icon=appico.ico --version-file=version.txt Program.py
Program.spec dosyasını kullanarak;
pyinstaller Program.spec
Not: Program.spec dosyasının içerisinde
…
exe = EXE(pyz,
… bu bölümün en altında version=‘version.txt’, ni yazılı olmalı. Yoksa siz yazın.
…,
version=‘version.txt’,
icon=‘appico.ico’)
version.txt dosyasının içeriği;
# UTF-8
# Sabit dosya bilgisi 'ffi' hakkında daha fazla ayrıntı için:
# https://mborgerson.com/creating-an-executable-from-a-python-script/
VSVersionInfo(
ffi=FixedFileInfo(
# filevers ve prodvers her zaman dört öğeli bir demet olmalıdır: (1, 2, 3, 4)
# Gerekli olmayan öğeleri sıfır 0'a ayarlayın.
filevers=(6, 1, 7601, 17514),
prodvers=(6, 1, 7601, 17514),
# Geçerli bitleri 'flags'r belirten bir bit maskesi içerir
mask=0x3f,
# Dosyanın Boolean özniteliklerini belirten bir bit maskesi içerir.
flags=0x0,
# Bu dosyanın tasarlandığı işletim sistemi.
# 0x4 - NT ve değiştirmeye gerek yok.
OS=0x40004,
# Dosyanın genel türü.
# 0x1 - dosya bir uygulamadır.
fileType=0x1,
# Dosyanın işlevi.
# 0x0 - fonksiyon bu fileType için tanımlı değil
subtype=0x0,
# Oluşturma tarihi ve zaman damgası.
date=(0, 0)
),
kids=[
StringFileInfo(
[
StringTable(
u'040904B0',
[StringStruct(u'CompanyName', u'Proje Uygulamaları'),
StringStruct(u'FileDescription', u'İnternet Sayfaları'),
StringStruct(u'FileVersion', u'1.0.0.1502'),
StringStruct(u'InternalName', u'cmd'),
StringStruct(u'LegalCopyright', u'Copyright (c) Murat ÇELİK'),
StringStruct(u'OriginalFilename', u'Program.exe'),
StringStruct(u'ProductName', u'Proje Programı'),
StringStruct(u'ProductVersion', u'1.0.0.1502')])
]),
VarFileInfo([VarStruct(u'Translation', [1033, 1200])])
]
)