BluePalmTree
BluePalmTree

Reputation: 333

How to use ClickOnce custom prerequisites with Azure DevOps Pipelines

We have a ClickOnce application we try to deploy with Azure DevOps pipelines. We have figured the deployment process out with creating manifests and signing them. The problem is now we want to also use the prerequisits option of ClickOnce with some custom packages. After reading the docs we created a custom bootstrapper package and it was displayed in Visual Studio. When we publish the app with Visual Studio the custom package is added. But if we use it on the DevOps pipelin it's ignored. This makes sense because the build server doesn't know the custom package.

For example one prerequisit is the Microsoft OLE DB Driver for SQL Server.

One Idea maybe would be to not use the option "Download prerequisites from the component vendor's web site", but host the exe/msi files ourselves and link to them.

Another option could be this support URL for individual prerequisites but here I don't know how to set this to other applications.

Does somebody have an idea how custom prerequisites with ClickOnce can be added to a Azure DevOps build server/pipeline?

Upvotes: 0

Views: 203

Answers (1)

Antonia Wu-MSFT
Antonia Wu-MSFT

Reputation: 569

You could try to use Azure cli to upload the package(with its setup.bin file) to Azure DevOps artifact feeds as universal packages type.

enter image description here

Create a feed first then you could use az artifacts universal publish to upload the packages.

Then you could use the "Universal packages" task in your Azure DevOps pielines to download the packages for using.

As you said, you could use visual studio run with the packages successfully. If you use VSBuild@1 task as the doc recommend in your pipelines to deploy the ClickOnce, you could add the path of the custom package in Azure DevOps, it looks like something like this: 'p:GenerateBootstrapperSdkPath=$(System.DefaultWorkingDirectory)\bootstrapper'

I hope it could help.

Upvotes: 0

Related Questions