是否可以通过WiX安装程序中的条件在没有“ / q”参数的情况下进行静默安装?
我有一个UIRef和一个值为1的无声属性,现在如果该属性为1,我想安装无声。
答案 0 :(得分:0)
WiX GUI :从来没有说过这是诚实的,我不建议这样做。一些MSI文件根本没有GUI,然后安装时就没有任何GUI-显然。我想这是不可接受的一种选择。
条件 :我快速浏览了一下,并调整了 WelcomeDlg
中的 InstallUISequence
条目可能有用,尽管我发现它的设计很奇怪:
WelcomeDlg
: (NOT Installed OR PATCH) AND (NOT SILENT=1)
Property table
中添加一个条目; SILENT=0
,以避免在默认运行模式下保持沉默现在,您可以尝试双击MSI,然后会看到对话框。如果使用下面的命令行,应该没有对话框,但是您会看到一个进度条,并且会看到UAC海拔提示:
msiexec.exe /i MySetup.msi SILENT=1
WiX片段 :这是您可以尝试使用的标记。没有保证! :-)。如果可以,我可以用完整的“小型可运行”样本代替 要求-以下是您可以“串流”进行工作的内容 设定。如果要使静默卸载,修改和修复,还需要更改维护模式/卸载对话框。进行无提示的修改是没有道理的。
请记住,标记是“ hack”,尚未完全 已在所有安装模式下进行测试:
install
,modify
,repair
,self-repair
,patch
,resume suspended
,uninstall
,major upgrade uninstall
,etc...
-请相应地进行测试-总是有惊喜:<..> <Property Id="SILENT" Value="0" /> <UIRef Id="WixUI_Mondo" /> <..> <InstallUISequence> <Show Dialog="WelcomeDlg" After="ResumeDlg">(NOT Installed OR PATCH) AND (NOT SILENT=1)</Show> <Show Dialog="ExitDialog" OnExit="success">(NOT SILENT=1)</Show> </InstallUISequence> <..>
注意! 这样的结构在现实生活中往往适得其反。突然,您发现在某些晦涩的安装模式(挂起的恢复,修补,修改或类似操作)中从未想到的问题。如果要使用此功能,请确保测试良好。
请注意,还有其他对话框(例如修改和修复(维护模式对话框))仍会显示。如果您希望它们的行为不同,则也必须对其进行条件处理(并可能保留 SILENT
属性来确定i是否要禁止显示对话框)。