Michael Baessler wrote: > Hi, > > when installing a PEAR file, currently the InstallationController API > overrides all available data in the target installation directory. The > directory content isn't removed before. > So it can happen that old class files or descriptor files that are > never valid are still in the installation directory since they will > not be removed when the new stuff is installed. Existing files with > the same name will be overridden. > > So my plan was to clean the target installation directory before the > new PEAR file is installed to it. If the target install directory > should be cleaned can be specified with an additional parameter when > using the PEAR installer API. > > An known issue with that approach is, that after installing a PEAR > file to a directory, the same PEAR file cannot be installed again to > the same directory with the same JVM since the JVM has locked the jars > so they cannot be deleted when the directory for the next installation > should be cleaned. To do that, the JVM must be restarted, or another > installation directory must be used. The JVM locks the jar files when > the installation verification is executed. > > What do others think about this approach? >
Seems fine. Just to clarify - the PEAR file is always installed into a directory whose name is the PEAR's ID, and it's that directory which you will remove? So there's not a risk of the user accidentally deleting other files? -Adam
