Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.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
.net 从MSI中删除默认对话框_.net_Wix_Windows Installer - Fatal编程技术网

.net 从MSI中删除默认对话框

.net 从MSI中删除默认对话框,.net,wix,windows-installer,.net,Wix,Windows Installer,我有一个引导程序,它包装了许多msi文件。其中一些需要用户输入来配置某些功能。这些需要自定义配置的msi文件显示了太多需要删除的对话框,例如WelcomeDlg 我读过很多书,但没有找到任何适合我实际需求的解决方案,所以我想知道它是否切实可行。那么,是否有可能只显示需要用户交互的对话框,而不显示欢迎对话框或完成对话框 提前谢谢 定制GUI:在顶部简明扼要地回答:您可以编写自己的GUI,从而控制安装GUI中的“一切”,在安装时抑制每个MSI自己的内部GUI 您可以通过自己的GUI收集参数(以您选择

我有一个引导程序,它包装了许多
msi
文件。其中一些需要用户输入来配置某些功能。这些需要自定义配置的
msi
文件显示了太多需要删除的对话框,例如
WelcomeDlg

我读过很多书,但没有找到任何适合我实际需求的解决方案,所以我想知道它是否切实可行。那么,是否有可能只显示需要用户交互的对话框,而不显示欢迎对话框或完成对话框

提前谢谢

定制GUI:在顶部简明扼要地回答:您可以编写自己的GUI,从而控制安装GUI中的“一切”,在安装时抑制每个MSI自己的内部GUI

您可以通过自己的GUI收集参数(以您选择的方式设计),并在静默模式下调用每个MSI文件的安装(使用给定参数),使用命令从自定义引导程序应用程序中执行此操作。这是可能的,但没有野餐。请阅读下面的摘要-还不够,但这是我给你的

注意 (因此,它可以作为此类定制GUI的实时示例)。和-对于实际的WIX3安装程序本身-换句话说


燃烧 Burn是一个
引导程序
下载程序
链接器
,以及一个
引擎
。每个Burn bundle(
setup.exe
)都有一个“
引导程序应用程序”
”,它基本上构成了安装程序的GUI—它驱动Burn引擎。默认情况下会使用一些,但您可以完全编写自己的引导程序GUI。引导程序应用程序(BA)是由Burn引擎加载的DLL

标准引导程序应用程序可以通过各种方式进行自定义,而自定义引导程序应用程序则完全可以自定义-显然。该引导程序应用程序可以用托管代码或本机代码编写

从这里开始阅读刻录文档:

1-标准引导程序应用程序 以下是WiX官方文档的摘录,以查看“调用标准引导程序应用程序以编译到
setup.exe
中所需的基本标记(如果您在Visual Studio中,请多次吟唱“668-野兽的邻居”,并点击“构建”):


请允许我不再复制任何内容,而是将您发送到有关该主题的官方文档:

在转到自定义引导程序之前:

  • (包括先决条件)
  • (有许多指向刻录信息的进一步链接)
2-自定义引导程序应用程序 据我所知,编写自定义引导程序应用程序并不是一件轻而易举的事,我从来没有机会去做。文件似乎很少:(我知道的官方文件)

我在这里和那里找到了以下真实世界的样本,但还没有试过它们的大小。如果您在这条道路上冒险,请分享您的观察结果:

    • 对于WiX的其他方面,更多的WiX样本发现了一到两个更高的级别

还有一些

  • (更多的烧录链接)
  • (这里是使用标准引导程序应用程序的一个不错的Burn示例)
WiX替代方案:在描述了WiX的Burn功能后,我开始认为这可能不是完成工作所需要的。它对开发人员来说很重,而且很复杂——尽管开发人员应该完全可以管理它来实现所需的内容,而不会出现太多问题。灵活性非常高

商业部署工具选项和GUI界面可用于创建一个
setup.exe
,它将启动带有您收集的参数的MSI文件

只有一句话 在Installshield中,最新版本中有一个相当新的功能,称为Installshield Suite项目。我不确定它有哪些版本(更高版本-例如“Premium”)。它允许您“按顺序”安装各种文件:
MSI
MSP
EXE
MSU
等。

虽然我从来没有经常使用它,但我确信您可以相当轻松地创建一个套件GUI,并控制从什么设置显示什么对话框。我会用命令行静默地安装它们。请至少查看下面的第一个链接-屏幕截图。它应该能让你了解事物的基本概念

某些链接

安装包制作 高级安装程序具有高级选项,可在主MSI安装程序中包含先决条件和软件包,并允许您像Installshield一样创建新对话框。我还没来得及完全测试它,但下面是一些关于它使用的提示

此功能以视图“
先决条件”
”、“
构建”和“
对话框”为中心。在“
Build
”视图中设置EXE输出。在“
先决条件
”中,选择顶级“
软件包
”项以获取内置的可用先决条件列表。右键单击“
预安装”
”添加您自己的软件包。我不熟悉对话框的详细信息,但您可以在“<
<?xml version="1.0"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  <Bundle>
    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
    <Chain>
    </Chain>
  </Bundle>
</Wix>