TARGETDIR spielt eine besondere Rolle in der Auflösung der Verzeichnistabelle einer MSI-Datei. Insbesondere bildet es die Wurzel der Quell- und Zielverzeichnisbäume. Dies ist in der MSI-Datei durch den Nullwert in der Directory_Parent Spalte angegeben:
Nach Verzeichnis Auflösung SourceDir auf den Weg zeigen wird, wo das MSI aus ausgeführt wird. Außerdem wird TARGETDIR der übergeordnete Ordner für die meisten integrierten Windows-Verzeichnisse wie ProgramFilesFolder und ProgramMenuFolder sein, wie im Bild oben gezeigt.
Kurz gesagt, SourceDir ist so definiert, dass es den Speicherort der laufenden MSI-Datei enthält, und dieser Speicherort muss bekannt sein, um die Quellorte auf dem Verteilungsmedium für jede zu installierende Datei aufzulösen.
Ein Zielort ist ein vollständiger Installationspfad für eine Datei: C: \ Programme \ Meine App (wo die Datei läuft). Ein Quellspeicherort ist der vollständige Quellpfad für eine Datei: [SourceDir] Programmdateien \ Meine App (woher die Datei stammt).
Es ist spät, bitte lassen Sie mich wissen, wenn das nicht klar war.
UPDATE: Es stellt sich heraus, dass diese Frage zuvor gestellt wurde. Überprüfen Sie diesen Beitrag für eine Erklärung von Wix Schöpfer Rob Mensching: In WiX files, what does Name="SourceDir" refer to?