Página 1 de 1

[RESUELTO] Actualización del paquete tis-irfanview

Publicado: 21 de marzo de 2019 - 10:00 a. m.
por olaplanche
Buen día,

Estoy intentando actualizar el paquete tis-irfanview a la última versión del software (4.52).
Estoy encontrando un problema en la sección de actualización del archivo ini:

El nuevo archivo ini está codificado en UTF16-LE y la sección [Idioma] ya no está en la primera línea sino en la tercera línea del archivo.
Como resultado, la función inifile_writestring ya no puede encontrar la sección [Idioma] en el archivo y devuelve el siguiente error:
MissingSectionHeaderError: El archivo no contiene encabezados de sección.
Archivo: C:\Program Files (x86)\IrfanView\i_view32.ini, línea: 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'
¿Alguna idea?

GRACIAS

Re: Actualización del paquete tis-irfanview

Publicado: 28 de marzo de 2019 - 11:20
por skoizer
Otra solución
consiste en incluir el archivo .ini preconfigurado en tu paquete Wapt.
Luego, simplemente lo copias y pegas al final de la instalación.

Re: Actualización del paquete tis-irfanview

Publicado: 18 de abril de 2019 - 09:54
por olaplanche
Gracias por el consejo, así resolví el problema.

Para su información, debe tenerse en cuenta que el archivo i_view32.ini se copia en la tienda virtual del usuario en la primera ejecución y, por lo tanto, el siguiente código no cambia el idioma de los usuarios que ya han utilizado el software.

Código: Seleccionar todo

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)