Azure devops 如何在Azure Devops中安装windows应用商店软件包桌面应用程序转换器(DAC)
我是Azure Devops的新手。我想将桌面应用程序Conver(DAC)安装到Azure Devops,以便能够将msi文件自动转换为Windows应用商店appx。注意,DAC也是窗口存储应用程序。首先,我创建了powershell脚本(请参阅beelow),它必须执行两个步骤: 1) 使用addappxpackage命令安装DAC转换器 2) 使用DesktopAppConverter.exe调用基于msi文件生成appx包 它对我来说工作得很好:安装了DesktopAppConverter并生成了包 在Aure Devops上,我使用powershell任务创建了构建pipiline。此任务执行与我在本地计算机上执行的操作相同的操作。对于作业执行,我使用了Microsoft hosted agent 我的YAML是:Azure devops 如何在Azure Devops中安装windows应用商店软件包桌面应用程序转换器(DAC),azure-devops,azure-pipelines,appx,Azure Devops,Azure Pipelines,Appx,我是Azure Devops的新手。我想将桌面应用程序Conver(DAC)安装到Azure Devops,以便能够将msi文件自动转换为Windows应用商店appx。注意,DAC也是窗口存储应用程序。首先,我创建了powershell脚本(请参阅beelow),它必须执行两个步骤: 1) 使用addappxpackage命令安装DAC转换器 2) 使用DesktopAppConverter.exe调用基于msi文件生成appx包 它对我来说工作得很好:安装了DesktopAppConvert
# .NET Desktop
trigger:
- master
pool:
vmImage: 'windows-latest'
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
steps:
- task: PowerShell@2
inputs:
filePath: 'convert.ps1'
Powershell脚本convert.ps1
add-appxpackage -path Microsoft.DesktopAppConverter_2.1.4.0_x64__8wekyb3d8bbwe.Appx
DesktopAppConverter.exe -Installer MyApplication.msi -Destination Appx05 -PackageName "MyCompany.MyApplication" -Publisher "CN=12345678-1234-1234-1234-123456789012" -PackagePublisherDisplayName "MyCompany" -PackageDisplayName "MyApplication" -Version 1.0.14.0 -MakeAppx -Verbose
执行add appxpackage时没有错误。执行DesktopAppConverter.exe时出现以下错误:
DesktopAppConverter.exe : The term 'DesktopAppConverter.exe' is not
recognized as the name of a cmdlet, function, script file, or operable
program. Check the spelling of the name, or if a path was included,
verify that the path is
correct and try again.
根据这条消息,可以说实际上没有安装DAC。此外,powershell命令Get-Appxpackage输出中没有桌面应用程序转换器包
我还创建了sampe管道,并在我的PC上使用自托管代理执行它。DAC已安装并执行
因此,在当前步骤中,我遇到了一个主要问题:是否可以使用Microsoft hosted agent安装DAC?我不明白为什么这不可能。Azure管道在作业执行期间为我提供了一个虚拟机(而不是虚拟机实例被丢弃)。所以理论上我可以用它做任何事情,也可以安装appx。我已在Microsoft hosted agent的VM上成功安装程序。为什么我不能用商店里的appx来做
我还有其他一些问题。我肯定DAC没有安装。这意味着在安装过程中出现了问题。当我在电脑上安装后出现问题时,我在控制台窗口中看到一条错误消息。在Azure上安装失败的DAC时,我没有看到eny错误(但这是系统上的一个错误,无法找到DAC执行文件)。我在事件日志和日志文件中也没有发现任何关于安装失败的错误。那么,尽管没有安装DAC,为什么我看不到任何错误呢?另一件事是:我在微软提供免费试用的微软Azure devops上完成的上述步骤。当我尝试在生产Azure devpos上执行相同的步骤时,安装DAC步骤和执行DAC步骤都没有错误(未生成appx)
如何在Azure Devops中安装windows应用商店软件包桌面应用程序转换器(DAC)
根据该文件:
我们必须:
vmImage:“windows最新版本”
,如果此代理是托管代理,它不会安装此应用程序,那么您将收到以下错误:
术语“DesktopAppConverter.exe”无法识别为
cmdlet、函数、脚本文件或可操作程序
如果代理vmImage:“windows最新版本”
是专用代理,请确保已安装桌面应用程序转换器,并将其设置为与管理员一起运行
注意:如果安装桌面应用程序转换器,您将在以下位置找到DesktopAppConverter.exe:C:\Users\\AppData\Local\Microsoft\WindowsApps\Microsoft.DesktopAppConverter_8wekyb3d8bbwe
希望这有帮助。您在代理上的哪里安装了
DesktopAppConverter
?如果没有,您是否尝试过自己安装它?如果是,你有问题吗?什么问题?Stack Overflow是一个人们帮助你解决你自己解决困难的问题的地方,而不是直接为你解决问题。注意:我是Azure Devops的新手。我已尝试在powershell脚本convert.ps1中安装DesktopAppConverter,该脚本由构建管道的任务调用(请参阅上面的YAML和powershell清单)。我知道这是个错误的方法,请告诉我。在Azure Devops中安装它的正确方法是什么。@Daniel Mann在过去的36个小时里(减去4个小时的睡眠时间),我也试图解决这个问题。据我所知,如果我在管道中运行tak,它是由代理运行的,不是吗?Leo@Liu MSFT,谢谢你的回答。据我所知,我正在使用托管代理。我看到池:托管Windows 2019和VS2019。代理:托管代理。那么,这是否意味着根本不可能安装桌面应用程序转换器?那么,我需要在我的案件中使用priavate代理吗?我找不到“私人代理”这个词。私有代理是否与“自托管”代理相同?更新。我尝试使用自托管代理,在我的pc上启动代理,在Azure Devops上配置代理池并启动作业。DAC已成功安装在我的电脑上。因此,如果我找不到更复杂的东西,它可能是解决方案。但是让我们问另一个问题:是否可以使用Microsoft hosing agent安装dac?我尝试在Microsoft hosting agent上使用msi安装程序安装示例程序,该程序已成功安装。我想知道为什么我不能安装appx软件包。@constant,很抱歉回复晚了,我刚从周末回来。是的,私有代理与“自托管”代理相同。@constant,因为上面的回答解决了您的问题,您可以,因此它可以帮助其他遇到相同问题的社区成员,我们可以存档此线程,谢谢。对于另一个问题,因为我们需要以管理员身份运行桌面应用程序转换器,所以我们无法在托管代理上实现它。在托管代理上,我们以用户身份登录。