3

そのため、インストーラーが必要な巨大なファイル構造があり、wix を使用してビルドし、クライアントの場所にコピーします。現在、私は次のように入力しています:

<Directory Id="xyz" Name = "abc FileSource = "sdfsdf">
    <Component Id="asdas" Guid="asdasd">
        <File Id = "asdfgrs" Name="name" />
    </Component>
</Directory>

ファイルの数が増えたので、これを自動化したいと思います。熱を使用して生成することができます:

<ComponentGroup Id="weqw">
   <Component Id="2132312" Directory="Some random string (cause of concern>" Guid="asdasd">
        <File Id="sdqwdqwd> keyPath="yes" Source = "Correct source path" />
    </Component>
<ComponentGroup>

私の懸念は、熱によって生成されたコンポーネントのディレクトリ フィールドにランダムな文字列が存在するため、ディレクトリ構造が複製されないことです。これは本当ですか?これを回避する方法はありますか?

4

1 に答える 1

4

出力からheat /?:

-dr      directory reference to root directories (cannot contains spaces 
         e.g. -dr MyAppDirRef)

heat を使用してディレクトリ構造を再帰的に収集する場合、-drスイッチはルート ターゲット フォルダーの ID を設定します。Directoryこの ID は、wxs ファイルの他の場所で指定した要素の ID と一致する必要があります。

収集されたサブフォルダーの場合、heat は引き続きランダム ID を生成します。指定された ID は、生成された XML ファイルに複数回表示されます。

  1. Directoryそのサブフォルダーの熱によって生成された要素で、Id属性として。

  2. Componentそのフォルダに関連付けられた要素で、Directory属性として。

ID は、Component要素をDirectory要素にリンクするためにのみ使用されます。インストール後に表示されるフォルダ名ではありません。これは、Windows インストーラ データベースのキーとしてのみ使用されます。

于 2011-05-24T10:45:09.773 に答える