2013-02-25 2 views
1

Есть ли учебное пособие по созданию установщика WiX, который может проверить, установлен ли MCR и если он не может его установить?WiX 3.7 и MATLAB 2012a MCR

Я работаю с Visual Studio 2012.

+0

«Matlabn 2012a MCR» является слишком специфичны для их быть учебник об установке его. Вы найдете руководства по использованию «Burn» Windows Installer XML «Bootstrapper/Chainer». –

+0

@ChristopherPainter это то же самое, что, скажем, установка .net 4.5? насколько WIX установщик? – Gilad

+0

Принципы одинаковы. Детали различаются в терминах имени файла для запуска, командной строки args для передачи и реестра/файлов для поиска, чтобы определить, присутствует ли она уже. –

ответ

1

Вот мое решение для MCR 2012a и .NET 4.5, пожалуйста, комментарий, если есть лучший способ сделать это: это для документации

<?xml version="1.0" encoding="UTF-8"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" 
    xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" 
    xmlns:bal="http://schemas.microsoft.com/wix/BalExtension" 
    xmlns:netfx='http://schemas.microsoft.com/wix/NetFxExtension'> 

    <Bundle Name="MYAPP" 
      Version="0.6" 
      Manufacturer="MY Corporation" 
      UpgradeCode="f380ae43-5df1-4cfe-9297-526e3e638e57"> 
     <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" /> 
     <Chain> 
      <!-- TODO: Define the list of chained packages. --> 
      <PackageGroupRef 
       Id="Netfx45FullPackage"/> 
     </Chain> 
    </Bundle> 

    <Fragment> 
     <util:RegistrySearch 
      Id="MatlabPath" 
      Variable="UniqueId" 
      Root="HKLM" 
      Key="SOFTWARE\Matworks\MATLAB\4.17\" 
      Result="exists"/> 
     <PackageGroup Id="Netfx45FullPackage"> 
      <ExePackage 
       Id="Netfx45Xxx" 
       Cache="no" 
       Compressed="no" 
       PerMachine="yes" 
       Permanent="yes" 
       Vital="no" 
       InstallCommand="/q" 
       SourceFile="..\SetupProject\dotnetfx45_full_x86_x64.exe" 
       DetectCondition="(Netfx4FullVersion=&quot;4.5.50709&quot;) AND (NOT VersionNT64 OR (Netfx4x64FullVersion=&quot;4.5.50709&quot;))" 
       InstallCondition="(VersionNT >= v6.0 OR VersionNT64 >= v6.0) AND (NOT (Netfx4FullVersion=&quot;4.5.50709&quot; OR Netfx4x64FullVersion=&quot;4.5.50709&quot;))"/> 
      <ExePackage 
       Id="MatlabMCR2012a64" 
       Cache="no" 
       Compressed="no" 
       PerMachine="yes" 
       Permanent="yes" 
       Vital="no" 
       InstallCommand="/q" 
       SourceFile="..\SetupProject\MCR_R2012a_win64_installer.exe" 
       InstallCondition="(NOT MatlabPath)"/> 
     <MsiPackage 
      Id="MYAPP" 
      Cache="no" 
      Compressed="no" 
      Vital="yes" 
      SourceFile="..\SetupProject\bin\Release\MYAPPSetup.msi"/> 
     </PackageGroup> 
    </Fragment> 
</Wix> 
Смежные вопросы