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);
            }
        }