Protezione delle risorse

La funzionalità di Windows Installer per impostare le autorizzazioni di accesso per servizi, file, cartelle create e voci del Registro di sistema può aiutare a rendere più sicure le applicazioni di installazione. L'uso delle tabelle MsiLockPermissionsEx o LockPermissions per proteggere le risorse è una delle linee guida consigliate per la creazione di installazioni sicure. La tabella MsiLockPermissionsEx può consentire a un autore del pacchetto di proteggere una risorsa senza dover scrivere un'azione personalizzata.

A partire dai pacchetti sviluppati per Windows Installer 5.0, la tabella MsiLockPermissionsEx deve sostituire l'uso della tabella LockPermissions . La funzionalità estesa fornita dalla tabella MsiLockPermissionsEx consente a un pacchetto di proteggere Servizi Windows, file, cartelle e chiavi del Registro di sistema. Un pacchetto non deve contenere sia le tabelle MsiLockPermissionsEx che lockPermissions.

Windows Installer 4.5 e versioni precedenti ignora la tabella MsiLockPermissionsEx. A partire da Windows Installer 5.0, l'installazione ha esito negativo con un messaggio di errore 1941 se il pacchetto contiene sia una tabella LockPermissions che msiLockPermissionsEx . I pacchetti di installazione esistenti che contengono solo la tabella LockPermissions possono essere ancora installati usando Windows Installer 5.0.

Windows Installer 5.0 elabora le informazioni nella tabella MsiLockPermissionsEx durante l'esecuzione delle azioni standard InstallFiles, InstallServices, WriteRegistryValues e CreateFolders standard. Un oggetto a protezione diretta deve essere installato o reinstallato per essere protetto e non è possibile aggiungere un elenco di Controllo di accesso a un oggetto esistente senza reinstallare tale oggetto.

Per specificare il servizio, il file, la directory o la chiave del Registro di sistema che deve essere protetta, immettere le informazioni di identificazione nei campi LockObject e Table della tabella MsiLockPermissionsEx . Un oggetto viene identificato dalla chiave primaria nella tabella ServiceInstall, Nella tabella file, nella tabella del Registro di sistema o nella tabella CreateFolder.

Per richiedere che le autorizzazioni specificate si applicano a un oggetto, immettere una stringa di descrittore di sicurezza valida nel campo SDDLText della tabella MsiLockPermissionsEx usando il linguaggio di definizione del descrittore di sicurezza valido (SDDL). La tabella MsiLockPermissionsEx può specificare un descrittore di sicurezza che nega le autorizzazioni, specifica l'ereditarietà delle autorizzazioni da una risorsa padre o specifica le autorizzazioni di un nuovo account. Per un elenco di tutte le autorizzazioni che possono essere concesse, negate o ereditate, vedere Stringhe ACE. Windows Installer 5.0 estende il set di identificatori di sicurezza disponibili (SID). Per un elenco dei SID validi, vedere Stringhe SID.

Nota

Se si vuole configurare il descrittore di sicurezza di una risorsa padre per specificare che le autorizzazioni vengono ereditate dagli oggetti figlio, il programma di installazione deve applicare le autorizzazioni alla risorsa padre prima di creare gli oggetti figlio. Se il programma di installazione crea gli oggetti figlio prima di applicare le autorizzazioni ereditabili alla risorsa padre, le autorizzazioni della risorsa padre non verranno propagate agli oggetti figlio.

A partire da Windows Installer 5.0, il tipo di dati FormattedSDDLText estende il tipo di dati formattato . Windows Installer convalida che la stringa FormattedSDDLText immessa nella colonna SDDLText della tabella MsiLockPermissionsEx sia conforme al formato stringa del descrittore di sicurezza.

Windows Installer 4.5 o versioni precedenti: Non supportato. La tabella MsiLockPermissionsEx e il tipo di dati FormattedSDDLText sono disponibili a partire da Windows Installer 5.0.