我有一个Visual Studio安装项目。通常,我使用Microsoft Visual Studio Installer Projects扩展名,并使用devenv在命令行中运行MSBuild Exec任务。这适用于我的开发箱和现有的构建机器。但是,我希望使用hosted pipeline agent迁移到VS2017 image。
我希望可能已经安装了安装程序扩展,所以我尝试构建并遇到错误:
“ C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Enterprise \ Common7 \ IDE \ devenv.com”“ D:\ a \ 2 \ s \ Source \ Build .. \ WindowsFormsApp1 \ WindowsFormsApp1.sln “ / Build” Debug“ / Project” Setup1“ / ProjectConfig” Debug“ / Log
操作无法完成。参数错误。
我尝试将VSIX添加到我的仓库中,然后像这样发布VSIX的命令行安装:
“ C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Enterprise \ Common7 \ IDE \ VSIXInstaller.exe” / a / quiet /log:MyTestApp.log D:\ a \ 2 \ s \ Source \ Build \ InstallerProjects.vsix
但这似乎会阻塞约10分钟,然后失败并显示错误(即使我使用/ quiet arg来抑制UI,我也怀疑UI正在阻塞)
...退出,代码为-2146233088。
有什么方法可以使用MS托管的管道代理来构建Visual Studio安装程序项目?
答案 0 :(得分:0)
如何在Azure Devops Pipeline托管代理中构建Visual Studio Installer项目
AFAIK,目前恐怕我们无法在Azure Devops Pipeline 托管代理中构建Visual Studio Installer项目。
两个星期前,我遇到了一个similar issue,经过一段时间的调查,我开始尝试使用与您相同的想法,使用命令行安装Microsoft Visual Studio Installer项目扩展。
但是,我遇到了超时问题。我无法在托管代理上安装该扩展。为了测试其原因,我使用相同的命令lien将扩展名安装在另一台本地计算机上。确实,即使我提供了/admin
参数,也存在一个UI窗口来确认是否要安装此扩展程序:
选中选项here。
然后,我尝试使用管理员打开命令行并执行相同的命令行,它可以成功安装该扩展。因此,我想在Azure DevOps管道中执行命令行。但是没有成功。因为我们无法使用命令行脚本任务以管理员身份执行命令行脚本。
似乎我们必须设置我们的私人代理人。
希望这会有所帮助。