Ich erhalte bei der Installation eines Pakets die Fehlermeldung „IndexError: Tupelindex außerhalb des gültigen Bereichs“, allerdings nur auf einem Rechner. Auf anderen Rechnern mit Windows 10 und Windows 7 (32-Bit und 64-Bit) funktioniert es einwandfrei.
Im Zweifelsfall habe ich den Agenten nach der vollständigen Deinstallation neu installiert.
Hier ist das Skript, das mit wapt 1.7.4 läuft... vielleicht hängt das Problem mit session_setup() zusammen:
Übrigens, falls Sie Ihrem tis-foxit-Paket Optionen für Stempel/Signaturen hinzufügen möchten, funktioniert das, was ich hinzugefügt habe, gut.
Code: Alle auswählen
# -*- coding: utf-8 -*-
from setuphelpers import *
import requests
import platform
try:
import bs4 as BeautifulSoup
except:
import BeautifulSoup
uninstallkey = []
# Declaring specific app values (TO CHANGE)
bin_name_string = 'FoxitReader_%s_Setup.exe'
silent_args_string = '/ForceInstall /VERYSILENT DESKTOP_SHORTCUT="0" MAKEDEFAULT="1" VIEWINBROWSER="0" LAUNCHCHECKDEFAULT="1" AUTO_UPDATE="0" /passive /norestart /LANG=%s'
app_uninstallkey = 'Foxit Reader_is1'
def install():
# Specific app values
package_version = control.version.split('-',1)[0]
lang = get_language()
# Installing the package
install_exe_if_needed(bin_name_string % package_version
,silentflags=silent_args_string % lang
,key=app_uninstallkey
,min_version=package_version)
registry_setstring(HKEY_LOCAL_MACHINE,r'SOFTWARE\Policies\Explorer\DisallowRun','foxit_updater','FoxitReaderUpdater.exe')
remove_desktop_shortcut('Foxit Reader')
# Purge des anciens modèles
remove_tree(r'c:\ProgramData\Foxit Software\Signature')
remove_tree(r'c:\ProgramData\Foxit Software\UserStamps')
# Copie du modèle de signature Domitia
copytree2('Signature',r'c:\ProgramData\Foxit Software\Signature')
# Copie du modèle de tampon
copytree2('UserStamps',r'c:\ProgramData\Foxit Software\UserStamps')
def session_setup():
print('Disabling auto update check')
# Specific app values
package_version = control.version.split('-',1)[0]
split_package_version = package_version.split('.')
short_package_version = '%s.%s'% (split_package_version[0],split_package_version[1])
registry_setstring(HKEY_CURRENT_USER,r'Software\Foxit Software\Foxit Reader %s\plugins\Updater' % short_package_version,'UpdateMode','0')
updater_path = makepath(user_appdata,'Foxit Software','Addon','Foxit Reader','FoxitReaderUpdater.exe')
if isfile(updater_path):
remove_file(updater_path)
#Ordinateur\HKEY_CURRENT_USER\Software\Foxit Software\Foxit Reader 10.0\Preferences\Registration
#bShowRegisterDlg = 0
# Désactivation enregistrement à la première utilisation
registry_setstring(HKEY_CURRENT_USER, r"Software\Foxit Software\Foxit Reader 10.0\Preferences\Registration",'bShowRegisterDlg','0', type=REG_SZ)
# Intégration de la signature Domitia
mkdirs(makepath(user_appdata,'Foxit Software','Foxit Reader','Signature'))
filecopyto(r'c:\ProgramData\Foxit Software\Signature\style.foxitdata',makepath(user_appdata,'Foxit Software','Foxit Reader','Signature'))
# Intégration du modèle de tampon Domitia
mkdirs(makepath(user_appdata,'Foxit Software','Foxit Reader','Stamps','UserStamps'))
filecopyto(r'c:\ProgramData\Foxit Software\UserStamps\FXSvlmkiquvspwvgxy.pdf',makepath(user_appdata,'Foxit Software','Foxit Reader','Stamps','UserStamps'))
# Suppression d'ancien modèle de tampon
remove_file(makepath(user_appdata,'Foxit Software','Foxit Reader','Stamps','UserStamps','FXSusgzziovrftavgp.pdf'))
def update_package():
print('Download/Update package content from upstream binary sources')
# Getting proxy informations from WAPT settings
proxy = {}
if platform.system()=='Windows' and isfile(makepath(user_local_appdata(),'waptconsole','waptconsole.ini')):
proxywapt = inifile_readstring(makepath(user_local_appdata(),'waptconsole','waptconsole.ini'),'global','http_proxy')
if proxywapt :
proxy = {'http':proxywapt,'https':proxywapt}
# Specific app values
app_name = control.name
url = 'https://www.foxitsoftware.com/pdf-reader/version-history.php'
# Getting latest version from official website
page = requests.get(url,headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64)'}).text
bs = BeautifulSoup.BeautifulSoup(page)
#bs = BeautifulSoup.BeautifulSoup(page,features="html.parser") # For bs4 only
bs_raw_string = str(bs.find('h3').text)
version = bs_raw_string.replace('Version ','')
url_dl = 'https://www.foxitsoftware.com/downloads/latest.php?product=Foxit-Reader&platform=Windows&package_type=exe&language=French&version=%s' % version
latest_bin = bin_name_string % version
print('Latest ' + app_name + ' version is: ' + version)
print('Download url is: ' + url_dl)
# Downloading latest binaries
if not isfile(latest_bin):
print('Downloading: ' + latest_bin)
wget(url_dl,latest_bin,proxies=proxy)
# Get version from file
version_from_file = get_file_properties(latest_bin)['ProductVersion']
if version != version_from_file and version_from_file != '':
version = version_from_file
old_latest_bin = latest_bin
latest_bin = bin_name_string % version
if isfile(latest_bin):
remove_file(latest_bin)
os.rename(old_latest_bin,latest_bin)
# Change version of the package
pe = PackageEntry().load_control_from_wapt('.')
pe.version = '%s-%s'%(version,int(pe.version.split('-',1)[1])+1)
pe.save_control_to_wapt('.')
print('Changing version to ' + pe.version + ' in WAPT\\control')
print('Update package done. You can now build-upload your package')
else:
print('This package is already up-to-date')
# Deleting outdated binaries
for bin_in_dir in glob.glob('*.exe') or glob.glob('*.msi'):
if bin_in_dir != latest_bin :
print('Outdated binary: ' + bin_in_dir + ' Deleted')
remove_file(bin_in_dir)
2020-07-02 10:17:10,618 DEBUG Standardkodierung: ascii
2020-07-02 10:17:10,618 DEBUG Kodierung für stdout und stderr auf cp850 gesetzt
2020-07-02 10:17:10,624 DEBUG Python-Pfad ['C:\\Program Files (x86)\\wapt', 'C:\\Program Files (x86)\\wapt', 'C:\\Program
Files (x86)\\wapt\\python27.zip', 'C:\\Program Files (x86)\\wapt\\DLLs', 'C:\\Program Files (x86)\\wapt\\lib', 'C:\\Program
Files (x86)\\wapt\\lib\\plat-win', 'C:\Program Files (x86)\wapt\lib\lib-tk', 'C:\Program Files (x86)\wapt',
'C:\Program Files (x86)\wapt\lib\site-packages', 'C:\Program Files (x86)\wapt\lib\site-packages\pywin32-223-py2
.7-win32.egg']
2020-07-02 10:17:10,625 INFO Lokale waptservice-Konfiguration wird verwendet: C:\Program Files (x86)\wapt\wapt-get.ini
2020-07-02 10:17:10,625 DEBUG Konfigurationsdatei: C:\Program Files (x86)\wapt\wapt-get.ini
Konfigurationsdatei wird verwendet: C:\Program Files (x86)\wapt\wapt-get.ini
2020-07-02 10:17:10,628 DEBUG Thread 1480 verbindet sich mit der wapt-Datenbank
2020-07-02 10:17:10,694 DEBUG Hostzertifikat C:\Program Files (x86)\wapt\private\4C4C4544-0048-5010-8039-B5C04F3
33332.pem für die globale Repository-Authentifizierung wird verwendet
2020-07-02 10:17:10,723 DEBUG Thread 1480 verbindet sich mit der wapt-Datenbank
2020-07-02 10:17:10,723 DEBUG Datenbank-Transaktion gestartet
2020-07-02 10:17:10,723 DEBUG DB-Commit
2020-07-02 10:17:10,782 DEBUG Hostzertifikat C:\Program Files (x86)\wapt\private\4C4C4544-0048-5010-8039-B5C04F3
33332.pem für Repo wapt auth wird verwendet.
2020-07-02 10:17:10,901 DEBUG Hostzertifikat C:\Program Files (x86)\wapt\private\4C4C4544-0048-5010-8039-B5C04F3
33332.pem für Repo wapt-host auth wird verwendet.
2020-07-02 10:17:10,930 INFO Benutzergruppen: []
2020-07-02 10:17:10,930 DEBUG WAPT-Basisverzeichnis: C:\Program Files (x86)\wapt
2020-07-02 10:17:10,930 DEBUG Paketcache-Verzeichnis: C:\Program Files (x86)\wapt\cache
2020-07-02 10:17:10,930 DEBUG WAPT-DB-Strukturversion: 20190606
2020-07-02 10:17:10,930 DEBUG Überprüfe, ob eine alte Installation läuft
2020-07-02 10:17:10,940 DEBUG Setze den Status der blockierten Installation in der Datenbank zurück.
Installation der WAPT-Pakete ophlm-foxit
2020-07-02 10:17:10,974 DEBUG Lade SSL-Kontext mit Zertifikat C:\Program Files (x86)\wapt\private\4C4C4544-0048-5010-8039
-B5C04F333332.crt und Schlüssel C:\Program Files (x86)\wapt\private\4C4C4544-0048-5010-8039-B5C04F333332.pem
2020-07-02 10:17:11,178 INFO Verwende zwischengespeicherte Paketdatei von C:\Program Files (x86)\wapt\cache\ophlm-foxit_10.0.0.35798-11_PREPROD.wapt
2020-07-02
10:17:11,384 DEBUG Speichert Zertifikatskettenprüfung im Cache
2020-07-02 10:17:11,385 DEBUG Heruntergeladen: {'downloaded': [], 'skipped': [u'C:\\Program Files (x86)\\wapt\\cache\\ophlm-
foxit_10.0.0.35798-11_PREPROD.wapt'], 'errors': [], 'packages': [PackageEntry(u'ophlm-foxit',u'10.0.0.35798-11' maturity
=u'PREPROD')]}
Installation von ophlm-foxit(=10.0.0.35798-11)
2020-07-02 10:17:11,387 INFO Registrierung des Installationsstarts von C:\Program Files (x86)\wapt\cache\ophlm-foxit_10.0.0.35798-11_PREPROD.wapt
als Benutzer latijoel Lokale DB mit Parametern {}
2020-07-02 10:17:11,387 INFO Interaktiver Benutzer: latijoel, Benutzergruppen []
2020-07-02 10:17:11,588 INFO Status: Paket ophlm-foxit Version 10.0.0.35798-11 wird installiert ...
2020-07-02 10:17:11,588 DEBUG DB Transaktion gestartet
2020-07-02 10:17:11,588 DEBUG DB Commit
2020-07-02 10:17:11,631 DEBUG DB Transaktion gestartet
2020-07-02 10:17:11,634 DEBUG DB Commit
2020-07-02 10:17:11,674 INFO Die Kontrolldaten für das Paket C:\Program Files (x86)\wapt\cache\ophlm-foxit_10.0.0.35798-11_PREPROD.wapt
wurden durch das Zertifikat SSLCertificate cn=domitia verifiziert.
2020-07-02 10:17:11,674 INFO Installation des Pakets C:\Program Files (x86)\wapt\cache\ophlm-foxit_10.0.0.35798-11_PREPROD.wapt
2020-07-02
10:17:11,678 INFO Entpacken des Pakets C:\Program Files (x86)\wapt\cache\ophlm-foxit_10.0.0.35798-11_PREPROD.wapt
in das Verzeichnis c:\users\latijoel\appdata\local\temp\waptxdg9ol
2020-07-02 10:17:11,993 INFO Paket enthält eine setup.py-Datei, ein Codesignaturzertifikat ist erforderlich.
2020-07-02 10:17:11,996 DEBUG Zertifikat {'countryName': u'FR', 'commonName': u'domitia', 'emailAddress': u'serviceinfo
rmatique@domitia-habitat.fr', 'organizationName': u'Domitia Habitat', 'localityName': u'Narbonne'} wird von der Stammzertifizierungsstelle
domitia
2020-07-02 10:17:11,997 DEBUG Signaturprüfung mit SSLCertificate cn=domitia
2020-07-02 10:17:12,000 DEBUG OK mit SSLCertificate cn=domitia
2020-07-02 10:17:12,000 INFO Paket ausgestellt von {'countryName': u'FR', 'commonName': u'domitia', 'emailAddress': u'servic
einformatique@domitia-habitat.fr', 'organizationName': u'Domitia Habitat', 'localityName': u'Narbonne'}
2020-07-02 10:17:12,325 INFO Entpackte Dateien durch Zertifikat SSLCertificate cn=domitia verifiziert
2020-07-02 10:17:12,325 DEBUG Entferne vorhandenes persistentes Verzeichnis C:\Program Files (x86)\wapt\private\persistent\883da6a5-8
ae2-4477-b9e9-bd9b66350454
2020-07-02 10:17:12,328 INFO Installationsdatei wird geladen c:\users\latijoel\appdata\local\temp\waptxdg9ol\setup.py
2020-07-02 10:17:12,328 DEBUG Import source c:\users\latijoel\appdata\local\temp\waptxdg9ol\setup.py as __waptsetup_qkz8
8wxt4v__
2020-07-02 10:17:12,338 INFO Install parameters: {}
2020-07-02 10:17:12,339 DEBUG DB Start transaction
2020-07-02 10:17:12,342 DEBUG DB commit
2020-07-02 10:17:12,489 INFO execute install script
2020-07-02 10:17:12,503 DEBUG DB Start transaction
2020-07-02 10:17:12,505 DEBUG DB commit
Exe setup FoxitReader_10.0.0.35798_Setup.exe already installed. Überspringen
2020-07-02 10:17:12,542 INFO Datei C:\Users\Public\Desktop\Foxit Reader.lnk existiert nicht, daher nicht entfernt
2020-07-02 10:17:12,543 DEBUG Paket-Temporärverzeichnis wird bereinigt
2020-07-02 10:17:12,559 DEBUG DB Transaktion gestartet
2020-07-02 10:17:12,561 DEBUG DB Commit
2020-07-02 10:17:12,607 DEBUG DB Transaktion gestartet
2020-07-02 10:17:12,608 DEBUG DB Commit
2020-07-02 10:17:12,651 DEBUG DB Transaktion gestartet
2020-07-02 10:17:12,653 DEBUG DB-Commit
2020-07-02 10:17:12,707 DEBUG Modul wird entfernt: __waptsetup_qkz88wxt4v__, Referenzzähler: 4
2020-07-02 10:17:12,776 DEBUG Verfügbarkeit der Host-Pakete "[PackageEntry(u'4C4C4544-0048-5010-8039-B5C04F3333
32',u'4' )]"
geprüft 2020-07-02 10:17:12,778 DEBUG Prüfen, ob 4C4C4544-0048-5010-8039-B5C04F333332(=4) installiert/veraltet ist
2020-07-02 10:17:12,836 DEBUG Speicherstatus in DB
2020-07-02 10:17:12,838 DEBUG DB-Transaktion gestartet
2020-07-02 10:17:12,838 DEBUG DB-Commit
2020-07-02 10:17:12,891 INFO Status:
2020-07-02 10:17:12,894 DEBUG DB-Transaktion gestartet
2020-07-02 10:17:12,894 DEBUG DB-Commit
2020-07-02 10:17:12,937 CRITICAL Paket ophlm-foxit [x64_fr_PROD,PREPROD] aufgrund von Fehlern nicht installiert: IndexError: Tupelindex
außerhalb des gültigen Bereichs
FATAL FEHLER: IndexError: Tupelindex außerhalb des gültigen Bereichs
Traceback (letzter Aufruf):
Datei "
Datei "
Datei "C:\Program Files (x86)\wapt\common.py", Zeile 4855, in install
force=force
Datei "C:\Program Files (x86)\wapt\common.py", Zeile 3934, in install_wapt
raise e
IndexError: tuple index out of range
Exception at 00441CD4: EPyIndexError:
exceptions.IndexError: tuple index out of tidy.
