WiX ファイルでは、Name="SourceDir" は何を指しますか? 質問する

WiX ファイルでは、Name=

WiX ファイルには必ず次の行が含まれているようです:

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

「SourceDir」とは何ですか? 何に使用されますか? 実際のディレクトリ名ではありません。 何らかの魔法の値ですか?

ベストアンサー1

から:https://robmensching.com/blog/posts/2010/1/26/stackoverflow-what-does-namesourcedir-refer-to/

正直に言うと、これは開発者から隠すべきだったのですが、そうしませんでした。申し訳ありません。実際のところ、Windows インストーラーは、ディレクトリ ツリーが常に、プライマリ キー (Directory/@Id) が "TARGETDIR" で、DefaultDir 列 (Directory/@Name) が "SourceDir" であるディレクトリ行をルートとすることを想定しています。

インストール中、TARGETDIR はデフォルトでマシン上の最大のドライブに設定されます。ソースディレクトリMSI が実行されている場所に設定されます。最初のインストール後、SourceDir は ResolveSource アクションが呼び出されない限り設定されないため、扱いにくくなります。ただし、元のソース メディアを提供するように要求される可能性が高いため (つまり、CD を挿入してください)、ResolveSource アクションを明示的に呼び出すことは望ましくありません。

WiX ツールセットで実行すべきだったのは、TARGETDIR/SourceDir ペアを指定する必要性をなくし、「MSI SDK で指示されているように、親を持たない Directory 要素はすべて自動的に TARGETDIR に親付けされます」とすることです。代わりに、自分で実行する必要があります... 一部の開発者は、それが何を意味するのか疑問に思っています。

おすすめ記事