Page 1 sur 1

[RESOLU] mise à jour paquet tis-irfanview

Posté : 21 mars 2019 - 10:00
par olaplanche
Bonjour,

J’essaie de mettre à jour le paquet tis-irfanview vers la dernière version du logiciel (4.52).
Je rencontre un problème dans la partie mise à jour du fichier ini :

Le nouveau fichier ini est encodé en UTF16-LE et la section [Language] n'est plus en première ligne mais en 3 ligne dans le fichier.
Du coup la fonction inifile_writestring ne trouve plus la section [Language] dans le fichier et retourne l'erreur suivante :
MissingSectionHeaderError: File contains no section headers.
file: C:\Program Files (x86)\IrfanView\i_view32.ini, line: 1
'\xff\xfe;\x00 \x00U\x00N\x00I\x00C\x00O\x00D\x00E\x00 \x00F\x00I\x00L\x00E\x00 \x00-\x00 \x00e\x00d\x00i\x00t\x00 \x00w\x00i\x00t\x00h\x00 \x00c\x00a\x00r\x00e\x00 \x00;\x00-\x00)\x00\r\x00\n'
Une idée ?

Merci

Re: mise à jour paquet tis-irfanview

Posté : 28 mars 2019 - 11:20
par skoizer
Une autre solution
dans ton paquet wapt, tu met le fichier .ini déjà configuré.
Il n'y a donc plus qu'a faire un copier/coller a la fin de installation.

Re: mise à jour paquet tis-irfanview

Posté : 18 avr. 2019 - 09:54
par olaplanche
Merci pour le tuyau, j'ai résolu le problème de cette façon.

Pour info, il faut savoir que le fichier i_view32.ini est copié dans le virtualstore de l'utilisateur à la première exécution et donc le code suivant ne modifie pas la langue des utilisateurs ayant déjà utilisé le logiciel.

Code : Tout sélectionner

from setuphelpers import *

uninstallkey = []

def install():
    print ("closing irfanview")
    killalltasks('i_view32.exe')
    print("installing exe")
    install_exe_if_needed("iview452_setup.exe",'/silent thumbs=0 /group=1 /allusers=1 /assoc=1 /assocallusers','IrfanView', '4.52')
    uninstallkey.remove('IrfanView')

    print "Install French language"
    filecopyto('French.dll',makepath(programfiles32,'IrfanView','Languages'))
    filecopyto('IP_French.lng',makepath(programfiles32,'IrfanView','Languages'))
    filecopyto('i_view32.ini',makepath(programfiles32,'IrfanView'))

    print "Install plugins"
    install_exe_if_needed("iview452_plugins_setup.exe", '/silent')

def uninstall():
    print('uninstalling wapt-irfanview')
    run(r'"%s\\IrfanView\\iv_uninstall.exe" /silent' % programfiles32)