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:使用Burn安装.NET,然后启动一个带有自己的WPF嵌入式UI的MSI_Wix_Windows Installer_Bootstrapper_Burn - Fatal编程技术网

WiX:使用Burn安装.NET,然后启动一个带有自己的WPF嵌入式UI的MSI

WiX:使用Burn安装.NET,然后启动一个带有自己的WPF嵌入式UI的MSI,wix,windows-installer,bootstrapper,burn,Wix,Windows Installer,Bootstrapper,Burn,我已经用WiX制作了一个MSI安装程序,它使用了带有EmbeddedUI元素的自定义wpfui。它类似于src/DTF/Samples/EmbeddedUI中的示例 我现在想有一个引导程序,检查是否安装了.NET4,如果没有安装,请安装它,然后启动我的MSI 看起来Burn会覆盖我的WPF EmbeddedUI,以便用一个进度条将.NET 4和MSI安装链接到一个安装中。我知道我可以有一个托管应用程序来更改Burn的UI,然后将参数传递给我的MSI,但问题是我希望我的UI位于依赖于.NET的WP

我已经用WiX制作了一个MSI安装程序,它使用了带有EmbeddedUI元素的自定义wpfui。它类似于src/DTF/Samples/EmbeddedUI中的示例

我现在想有一个引导程序,检查是否安装了.NET4,如果没有安装,请安装它,然后启动我的MSI

看起来Burn会覆盖我的WPF EmbeddedUI,以便用一个进度条将.NET 4和MSI安装链接到一个安装中。我知道我可以有一个托管应用程序来更改Burn的UI,然后将参数传递给我的MSI,但问题是我希望我的UI位于依赖于.NET的WPF中,如果整个引导程序依赖于.NET,那么用户甚至无法打开引导程序,如果他没有首先安装它

我想要的是引导程序在需要时用一个简单的UI(如Wixstdba)安装.NET,然后用自己的WPF EmbeddedUI启动我的MSI,而不必将其与.NET安装链接。我不介意两个安装都有自己的进度条,我只希望能够使用我的WPF EmbeddedUI来安装主应用程序


那可能吗。怎么用?谢谢

如果希望WiX引导程序显示安装程序的UI,请将MsiPackage的attrible设置为true。但该解决方案的缺点是在安装过程中显示两个UI


您还可以使用WPF和.NET创建一个。Burn提供了一种在显示自定义UI之前基本上引导自身并安装.NET的方法。

如果希望WiX引导程序显示安装程序的UI,请将MsiPackage的attrible设置为true。但该解决方案的缺点是在安装过程中显示两个UI


您还可以使用WPF和.NET创建一个。Burn提供了一种在显示自定义UI之前基本上自引导和安装.NET的方法。

我已经尝试了DisplayInternalUI,但它似乎不适用于MSI中的嵌入式UI,它仅在我在其中设置了UIRef时才显示。(例如:将使用DisplayInternalUI,但不使用我的WPF UI)。另外,您能否更具体一点,说明托管引导程序应用程序如何让我在安装.NET之后才显示WPF UI?谢谢你的回答!抱歉,我说的“你的自定义UI”是指你为Burn创建的自定义UI。它可以是WPF,然后您可以为引导程序指定.NET prereq,如我包含的第二个链接所示。我认为让我的bootstrapper UI依赖于.NET将使它无法启动,如果您还没有安装它,但您确实可以在启动包含WPF UI的自定义bootstrapper应用程序之前设置.NET先决条件,这样它会检查.NET,然后启动我的UI,这正是我想要的。谢谢你的回答!我已经尝试过DisplayInternalUI,但它似乎不适用于MSI中的嵌入式UI,它仅在我在其中设置了UIRef时才会显示。(例如:将使用DisplayInternalUI,但不使用我的WPF UI)。另外,您能否更具体一点,说明托管引导程序应用程序如何让我在安装.NET之后才显示WPF UI?谢谢你的回答!抱歉,我说的“你的自定义UI”是指你为Burn创建的自定义UI。它可以是WPF,然后您可以为引导程序指定.NET prereq,如我包含的第二个链接所示。我认为让我的bootstrapper UI依赖于.NET将使它无法启动,如果您还没有安装它,但您确实可以在启动包含WPF UI的自定义bootstrapper应用程序之前设置.NET先决条件,这样它会检查.NET,然后启动我的UI,这正是我想要的。谢谢你的回答!