Von: http://robmensching.com/blog/posts/2010/1/26/StackOverflow-what-does-NameSourceDir-refer-to
Ehrlich gesagt, es ist etwas, das wir aus dem Entwickler versteckt haben sollten aber nicht. Es tut uns leid. Tatsache ist, dass der Windows Installer erwartet, dass die Verzeichnisstruktur immer in einer Verzeichniszeile verankert ist, in der der Primärschlüssel (Verzeichnis/@ Id) "TARGETDIR" und die Spalte DefaultDir (Verzeichnis/@ Name) "SourceDir" ist. .
Während einer Installation wird TARGETDIR standardmäßig auf das größte Laufwerk der Maschine gesetzt. SourceDir wird auf den Ort gesetzt, an dem das MSI ausgeführt wird. Nun ist SourceDir nach der Erstinstallation schwierig, da es nicht festgelegt wird, bis die ResolveSource-Aktion aufgerufen wird. Sie möchten jedoch die ResolveSource-Aktion nicht explizit aufrufen, da Sie wahrscheinlich aufgefordert werden, das ursprüngliche Quellmedium bereitzustellen (aka: legen Sie die CD bitte ein).
Was wir im WiX-Toolset hätten tun sollen, ist die Notwendigkeit, das TARGETDIR/SourceDir-Paar anzugeben und zu sagen: "Jedes Directory-Element, das kein Parent hat, wird automatisch an TARGETDIR übergeben, weil das MSI-SDK das sagt. " Stattdessen musst du es selbst machen ... und einige Entwickler fragen sich, was das alles bedeutet.
TARGETDIR ist der Ort, an dem Sie installieren möchten, SourceDir ist der Pfad zu dem sich das Installationspaket befindet, das Sie ausführen: http://msdn.microsoft.com/en-us/library/aa372452(VS.85). aspx –