Eliminazione della chiave di registro

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
f4242
Messaggi: 54
Registrazione: 23 novembre 2016 - 20:51

25 ottobre 2018 - 19:57

Buongiorno,

Sto provando a eliminare una chiave di registro nel mio pacchetto di installazione di Eraser.

Per prima cosa ho provato a usare il metodo nativo di WAPT:

Codice: Seleziona tutto

registry_deletekey(root=HKEY_LOCAL_MACHINE, path=r'SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers', keyname=r'c:\Program Files\Eraser\Eraser.exe')
L'installazione è riuscita, ma la rimozione non è riuscita.

Poi ho provato con

Codice: Seleziona tutto

run(r'reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "c:\Program Files\Eraser\Eraser.exe" /f')
Ma mi fa arrabbiare:
CalledProcessErrorOutput: Il comando 'reg delete "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\AppCompatFlags\\Layers" /v "c:\\Program Files\\Eraser\\Eraser.exe" /f' ha restituito uno stato di uscita diverso da zero (1).
Output: u"Errore: Impossibile trovare la chiave o il valore del registro specificato.\r\n"
Tuttavia, se sostituisco "run" con "print" e copio/incollo la stringa in un prompt dei comandi come amministratore, l'eliminazione funziona correttamente.

Qual è il mio problema?

GRAZIE!
Avatar utente
dcardon
Esperto WAPT
Messaggi: 1908
Registrazione: 18 giugno 2014 - 09:58
Ubicazione: Saint Sébastien sur Loire
Contatto:

25 ottobre 2018 - 20:04

Ciao f4242,
f4242 ha scritto: 25 ott 2018 - 19:57 Sto provando a eliminare una chiave di registro nel mio pacchetto di installazione di Eraser.

Per prima cosa ho provato a usare il metodo nativo di WAPT:

Codice: Seleziona tutto

registry_deletekey(root=HKEY_LOCAL_MACHINE, path=r'SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers', keyname=r'c:\Program Files\Eraser\Eraser.exe')
L'installazione è riuscita, ma la rimozione non è riuscita.

Poi ho provato con

Codice: Seleziona tutto

run(r'reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "c:\Program Files\Eraser\Eraser.exe" /f')
Ma mi fa arrabbiare:
CalledProcessErrorOutput: Il comando 'reg delete "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\AppCompatFlags\\Layers" /v "c:\\Program Files\\Eraser\\Eraser.exe" /f' ha restituito uno stato di uscita diverso da zero (1).
Output: u"Errore: Impossibile trovare la chiave o il valore del registro specificato.\r\n"
Tuttavia, se sostituisco "run" con "print" e copio/incollo la stringa in un prompt dei comandi come amministratore, l'eliminazione funziona correttamente.

Qual è il mio problema?
Probabilmente c'è un problema di reindirizzamento WOW64 (un processo a 32 bit non vede esattamente lo stesso registro di un processo a 64 bit). Puoi provare con:

Codice: Seleziona tutto

with disable_file_system_redirection():
    registry_deletekey(root=HKEY_LOCAL_MACHINE, path=r'SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers', keyname=r'c:\Program Files\Eraser\Eraser.exe')
Sinceramente,

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
f4242
Messaggi: 54
Registrazione: 23 novembre 2016 - 20:51

25 ottobre 2018 - 20:29

Ciao,

non funziona con registry_deletekey, ma la mia alternativa che utilizza run in a with funziona.

Grazie!
Avatar utente
dcardon
Esperto WAPT
Messaggi: 1908
Registrazione: 18 giugno 2014 - 09:58
Ubicazione: Saint Sébastien sur Loire
Contatto:

25 ottobre 2018 - 20:44

Buonasera f4242,

f4242 ha scritto: 25 ott 2018 - 20:29 Non funziona con registry_deletekey, ma la mia alternativa con run in a with funziona.
Potresti provare ad aggiungere WOW6432node?

Codice: Seleziona tutto

registry_deletekey(HKEY_LOCAL_MACHINE, r'SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers', r'c:\Program Files\Eraser\Eraser.exe')
Sinceramente,

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
f4242
Messaggi: 54
Registrazione: 23 novembre 2016 - 20:51

26 ottobre 2018 - 16:39

Ciao,

no, non funziona ancora.

Sono ancora alla versione 1.3.13; non so se potrebbe trattarsi di un bug già risolto nelle versioni 1.5/1.6.
Bloccato