Ausschlüsse testen

<< Click to Display Table of Contents >>

RayPack > 8.0 > User Guide > Einstellungen > Repackaging > Ausschluss-Editor 

Ausschlüsse testen

Verwenden des Regulären Ausdrucks-Editors / Testers

Der Editor zeigt den Inhalt der aktuell bearbeiteten Zeile und stellt jeden anpassbaren Wert als separaten Tab dar. Je nach Typ des bearbeiteten Objekts (Registrierung, Datei, Ordner, Umgebungsvariable oder Dienst) können verschiedene Tabs verfügbar sein. Zum Beispiel enthält die Regel für einen Registrierungseintrag anpassbare:

 

Location (bezeichnet den Schlüssel)

Name (bezeichnet den Namen des Werts)

Value

 

EditExclusionListsExpressionEditor

 

Wenn eines davon leer gelassen wird, bedeutet dies, dass alle Werte übereinstimmen. Wenn beispielsweise der NAME leer gelassen wird, bedeutet dies, dass alle Einträge, die dem LOCATION und dem VALUE entsprechen, mit der gesamten Regel übereinstimmen.

 

Jeder Tab ist in zwei Abschnitte unterteilt:

 

Ein Ausdrucks-Editor

Ein Ausdrucks-Tester (standardmäßig ausgeblendet)

 

Der Ausdrucks-Editor ist das Feld, das den regulären Ausdruck enthält, der zur Übereinstimmung mit der ausgeschlossenen/eingeschlossenen Ressource verwendet wird. Das Feld muss einen gültigen regulären Ausdruck enthalten. Das Eingeben eines ungültigen Werts würde dazu führen, dass die gesamte Regel ignoriert wird, wenn das Delta aus den erfassten Ressourcen generiert wird.

 

Um sicherzustellen, dass der reguläre Ausdruck gültig ist, wird ein kleiner Indikator unter dem Ausdrucksfeld angezeigt. Er validiert die eingegebene Eingabe während der Eingabe und gibt sofortiges Feedback darüber, ob die Regel ein gültiger regulärer Ausdruck ist oder nicht.

 

Zum Beispiel sind die folgenden Ausdrücke gültig:

^(?i)(HKEY_LOCAL_MACHINE|HKEY_CURRENT_USER)\\Software\\Microsoft\\Windows\\CurrentVersion\\(Installer|Uninstall|Setup)

Logging

(File|Folder)A

 

Muster testen

Sobald der reguläre Ausdruck gültig und für die RegExp-Engine verständlich ist, empfiehlt es sich stets zu prüfen, ob die Regel tatsächlich verwendet werden kann, um eine bestimmte Zeichenfolge/ein bestimmtes Muster zu finden.

 

Zum Beispiel ist folgender Ausdruck:

%UserProfile%\\MyFolder

ein gültiger regulärer Ausdruck, aber die folgenden Ressourcen werden der Regel nicht entsprechen:

 

1.%USERPROFILE%\MyFolder

2.%USERPROFILE%\YourFolder

3.C:\Users\HardcodedUserName\MyFolder

 

Das Problem mit der Testzeichenfolge Nummer 1 ist eine unterschiedliche Groß-/Kleinschreibung. Standardmäßig muss jeder reguläre Ausdruck die Groß-/Kleinschreibung der getesteten Zeichenfolge beachten. Eine Lösung wäre das Hinzufügen des Bits (?i) am Anfang des regulären Ausdrucks, um die Testzeichenfolge unabhängig von der Groß-/Kleinschreibung abzugleichen. Die korrekte Regel wäre:

(?i)%UserProfile%\\MyFolder

 

Das Problem mit der Testzeichenfolge Nummer 2 ist, dass sie einfach auf einen anderen Ordner verweist. Wenn auch dieser Ordner ausgeschlossen werden soll, muss die Regel angepasst werden:

(?i)%UserProfile%\\(My|Your)Folder

 

Das Problem mit der Testzeichenfolge Nummer 3 ähnelt dem der Zeichenfolge Nummer 2. Ein wichtiger Unterschied liegt in der Verwendung der Umgebungsvariablen in der Ausdruckszeichenfolge und einem absoluten Pfad in der Testzeichenfolge. Während der Anwendung der Ausschlusslisten werden Umgebungsvariablen in der Testzeichenfolge aufgelöst, sodass der vollständige Pfad abgeglichen wird. Der reguläre Ausdrucks-Tester kann auf anderen Computern als dem eigentlichen Repackaging-Rechner verwendet werden, sodass er keine Variablen auflöst. Daher wird das Testergebnis falsch sein, obwohl es tatsächlich wahr zurückgeben könnte, wenn HardcodedUserName das Paket installiert und die Ausschlussfilter anwendet.

 

Um sicherzustellen, dass der Ordner HardcodedUserName immer ausgeschlossen wird, besteht die Lösung darin, eine neue Regel hinzuzufügen, die MyFolder über den vollständigen Pfad erfasst. Zum Beispiel:

(?i)C:\\Users\\([^\\)\\MyFolder

 

Das Erkennen solcher Probleme während des Repackagings kann problematisch und zeitaufwändig sein. Eine bessere Lösung ist es, den Ausdruck beim Erstellen der Ausschlusslisten stets gegen gewünschte Ergebnisse zu testen.

So testen Sie das Muster gegen die Testzeichenfolge

1.Geben Sie den regulären Ausdruck in das Ausdrucksfeld ein.
 
Stellen Sie sicher, dass der Ausdruck gültig ist (der Indikator unter dem Textfeld sollte das VALID-Abzeichen anzeigen).
 

2.Klicken Sie auf die Umschaltfläche Test expression unter dem Ausdrucks-Editor.
Das Testfeld wird angezeigt.
 

3.Geben Sie die gewünschte Zeichenfolge in das neue Textfeld ein. RayPack wertet aus, ob der Ausdruck mit der angegebenen Zeichenfolge übereinstimmt.
 

4.Wenn der unter dem Tester angezeigte Status NOT MATCHING zeigt, bedeutet dies, dass der reguläre Ausdruck gültig ist, aber nicht in der Testzeichenfolge gefunden wurde.
 
Das bedeutet auch, dass wenn die Delta-Engine eine bestimmte Zeichenfolge beim Anwenden der Ausschlussfilter auswertet, eine gegebene Zeichenfolge nicht mit der Ausschlussregel übereinstimmt.
 

5.Wenn der unter dem Tester angezeigte Status MATCHING zeigt, bedeutet dies, dass der reguläre Ausdruck gültig ist und in der Testzeichenfolge gefunden wurde.
 
Das bedeutet, dass wenn die Delta-Engine eine bestimmte Zeichenfolge beim Anwenden der Ausschlussfilter auswertet, eine gegebene Zeichenfolge mit der Ausschlussregel übereinstimmt.