Jestem nowy w WiX. Bardzo nowy. Czy istnieje sposób, aby zdefiniować jednocześnie ComponentGroup i Directory?W Wix, czy można zdefiniować ComponentGroup i Directory w tym samym czasie?
Mam dużą liczbę plików, rzędu 300 lub więcej, które muszą być podzielone na kilka grup, przy czym każda grupa ma około 50 plików.
Za pomocą narzędzia heat.exe udało mi się utworzyć fragment, który tworzy komponenty dla każdego pliku. Chciałbym uniknąć konieczności ponownej listy każdego z tych składników w osobnej definicji grupy komponentów. Chciałbym móc zawrzeć listę składników generowanych przez ciepło w definicji ComponentGroup, a następnie po prostu użyć tego ComponentGroupRef wewnątrz struktury DirectoryRef.
Mam nadzieję, że to wyjaśni. Obecnie muszę wykonać:
<DirectoryRef Id="FilesDir">
<Component Id="a.txt" Guid="YOUR-GUID">
<File Id="a.txt" KeyPath="yes" Source="SourceDir\a.txt" />
</Component>
<Component Id="b.txt" Guid="YOUR-GUID">
<File Id="b.txt" KeyPath="yes" Source="SourceDir\b.txt" />
</Component>
...
<Component Id="z.txt" Guid="YOUR-GUID">
<File Id="z.txt" KeyPath="yes" Source="SourceDir\z.txt" />
</Component>
</DirectoryRef>
<ComponentGroup Id="FilesGroup">
<ComponentRef Id="a.txt">
<ComponentRef Id="b.txt">
...
<ComponentRef Id="z.txt">
</ComponentGroup>
Muszę podać każdy plik dwa razy. To śmierdzi.
Chciałbym móc zrobić:
<ComponentGroup Id="FilesGroup">
<Component Id="a.txt" Guid="YOUR-GUID">
<File Id="a.txt" KeyPath="yes" Source="SourceDir\a.txt" />
</Component>
<Component Id="b.txt" Guid="YOUR-GUID">
<File Id="b.txt" KeyPath="yes" Source="SourceDir\b.txt" />
</Component>
...
<Component Id="z.txt" Guid="YOUR-GUID">
<File Id="z.txt" KeyPath="yes" Source="SourceDir\z.txt" />
</Component>
</ComponentGroup>
<DirectoryRef Id="FilesDir">
<ComponentGroupRef Id="FilesGroup">
</DirectoryRef>
Czy to możliwe? Czy jest jakiś inny sposób na ułatwienie tego, czego po prostu nie widzę?
Aktualizacja: Opuściliśmy Wix i dlatego nie jestem pewien, czy powinienem oznaczyć rozwiązanie, czy nie. Jeśli ktoś uważa, że jedna z odpowiedzi poniżej jest odpowiedzią na moje stare, dość stare pytanie, proszę dać mi znać, a ja oznaczyć odpowiednią odpowiedź jako taką.