使用WiX Bundle MBA强制安装失败并显示消息

用户3731757

我要接管这个项目,并且没有权限与最初设置它的人接触。目前,捆绑包中包含.net4。这样做的目的是删除文件,并让最终用户手动下载.net。我试图设置捆绑包以检查已安装的.net版本(如果有),如果不符合要求,则显示带有下载链接的详细信息,然后中止安装并关闭。

每次我尝试删除指向.net包的变量时,都会出现构建错误。到目前为止,这就是我所拥有的。

        <Chain>
      <PackageGroupRef Id='Netfx4Full' />
      <MsiPackage  SourceFile="$(var.TargetDir)Client.msi" Id="Client" Cache="no" Visible="no" ForcePerMachine="yes">
        <MsiProperty Name="INSTALLDIR" Value="[InstallFolder]"/>
      </MsiPackage>   
    </Chain>
  </Bundle>
  <Fragment>
    <PropertyRef Id="NETFRAMEWORK40FULL"/>
    <Variable Name="InstallationPath" bal:Overridable="yes" />
    <WixVariable Id="WixMbaPrereqPackageId" Value="Netfx4Full" />
    <WixVariable Id="WixMbaPrereqLicenseUrl" Value="NetfxLicense.rtf" />
    <Variable Name="DisplayVersion" Value="$(var.BundleVersion)" />
    <util:RegistrySearch Root="HKLM" Key="SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full" Value="Version" Variable="Netfx4FullVersion" />
    <util:RegistrySearch Root="HKLM" Key="SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full" Value="Version" Variable="Netfx4x64FullVersion" Win64="yes" />

    <Condition Message="This application requires .NET Framework 4.0. Please install the .NET Framework then run this installer again.">
      <![CDATA[Installed OR NETFRAMEWORK40]]>
    </Condition>

    <PackageGroup Id="Netfx4Full">
      <ExePackage Id="Netfx4Full" Cache="no" PerMachine="yes" Permanent="yes" Vital="yes" Compressed="no"
                  SourceFile="DotNetInstallers/dotnetfx40_full_x86_x64.exe"
                  DownloadUrl="http://go.microsoft.com/fwlink/?LinkId=164193"
                  DetectCondition="Netfx4FullVersion OR Netfx4x64FullVersion">  
    </ExePackage>
    </PackageGroup>
  </Fragment>

任何帮助,将不胜感激。

肖恩·霍尔

基于这些行,您似乎正在使用ManagedBootstrapperApplicationHost。

<WixVariable Id="WixMbaPrereqPackageId" Value="Netfx4Full" />
<WixVariable Id="WixMbaPrereqLicenseUrl" Value="NetfxLicense.rtf" />

ManagedBootstrapperApplicationHost是WiX中的内置方式,可以使用.NET(托管BA或MBA)中内置的自定义BootstrapperApplication。MBAHost要求您将.NET打包在捆绑包中。如果您担心捆绑包的大小,则可以使用WixNetFxExtension中的NetFx4Web软件包。这将使捆绑软件在运行时下载Web安装程序。您可以使用mbapreq.thm和mbapreq.wxl自定义在安装.NET时出现的用户界面。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

WIX Bundle Installer,选择要安装的软件包

来自分类Dev

WIX Bundle Installer,选择要安装的软件包

来自分类Dev

如何使用WIX Bundle降级应用程序?

来自分类Dev

How to downgrade application with WIX Bundle?

来自分类Dev

WIX Bundle自定义UI不安装软件包

来自分类Dev

使用bundle install --path安装时找不到红宝石

来自分类Dev

如何使用WiX创建.msi安装程序

来自分类Dev

如何使用wix创建MSI安装程序?

来自分类Dev

使用WiX在安装时启动外部服务

来自分类Dev

使用Wix和Burn不再安装MsiPackage

来自分类Dev

WIX-如何有选择地卸载<Bundle>

来自分类Dev

安装Bundle for Vim时出错

来自分类Dev

卸载Bundle导致MSI安装

来自分类Dev

在App Bundle中使用Dylibs

来自分类Dev

如何使用Sonata Notification Bundle?

来自分类Dev

在App Bundle中使用Dylibs

来自分类Dev

如何使用Sonata Notification Bundle?

来自分类Dev

ArrayList使用Bundle传递null

来自分类Dev

在Symfony Bundle的视图中显示Sonata Admin Bundle

来自分类Dev

如何选择使用WiX Toolset安装IIS虚拟目录?

来自分类Dev

不允许使用WiX安装程序升级

来自分类Dev

无法使用WiX安装程序创建注册表项值

来自分类Dev

使用wix安装程序创建注册表项

来自分类Dev

由于使用Wix制作安装文件,因此Gmap例外

来自分类Dev

使用Wix应对MSI安装程序的本地化

来自分类Dev

如何使用wix自定义操作停止.MSI安装

来自分类Dev

使用自定义参数安装WiX服务

来自分类Dev

我的Wix安装程序是否应该使用DLL中的GUID?

来自分类Dev

如何使用Wixsharp(Wix#)安装程序实施回滚