WiX, hudson, msbuild и установка .NET через загрузчик

Я хочу иметь наш установщик WiX, который в настоящее время строится на сервере сборки с помощью hudson, вызывающего сценарии msbuild, чтобы включить полный исполняемый файл установщика .NET 3.5 sp1. Оказывается, наши пользователи всегда могут получить доступ к компакт-диску, но не всегда к Интернету, поэтому мы не можем использовать установщик через Интернет. Мы также можем потребовать, чтобы все наши пользователи работали с XP, что хорошо, потому что мы также требуем, чтобы они запускали .NET 3.5.

На нашем сервере сборки не установлена ​​копия Visual Studio, а просто выполняется сборка проекта через MSBuild.

Следуя справочному файлу WiX с версией 3.0.5120, я добавил эту строку в свой wixproj:

<ItemGroup>
  <BootstrapperFile Include="dotnetfx.exe">
    <ProductName>.NET Framework 3.5 sp1</ProductName>
  </BootstrapperFile>
</ItemGroup>

а также эту строку:

<Target Name="AfterBuild">
   <GenerateBootstrapper ApplicationFile="$(TargetPath)"
                      ApplicationName="MyApp"
                      BootstrapperItems="@(BootstrapperFile)"
                      ComponentsLocation="Relative"
                      CopyComponents="True"
                      OutputPath="$(OutputPath)"
                      Path="C:\downloads\"/>
</Target>

Да, я понимаю, что этот «путь» не указан в файле справки, но это потому, что у меня нет Visual Studio на сервере сборки. Какие волшебные слова заставляют это работать?


person mmr    schedule 11.06.2009    source источник
comment
Удален тег hudson, так как он имеет косвенное отношение к вопросу.   -  person Michael Donohue    schedule 14.08.2009
comment
Собственно, это было связано с вопросом - выполнение удаленной сборки с помощью hudson и msbuild с закрытыми глазами на сервере, доступ к которому у вас ограничен, делает это болезненным. Эта переменная "путь" должна быть установлена ​​правильно.   -  person mmr    schedule 17.08.2009


Ответы (3)


Чтобы загрузчик устанавливал .net с компакт-диска, вам нужно изменить расположение компонентов на «Абсолютное».

Вам также необходимо установить SDK платформы на машину сборки, чтобы получить правильные файлы bootrapper. Затем вы должны указать свой `` Путь '' к местоположению загрузчика в установке sdk платформы, на моем компьютере это C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v6.0A \ Bootstrapper

person pjbelf    schedule 12.06.2009

В том, что я делал, было несколько ошибок.

Во-первых, поскольку на этом компьютере не была установлена ​​Visual Studio, мне нужно было скопировать каталог c: \ program files \ common components \ microsoft SDKs \ etc на машину сборки. Это тег Хадсона; нет визуальной студии, она не будет работать без этого каталога.

Во-вторых, в руководстве есть раздел об установщике Windows 3.1, а также о .net. Это очень важно.

В-третьих, чтобы заставить работать установщик .NET 3.5 sp1, вы должны следовать инструкциям в readme для установки vs2008 sp1,

В-четвертых, и это критически важно, убедитесь, что в начале тегов xml, описанных в Visual Studio 2008 sp1, нет пробела.

person mmr    schedule 17.08.2009

как построить с помощью Hudson без VS для WP8, можно ли использовать инструменты командной строки MSbuild с Wix для 64-битной системы.

person user1330847    schedule 05.11.2013