[RISOLTO] Creazione di un pacchetto per modificare il registro di Windows

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
Meno
Messaggi: 13
Registrazione: 2 agosto 2019 - ore 9:05

20 febbraio 2020 - 10:59

Buongiorno

Vorrei utilizzare Wapt per implementare una modifica a una chiave nel registro di Windows relativa alle impostazioni di Outlook su determinati PC

Il mio file .reg di base si presenta così:

Codice: Seleziona tutto

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\AutoDiscover]
"ExcludeExplicitO365Endpoint"=dword:00000001
Quindi ho creato due file batch come segue:

Il primo modo è installare la chiave (AntiPopup.bat):

Codice: Seleziona tutto

@echo off
REG ADD HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\AutoDiscover /f /v ExcludeExplicitO365Endpoint /t REG_DWORD /d "00000001"
Il secondo è rimuovere la chiave (RemoveAntiPopup.bat)

Codice: Seleziona tutto

@echo off
REG DELETE HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\AutoDiscover /v ExcludeExplicitO365Endpoint /f
Inizialmente ho testato i file batch in una macchina virtuale e hanno funzionato senza problemi

Tuttavia, una volta creato il pacchetto WAPT con il seguente setup.py:

Codice: Seleziona tutto

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = []

def install():
    print('AntiPopup.bat: Execute...')
    run(r'AntiPopup.bat')

def uninstall():
    print('RemoveAntiPopup.bat: Execute...')
    run(r'RemoveAntiPopup.bat')
L'installazione procede senza errori, ma la chiave non viene creata nella VM.

Pensando che potesse esserci un problema con l'applicazione di un file batch, ho convertito i file batch in file exe con diritti di amministratore.

Ho testato i file eseguibili direttamente nella VM: creano ed eliminano la chiave correttamente

Ho creato il file setup.py come segue:

Codice: Seleziona tutto

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = []

def install():
    print('AntiPopup.exe: Execute...')
    run(r'AntiPopup.exe')

def uninstall():
    print('RemoveAntiPopup.exe: Execute...')
    run(r'RemoveAntiPopup.exe')
E qui si verifica lo stesso problema di prima: il pacchetto funziona correttamente senza errori, ma il file .exe non si applica, come se non fosse in esecuzione

Puoi aiutarmi per favore? Ho parecchi piccoli pacchetti come questo da creare.

Grazie in anticipo

### Informazioni richieste###
Server che esegue Debian 9
Macchina di amministrazione Windows 10 Pro (1909)
Versione del server WAPT: 1.8.1
Versione dell'agente WAPT: 1.8.1.6740
Versione di installazione WAPT: 1.8.1.6740
Versione di distribuzione WAPT: 1.8.1.6740
Stato del database: OK (1.7.6.6)
Avatar utente
agauvrit
Esperto WAPT
Messaggi: 238
Registrazione: 17 nov 2016 - 10:25
Posizione: Nantes
Contatto:

20 febbraio 2020 - 13:46

Ciao,

è più semplice con la funzione giusta: https://www.wapt.fr/fr/doc/wapt-create- ... gistry-key

Alexandre
Meno
Messaggi: 13
Registrazione: 2 agosto 2019 - ore 9:05

20 febbraio 2020 - 14:02

Per un principiante che sta imparando Python, questo tipo di semplice file setup.py è adatto?

Codice: Seleziona tutto

# -*- coding: utf-8 -*-
from setuphelpers import *
 
registry_setstring(HKEY_CURRENT_USER, "SOFTWARE\\Microsoft\\Office\\16.0\\Outlook\\Autodiscover",'ExcludeExplicitO365Endpoint','00000001', type=REG_DWORD)
Avatar utente
agauvrit
Esperto WAPT
Messaggi: 238
Registrazione: 17 nov 2016 - 10:25
Posizione: Nantes
Contatto:

20 febbraio 2020 - 14:11

Ho appena ricevuto un rimprovero dal mio collega: è una chiave HKCU, quindi non può essere modificata nel contesto di sistema, ma solo nel contesto utente! (Grazie, Simon)

La risposta corretta è:

Codice: Seleziona tutto

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = []

def install():
    pass

def uninstall():
    pass
    
def session_setup():
    registry_setstring(HKEY_CURRENT_USER, r"SOFTWARE\Microsoft\Office\16.0\Outlook\Autodiscover",'ExcludeExplicitO365Endpoint',1, type=REG_DWORD)
Per capire come funziona session_setup(): https://www.wapt.fr/fr/doc/wapt-create- ... ambiente

Per prima cosa devi installare il pacchetto > quindi eseguire il comando

Codice: Seleziona tutto

wapt-get session-setup ALL
sulla workstation per eseguire la funzione session_setup

Alessandro
Meno
Messaggi: 13
Registrazione: 2 agosto 2019 - ore 9:05

20 febbraio 2020 - 14:17

Grazie mille per le informazioni e mi scuso per aver causato un rimprovero. :?

Va bene per il comando `wapt-get session-setup ALL`; è facile da eseguire tramite GPO.

Quindi, se si trattasse di una chiave HKLM? Come dovrebbe essere il file setup.py?
Avatar utente
agauvrit
Esperto WAPT
Messaggi: 238
Registrazione: 17 nov 2016 - 10:25
Posizione: Nantes
Contatto:

20 febbraio 2020 - 17:47

Per HKLM > contesto di sistema

Codice: Seleziona tutto

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = []

def install():
    registry_setstring(HKEY_LOCAL_MACHINE, r"SOFTWARE\Microsoft\Office\16.0\Outlook\Autodiscover",'ExcludeExplicitO365Endpoint',1, type=REG_DWORD)
    
Meno
Messaggi: 13
Registrazione: 2 agosto 2019 - ore 9:05

21 febbraio 2020 - 09:17

Fantastico!

Grazie mille per tutte queste informazioni.
Bloccato