Полный образец WiX *.wxs для загрузки и установки определенной версии of.NET Framework, если он недоступен

существует много неполных вопросов и ответов о том, как загрузить и установить .NET Framework(ы), если они недоступны, но ни один полный код не доступен в Интернете.

можете ли вы предоставить минимальный компилируемый код или ссылку на понятный пример, который создает настройки.exe / MSI? Я не думаю, что RTFM относится к этому вопросу, так как установщики MSI и bootstrap имеют много особенностей, которые нелегко вычесть.

1 ответов


обратите внимание, эта информация is доступен в полном объеме в руководстве. Его можно найти в следующих местах с примерами:

Как установить .NET Framework с помощью Burn

как: проверьте наличие версий .NET Framework

WixNetfxExtension

это, как говорится

используя WiX, вы не можете создать MSI для установки .Net [X]. Вы можете, однако, используйте его для создания загрузочного исполняемого файла установщика.

к счастью, в том числе установщик .Net тривиально прост в проекте пакета WiX. Просто включите ссылку на WixNetFxExtension.dll файлы (должно быть в "[место установки Wix]\bin") в вашем проекте пакета, а затем включите следующее в свой <Chain>:

<PackageGroupRef id="[.Net package]" />

здесь [.Net package] есть:

  • NetFx40Web
  • NetFx40Redist
  • NetFx40ClientWeb
  • NetFx40ClientRedist
  • NetFx45Web
  • NetFx45Redist

например, пакет, включающий веб-установщик .Net 4.5:

<Bundle Name="E.G." Version="1.0.0.0" Manufacturer="Me" UpgradeCode="[Guid]">
    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense"/>
    <Chain>
        <PackageGroupRef Id="NetFx45Web" />
        <MsiPackage SourceFile="$(var.ExampleInstaller.TargetPath)" />
    </Chain>
</Bundle>

и если вы используете пакеты Redist, вы можете запустить скомпилированный установщик с -layout чтобы загрузить файлы, чтобы их можно было записать на CD / DVD (используя Стандартное приложение Bootsrapper, пользовательские приложения bootstrapper могут иметь или не иметь аналогичную функциональность).