2010-09-02 9 views
9

Używam najnowszej wersji Wix 3.5 i próbuję wygenerować plik fragmentów przy użyciu narzędzia heat.exe. Linia komend jest:Wix heat.exe z projektem typu zbioru

"%WIX%\bin\heat.exe" project "MyProj.csproj" -pog Binaries -pog Content -suid -directoryid 
INSTALLLOCATION -ag -template fragment -out "Files.wxs" 

prolem mam jest to, że zespoły mój projekt jest w zależności uppon brakuje wygenerowanego pliku. Czy to jest zamierzone zachowanie? Jak mogę je dodać?

Czy powinienem używać typu zbioru dir?! Jak usunąć * .pdb lub * .vshost.exe?

Chcę używać go z serwera CI (TeamCity)

edycji: Próbowałem -pog Satellites i nie działa albo

+0

Mam ten sam problem. Wyjście projektu jest przechwytywane (wszystko, co produkuje), ale żadna z zależności. Mam zamiar uciekać się także do zbiorów "dir'ów". –

Odpowiedz

0

W naszym CI produkcji używamy WiX z ręcznie spreparowane wxs plików .
Oto zawartość pliku kompilacji:

<Target Name="BuildSetup" DependsOnTargets="BuildSetupVersion"> 
    <Exec Command="$(WIX-ToolPath)\candle.exe -nologo -out $(MSBuildProjectDirectory)\bin\Debug\Designer.wxs UI_RUS.wxs Bin.wxs" WorkingDirectory = "$(MSBuildProjectDirectory)\bin\Debug"/> 
    <Exec Command="$(WIX-ToolPath)\light.exe -wx -out Setup_$(Major).$(Minor).$(Build).$(Revision).msi Designer.wixobj UI_RUS.wixobj Bin.wixobj" WorkingDirectory = "$(MSBuildProjectDirectory)\bin\Debug"/> 
    <Message Text="##teamcity[publishArtifacts '$(MSBuildProjectDirectory)\bin\Debug\Setup_$(Major).$(Minor).$(Build).$(Revision).msi']"/>--> 
</Target> 

Designer.wxs - Program zawiera specyficznych informacji MSI (UpgradeCode, msi wersji i pakietu informacji).
UI_culture (w tym przykładzie RUS) .wxs - zawiera niestandardowy zlokalizowany interfejs użytkownika WiX.
Bin.wxs - zawiera wszystkie potrzebne pliki. (Możesz zautomatyzować je za pomocą generowania wxi i przy użyciu WiX), ale po prostu piszemy ten plik ręcznie.

+0

Witam, to jest interesujące, ale nie odpowiada na pytanie: dlaczego heat.exe nie generuje wpisów dla zależnych zespołów z projektem zbierania –

+0

@Catalin DICU. Tak, wiem. Ale odpowiedziałem w ten sposób tylko z powodu braku szczęścia w tym samym zadaniu. Po tygodniu walki z ciepłem postanowiliśmy ręcznie napisać pliki wxs, a niektóre poprzez wygenerowanie pliku wxi z msbuild. –

+0

Skończyło się na tym, że używam zbioru katalogów, ale umieszczam też .pdb-s. Nic wielkiego, nie próbowałem ich odfiltrować za pomocą xslt; nie wiem, czy to by działało. –

8

Niestety jest to znany problem z WiX:

Heat doesn't harvest referenced assemblies

Z uwag o błędach, wygląda na to wsparcie zostanie dodana w WiX 4.0.

+0

Myślę, że wolałbym, żeby to naprawiono zanim zacznę działać. Miejmy nadzieję, że v4 ma krótszą ciążę niż v3.5/3.6 ... –

Powiązane problemy