Seite 1 von 1

[GELÖST] f.lux-Paket

Veröffentlicht: 4. Juni 2021 - 11:10 Uhr
von elelay
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.
install_error.png
install_error.png (9,31 KiB) 3474 Mal angesehen
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))

Betreff: f.lux-Paket

Veröffentlicht: 4. Juni 2021 - 11:47 Uhr
von dcardon
Hallo elelay,

eine Möglichkeit, mit dieser Art von Podoware umzugehen, besteht darin, die Datei mithilfe der Funktion `install()` nach C:\Programme\f.lux zu kopieren und anschließend die Installation mit `session_setup()` im Benutzerverzeichnis zu starten (Beispiele dazu finden Sie im Forum).

Am besten kontaktieren Sie jedoch den Entwickler, um sicherzustellen, dass seine Software korrekt in C:\Programme installiert wird. In einem gut gesicherten Netzwerk mit SRP/AppLocker sollte dieses Verhalten vermieden werden (es sei denn, Sie versuchen, Ransomware zu extrahieren).

Viele Grüße,
Denis

Betreff: f.lux-Paket

Veröffentlicht: 4. Juni 2021 – 14:32 Uhr
von elelay
Hallo Denis,

vielen Dank für Ihre schnelle Antwort.
Wenn ich es richtig verstehe, bedeutet das, dass die Installation erst beim nächsten Login des Benutzers erfolgt?

Mit freundlichen Grüßen,

Betreff: f.lux-Paket

Veröffentlicht: 7. Juni 2021 - 21:24 Uhr
von dcardon
In setup.py wird der Abschnitt `def install()` als Systemkonto ausgeführt, was für eine schlecht entwickelte Anwendung wie Podoware, die sich im AppData-Ordner des Benutzers installiert, wenig hilfreich ist. Daher empfiehlt sich die Verwendung von `def session_setup()`. Die Anwendung wird dann tatsächlich „installiert“ (sofern man das Speichern von DLLs und EXEs im AppData-Ordner überhaupt als „Installation“ bezeichnen kann), sobald sich der Benutzer anmeldet.