.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-野兽的邻居”,并点击“构建”):
请允许我不再复制任何内容,而是将您发送到有关该主题的官方文档:
在转到自定义引导程序之前:
- (包括先决条件)
- (有许多指向刻录信息的进一步链接)
-
- 对于WiX的其他方面,更多的WiX样本发现了一到两个更高的级别
还有一些:
- (更多的烧录链接)
- (这里是使用标准引导程序应用程序的一个不错的Burn示例)
setup.exe
,它将启动带有您收集的参数的MSI文件
只有一句话
在Installshield中,最新版本中有一个相当新的功能,称为Installshield Suite项目。我不确定它有哪些版本(更高版本-例如“Premium”)。它允许您“按顺序”安装各种文件:MSI
,MSP
,EXE
,MSU
,等。
虽然我从来没有经常使用它,但我确信您可以相当轻松地创建一个套件GUI,并控制从什么设置显示什么对话框。我会用命令行静默地安装它们。请至少查看下面的第一个链接-屏幕截图。它应该能让你了解事物的基本概念
某些链接:
先决条件””、“构建”和“对话框”为中心。在“Build
”视图中设置EXE输出。在“先决条件
”中,选择顶级“软件包
”项以获取内置的可用先决条件列表。右键单击“预安装”
”添加您自己的软件包。我不熟悉对话框的详细信息,但您可以在“<
<?xml version="1.0"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Bundle>
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
<Chain>
</Chain>
</Bundle>
</Wix>