我正在使用 wixsharp 构建 msi 安装程序,并使用命令行进行静默安装,而无需任何用户界面。我有许多类似于以下的自定义操作方法来检查先决条件。如果不满足先决条件,我想警告用户。
var project = new Project("ProductName",
new ManagedAction(new Id("OSVersion"), Check.CheckOSVersion, Return.check, When.Before, Step.InstallInitialize, Condition.NOT_Installed));
如果不满足条件,自定义操作方法将返回 ActionResult.Failure。
我的批处理脚本如下
start /wait msiexec /i Installer.msi /qn /l*v installerlog.log
if "%errorlevel%" == "1013" goto err
if "%errorlevel%" == "1603" goto err
:err
echo "Error: Msiexec failed with errorlevel = %errorlevel%"
pause
exit /b %errorlevel%
是否可以让 MSI 安装程序返回自定义错误代码和自定义错误消息,如“OS 版本无效”并在命令行中显示相同的内容。?