Skip to main content

Delete or uninstall a solution

Goal​

Remove a solution you no longer need, and know in advance what happens to the tables, apps and other components inside it.

Which one applies​

Parsware has two ways to remove a solution, and only one of them applies to any given solution. The Solutions list shows whichever fits the one you select.

The solution is…The action is…What happens to its components
Unmanaged (you built it here)DeleteThey stay in this environment and move to the default solution. Nothing is destroyed.
Managed (imported as a package)UninstallThey are reverted or removed — a table only this solution brought is dropped, with its data.

This is not a naming detail. Deleting is how you tidy away a container you no longer want to group things by; uninstalling is how you take an installed product back out.

Delete an unmanaged solution​

  1. Open Solutions and choose the environment.
  2. Select the solution's row.
  3. Select Delete and confirm.

The solution disappears from the list. Every table, app, option set and other component that was in it is still in the environment, and now appears in the default solution (Main) — the same place components go when you create one without choosing a solution. Nothing is deleted, and no data is lost.

To remove a component itself, delete the component where it lives — for example, delete a table from the Tables list.

Uninstall a managed solution​

  1. Open Solutions and choose the environment.
  2. Select the managed solution's row.
  3. Select Uninstall and confirm.

Each component the solution brought is recalculated:

  • a component that another installed solution also provides reverts to that solution's version and stays;
  • a component only this solution provided leaves the environment, and if it is a table, its table and the records in it are dropped.

Components you authored in this environment are untouched — including a table you created after installing the solution. They were never the solution's.

A table the solution extended​

A solution can add columns to a table the environment already had, such as Account. When it was first imported, Parsware kept a copy of the table as it was, and the solution's columns were laid on top. Uninstalling removes only what the solution added: its columns, and the values in them. The table, its records and its other columns stay.

Columns you added to that table yourself, after the solution was installed, stay too, with their values. The same is true when a newer version of the solution is imported.

A change you made to one of the solution's own columns, such as a new display name, is not kept: an upgrade puts the solution's version back, and an uninstall removes the column.

When another solution still uses it​

Another solution installed here may be built on this one: one of its tables may have a column that looks up a table this solution brought, or a column may take its values from one of its option sets. A column you added yourself counts too. Uninstalling would remove what those columns point at, so it stops before anything is removed, and names each column as table.column → what it uses.

Uninstall the solution that column belongs to first, or remove the column, then uninstall this one. To see what uses a table before you start, select it on the solution's overview and choose Dependencies: it's listed under Needed by.

A solution that only adds columns to one of this solution's tables, rather than looking it up, doesn't stop the uninstall: the table stays, with that solution's columns.

Processes that are still running​

A run of one of the solution's processes that has not finished is stopped before the process leaves: its open tasks are taken out of everybody's list, and its history ends with Its solution was uninstalled. A run whose process has gone could never move again, so it is not left waiting. If a run's outcome matters, finish it before you uninstall.

If people still hold the solution's roles​

A solution can bring security roles with it, and uninstalling takes them away. If anyone is still assigned one, the uninstall stops and names the roles rather than quietly removing somebody's access.

You then have two choices:

  • Cancel, go to Users, and move those people to a different role first. This is the right answer when they still need the access under another name.
  • Remove and uninstall — the button on the second confirmation. It takes those roles away from everyone holding them and then removes the solution. Their access changes immediately, and putting it back means assigning roles again by hand.

Only roles the solution created are removed. A role of your own that the solution merely granted something to stays; it just loses the permissions that came from the solution, and keeps anything you granted it yourself.

Troubleshooting​

  • The Delete action is not offered; I see Uninstall instead. — the selected solution is managed. Managed solutions are installed, not authored, so they are uninstalled. Deleting the record alone would leave its tables behind with no way to remove or revert them.
  • "… is a managed solution and cannot be deleted." — as above; use Uninstall.
  • "… is this environment's default solution and cannot be deleted." — the default solution (Main) is where everything authored without choosing a solution lives, so it cannot be removed. Delete the components you no longer want instead.
  • I uninstalled a solution and a table I expected to go is still there. — that table is not the solution's: either you created it in this environment, or another installed solution also provides it and it reverted to that one. Check the table's solution in the Tables list.
  • "… is still assigned to N user(s)." — the solution brought security roles and people still hold them. Reassign those people first, or choose Remove and uninstall to take the roles away and continue.
  • "This solution cannot be uninstalled while other components still use what it would remove: …" — another solution, or a column you added, still uses one of this solution's tables or option sets. Uninstall the solution each named column belongs to, or remove the column, first. See When another solution still uses it above.
  • Create a solution.
  • Export a solution.
  • Add a component to a solution.