使用Wix引导程序安装.NET可再发行软件(刻录)



我是Wix/Burn的新手,正在努力了解一些基本知识。我有一个简单的引导程序,它使用以下链安装所需的.net 4.0框架:

<Chain>
    <PackageGroupRef Id="NetFx40ClientRedist"/>
    <MsiPackage Id="MyApp" SourceFile="$(var.WixInstaller.TargetPath)" DisplayInternalUI="yes" />
</Chain>

如How To:Install the.NET Framework Using Burn所建议的那样。该应用程序可能在没有web访问权限的服务器上使用,因此从本地可再发行文件安装.net非常重要。引导程序似乎工作得很好,并按预期安装了框架。不过,setup.exe文件的大小与应用程序大致相同(<5MB),因此我不得不假设在安装过程中仍在下载该框架。

问题

  1. 那么,WixNetxExtension包中的"NetFx40ClientWeb"one_answers"NetFX40ClientDist"之间有什么区别?

  2. 我如何在boostrapper中包含一个本地可重新分发的文件,这样就不需要下载了?

编辑:

我相信我在这里找到了答案:

WiXNetFxExtension将检查一个名为"redist"的子目录,其中您的捆绑包是为软件包准备的,如果在该路径,例如"redist\dotNetFx40_Client_setup.exe"。这是标准路径烧伤行为。

两者之间的区别是:
1.clientWeb-意味着你必须连接到web,然后会下载.net 4.0并安装在机器上

2.clientRedist——意思是可重新分发的——意思是一个不需要任何互联网连接的完整软件包,你可以在任何计算机上安装它。


如果你使用可再分发包,你应该很好——这是.Net 4.5的例子,与.Net 4.0相同——只有diff是可再分发的包。

<?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="Prog" Version="1.0.0.0" Manufacturer="my Corporation" UpgradeCode="*">
    <Chain>
      <!-- TODO: Define the list of chained packages. -->
      <PackageGroupRef Id="Netfx45FullPackage" />
    </Chain>
  </Bundle>
  <Fragment>
    <PackageGroup Id="Netfx45FullPackage">
      <ExePackage Id="Netfx45Xxx" Cache="no" Compressed="no" PerMachine="yes" Permanent="yes" Vital="no" InstallCommand="/q" SourceFile="..SetupProjectdotnetfx45_full_x86_x64.exe" DetectCondition="(Netfx4FullVersion=&quot;4.5.50709&quot;) AND (NOT VersionNT64 OR (Netfx4x64FullVersion=&quot;4.5.50709&quot;))" InstallCondition="(VersionNT &gt;= v6.0 OR VersionNT64 &gt;= v6.0) AND (NOT (Netfx4FullVersion=&quot;4.5.50709&quot; OR Netfx4x64FullVersion=&quot;4.5.50709&quot;))" />
      <MsiPackage Id="MyProg" Cache="no" Compressed="no" DisplayInternalUI="yes" Vital="yes" SourceFile="$(var.installerPath)MyProgCore.msi" />
    </PackageGroup>
  </Fragment>
</Wix>

相关内容

  • 没有找到相关文章