public void OverwriteAndDelete(string originalFile, string temporaryReplacement) { var backup = originalFile + ".backup" + Guid.NewGuid(); if (!File.Exists(originalFile)) { File.Copy(temporaryReplacement, originalFile, true); } else { CrossPlatform.Replace(temporaryReplacement, originalFile, backup); } File.Delete(temporaryReplacement); if (File.Exists(backup)) { File.Delete(backup); } }