2016-09-08 9 views
1

In wix Projekte, die Sie wird in der Regel eine Zeile wieWarum benötigt das TARGETDIR-Verzeichnis einen Namen?

<Directory Id="TARGETDIR" name="SourceDir"> 

Aber warum sieht die name brauchen hier eingestellt werden? Soweit ich weiß, gibt die Eigenschaft name den Namen des generierten Ordners auf dem Computer an, der die Installation durchführt. Es wird jedoch kein SourceDir-Ordner erstellt. Warum wird er benötigt?

Antwort

4

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:

enter image description here

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?

Verwandte Themen