Next Topic

Previous Topic

Book Contents

Impostazioni

L'elemento <Setting/> descrive una impostazione migrata dal pacchetto.

Mappatura

Tutte le stringhe vengono mappate da origine a destinazione. Se la directory Programmi cambia tra diverse macchine, il motore nota e corregge i percorsi che vi puntano. In modo analogo, se la cartella Documenti dell'utente viene spostata, il percorsi vengono aggiornati prima di essere applicati.

Alias percorsi di Registro

Molte delle impostazioni sono memorizzate nel Registro e referenziate da altri percorsi di Registro. I seguenti alias vengono riconosciuti dal motore e rendono il pacchetto impostazioni più facile da leggere. Tutti gli esempi li utilizzano.

Alias

Referenze

HKCU

HKEY_CURRENT_USER

HKLM

HKEY_LOCAL_MACHINE

HKCR

HKEY_CLASSES_ROOT

HKU

HKEY_USERS

HKCC

HKEY_CURRENT_CONFIG

HKDD

HKEY_DYN_DATA

HKPD

HKEY_PERFORMANCE_DATA

Impostazioni all'interno di impostazioni

Può essere utile raggruppare le impostazioni in modo che il pacchetto impostazioni sia più facile da leggere.

        <Setting Name="Security">
            <Setting Name="EnablePGP">
                <Location Type="registry" SubType="value">
                    HCKU\Software\Crunch\EnablePGP
                </Location>
            </Setting>
            <Setting Name="RequirePassword">
                <Location Type="registry" SubType="value">
                    HCKU\Software\Crunch\PasswordRequired
                </Location>
            </Setting>
        </Setting>

Notare che questo è solo un gruppo logico all'interno del pacchetto impostazioni. Non deve corrispondere a come vengono memorizzate queste impostazioni. Qualsiasi numero di impostazioni può essere raggruppato a qualsiasi profondità.

Anche i nomi di queste impostazioni sono leggermente diversi. Le impostazioni nidificate hanno nomi qualificati che sono il nome qualificato del loro padre, uno slash, e quindi il loro nome. In questo modo queste impostazioni avranno i nomi qualificati Security/EnablePGP e Security/RequirePassword.

Migrazione di un albero chiavi con registry/subkey

Nella maggior parte dei casi si desidera spostare un'intera chiave di registro, tutti i suoi valori, tutte le sue chiavi secondarie (subkey) e tutti i relativi valori. È possibile farlo con Type="registry" SubType="subkey".

        <Setting Name="CrunchSettings">
            <Location Type="registry" SubType="subkey">
                HKCU\Software\Crunch
            </Location>
        </Setting>

Tutte le stringhe vengono automaticamente mappate e tutti i tipi di dati vengono determinati automaticamente. In alcuni casi, se il Registro contiene i percorsi ai file che si desidera migrare, questi devono essere gestiti separatamente utilizzando il percorso file. Provare prima il metodo registry/subkey. Ricorrere ad altri SubType di Registro solo se necessario.

Creazione di un valore di Registro con registry/value

Un valore di Registro può essere migrato fornendo il suo percorso:

        <Setting Name="ReticulateSplines">
            <Location Type="registry" SubType="value">
                HKCU\Software\Crunch\ReticulateSplines
            </Location>
        </Setting>

Migrazione se un valore di Registro esiste o meno con registry/valueexistence

A volte un'applicazione non memorizza informazioni in un valore di registro, ma ne controlla l'esistenza. Può essere migrato come segue:

        <Setting Name="IsRegistered">
            <Location Type="registry" SubType="valueexistence">
                HKCU\Software\Crunch\Registered
            </Location>
        </Setting>

Migrazione di un file con file

La migrazione di un file con una posizione fissa è semplice:

        <Setting Name="DataFile">
            <Location Type="file" File="C:\Path\To\File.dat" />
        </Setting>

Quando è possibile, utilizzare le variabili:

        <Setting Name="DataFile">
            <Location Type="file" File="%ProgramFiles%\Crunch\File.dat" />
        </Setting>

Migrazione di un file il cui percorso è nel Registro con filepath

Quando un'impostazione è in realtà un percorso di un file, spesso si desidera memorizzare anche il file, non solo il percorso. In questo caso, aggiungere un attributo Type="filepath" a <Setting/>, e il motore sposterà anche il file. Il valore di registro viene mappato e migrato, e ilfile è migrato e applicato nella posizione opportunamente mappata.

        <Setting Name="DataFile" Type="filepath">
            <Location Type="registry" SubType="value">
                HKCU\Software\Crunch\DataFilePath
            </Location>
        </Setting>

Attributi

Descrizione

Valori possibili

Obbligatorio?

Name

Nome dell'impostazione. Per le impostazioni nidificate, il nome qualificato è il nome qualificato del padre, uno slash, quindi il valore dell'attributo.

Testo che utilizza solo i caratteri a-z, A-Z, 0-9, punto, trattino e underscore. Non sono ammessi spazi.

Tipo

Questa impostazione deve essere trattata in modo diverso da una stringa normale? Se il valore ha qualche significato aggiuntivo, il Type può identificare questo significato.

filepath o nulla

No

OSVersion

Migra questo solo sui sistemi operativi specificati. Per sistemi operativi multipli, separarli con pipe: per esempio, Windows95|Windows2000. Notare che alcuni dei valori lo fanno giàquelli che iniziano con Any.

Windows2000 o WindowsXP o WindowsVista. AnyWindows corrisponderà a qualsiasi di questi.

No

Figli

Minimo

Massimo

<Location/>

0

Qualsiasi

<Default/>

0

1

<Setting/>

0

Qualsiasi

<SettingsList/>

0

Qualsiasi