Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Azure管道的CI/CD WPF安装文件_Wpf_Continuous Integration_Azure Devops_Continuous Deployment - Fatal编程技术网

使用Azure管道的CI/CD WPF安装文件

使用Azure管道的CI/CD WPF安装文件,wpf,continuous-integration,azure-devops,continuous-deployment,Wpf,Continuous Integration,Azure Devops,Continuous Deployment,我已经成功地在Azure Devops上创建了一个回购协议和一个管道,每次我推送到主分支时都会触发一个发布。发布的结果是一个.exe文件,我可以从Artifacts explorer下载。如果我下载并打开该版本,WPF应用程序就会运行(无需安装)。我正试图了解整个CI/CD过程是如何工作的,但我找不到任何好的例子来帮助我理解部署过程(至少对于WPF应用程序) 我通常会做的是构建一个WPF应用程序,一旦完成,我会向解决方案添加一个新项目(Visual Studio Installer-Setup

我已经成功地在Azure Devops上创建了一个回购协议和一个管道,每次我推送到主分支时都会触发一个发布。发布的结果是一个.exe文件,我可以从Artifacts explorer下载。如果我下载并打开该版本,WPF应用程序就会运行(无需安装)。我正试图了解整个CI/CD过程是如何工作的,但我找不到任何好的例子来帮助我理解部署过程(至少对于WPF应用程序)

我通常会做的是构建一个WPF应用程序,一旦完成,我会向解决方案添加一个新项目(Visual Studio Installer-Setup project),并将.msi安装程序交付给最终用户(对于更新,我会向他们发送要安装的最新版本)


如何在Azure Devops中使用CI/CD使此过程更加顺畅?如何生成实际的安装程序?我是否在应用程序本身中使用一些逻辑来检查Azure中的最新版本?有人能列出一些简单的步骤或一些好的资源吗?

您应该能够使用这样的任务:使用您传统上使用的VS Installer项目

此任务包装对devenv的调用,这些调用是驱动VS Installer创建其MSI包所需的,因为它不使用常用的MSBuild引擎来执行此操作


其他工具也可以做类似的工作,例如,您可以驱动WIX或类似的工具来创建MSI包,但是如果您熟悉VS Installer项目,您可能希望坚持这一点。

很抱歉回复太慢。这是朝着正确方向迈出的一步,但我正在努力让它发挥作用。我是否需要配置内置代理(内部部署)?我尝试了这种方法,但得到了以下错误:
2018-11-27T17:41:13.0687513Z调试:聚合:System.Object[]\devenv.com 2018-11-27T17:41:13.4277529Z##[错误]无法检索cmdlet的动态参数。指定的通配符模式无效:System.Object[]。
如果我在Hosted2017代理池中尝试此模式,结果是:
##[error]找不到路径“D:\a\1\s\Setup\release\”,因为它不存在。
生成是否创建了MSI OK?i、 任务是否报告成功?我无法从这段代码中找出哪个阶段失败。生成解决方案成功,但从VS Installer项目创建.msi文件失败,并显示上述消息。我尝试在发布工件步骤之前或之后放置该步骤,但仍然无法使其工作。感谢您的支持。这就是VS Build Installer任务失败的输出?你对这项任务做了哪些投入?是的。没错。请参见以下内容:
-任务:dutchworkz.BuildInstaller.BuildInstaller。BuildInstaller@1displayName:'从VS安装程序项目创建.msi文件。'输入:installTaskMode:vdproj SlnPath:'MyProject.sln'VdprojPath:MySetupProject/MySetupProject.vdproj