Skip to content

pac solution unpack --allowDelete --processCanvasApps will delete canvas app source if run a second time #334

Description

@filcole

The allowDelete and processCanvasApps flags on pac solution unpack seem incompatible. With a solution that contains a canvas app, e.g. a model driven app with a new Power Fx component library, then the first unpack will process and expand the solution and associated canvas app (.msapp) correctly. If the same command is run again the files in CanvasApps\src\* are deleted.

First Unpack

❯ pac solution unpack --folder PacSolutionUnpackCanvas --allowDelete --processCanvasApps --zipfile .\PacSolutionUnpackCanvas_1_0_0_1.zip

Unpacking Solution...

Extracting C:\Users\...snip...\allowDelete\PacSolutionUnpackCanvas_1_0_0_1.zip to C:\Users\...snip...\allowDelete\PacSolutionUnpackCanvas

Skipping localization
Processing Component: Entities
 - pgc_PrimeMinister
Processing Component: EntityRelationships
Processing Component: AppModuleSiteMaps
 - pgc_PrimeMinisterApp
Processing Component: AppModules
 - pgc_PrimeMinisterApp
Processing Component: CanvasApps
 - pgc_primeministerappdefaultcommandlibrary_b5677

-- unpacking Canvas app pgc_primeministerappdefaultcommandlibrary_b5677...
Unpack from C:\Users\...snip...\allowDelete\PacSolutionUnpackCanvas\CanvasApps\pgc_primeministerappdefaultcommandlibrary_b5677_DocumentUri.msapp --> C:\Users\...snip...\allowDelete\PacSolutionUnpackCanvas\CanvasApps\src\pgc_primeministerappdefaultcommandlibrary_b5677
  source format version: 0.24

Unmanaged Extract complete.


Unpacked Solution.

image

Second Unpack

❯ pac solution unpack --folder PacSolutionUnpackCanvas --allowDelete --processCanvasApps --zipfile .\PacSolutionUnpackCanvas_1_0_0_1.zip

Unpacking Solution...

Extracting C:\Users\...snip...\allowDelete\PacSolutionUnpackCanvas_1_0_0_1.zip to C:\Users\...snip...\allowDelete\PacSolutionUnpackCanvas

Skipping localization
Processing Component: Entities
 - pgc_PrimeMinister
Processing Component: EntityRelationships
Processing Component: AppModuleSiteMaps
 - pgc_PrimeMinisterApp
Processing Component: AppModules
 - pgc_PrimeMinisterApp
Processing Component: CanvasApps
 - pgc_primeministerappdefaultcommandlibrary_b5677

-- unpacking Canvas app pgc_primeministerappdefaultcommandlibrary_b5677...
Unpack from C:\Users\...snip...\allowDelete\PacSolutionUnpackCanvas\CanvasApps\pgc_primeministerappdefaultcommandlibrary_b5677_DocumentUri.msapp --> C:\Users\...snip...\allowDelete\PacSolutionUnpackCanvas\CanvasApps\src\pgc_primeministerappdefaultcommandlibrary_b5677
  source format version: 0.24

Unmanaged Extract complete.


There are 18 unnecessary files
Deleting files...

Unpacked Solution.

Notice 18 unnecessary files reported and deleted! Checking the file system we can see the canvas apps source files have been deleted. 😱

image

Here's the solution zip used for testing. It contains a table 'Prime Minister', a 'Prime Minister App', a component library adding a 'Replace Incumbent' button to the main form on the 'Prime Minister' table.

PacSolutionUnpackCanvas_1_0_0_1.zip

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions