Showing results for 
Search instead for 
Did you mean: 
Kudo Kingpin
Kudo Kingpin

Power App Solution Package - Extract and Re-ZIP Programmatically

Hello dear community members. I really need your help figuring out Power Apps / Power Automate Solution Packages work. I can't figure how to to generate a proper ZIP solution that is understood by the Power Platform during the import process.


What I am trying to do

  1. Manually. Export a solution that contains Power Apps, Power Automate as a ZIP file. 
  2. Unzip the ZIP file programmaticaly.
  3. Perform a minor change in several unzipped files. 
  4. ZIP up the files back to a solution programmatically, using PowerShell,
  5. Import Solution (zip) file to a new/same environment.

3_Import package.png


I have an issue with the Step #4 - Zipping the solution files back to a solution file. To be more specific, the issue is in the step #5. When I generate a ZIP file programmatically, Step #5 fails. When I create a ZIP file manually (see screenshot below) - Step #5 succeeds.


Experiment A) If we manually create a solution file, then Step #5 works as expected: I can import a solution file with no issues:

1_Manual Zipping.png

Manually Zip solution file is imported perfectly fine:

Experiment B) However, I am trying to automate the entire process and do not want to manually ZIP anything. So, I am ZIPping the solution files using PowerShell:


2_PowerShell zipping.jpg

As a result of running this PowerShell script, I get a ZIP solution file. It looks completely valid and I don't see any issues with it.

So, now, I am trying to import this solution file via, but this time I get an error:


Solution "ContosoSolution" failed to import: Error while importing workflow {ed432f3c-6ee6-ea11-a817-000d3af41a7c} type ModernFlow name PowerApp -> Get items: Workflow import: Xaml file is missing from import zip file: FileName: /Workflows/PowerApp-Getitems-ED432F3C-6EE6-EA11-A817-000D3AF41A7C.json


This is what the solution import log contains:

5_Error Log.png

According to the error, the solution ZIP file is missing a /Workflows/....json file. This error seems to be misleading, because the ZIP file does contain this file:



Question how can I generate a solution file programmatically in a way that can be properly read by the Power Platform during the import process? Why generating ZIP files manually works while programmatic generation causes an issue?

How to quickly replicate an issue

- Export solution package

- Unzip it

- ZIP it back using PowerShell:


[System.IO.Compression.ZipFile]::CreateFromDirectory($SourceDirectory, "",
[System.IO.Compression.CompressionLevel]::Fastest, $false, [System.Text.Encoding]::UTF8 )


- Import the ZIP Solution file

- Result: Get an error

More details

  • Why I am asking this question? I am trying to upgrade the Power Apps / Flow migrator script to also support Solution migration. 
  • I was trying to ZIP the file:
    • With UTF8 encoding
    • With different compressions:
      • Uncompressed
      • Fastest
      • Optimal
    • Was trying to Compress-Archive PowerShell cmdlet and [System.IO.Compression.ZipFile]::CreateFromDirectory .NET function. 




8_Compare ZIPS.png


Accepted Solutions
Kudo Kingpin
Kudo Kingpin

My friend Mark Doria found a solution to this issue:

- cd to the extracted Solution folder

- Run the following batch script:

tar -a -c -f "" *


The tar utility is a built-in Windows utility that creates ZIP files that Power platform does not complain about.

View solution in original post

Helper I
Helper I

My suspect is that the file is not written as it should because of compression, I have experienced this before, two files that seems equals in the file explorer have different content.


I did a quick experiment with a zip of myself and I see that using your compression method I'm getting few extra bytes, and it can't be imported, so I changed it from [System.IO.Compression.CompressionLevel]::Fastest  with [System.IO.Compression.CompressionLevel]::Optimal I got exactly the same bytes amount of bytes and the file is imported as expected.

I did also a test with Compress-Archive (less code in the window) and it also worked as expected.


I hope this help!




Are you making the changes using a PowerShell script? As that will be converting all the files from whatever they were to Unicode and the rezipping of the files is going to hide the changes in file size from you.


I suspect you need to look at whatever script is making the changes and ensure -Encoding ascii is included in that script to avoid the output being corrupted by a language conversion.


Oh and believe me I only discovered this issue when someone else raised what looked like a similar issue. 

If this post has answered your question please consider it for "Accept as Solution" or if it has been helpful give it a "Thumbs Up".

I have conducted more tests, so far no luck with ASCII encoding and Optimal compression.





Will do more tests tonight/tomorrow. Strange thing is that manually zipping Solutions works like a charm. I don't understand what the difference is. I might need some ZIP debugging tool.



New Member

Hi ! Have you found the solution ? I have the exact same problem ... And as for you, the answers here are not working.

(My computer system is in French regional settings, might have a relation to the issue and it's default encoding)

Unfortunately, I didn't find a way to generate a ZIP file programmatically. I sill need help from someone who understands how ZIP works on a low level. I gave up after spending days over this issue. 

Advocate II
Advocate II

@johnnyshield , Thank you, very much for sharing. But unfrortunately @iAm_ManCat didn't solve it. The article that you shared here refers to standalone apps, not so-called Power platform solutions. Packaging Standalone apps and Flows using PowerShell poses no problem whatsoever. In fact, I "solved" this 4 years ago and published as an open sourse script here: It does the same thing described in the article you shared, except it does the entire thing automatically, without manual maninupations.


My issue is with packaging Power Platform solutions. I tried everything under the sun to programmatically package Solutions and as a result, these zipped-up solutions simply are not accepted during the import procerure. On the other hand, standalone apps and flows that were packaged the same way have no issue whatsoever during the import. I hope it makes sense.


Advocate II
Advocate II

My apologies, I stumbled across this thread while trawling for PowerApps app packaging & didn't take the time to read it in detail. Thanks for setting me straight.

Heya @DenisMolodtsov - the article is a solution for manually editing an msapp file to convert it to landscape/portrait, not for re-packaging the standalone Power App (which is as you say, fairly easy to do), so not quite the same as your migrator which deals with sharepoint data sources (very neat solution btw, kudos!)


thanks for the shoutout @johnnyshield, hope you both have a great day


Please 'Mark as Solution' if someone's post answered your question and always 'Thumbs Up' the posts you like or that helped you!

You and everyone else in the community make it the awesome and welcoming place it is, keep your questions coming and make sure to 'like' anything that makes you 'Appy
Sancho Harker, MVP

Helpful resources

Power Apps Africa Challenge 2022

Power Apps Africa Challenge

Your chance to join an engaging competition of Power Platform enthusiasts.

Super User 2 - 2022 Congratulations

Welcome Super Users

The Super User program for 2022 - Season 2 has kicked off!

September Events 2022

Check out all of these events

Attend in person or online, there are incredible conferences and events happening all throughout the month of September.

Government Carousel

New forum: GCC, GCCH, DoD - Federal App Makers (FAM)

In response to the unique and evolving requirements of the United States public sector, Microsoft has created Power Apps US Government.

Users online (2,498)