2012-01-25 2 views
3

Я унаследовал проект WiX от недавно завершенного подрядчика.Проект установки Visual Studio WiX, удаляющий вывод msi на Rebuild

Когда я создаю проект установщика WiX, нет никаких проблем - .msi создается и выводится как ожидалось.

Но когда я «перестраиваю» проект установщика WiX, снова .msi отлично строится с помощью light.exe, но впоследствии он удаляется «CoreClean».

Дополнительная информация: Пакеты проектов wix (и ссылки) представляют собой один веб-проект.

Это фрагмент выхода:

ICE105: ICE105 - Validates the package to make sure that it can be installed in true Per-User mode 
     ICE105: Created 05/01/2008. Last Modified 05/21/2008. 
     Laying out media. 
     Moving file 'C:\Users\codemonkey\AppData\Local\Temp\nxkfdvui\AmazonWebsiteInstaller.msi' to 'C:\web\main\Amazon.Webby.Install\bin\Release\AmazonWebsiteInstaller.msi'. 
    Done executing task "Light". 
    ... 
    ... 
Target "CoreClean" in file "C:\Program Files (x86)\MSBuild\Microsoft\WiX\v3.x\wix2010.targets" from project "C:\web\main\Amazon.Webby.Install\Amazon.Webby.Install.wixproj" (target "Clean" depends on it): 
    Task "ReadLinesFromFile" 
    Done executing task "ReadLinesFromFile". 
    Task "FindUnderPath" 
     Comparison path is "bin\Release\". 
    Done executing task "FindUnderPath". 
    Task "FindUnderPath" 
     Comparison path is "obj\Release\". 
    Done executing task "FindUnderPath". 
    Task "Delete" 
     Deleting file "C:\web\main\Amazon.Webby.Install\bin\Release\AmazonWebsiteInstaller.msi". 
     Deleting file "C:\web\main\Amazon.Webby.Install\bin\Release\AmazonWebsiteInstaller.wixpdb". 
     Deleting file "obj\Release\MainWixComponents.wixobj". 
     Deleting file "obj\Release\UploadContent.wixobj". 
     Deleting file "obj\Release\WebSiteContent.wixobj". 
     Deleting file "obj\Release\Product.Generated.wixobj". 
    Done executing task "Delete". 
    ... 
    ... 

Я не могу найти какой-либо удаления задачи в файл установщика проекта, которые включают в .MSI или папку вывода, так что результат визуальной студии делает восстанавливание и думая, что ему нужно очистить файлы, которых нет.

Это, как представляется соответствующий раздел в "C: \ Program Files (x86) \ MSBuild \ Microsoft \ WiX \ v3.x \ wix2010.targets" вызывая удаления недавно построенного MSI:

<!-- 
================================================================================================== 
CoreClean 

Cleans all of the compile and link outputs as well as any intermediate files generated along 
the way. 
================================================================================================== 
--> 
<PropertyGroup> 
<CoreCleanDependsOn></CoreCleanDependsOn> 
</PropertyGroup> 
<Target 
Name="CoreClean" 
DependsOnTargets="$(CoreCleanDependsOn)"> 
... 
<!-- Delete those files. --> 
<Delete Files="@(_CleanPriorFileWritesInOutput);@(_CleanPriorFileWritesInIntermediate)" TreatErrorsAsWarnings="true"> 
<Output TaskParameter="DeletedFiles" ItemName="_CleanPriorFileWritesDeleted" /> 
</Delete> 
... 

Любые идеи?

Спасибо.

ответ

0

Чтобы решить эту проблему, я выполнил все шаги InitialTargets (которые были вызовы msbuild.exe) из файла wixproj и перенес их в пакетный скрипт, вызванный из свойства проекта события pre-build. Я сделал это, потому что возникла другая проблема - целевые проекты строились по мере загрузки проекта, а это означало, что для открытия решения потребовалось много времени. Во всяком случае, перемещение всего в пакетный файл разрешило обе проблемы.

1

Я знаю, что это старый, но это упоминается как исправлена ​​ошибка в SourceForge:

http://sourceforge.net/tracker/?func=detail&atid=642714&aid=1719357&group_id=105970

Вы используете версию 3.0.4102.0 пост?

Кажется, что есть некоторые споры относительно того, действительно ли ошибка исправлена ​​в комментариях.

+0

К сожалению, у меня не было времени попробовать это. Я был на версии 3.6, хотя. Я поддержал ваш ответ, поскольку он может помочь кому-то другому. – jimasp