/// <summary> /// Removes files to the install location. /// </summary> /// <param name="folder">The details of the files to remove.</param> private void RemoveFiles(FileLocation folder) { // Make sure the target folder exists FireMessage(TraceLevel.Verbose, "Removing files from target '{0}'", folder.Location); string target = ProgramDataFolder.MapPath(folder.Location); if (Directory.Exists(target)) { foreach (string file in folder.Files) { // Make sure the file exists string targetFile = Path.Combine(target, file); if (File.Exists(targetFile)) { // Set to overwrite in case there is an older version of the file FireMessage(TraceLevel.Info, "Removing file '{0}' from target '{1}'", file, folder.Location); File.Delete(targetFile); } } } }
/// <summary> /// Copies files to the install location. /// </summary> /// <param name="folder">The details of the files to copy.</param> private void CopyFiles(FileLocation folder) { // Make sure the target folder exists FireMessage(TraceLevel.Verbose, "Copying files to target '{0}'", folder.Location); string target = ProgramDataFolder.MapPath(folder.Location); if (!Directory.Exists(target)) { FireMessage(TraceLevel.Info, "Adding target folder '{0}'", folder.Location); Directory.CreateDirectory(target); } foreach (string file in folder.Files) { // Make sure the source file exists string source = Path.Combine(tempFolder, file); if (File.Exists(source)) { // Set to overwrite in case there is an older version of the file FireMessage(TraceLevel.Info, "Deploying file '{0}' to target '{1}'", file, folder.Location); File.Copy(source, Path.Combine(target, file), true); } else { FireMessage(TraceLevel.Warning, "Source file '{0}' does not exist in package", file); } } }