问题标签 [wix3.7]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - 如何在非 Windows 操作系统的 WiX 安装程序中获取操作系统名称?
最近我了解到我们可以使用Wine在 Linux 中执行为 Windows 操作系统准备的 MSI 文件。
对于我们的软件,我们使用 Windows 安装程序变量VersionNT检查了一些先决条件,例如操作系统应该是 Windows XP 或更高版本。
但是没有这样的变量可用,我可以检查它是 Windows 还是 Linux。我的要求是,如果是 Linux,我想检查其他一些必备条件。
有没有办法在 WiX 中获取操作系统名称?
c# - 在 WiX 自定义托管引导程序应用程序中下载安装包的正确方法是什么?
我编写了一个我一直在使用的 WiX 自定义 MBA,它嵌入了我安装所需的所有安装包(msis、cabs 和 exe)。但是我现在想做一个轻量级的网络引导程序,它将下载需要安装的包。我以为您可以使用底层的 WiX 引导程序引擎免费获得它,但我想我错了。
我尝试订阅 ResolveSource 事件以获取包的下载 url 并将其下载到本地源位置,但此时似乎为时已晚,因为我的安装失败并出现错误“无法解析文件的源: "(即使下载成功)。
我尝试过的示例:
visual-studio-2010 - 相同的 wixproj 文件仅适用于 VS 2012 IDE,但不适用于 VS 命令提示符
我正在尝试此页面上的步骤。我已将 wix 二进制文件安装在本地计算机上的文件夹中。
所以我得到了一个由 wix VS 2010 插件创建的 wix 安装程序项目。我可以使用 VS 2010 IDE 来构建它并生成 msi 文件,但我不能在 VS 命令提示符下使用 Msbuild 做同样的事情。当 Msbuild 尝试编译时,出现一个错误,抱怨 candle.exe 找不到:
未处理的异常:System.IO.FileLoadException:无法加载文件或程序集“file:///C:\MyFolder\Wix\candle.exe”或其依赖项之一。不支持操作。(来自 HRESULT 的异常:0x80131515)---> System.NotSupportedException:尝试从网络位置加载程序集,这会导致程序集在以前版本的 .NET Framework 中被沙盒化。此版本的 .NET Framework 默认情况下不启用 CAS 策略,因此这种加载可能很危险。如果此加载不打算对程序集进行沙箱处理,请启用 loadFromRemoteSources 开关。有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkId=155569。
我很确定 exe 在正确的位置,因为 VS IDE 可以找到它。我想知道我对 Msbuild 缺少什么?
谢谢!
wix - Bundle 可以在安装期间从本地文件夹中引用 MSI 吗?
我通过链接两个 MsiPackages 创建一个 Bundle。Bundle 包含两个 MsiPackages 并创建一个捆绑的 .exe 作为安装程序。是否可以设置 Bundle 以便在安装期间从包含两个 MSI 的本地文件夹中引用 MSI(不嵌入或包含它们)?我希望从本地文件夹中引用这两个 MSI,并且仅在安装期间安装。谢谢
wix - 如何将 Wix 3.0 项目(带引导程序)移植到 Wix 3.7
我继承了一个使用 Wix 3.0 的安装项目。出于编程原因,我们必须切换到 VS2012,因此也必须切换到 Wix 3.7。
在阅读有关 Wix 3.7 的信息时,我发现 3.7 提供项目类型“Setup project”和项目类型“Bootstrapper project”。
我的第一个问题是:我是否像以前一样制作一个安装项目和一个引导程序项目并将其组合起来,或者只是一个引导程序项目。
使用 Wix 3.0,引导程序的东西位于 wixproj 文件中:
这还有可能吗?在这里我必须从 .Net 3.5SP1 更改为 .Net 4.5
有人可以帮助我吗?
wix - WiX 升级后的加热错误
我将 WiX 从 3.5 版升级到 3.7 版,现在在安装程序的预构建步骤中遇到错误。
有问题的预构建步骤是"%wix%\bin\heat.exe" dir "$(OutDir)_PublishedWebsites\Application Files" -dr INSTALL_LOCATION -cg SourceComponentGroup -ag -var var.SourcePath -out "$(ProjectDir)HeatFile.Generated.wxs"
现在这会导致我们的 Team Build 失败并出现错误C:\Program Files (x86)\MSBuild\Microsoft\WiX\v3.x\wix2010.targets (816): The command ""%wix%\bin\heat.exe" dir "C:\Builds\12\TFS\Wix 3.7 Test Build\Binaries\_PublishedWebsites\Application Files" -dr INSTALL_LOCATION -cg SourceComponentGroup -ag -var var.SourcePath -out "C:\TFS\WiX3.7\Install\HeatFile.Generated.wxs"" exited with code 3
我无法弄清楚导致此错误的原因会发生什么变化,除非我无法找到的热量发生了变化。
编辑:
在 Rob 在下面的评论中提到详细构建后,我查看并发现在“构建前的环境”中发现 WIX 属性设置为WIX = C:\Program Files (x86)\Windows Installer XML v3.5\
,但是当我通过控制面板查看系统环境变量中的相同属性时,我看到 WIX 设置为C:\Program Files (x86)\WiX Toolset v3.7\
.
MSBuild 配置中的某个地方是否会设置此项?
编辑2:
我还在我们的 .wixproj 文件中发现了这一点:
这里有什么需要改变的吗(例如产品版本)?
iis - WiX 3.7 IIS 设置
运行我们的安装程序时,我们将其配置为在 IIS 中设置 3 个网站,在升级之前它按预期工作,即使默认网站(或侦听同一端口的任何网站)仍然存在。
如果监听端口 80 的网站已经启动,WiX 会从我们的安装程序创建网站,而不是启动它(这是我所期望的)。然而,自从升级到 3.7 后,我发现如果在 IIS 中配置了任何其他站点正在侦听同一端口,则安装程序不会创建该站点。
WiX 设置中是否缺少某些内容,我需要添加以强制 WiX 从我们的安装程序添加网站,或者这只是通过 WiX 创建网站的一个已知问题?
编辑:
进一步研究,该网站似乎是通过端口检查的,而不是通过名称检查的。如果我在端口 80 上有“默认网站”,那么我在安装程序中拥有的网站下的任何应用程序都会在默认网站下配置。
wix - WiX:错误 RegistryKey 元素包含意外属性“ForceDeleteOnUninstall”
我是 WiX 的新手。我刚刚安装了WixW 3.7以构建开源JiraSVN 插件。但是 Visual Studio 中的构建中断并出现以下错误:
这些错误引用了 product.wxs 文件,该文件包含以下元素:
我也收到警告,例如:
根据我在 WiX 文档中可以找到的内容,这些是 WiX 框架中的标准属性。那么是什么导致他们无法识别呢?应该在哪里声明?
python - python脚本将变量发送到wix源路径
我有一个生成的 GUI wxpython
,用于选择wix
项目创建 msi 所需的路径。当单击 GUI 中的应用按钮时,从 GUI 中选择的路径被写入注册表。选择的路径存储在一个变量中,比如数据,即:
以及写入注册表,即:
现在我开发了 wix 项目来使用 msbuild 创建 msi。我希望 GUI 中的选定路径必须进入 wix 组件中的源路径。我的 wix 代码有点像下面,
使用上面的代码,我收到一条错误消息,
如何将 GUI 选择的变量“数据”传递到 wix 中的文件源路径?是否可以将注册表值发送到 wix?
wix - 判断是否安装了SqlLocalDB
我正在寻找一种在 WiX 中确定是否安装了 SQLLocalDB 的方法。我怎样才能做到这一点?- 我可以检查注册表项吗?- 如果是,哪个键?