Wix: Verwenden von KeyPath für Komponenten, Verzeichnisse, Dateien, Registrierung usw

Nach dem Lesendiese Antwort Bei der Verwendung von WiX mit dem Ansatz "Eine Datei pro Komponente" war ich neugierig, welche Vorgehensweisen bei der Verwendung am besten geeignet sindKeyPath Attribut auf andere Elemente einschließlichComponent, Directory, Registry usw. usw.

Ich bin an allgemeinen Vorschlägen interessiert, aber hier sind ein paar konkrete Fragen:

Wenn ich ein leeres Verzeichnis habe, das das Installationsprogramm erstellen muss, sollte ich festlegenKeyPath="yes" aufDirectory oder seine ElternComponent? Was ist, wenn es nicht leer ist?Wenn eine Datei hatKeyPath="yes" Ist es in einem Szenario mit Dateien pro Komponente erforderlich oder sinnvoll, sie für die übergeordnete Komponente festzulegen?Ich habe das irgendwo gelesen, anstatt es einzustellenKeyPath In einer Datei sollte für jede Datei und jeden Satz ein Registrierungsschlüssel verwendet werdenKeyPath="yes" auf Registry-Element ... Ist das wirklich wahr / notwendig?

Vielen Dank!

Edit # 1 - Klarstellung bezüglich:Directory

Ich wusste, dass Directory keinen KeyPath hat, aber meine Frage enthielt keine expliziten / detaillierten Angaben. Hauptsächlich war ich neugierig auf die Verwendung von KeyPath für eine Komponente, wenn ein leeres Verzeichnis erstellt werden muss. Ich sehe, dass KeyPath = "yes" in diesem Fall für die übergeordnete Komponente festgelegt ist. Aber reicht das aus, damit das Installationsprogramm fehlende leere Ordner erkennt / repariert? Oder sollte es zusammen mit dem Registrierungseintrag verwendet werden? Beispiel-Snippet:

<code><Directory Id="LOGS" Name="Logs">
  <Component Id="LogsDir" Guid="*" KeyPath="yes">
    <CreateFolder Directory="LOGS" />
  </Component>
</Directory>
</code>

Antworten auf die Frage(1)

Ihre Antwort auf die Frage