Skip to content

Reparent all selected assemblies before uninstalling them one by one #9

Description

@himselfv

Original report by me.

Currently uninstall is performed one by one, and each assembly is converted into deployment just before the uninstall.

It has been noted that uninstall sometimes produces errors because the assembly has already been uninstalled. This probably happens because the assembly is parented to another one higher in the uninstall order, and uninstalled with the parent.

This would certainly happen if it's parent was already a deployment. This might perhaps happen when its parent was not a deployment, but was converted to one (perhaps its dependencies then would be deleted with it).

Several mitigations are possible.

We may remove all dependencies from every assembly we turn into deployment. But that might not make sense even for assemblies which weren't deployments, and even less so for those that were: of course we want to uninstall them with their contents.

We may reparent all assemblies from the uninstall list first. Then every assembly will be standalone.

We may do the above as a part of "turn into deployment" (and run all "turns" first). That might make sense: deployments should probably parented to anything. Or it might not.

We may find all packages that are children to any other one in the selection, and remove them from the selection. They will be uninstalled anyway.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingmajor

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions