Wix Bootstrapper проверяет наличие Net 4.5.2 и затем загружает его, а также проверяет версию Windows - PullRequest
0 голосов
/ 03 июля 2018

Я пытаюсь создать приложение wix, которое проверяет версию для установки Windows и загружает соответствующую версию .net. Следует также проверить версию Windows.

Я создал .msi с проектом wix 3.0, который проверяет соответствующую версию Windows.

    <InstallExecuteSequence>
  <Custom Action="SetARPINSTALLLOCATION" After="InstallValidate"></Custom>
</InstallExecuteSequence>

<CustomAction Id="SetARPINSTALLLOCATION" Property="ARPINSTALLLOCATION" Value="[INSTALLDIR]" />  <Condition Message="Your version of Windows is too low">
  <![CDATA[Installed OR (VersionNT <= 602)]]>
</Condition>

И я создал загрузчик загрузчика, который загружает .net 4.5.1 и загружает его, если он не установлен.

    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
    <Chain>
  <PackageGroupRef Id="NetFx451Web"/>
  <MsiPackage Id="programName" SourceFile="$(var.SolutionDir)SetupProject1/bin/Release/programNameInstaller.msi"/>
    </Chain>

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

1 Ответ

0 голосов
/ 04 июля 2018

Хорошо, я понял это. Вот готовая версия. (на данный момент) Вам также необходимо установить зависимости для WixNetFxExtension.dll и WixBalExtension, и я считаю, что также WixUtilExtension

<?xml version="1.0" encoding="UTF-8"?>


<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"  xmlns:bal="http://schemas.microsoft.com/wix/BalExtension" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">


  <Bundle Name="MyProgramInstaller" Version="1.0.0.0" Manufacturer="myCompany" UpgradeCode="18b18295-d4a1-4174-99ad-f82f6ca4f7ff">

<!-- checking here for anything over windows 7  you can change this value using the following chart -->
<!-- https://docs.microsoft.com/en-us/windows/desktop/Msi/operating-system-property-values -->
    <bal:Condition Message="This application requires Windows 7 or higher to run.">
      <![CDATA[Installed OR (VersionNT >= 601)]]>
    </bal:Condition>

<!-- here's the license statement, would suggest you update this to something more useful. -->
    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
    
   
		<Chain>
    <!-- here's the .net download installer you can change this using the following chart -->
    <!-- http://wixtoolset.org/documentation/manual/v3/customactions/wixnetfxextension.html -->
      <PackageGroupRef Id="NetFx451Web"/>
      <MsiPackage Id="myProgram" SourceFile="$(var.SolutionDir)SetupProject1/bin/Release/myProgramInstaller.msi"/>
		</Chain>

    
    
	</Bundle>
</Wix>

Ура!

...