How to fix “pac pcf push” issues with pac cli newer than 1.28.3 – publisher error or solution deleted

I hope that this issue get fixed soon. But I was stuck with it since about two months now, and I saw a lot of questions in the community. Until we get a fix, I hope my workaround will help you.

The issue is solved starting with pac cli v1.30.6.
Until this version reaches the VSCode, you can use the standalone version of the pac cli.
Even the new parameter “–solution-unique-name” worked. We can now specify which solution should be used. The publisher prefix is taken from the solution.

The issue

Starting with the “pac cli” v 1.29.6 , we see in the release notes

The PCF developer are used to use “pac pcf push -pp <yourPublisher>” to upload debug versions of the PCF. But with “pac cli” version, it stopped working. (Besides that, using the “–solution-unique-name” parameter didn’t work nether).

The symptoms

If a PCF with your publisher was already uploaded

The errors we get are different. In case the PCF was already uploaded to the environment, you get an error while trying to “push” the pcf

If you have a look in the log, it’s saying something something about a deletion issue in your environment (and the publisher). I couldn’t understand until recently

I’ve open an issue, but not solved yet.

If no other PCF was uploaded with your publisher yet

In that case, the “pac pcf push” works, but you don’t see the PCF in your environment. No “PowerAppsTools_<prefix>”. Also I couldn’t add the PCF to another solution, because it was not in the list for “Add existing component”. (Not sure if it was only about a slow environment).

The Solutions

1. Downgrading the “pac cli”

Until today I didn’t knew what happened, and the only way I could workaround was to downgrade the pac cli. You can make that

  • if using the standalone version of the pac cli “pac use”.

So you could switch using “pac use 1.28.3”

After that

If you are using the VSCode version, you can downgrade by selecting the “Power Platform Tools” extension, and choosing the “Uninstall flyout”, and then “Install another version”

It works if you downgrade to version “v2.0.13” of the VSCode Extension. Don’t forget to reopen VSCode, otherwise you are still using the older version in your VSCode Terminal.

By downgrading we fix the “pcf push” issue, but we cannot use the newer features. So would be good to have a better solution.

2. Fix the reason of the problem

Let’s have a look again to the relase notes of the pac cli 1.29.6

“pcf push supports target environment
 – Adds the –solution-unique-name argument (mutually exclusive with –publisher-prefix argument)
 – The temporary solution (and the temporary publisher) is now deleted after import is successful.
 – The publisher prefix from the target environment is used”

So it’s about deleting that solution. The fix depends on the situation of your environment.

If it’s your first upload in the environment

Then you don’t see the PCF because it lands inside the default solution. The “PowerAppsTools_<prefix>” solution gets deleted after a successful import. No error, but no PCF. The solution is uninstalled right away.

But only the solution is uninstalled, not the PCF itself.
To workaround the issue, I’ve just added the added the PCF to another solution (where I use the PCF for instance). Or maybe make your own PowerAppsTools solution (like “PowerAppsTools1_<prefix>”.

Unfortunately I couldn’t add the PCF to another solution using the new maker experience (don’t know if this is only in my environment), but this worked with the “classic” customizing.

Once I’ve done that, I could use “pac pcf push” and I could see the updates in my solution.

If it’s not the first upload with the same publisher prefix

Well, we know now, that the “pac cli” is trying to delete the “PowerAppsTools_<prefix>” from the environment, and somehow cannot make it (could it be because of trying to delete the publisher, which is still in use, because we have some other PCFs left, using it).

  1. So the solution would be to move all the PCFs from the “PowerAppsTools_<prefix>” to another one (for instance I’ve make a solution “PowerAppsTools1_<prefix>”, and added all my PCFs from “PowerAppsTools_<prefix>”. The new created solution must have the same publisher with the same <prefix>, of course.

2. Then we can delete the “PowerAppsTools_<prefix>” from the environment (it’s only a wrapper, since it’s unmanaged)

3. Now the “pac pcf push -pp<prefix>” will work again. The PCF gets updated, and we have it inside the new created solution. The pac cli will recreate “Power AppsTools_<prefix>” and delete each time, but we see the PCF inside our own solution.

Conclusion

I hope this get fixed soon! But until now, hope it helps!

The blog image was generated with Microsoft Designer.

One thought on “How to fix “pac pcf push” issues with pac cli newer than 1.28.3 – publisher error or solution deleted

Add yours

Leave a comment

Website Powered by WordPress.com.

Up ↑