CoreHelper.cs 5.0 KB

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