2

私はこのドキュメントに出くわしました。http://wix.sourceforge.net/manual-wix3/wixnetfxextension.htm

インストールされていないときに、たとえば.net4fullをインストールする方法がわかりません。

現在、私のwixxmlは次のようになっています。

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
     xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension">
    <Product Id="*"
      .....
      .........
    >
        <PropertyRef Id="NETFRAMEWORK40FULL"/>
        <Condition Message="This application requires .NET Framework 4 FULL. Please install the .NET Framework then run this installer again.">
        <![CDATA[Installed OR NETFRAMEWORK40FULL]]>
        </Condition>
        .....
        .........
        ............
        .........
        ............
    </Product>

    .......................
    ..............................
    ................................
    .........................
</Wix>

ところで、私はwix 3.7を使用しています!

4

3 に答える 3

1

Bootstarpper のサンプル コードは次のとおりです。

  <?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">

   <Bundle
     Name="My Application" Version="1.0.0.0"  UpgradeCode="8DA460D6-B4CB-4ED0-A1FE- 44F269070647" Manufacturer="ABC">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense">
  <bal:WixStandardBootstrapperApplication LicenseFile="Agreement.rtf"
           LogoFile="App.ico"/>
</BootstrapperApplicationRef>
<Chain> 
<PackageGroupRef Id="Netfx45Xxx"/>
     <MsiPackage SourceFile="D\MySetup.msi" Compressed="yes" EnableFeatureSelection="yes" Vital="yes">
     <MsiProperty Name='INSTALLFOLDER' Value='[InstallFolder]'/>      
  </MsiPackage> 
</Chain>
 <Variable Name='InstallFolder' Value='[ProgramFilesFolder]MyApp' />    

 <Fragment>
<PackageGroup Id="Netfx45Xxx" >
  <ExePackage Id="Netfx45Xxx" Cache="no" Compressed="no" PerMachine="yes" Permanent="yes" Vital="yes" InstallCommand="/q"
      SourceFile="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;))"/>
</PackageGroup>

このコードは、.net バージョンをそれ自体にアタッチします。.net 4.5 がマシンで利用できない場合、アプリケーションのセットアップをインストールする前にフレームワークがインストールされます。

于 2014-04-07T09:14:05.273 に答える
1

Wix セットアップ プロジェクトでは、.net Framework 4.0 の存在を確認し、この製品をインストールする前に .net Framework 4.0 をインストールする必要があるなどのメッセージをユーザーに表示できます。ただし、サイレントで実行したい場合(.net Framework 4.0の存在を確認してください...利用可能な場合は製品のみをインストールし、そうでない場合は最初に.net Framework 4.0をインストールしてから製品をインストールします)wixブートストラップで行う必要があります

于 2013-03-29T12:04:21.593 に答える