Salve,
sto cercando di installare un pacchetto di aggiornamento di Firefox dalla versione 52.9esr alla 68.9esr.
Il problema è che questo aggiornamento crea un nuovo profilo utente predefinito.
L'idea è di eseguire un backup del file C:\Users\Username\AppData\Roaming\Mozilla\Firefox\profiles.ini in un'altra cartella durante l'installazione (nel mio esempio, C:\temp) e poi ripristinarlo nella sua posizione originale dopo l'installazione, in modo da mantenere l'accesso al profilo utente (contenente segnalibri, password, ecc.).
Per fare ciò, ho: `
from setuphelpers import *
uninstallkey = []
def install():
#copia del file profiles.ini da AppData a c:\Temp
print('salvataggio del file profiles.ini')
filecopyto(user_appdata()+'\Mozilla\Firefox\profiles.ini','c:\Temp')
#terminazione del processo Firefox.exe
print('chiusura di Firefox')
killalltasks("firefox.exe")
#aggiornamento a Firefox 68.9.0esr (32 bit)
print('aggiornamento a Firefox 68.9.0esr (32 bit)')
install_exe_if_needed("Firefox Setup 68.9.0esr.exe",'/s',key='')
.....
Tutto funziona correttamente quando eseguo l'installazione da PyScripter sulla mia macchina di sviluppo (con Windows 10 Pro); Il programma copia correttamente il file profiles.ini da C:\Users\Username\AppData\Roaming\Mozilla\Firefox\ a C:\Temp.
Quando avvio l'installazione del mio pacchetto dalla console su un'altra macchina (server Debian 9, Wapt 1.7.4), ricevo un errore di installazione:
IOError: [Errno 2] Nessun file o directory di questo tipo: u'C:\\Windows\\system32\\config\\systemprofile\\AppData\\Roaming\\Mozilla\\Firefox\\profiles.ini'.
Il file profiles.ini viene cercato nella posizione sbagliata.
Ho provato diversi approcci, incluso l'utilizzo di `
from os import path
appdatapath = path.expandvars('%APPDATA%')
filecopyto(appdatapath+'\Mozilla\Firefox\profiles.ini','c:\Temp')`
, ma il problema persiste: il pacchetto funziona correttamente in locale sulla macchina di sviluppo usando PyScripter, ma ricevo lo stesso errore quando provo a installarlo dalla console su un'altra macchina di test.
C'è un dettaglio che mi sfugge: perché il mio script cerca il file nella posizione corretta quando installo da PyScripter e poi lo cerca in `C:\Windows\system32\config\systemprofile\AppData\Roaming\Mozilla\Firefox` quando lo installo dalla console?
Grazie in anticipo per l'aiuto.
Cordiali saluti,
Cyril G
manipolazione del profilo utente
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
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
Ciao,
quando testi il tuo pacchetto da PyScripter, l'installazione avviene nel contesto del tuo utente.
Quando esegui l'installazione su un'altra macchina, l'installazione viene effettuata come utente SYSTEM, che non ha un profilo nel senso tradizionale.
Se sulla macchina è presente un solo utente, dovrai recuperare il nome dell'ultimo profilo utente connesso e utilizzare queste informazioni per costruire il percorso corretto a C:\users\
Non sono sicuro che WAPT abbia una funzione per recuperare l'ultimo utente autenticato su una macchina.
Consulta la documentazione di WAPT; in caso contrario, deve esserci una chiave di registro contenente tale informazione.
quando testi il tuo pacchetto da PyScripter, l'installazione avviene nel contesto del tuo utente.
Quando esegui l'installazione su un'altra macchina, l'installazione viene effettuata come utente SYSTEM, che non ha un profilo nel senso tradizionale.
Se sulla macchina è presente un solo utente, dovrai recuperare il nome dell'ultimo profilo utente connesso e utilizzare queste informazioni per costruire il percorso corretto a C:\users\
Non sono sicuro che WAPT abbia una funzione per recuperare l'ultimo utente autenticato su una macchina.
Consulta la documentazione di WAPT; in caso contrario, deve esserci una chiave di registro contenente tale informazione.
in setuphelpers:
-> restituisce miodominio\utente
per un utente locale
.\utente
Anche
restituisce un elenco ['utente']
Elenco dei profili macchina:
Codice: Seleziona tutto
get_last_logged_on_user()per un utente locale
.\utente
Anche
Codice: Seleziona tutto
get_loggedinusers()Elenco dei profili macchina:
Codice: Seleziona tutto
local_users_profiles()
['C:\\Windows\\ServiceProfiles\\LocalService',
'C:\\Windows\\ServiceProfiles\\NetworkService',
'C:\\Users\\htouvet',
'C:\\Users\\user1']Tranquillo IT
