|
<< Click to Display Table of Contents >> RayPack > 8.0 > User Guide > PackDesigner > MSI / MST / RPP-basierte Projekte > Erweiterter Modus > Tabellen > Erweiterte Editor-Oberflächenfunktionen Zeilenverfolgung |
Der Zeilenverfolgungsmechanismus zeigt und verfolgt die Referenzen zwischen der ausgewählten Zeile und anderen Zellen / Zeilen / Tabellen im bearbeiteten MSI / RPP / MST-Projekt.
Um die Zeilenverfolgungsansicht zu aktivieren, aktivieren Sie das untere Panel in der Tabellenansicht über die folgende Schaltfläche:
Da das untere Panel auch zur Anzeige der ICE / Test-Ergebnisse verwendet wird, können die folgenden Schaltflächen verwendet werden, um die Zeilenreferenz-Verfolgungsergebnisse ein- / auszublenden:
Blendet ICE / Test-Ergebnisse aus und zeigt die ICE / Test-Validierungsergebnisse
Zeigt Zeilenreferenz-Verfolgungsergebnisse
Die Zeilenverfolgung ist eine Liste von Zeilen, die sich auf die aktuell ausgewählte Zeile beziehen oder von ihr referenziert werden. Zum Beispiel mit der folgenden ausgewählten Zeile in der Tabelle Registry:
werden die folgenden Referenzen im Zeilenverfolgungsbereich angezeigt:
Was wie folgt zu interpretieren ist:
•Die Zeile ProductVersion in der Registry-Tabelle hat eine Referenz auf eine externe Tabelle. Die referenzierte Tabelle ist Component, der Bezeichner der referenzierten Zeile ist Registry_HKLM, und der Wert referenziert die Spalte Component.
Der Wert, der auf die Zeile verweist, ist Registry_HKLM.
Tatsächlich ist die Spalte Component_ in der Tabelle Registry ein Fremdschlüssel zur Tabelle Component, und daher wird die Verknüpfung von RayPack angezeigt.
•Die Zeile ProductVersion in der Tabelle Registry hängt von der indirekt referenzierten Eigenschaft ProductVersion aus der Tabelle Property in der Spalte Property ab.
Tatsächlich enthält die formatierte Zeichenfolge [ProductVersion] einen gültigen Verweis auf eine Windows Installer-Eigenschaft, und daher wird die Verknüpfung von RayPack angezeigt.
RayPack zeigt die folgenden Referenzen:
•Primary Key / Foreign Key-Beziehungen basierend auf der Validation-Tabelle
•Primary Key / Foreign Key-Beziehungen basierend auf der internen Datenbank gängiger Referenzen
•Formatierte Zeichenfolgen mit Datei-, Eigenschafts-, Ordner- oder Komponentensyntax
Die Informationen werden sowohl für die Zeile, die Quelle einer Referenz ist, als auch für das Ziel der Referenz angezeigt.
Zur Referenzquelle / zum Referenzziel springen
Um zu einer Referenzquelle / einem Referenzziel zu springen, doppelklicken Sie auf den Eintrag im Zeilenverfolgungsbereich. Zum Beispiel würde ein Doppelklick auf den ersten Eintrag im obigen Beispiel zur Tabelle Component, zur Zeile Registry_HKLM springen und die Spalte Component hervorheben.
Referenzen und Kaskadenaktualisierungen
Wenn ein Wert in einer Zelle geändert wird, verfolgt RayPack alle Zielreferenzen und aktualisiert den Wert entsprechend. Zum Beispiel würde das Umbenennen der Eigenschaft ProductVersion zu ABC den Registrierungswert von [ProductVersion] zu [ABC] umbenennen (siehe das Beispiel oben).
Die Werte in den Tabellen werden rekursiv ersetzt, was bedeutet, dass alle geänderten Zellen auf Referenzen gescannt werden, die möglicherweise aktualisiert werden müssen, und so weiter. Dadurch wird sichergestellt, dass das Paket intern konsistent ist, unabhängig davon, wie tief und verteilt die Referenzen sind.
Ebenso würde das Entfernen einer Zeile die anderen Werte verbundener Zellen entfernen oder ändern. Wenn zum Beispiel ein Eintrag aus der Tabelle Component entfernt wird, werden verbundene Einträge in FeatureComponents ebenfalls entfernt.
Beispiel:
Wenn die referenzierte Spalte als nullable markiert ist und die referenzierte Zeile gelöscht wird, setzt RayPack den Wert der Spalte auf null, anstatt die Spalte zu entfernen. Wenn beispielsweise eine Datei ABC entfernt wird, werden auch ihre MsiFileHash- und RPSourcePath-Zeilen entfernt. Die Komponente, die diese Datei über die Spalte KeyPath referenziert, wird jedoch nicht gelöscht, da die Spalte KeyPath in der Tabelle Component nullable ist. Das bedeutet, dass der Zeilenreferenz-Verfolgungsmechanismus nur den Wert in der KeyPath-Spalte auf null setzt.
|
Hinweis: Beim Ersetzen von Bezeichnern formatierter Zeichenfolgen wendet RayPack eine besondere Behandlung für INSTALLDIR-Referenzen an. Jede formatierte Referenz (zum Beispiel [INSTALLDIR] in der Control-Tabelle) bleibt unverändert. Dies ist beabsichtigt, um unerwartetes Verhalten zu vermeiden. |
Kaskadenaktualisierungen deaktivieren / aktivieren
Die automatischen Kaskadenaktualisierungen können durch Deaktivieren des Kontrollkästchens unterhalb der Tabellen deaktiviert werden:

Der Mechanismus kann jederzeit wieder aktiviert werden.