[GELÖST] f.lux-Paket
Veröffentlicht: 4. Juni 2021 - 11:10 Uhr
Guten Morgen,
Ich versuche, ein Paket für das kleine Tool f.lux zu erstellen.
Das Problem besteht darin, dass sich f.lux in den Benutzerprofilen des PCs und genauer gesagt im Verzeichnis AppData Local installiert.
Da die Installation als NT-Autorität\System gestartet wird, versucht f.lux, sich im Benutzerprofil des Systems zu installieren, das natürlich nicht existiert, und gibt daher einen Fehler zurück.
Wenn man den Fehler ignoriert, funktioniert zwar alles, aber das ist nicht sehr elegant.
Gibt es beispielsweise eine Möglichkeit, diese Installation als ein anderer Benutzer zu starten? Zum Beispiel als lokales Administratorkonto?
Hier ist mein aktueller Code:
Ich versuche, ein Paket für das kleine Tool f.lux zu erstellen.
Das Problem besteht darin, dass sich f.lux in den Benutzerprofilen des PCs und genauer gesagt im Verzeichnis AppData Local installiert.
Da die Installation als NT-Autorität\System gestartet wird, versucht f.lux, sich im Benutzerprofil des Systems zu installieren, das natürlich nicht existiert, und gibt daher einen Fehler zurück.
Wenn man den Fehler ignoriert, funktioniert zwar alles, aber das ist nicht sehr elegant.
Gibt es beispielsweise eine Möglichkeit, diese Installation als ein anderer Benutzer zu starten? Zum Beispiel als lokales Administratorkonto?
Hier ist mein aktueller Code:
Code: Alle auswählen
# -*- coding: utf-8 -*-
from setuphelpers import *
bin_name = 'flux-setup.exe'
package_version = control.version.split('-',1)[0]
def install():
killalltasks("flux.exe")
install_exe_if_needed(bin_name,'/S /alluser',key='',min_version=package_version)
def uninstall():
killalltasks("flux.exe")
for user in local_users_profiles():
flux_uninstall_path = makepath(user, '\AppData\Local\FluxSoftware\Flux\uninstall.exe')
if isfile(flux_uninstall_path):
run('{} /S'.format(flux_uninstall_path))