Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Wix引导程序中使用NetFx40Web传递安装命令_Wix_Bootstrapper - Fatal编程技术网

如何在Wix引导程序中使用NetFx40Web传递安装命令

如何在Wix引导程序中使用NetFx40Web传递安装命令,wix,bootstrapper,Wix,Bootstrapper,我有一个正在工作的Wix(BURN)bootsrapper应用程序。链接我的MSI之前,我的部分先决条件是,如果尚未安装.NET 4.0 Full,则安装它。我的链中的第一项是: 正如我所说的,一切正常,但由于下载和安装可能需要几分钟的时间,并且默认的进度条不是很具有描述性,因此我希望使用选项/passive/norestart而不是/q/norestart启动.Net安装程序 有人知道如何覆盖NetFx40Web的默认InstallCommand属性吗?如果可以避免的话,我不想做可再发行的(

我有一个正在工作的Wix(BURN)bootsrapper应用程序。链接我的MSI之前,我的部分先决条件是,如果尚未安装.NET 4.0 Full,则安装它。我的链中的第一项是:

正如我所说的,一切正常,但由于下载和安装可能需要几分钟的时间,并且默认的进度条不是很具有描述性,因此我希望使用选项/passive/norestart而不是/q/norestart启动.Net安装程序

有人知道如何覆盖NetFx40Web的默认InstallCommand属性吗?如果可以避免的话,我不想做可再发行的(大多数计算机都已经安装了我的应用程序的.Net 4.0),但是为了测试,我用这种方式做了,并且能够使它成为被动的

谢谢。

只需复制NetFx40Web PackageGroup的,而不是引用它。更改Id以确保不会发生碰撞

<?define NetFx40EulaLink =  http://go.microsoft.com/fwlink/?LinkID=188993 ?>
<util:RegistrySearchRef Id="NETFRAMEWORK40"/>

<WixVariable Id="WixMbaPrereqPackageId" Value="NetFx40Web" />
<WixVariable Id="WixMbaPrereqLicenseUrl" Value="$(var.NetFx40EulaLink)" />

<PackageGroup Id="PassiveNetFx40Web">
  <ExePackage
      InstallCommand="/passive /norestart /ChainingPackage &quot;[WixBundleName]&quot;"
      RepairCommand="/passive /norestart /repair /ChainingPackage &quot;[WixBundleName]&quot;"
      UninstallCommand="/uninstall /passive /norestart /ChainingPackage &quot;[WixBundleName]&quot;"
      PerMachine="yes"
      DetectCondition="NETFRAMEWORK40"
      Id="NetFx40Web"
      Vital="yes"
      Permanent="yes"
      Protocol="netfx4"
      DownloadUrl="$(var.NetFx40WebLink)"
      Compressed="no"
      Name="redist\dotNetFx40_Full_setup.exe">
    <RemotePayload
        Size="889416"
        Version="4.0.30319.1"
        ProductName="Microsoft .NET Framework 4"
        Description="Microsoft .NET Framework 4 Setup"
        CertificatePublicKey="672605E36DD71EC6B8325B91C5FE6971390CB6B6"
        CertificateThumbprint="9617094A1CFB59AE7C1F7DFDB6739E4E7C40508F"
        Hash="06BECADB92A5FCCA2529C0B93687C2A0C6D0D610"/>
  </ExePackage>
</PackageGroup>

只需复制NetFx40Web PackageGroup的,而不是引用它。更改Id以确保不会发生碰撞

<?define NetFx40EulaLink =  http://go.microsoft.com/fwlink/?LinkID=188993 ?>
<util:RegistrySearchRef Id="NETFRAMEWORK40"/>

<WixVariable Id="WixMbaPrereqPackageId" Value="NetFx40Web" />
<WixVariable Id="WixMbaPrereqLicenseUrl" Value="$(var.NetFx40EulaLink)" />

<PackageGroup Id="PassiveNetFx40Web">
  <ExePackage
      InstallCommand="/passive /norestart /ChainingPackage &quot;[WixBundleName]&quot;"
      RepairCommand="/passive /norestart /repair /ChainingPackage &quot;[WixBundleName]&quot;"
      UninstallCommand="/uninstall /passive /norestart /ChainingPackage &quot;[WixBundleName]&quot;"
      PerMachine="yes"
      DetectCondition="NETFRAMEWORK40"
      Id="NetFx40Web"
      Vital="yes"
      Permanent="yes"
      Protocol="netfx4"
      DownloadUrl="$(var.NetFx40WebLink)"
      Compressed="no"
      Name="redist\dotNetFx40_Full_setup.exe">
    <RemotePayload
        Size="889416"
        Version="4.0.30319.1"
        ProductName="Microsoft .NET Framework 4"
        Description="Microsoft .NET Framework 4 Setup"
        CertificatePublicKey="672605E36DD71EC6B8325B91C5FE6971390CB6B6"
        CertificateThumbprint="9617094A1CFB59AE7C1F7DFDB6739E4E7C40508F"
        Hash="06BECADB92A5FCCA2529C0B93687C2A0C6D0D610"/>
  </ExePackage>
</PackageGroup>

只需复制NetFx40Web PackageGroup的,而不是引用它。更改Id以确保不会发生碰撞

<?define NetFx40EulaLink =  http://go.microsoft.com/fwlink/?LinkID=188993 ?>
<util:RegistrySearchRef Id="NETFRAMEWORK40"/>

<WixVariable Id="WixMbaPrereqPackageId" Value="NetFx40Web" />
<WixVariable Id="WixMbaPrereqLicenseUrl" Value="$(var.NetFx40EulaLink)" />

<PackageGroup Id="PassiveNetFx40Web">
  <ExePackage
      InstallCommand="/passive /norestart /ChainingPackage &quot;[WixBundleName]&quot;"
      RepairCommand="/passive /norestart /repair /ChainingPackage &quot;[WixBundleName]&quot;"
      UninstallCommand="/uninstall /passive /norestart /ChainingPackage &quot;[WixBundleName]&quot;"
      PerMachine="yes"
      DetectCondition="NETFRAMEWORK40"
      Id="NetFx40Web"
      Vital="yes"
      Permanent="yes"
      Protocol="netfx4"
      DownloadUrl="$(var.NetFx40WebLink)"
      Compressed="no"
      Name="redist\dotNetFx40_Full_setup.exe">
    <RemotePayload
        Size="889416"
        Version="4.0.30319.1"
        ProductName="Microsoft .NET Framework 4"
        Description="Microsoft .NET Framework 4 Setup"
        CertificatePublicKey="672605E36DD71EC6B8325B91C5FE6971390CB6B6"
        CertificateThumbprint="9617094A1CFB59AE7C1F7DFDB6739E4E7C40508F"
        Hash="06BECADB92A5FCCA2529C0B93687C2A0C6D0D610"/>
  </ExePackage>
</PackageGroup>

只需复制NetFx40Web PackageGroup的,而不是引用它。更改Id以确保不会发生碰撞

<?define NetFx40EulaLink =  http://go.microsoft.com/fwlink/?LinkID=188993 ?>
<util:RegistrySearchRef Id="NETFRAMEWORK40"/>

<WixVariable Id="WixMbaPrereqPackageId" Value="NetFx40Web" />
<WixVariable Id="WixMbaPrereqLicenseUrl" Value="$(var.NetFx40EulaLink)" />

<PackageGroup Id="PassiveNetFx40Web">
  <ExePackage
      InstallCommand="/passive /norestart /ChainingPackage &quot;[WixBundleName]&quot;"
      RepairCommand="/passive /norestart /repair /ChainingPackage &quot;[WixBundleName]&quot;"
      UninstallCommand="/uninstall /passive /norestart /ChainingPackage &quot;[WixBundleName]&quot;"
      PerMachine="yes"
      DetectCondition="NETFRAMEWORK40"
      Id="NetFx40Web"
      Vital="yes"
      Permanent="yes"
      Protocol="netfx4"
      DownloadUrl="$(var.NetFx40WebLink)"
      Compressed="no"
      Name="redist\dotNetFx40_Full_setup.exe">
    <RemotePayload
        Size="889416"
        Version="4.0.30319.1"
        ProductName="Microsoft .NET Framework 4"
        Description="Microsoft .NET Framework 4 Setup"
        CertificatePublicKey="672605E36DD71EC6B8325B91C5FE6971390CB6B6"
        CertificateThumbprint="9617094A1CFB59AE7C1F7DFDB6739E4E7C40508F"
        Hash="06BECADB92A5FCCA2529C0B93687C2A0C6D0D610"/>
  </ExePackage>
</PackageGroup>

我将这个“被动网络FX40Web”添加到链的顶部,确保没有引用NetFx引用(没有冲突),然后将所有代码放入片段中。我确实去掉了Protocol=“netfx4”,因为调试器告诉我它需要/q作为选项。在所有情况下,谢谢。我将这个“被动网络FX40Web”添加到链的顶部,确保我没有引用NetFx引用(没有冲突),并将所有代码放入片段中。我确实去掉了Protocol=“netfx4”,因为调试器告诉我它需要/q作为选项。在所有情况下,谢谢。我将这个“被动网络FX40Web”添加到链的顶部,确保我没有引用NetFx引用(没有冲突),并将所有代码放入片段中。我确实去掉了Protocol=“netfx4”,因为调试器告诉我它需要/q作为选项。在所有情况下,谢谢。我将这个“被动网络FX40Web”添加到链的顶部,确保我没有引用NetFx引用(没有冲突),并将所有代码放入片段中。我确实去掉了Protocol=“netfx4”,因为调试器告诉我它需要/q作为选项。无论如何,谢谢。