Packages often do not behave correctly if they are run repeatedly. Many unattended installations scripts fail if the application is not deinstalled first.

A package may be triggered to re-run because of misconfiguration on the part of the operator or because of unintended user actions - You need to avoid this. If the package includes the parameter NotAgain=1 PackageShell will take care it is not re-run.

More precisely, the re-run will only be prevented if both following conditions are true:

  1. if the last run was successful (Status OK)
  2. if the current package version/build is not higher than the previous run