示例#1
0
        public void Enable(StartupEntry startupEntry)
        {
            if (!startupEntry.DisabledStore)
            {
                return;
            }

            // Reconstruct the startup entry
            if (!startupEntry.IsRegKey)
            {
                // Move the backup file back to its original location
                var oldPath = GetDisabledEntryPath(startupEntry);

                if (File.Exists(oldPath))
                {
                    File.Delete(startupEntry.FullLongName);
                    File.Move(oldPath, startupEntry.FullLongName);
                }
                else
                {
                    throw new InvalidOperationException(Localisation.StartupManager_FailedEnable_FileNotFound
                                                        + "\n\n" + oldPath);
                }
            }
            else
            {
                // Recreate the registry key
                StartupEntryManager.CreateRegValue(startupEntry);
            }

            Delete(startupEntry);

            startupEntry.BackupPath = string.Empty;
            // Entry is no longer disabled
            startupEntry.DisabledStore = false;
        }
 public override void CreateBackup(string backupPath)
 {
     StartupEntryManager.CreateBackup(this, backupPath);
 }
 /// <summary>
 ///     Delete this startup entry from the system
 /// </summary>
 public override void Delete()
 {
     StartupEntryManager.Delete(this);
 }