CoreHelper.cs 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. using System.IO;
  2. using System.Text;
  3. namespace Optimizer {
  4. internal static class CoreHelper {
  5. internal readonly static string CoreFolder = CleanHelper.ProgramData + "\\Optimizer\\";
  6. internal readonly static string ReadyMadeMenusFolder = CleanHelper.ProgramData + "\\Optimizer\\ReadyMadeMenus\\";
  7. internal readonly static string ScriptsFolder = CleanHelper.ProgramData + "\\Optimizer\\Required\\";
  8. internal readonly static string ExtractedIconsFolder = CleanHelper.ProgramData + "\\Optimizer\\ExtractedIcons\\";
  9. internal readonly static string FavIconsFolder = CleanHelper.ProgramData + "\\Optimizer\\FavIcons\\";
  10. internal readonly static string StartupItemsBackupFolder = CleanHelper.ProgramData + "\\Optimizer\\StartupBackup\\";
  11. readonly static string[] readyMadeMenusItems =
  12. {
  13. ReadyMadeMenusFolder + "DesktopShortcuts.reg",
  14. ReadyMadeMenusFolder + "SystemShortcuts.reg",
  15. ReadyMadeMenusFolder + "PowerMenu.reg",
  16. ReadyMadeMenusFolder + "SystemTools.reg",
  17. ReadyMadeMenusFolder + "WindowsApps.reg",
  18. ReadyMadeMenusFolder + "InstallTakeOwnership.reg",
  19. ReadyMadeMenusFolder + "RemoveTakeOwnership.reg"
  20. };
  21. readonly static string[] readyMadeMenusFiles =
  22. {
  23. Properties.Resources.DesktopShortcuts,
  24. Properties.Resources.SystemShortcuts,
  25. Properties.Resources.PowerMenu,
  26. Properties.Resources.SystemTools,
  27. Properties.Resources.WindowsApps,
  28. Properties.Resources.InstallTakeOwnership,
  29. Properties.Resources.RemoveTakeOwnership,
  30. };
  31. readonly static string[] scriptItems =
  32. {
  33. ScriptsFolder + "DisableOfficeTelemetryTasks.bat",
  34. ScriptsFolder + "DisableOfficeTelemetryTasks.reg",
  35. ScriptsFolder + "EnableOfficeTelemetryTasks.bat",
  36. ScriptsFolder + "EnableOfficeTelemetryTasks.reg",
  37. ScriptsFolder + "DisableTelemetryTasks.bat",
  38. ScriptsFolder + "EnableTelemetryTasks.bat",
  39. ScriptsFolder + "DisableXboxTasks.bat",
  40. ScriptsFolder + "EnableXboxTasks.bat",
  41. ScriptsFolder + "OneDrive_Uninstaller.cmd",
  42. ScriptsFolder + "GPEditEnablerInHome.bat",
  43. ScriptsFolder + "AddOpenWithCMD.reg",
  44. ScriptsFolder + "RestoreClassicPhotoViewer.reg",
  45. ScriptsFolder + "DisableClassicPhotoViewer.reg"
  46. };
  47. readonly static string[] scriptFiles =
  48. {
  49. Properties.Resources.DisableOfficeTelemetryTasks,
  50. Properties.Resources.DisableOfficeTelemetry,
  51. Properties.Resources.EnableOfficeTelemetryTasks,
  52. Properties.Resources.EnableOfficeTelemetry,
  53. Properties.Resources.DisableTelemetryTasks,
  54. Properties.Resources.EnableTelemetryTasks,
  55. Properties.Resources.DisableXboxTasks,
  56. Properties.Resources.EnableXboxTasks,
  57. Encoding.UTF8.GetString(Properties.Resources.OneDrive_Uninstaller),
  58. Properties.Resources.GPEditEnablerInHome,
  59. Properties.Resources.AddOpenWithCMD,
  60. Properties.Resources.RestoreClassicPhotoViewer,
  61. Properties.Resources.DisableClassicPhotoViewer
  62. };
  63. internal static void Deploy() {
  64. if (!Directory.Exists(CoreFolder)) {
  65. Directory.CreateDirectory(CoreFolder);
  66. }
  67. if (!Directory.Exists(ReadyMadeMenusFolder)) {
  68. Directory.CreateDirectory(ReadyMadeMenusFolder);
  69. }
  70. if (!Directory.Exists(ScriptsFolder)) {
  71. Directory.CreateDirectory(ScriptsFolder);
  72. }
  73. if (!Directory.Exists(ExtractedIconsFolder)) {
  74. Directory.CreateDirectory(ExtractedIconsFolder);
  75. }
  76. if (!Directory.Exists(FavIconsFolder)) {
  77. Directory.CreateDirectory(FavIconsFolder);
  78. }
  79. if (!Directory.Exists(StartupItemsBackupFolder)) {
  80. Directory.CreateDirectory(StartupItemsBackupFolder);
  81. }
  82. for (int i = 0; i < readyMadeMenusItems.Length; i++) {
  83. if (!File.Exists(readyMadeMenusItems[i])) File.WriteAllText(readyMadeMenusItems[i], readyMadeMenusFiles[i]);
  84. }
  85. for (int i = 0; i < scriptItems.Length; i++) {
  86. if (!File.Exists(scriptItems[i])) {
  87. if (scriptItems[i].Contains("OneDrive")) {
  88. File.WriteAllBytes(scriptItems[i], Encoding.UTF8.GetBytes(scriptFiles[i]));
  89. }
  90. else {
  91. File.WriteAllText(scriptItems[i], scriptFiles[i]);
  92. }
  93. }
  94. }
  95. }
  96. }
  97. }