[RISOLTO] Pacchetto f.lux

Domande sul packaging WAPT / Richieste e assistenza sui pacchetti Wapt.
Regole del forum
Regole del forum della community
* Supporto in inglese su www.reddit.com/r/wapt
* Supporto della community in francese disponibile su questo forum
* Si prega di anteporre [RISOLTO] al titolo dell'argomento se è stato risolto.
* Si prega di non modificare un argomento contrassegnato con [RISOLTO]. Aprire un nuovo argomento facendo riferimento a quello precedente.
* Specificare la versione di WAPT installata, la versione completa e il numero di build (2.2.1.11957 / 2.2.2.12337 / ecc.) nonché l'edizione Enterprise/Discovery.
* Le versioni 1.8.2 e precedenti non sono più supportate. Le uniche domande accettate relative alla versione 1.8.2 riguardano l'aggiornamento a una versione supportata (2.1, 2.2, ecc.).
* Specificare il sistema operativo del server (Linux/Windows) e la versione (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Specificare il sistema operativo della macchina di amministrazione/creazione dei pacchetti e della macchina con l'agente problematico, se applicabile (Windows 7/10/11/Debian 11/ecc.).
* Evitare di porre più domande quando si apre una discussione, altrimenti potrebbe essere ignorata. Se ci sono più discussioni, aprirle separatamente, preferibilmente una dopo l'altra e non tutte contemporaneamente (ovvero, non intasare il forum).
* Includere frammenti di codice, screenshot e altre immagini direttamente nel post. I link a Pastebin, Bitly e altri siti di terze parti verranno sistematicamente rimossi.
* Come in qualsiasi forum della community, il supporto è fornito volontariamente dai membri. Se si necessita di supporto commerciale, è possibile contattare il reparto vendite di Tranquil IT al numero 02.40.97.57.55
Bloccato
elelay
Messaggi: 27
Registrazione: 20 ott 2020 - 12:39

4 giugno 2021 - 11:10

Buongiorno,

Sto cercando di creare un pacchetto per il piccolo strumento f.lux.
Il problema è che f.lux si installa nei profili utente del PC e più precisamente nella directory AppData Local.
Poiché l'installazione viene avviata come NT Authority\System, f.lux tenta di installarsi nel profilo utente del sistema, che ovviamente non esiste e pertanto restituisce un errore.
errore_installazione.png
install_error.png (9,31 KiB) Visualizzato 3350 volte
Ignorando l'errore tutto funziona, ma non è molto pulito.
C'è un modo, ad esempio, per avviare questa installazione come un altro utente? Come l'account amministratore locale?

Ecco il mio codice attuale:

Codice: Seleziona tutto

# -*- 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))
Ultima modifica di elelay l'8 giugno 2021 alle 09:11, modificato 1 volta.
Versione del server WAPT: 2.0 Enterprise
Console installata su un
server Windows Server 2019 Debian 10 Buster
Avatar utente
dcardon
Esperto WAPT
Messaggi: 1908
Registrazione: 18 giugno 2014 - 09:58
Ubicazione: Saint Sébastien sur Loire
Contatto:

4 giugno 2021 - 11:47

Ciao elelay,

un modo per gestire questo tipo di podoware è fare in modo che la funzione install() copi il file in c:\program files\f.lux e poi che session_setup() avvii l'installazione nella directory home dell'utente (ci sono esempi sul forum).

Detto questo, il modo migliore sarebbe contattare lo sviluppatore per assicurarsi che il suo software si installi correttamente in c:\program files. Su una rete ben protetta con SRP/AppLocker, questo tipo di comportamento del software dovrebbe essere evitato (a meno che non si stia cercando di recuperare un ransomware...).

Cordiali saluti,
Denis
Denis Cardon - Tranquil IT
Condividi le tue esperienze su WAPT! Inviaci gli URL dei tuoi blog e articoli nella "La tua opinione del forum e li pubblicheremo sul di WAPT
elelay
Messaggi: 27
Registrazione: 20 ott 2020 - 12:39

4 giugno 2021 - 14:32

Ciao Denis,

grazie mille per la tua rapida risposta.
Se ho capito bene, questo significa che l'installazione avverrà solo al prossimo accesso dell'utente?

Cordiali saluti,
Versione del server WAPT: 2.0 Enterprise
Console installata su un
server Windows Server 2019 Debian 10 Buster
Avatar utente
dcardon
Esperto WAPT
Messaggi: 1908
Registrazione: 18 giugno 2014 - 09:58
Ubicazione: Saint Sébastien sur Loire
Contatto:

7 giugno 2021 - 21:24

In setup.py, la sezione `def install()` viene eseguita come account di sistema, quindi non è molto utile per un'app mal sviluppata come Podoware che si installa automaticamente nell'AppData dell'utente. Pertanto, il modo migliore per gestire questa situazione è usare `def session_setup()`, e sì, l'app verrà "installata" (se si può anche solo chiamare "installazione" l'inserimento di DLL ed EXE nell'AppData...) quando l'utente effettua l'accesso.
Denis Cardon - Tranquil IT
Condividi le tue esperienze su WAPT! Inviaci gli URL dei tuoi blog e articoli nella "La tua opinione del forum e li pubblicheremo sul di WAPT
Bloccato