2

我们将软件打包成MSI文件(使用 Wix)。我们使用VSTS进行构建和发布。

是否有标准方法将 MSI 文件部署为 Release 的一部分

是的,我可以msiexec /i ...作为 PowerShell 或批处理脚本运行。但是我们还需要一些其他的东西,例如检查退出代码、将安装日志文件上传回 VSTS Release 或分析错误消息等。

这听起来像是人们想做的很常见的事情,但是没有这样的标准 VSTS 步骤 \ 扩展名。

4

2 回答 2

2

我最终为此打包了 VSTS 扩展:
https ://marketplace.visualstudio.com/items?itemName=ivanboyko.vsts-deploy-MSI

源代码开源:
https ://github.com/IvanBoyko/vsts-install-MSI.git

将任务目录中的步骤添加到安装 MSI 文件

于 2017-01-19T16:41:12.833 回答
0

您可以在 msiexec 命令中指定日志文件来安装 MSI 文件,然后使用 PowerShell 检查详细日志内容(是否包含错误),如果日志中有错误,您可以使用##vso[task.log] 记录错误或警告。日志问题]。

关于上传日志文件,您可以使用##vso[build.uploadlog]本地文件路径上传安装程序日志文件。更多关于日志命令的信息,可以参考这篇文章:日志命令

安装 MSI 并等待安装程序完成的简单代码:

$filePath='[msi file path]'
$DataStamp = get-date -Format yyyyMMddTHHmmss                
$logFile = 'c:\{0}-{1}.log' -f 'nodejsInstall',$DataStamp                
$MSIArguments = @(
    "/i"
    ('"{0}"' -f $filePath)
    "/qn"
    "/norestart"
    "/L*v"
    $logFile
)               
Start-Process "msiexec.exe" -ArgumentList $MSIArguments -Wait -NoNewWindow
于 2017-01-19T06:56:30.577 回答