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.
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))
