- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个由供应商提供给我的第三方 MSI。然而,MSI 不是独立的,它需要多个支持文件(dll、配置文件、设备驱动程序...)才能完成安装。我尝试在 MSI 目录中不存在这些文件的情况下进行安装,并且它在安装过程中提示缺少文件。在我看来,这是构建安装程序的一种奇怪方式。无论如何,我想捆绑这个“安装”以供 Burn 使用。我以前使用过 MSIPackage,但这适用于单个文件。我将如何指定这组文件?我很想制作一个新的 MSI,其中包括来自第三方的 MSI 和其他文件,但最终我安装了一些幻影程序,这真的不是我想要的。
在此先感谢您的帮助。
编辑解决方案 :
非常感谢 Tom 提供解决此问题的方法。对于那些好奇的人,这里是我用来在 WiX 3.8 中解决这个问题的代码和步骤。
首先获取存储第三方安装程序的目录。
"%WIX%bin\heat.exe" dir "$(ProjectDir)..\ThirdParty\AppDirectory" -dr Dir_AppName -cg PAYGROUP_AppName -ag -sreg -scom -srd -var "var.AppNameDir" -t "$(ProjectDir)\ComponentToPayload.xsl" -out "$(ProjectDir)AppNamePayloadGroup.wxs"
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:wix="http://schemas.microsoft.com/wix/2006/wi"
xmlns="http://schemas.microsoft.com/wix/2006/wi">
<xsl:template match="/">
<Wix>
<Fragment>
<xsl:apply-templates select="*" />
</Fragment>
</Wix>
</xsl:template>
<xsl:template match="//wix:ComponentGroup">
<PayloadGroup>
<xsl:attribute name="Id">
<xsl:value-of select="@Id"/>
</xsl:attribute>
<xsl:apply-templates select="*" />
</PayloadGroup>
</xsl:template>
<xsl:template match="//wix:File">
<Payload>
<xsl:attribute name="SourceFile">
<xsl:value-of select="@Source"/>
</xsl:attribute>
</Payload>
</xsl:template>
</xsl:stylesheet>
<Fragment>
<PackageGroup Id="PCKGRP_AppName">
<MsiPackage
SourceFile="$(var.AppNameDir)\app.msi">
<MsiProperty Name="PropertyName1" ="Value1"/>
<MsiProperty Name="PropertyName2" ="Value2"/>
<MsiProperty Name="PropertyName3" ="Value3"/>
<PayloadGroupRef Id="PAYGROUP_AppName"/>
</MsiPackage>
</PackageGroup>
</Fragment>
<Chain>
...
<PackageGroupRef Id="PCKGRP_AppName"/>
...
</Chain>
最佳答案
在 MsiPackage 元素内部使用一堆 Payload 元素(或将有效负载放在其他地方并使用 PayloadGroupRef )。
作为补偿,您的 bootstrap 可能会获得更好的压缩,因为 MsiPackage 开始爆炸,因为双重压缩在时间和空间上可能效率低下。
关于wix - 为 WiX Burn 捆绑多个支持文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26982208/
我有一个刻录安装,用户可以选择安装三个选项中的哪一个 - 每个选项都直接与链中的三个 MsiPackages 之一相关,例如: 一切都很好。但是,当我下次运行 msi 时,我只想
有没有办法跳过链中的一个包?我看过“InstallCondition”并有这样的代码。 但我不想在 InstallConditi
我想知道如何将复选框值存储在变量中?我正在使用带有自定义 RtfTheme 的 WiX Burn。 例如: RtfTheme.xml Please select this box Bundle.wxs
所以我有一个非常简单的刻录安装程序,主要包括 .net 升级,或者偶尔包括我们的应用程序需要与之通信的硬件的驱动程序包。 我们创建的 MSI 支持升级或降级。
我正在尝试为 WiX 创建自定义 UI和燃烧。我遵循了我发现的一些指南,到目前为止,我有一个项目具有以下内容,它继承自 BootstrapperApplication。 namespace MyBA
有没有办法在安装程序中更改那张红色的 CD 图片? 这是 Burn 项目的代码: 谢谢! 最佳答案 是的,您可以使用自定义
我正在开发一个 Burn Bootstrap 应用程序,其目的是安装许多 MSI 包。我想测试其中一个软件包安装失败的场景。有没有办法创建一个 MSI 包,当您尝试安装它时总是失败? 最佳答案 是的,
我正在使用 exePackage 属性下载一个 exe 包 - 实际上是来自微软的 VSTO 运行时。 它无法获取包。 我相信这是将其添加到 CHAIN 的正确方法 =v10.0.40303)
我有一个自定义的刻录 bootstrap 应用程序,本地化为德语 (BurnUI_de-DE.wxl) 和英语 (BURNUI_en-US.wxl)。目前刻录自动以英文启动。我不知道如何在运行时更改
我有一个 WiX Burn使用 ManagedBootstrapperApplicationHost 的自定义安装程序。安装必备 Microsoft Windows Installer 之一后4.5
我创建了一个 WIX Burn Bundle。在捆绑包中,我安装了 .Net 4(如果未安装),然后再安装 2 个 .msi 文件。 1 是第三部分 msi,另一个是我使用 WIX 为我的软件创建的
有可能以某种方式拆开捆包吗?我需要确保捆绑包中的所有软件包均已正确签名... TIA 最佳答案 Dark.exe反编译包;使用-x提取位。 关于wix - 打开WIX Burn bundle ,我们在
假设这样定义 #define myDate [NSDate date] 每次我使用它时,它都会给我当前日期,没关系。 我想要的是存储代码编译的日期。我可以使用定义或使用任何其他方式来做到这一点吗? 我
我有一个 UIImageView 我正在尝试为类似 Ken Burns 的平移/缩放设置动画。我想开始以脸部为中心(具体来说,比如说,人的 Nose 末端)并缩小到图像的完整尺寸。代码是这样的: im
我正在构建一个将用作信息监视器的非公开网络应用程序。因此,它将在一台液晶电视显示屏上全天候 24/7 运行。 因为这可能会在 LCD 上产生“烙印颜色”错误,所以我正在寻找可以防止/减少此问题的 Ja
通常在Bundle.wxs 文件中设置EXE 版本。是否可以在编写安装程序后端引擎逻辑的 Bootstrapper Application 项目中获取此版本?我使用 WPF 创建了一个自定义 UI。我
我有一个由供应商提供给我的第三方 MSI。然而,MSI 不是独立的,它需要多个支持文件(dll、配置文件、设备驱动程序...)才能完成安装。我尝试在 MSI 目录中不存在这些文件的情况下进行安装,并且
我已经使用 WiX/Burn 编写了一个自定义托管 Bootstrap 应用程序,现在我正在尝试扩展它以处理 ExecuteFilesInUse 事件。我已经成功触发了事件并完成了我所得到的转储,这让
我为我们的一款产品创建了一个 WIX msi,效果非常好。该产品是一个 Word 插件,在升级/卸载时,msi 会自动检查 Word 是否打开(即我的程序集当前被锁定在执行中),如果是,则会显示“正在
我是Wix Burn Bootstrapper的新手,请原谅我的无知。我有一个要求,我需要使用Burn Bootstrapper安装必备组件。 前提条件是setup.exe(第三方),它依赖于文件和文
我是一名优秀的程序员,十分优秀!