与维克斯引导程序(刻录)安装.NET可再发行 [英] Installing .NET redistributable with Wix Bootstrapper (Burn)

查看:232
本文介绍了与维克斯引导程序(刻录)安装.NET可再发行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是新来的Wix /刻录和想了解的一些基本情况。我有一个简单的引导程序,使用下面的链条安装所需的.NET 4.0框架:

 <链与GT; 
< PackageGroupRef n =NetFx40ClientRedist/>
< MsiPackage n =MyApp的的SourceFile =$(var.WixInstaller.TargetPath)DisplayInternalUI =YES/>
< /链与GT;



所推荐的的How为:安装.NET Framework使用刻录
中的应用程序可以在服务器上没有网络访问,因此重要的是,.NET从本地可再发行组件进行安装使用。引导程序似乎工作非常好,按计划安装的框架。 SETUP.EXE文件,虽然是规模大致相同的应用程序(小于5 MB),所以我必须假设的框架仍然被安装过程中下载。



问题




  1. 那么,什么是之间的区别NetFx40ClientWeb和NetFx40ClientRedist的WixNetfxExtension包?


  2. 我如何列入boostrapper本地可再发行,这样无需下载?




编辑:



我相信我找到答案这里




WiXNetFxExtension将检查名为REDIST的子目录,其中
你的包是包然后下载如果它不为$ b $存在b该路径例如redist\dotNetFx40_Client_setup.exe。这是标准的
刻录行为



解决方案

两者之间的区别是:结果
1. clientWeb - 意味着你必须有网络连接,并在.NET 4.0将被下载,之后安装在机器上搜索结果

$ b $。 b

2.clientRedist - 表示可再发行 - 也就是一个包,它不需要Internet的连接,就可以在任何计算机上安装



结果
如果您使用再发行组件包你应该罚款 - 这里是.NET 4.5的例子中,它是.NET 4.0相同的唯一差异是再发行组件包

 <?XML版本=1.0编码=UTF-8>?; 
<维克斯的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>
<软件包名称=PROG版本=1.0.0.0制造商=我的公司的UpgradeCode =*>
<链与GT;
< - TODO:定义链接程序包的列表。 - >
< PackageGroupRef n =Netfx45FullPackage/>
< /链与GT;
< /包>
<片断>
< PackageGroup n =Netfx45FullPackage>
< ExePackage n =Netfx45Xxx缓存=无压缩=NOPerMachine =是永久=是命门=NOInstallCommand =/ Q的SourceFile =.. \ SetupProject\dotnetfx45_full_x86_x64.exeDetectCondition =(Netfx4FullVersion =安培; QUOT; 4.5.50709&放大器; QUOT)AND(NOT VersionNT64 OR(Netfx4x64FullVersion =安培; QUOT; 4.5.50709&放大器; QUOT))InstallCondition =(VersionNT &放大器; GT; = V6.0或VersionNT64和放大器; GT; = V6.0)AND(NOT(Netfx4FullVersion =安培; QUOT; 4.5.50709&安培; QUOT;或Netfx4x64FullVersion =安培; QUOT; 4.5.50709&安培; QUOT;)) />

< MsiPackage n =MYPROG缓存=无压缩=NODisplayInternalUI =是命门=YES的SourceFile =$(var.installerPath)\MyProgCore.msi />
< / PackageGroup>
< /片断>
< /维克斯>


I'm new to Wix/Burn and am trying to understand some of the fundamentals. I have a simple bootstrapper that installs the required .net 4.0 framework using the following chain:

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

as recommended by How To: Install the .NET Framework Using Burn. The application may be used on servers with no web access so it's important that .net be installed from a local redistributable. The bootstrapper seems to work very well and installs the framework as intended. The setup.exe file, though, is roughly the same size as the application (< 5 MB) so I have to assume that the framework is still being downloaded during installation.

Questions

  1. What, then, is the difference between "NetFx40ClientWeb" and "NetFx40ClientRedist" in the WixNetfxExtension package?

  2. How do I included a local redistributable in the boostrapper so that no download is needed?

EDIT:

I believe I found the answer here:

WiXNetFxExtension will check a sub-directory called "redist" where your bundle is for the package then download it if it doesn't exist at that path e.g. "redist\dotNetFx40_Client_setup.exe". This is standard Burn behaviour.

解决方案

the difference between the two are:
1. clientWeb - means you have to have a connection to the web and the .net 4.0 will be downloaded and after that installed on the machine.

2.clientRedist - means redistributable - meaning a full package which doesn't need any connection to the internet, you can install it on any computer.


if you use the redistributable package you should be fine - here is the example for .Net 4.5 , it is the same for .Net 4.0 only diff is the redistributable package.

<?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="..\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 &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>

这篇关于与维克斯引导程序(刻录)安装.NET可再发行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆