2
0

CoreHelper.cs 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  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. };
  49. readonly static string[] scriptFiles =
  50. {
  51. Properties.Resources.DisableOfficeTelemetryTasks,
  52. Properties.Resources.DisableOfficeTelemetry,
  53. Properties.Resources.EnableOfficeTelemetryTasks,
  54. Properties.Resources.EnableOfficeTelemetry,
  55. Properties.Resources.DisableTelemetryTasks,
  56. Properties.Resources.EnableTelemetryTasks,
  57. Properties.Resources.DisableXboxTasks,
  58. Properties.Resources.EnableXboxTasks,
  59. Encoding.UTF8.GetString(Properties.Resources.OneDrive_Uninstaller),
  60. Properties.Resources.GPEditEnablerInHome,
  61. Properties.Resources.AddOpenWithCMD,
  62. Properties.Resources.RestoreClassicPhotoViewer,
  63. Properties.Resources.DisableClassicPhotoViewer
  64. };
  65. internal static void Deploy()
  66. {
  67. if (!Directory.Exists(CoreFolder))
  68. {
  69. Directory.CreateDirectory(CoreFolder);
  70. }
  71. if (!Directory.Exists(ReadyMadeMenusFolder))
  72. {
  73. Directory.CreateDirectory(ReadyMadeMenusFolder);
  74. }
  75. if (!Directory.Exists(ScriptsFolder))
  76. {
  77. Directory.CreateDirectory(ScriptsFolder);
  78. }
  79. if (!Directory.Exists(ExtractedIconsFolder))
  80. {
  81. Directory.CreateDirectory(ExtractedIconsFolder);
  82. }
  83. if (!Directory.Exists(FavIconsFolder))
  84. {
  85. Directory.CreateDirectory(FavIconsFolder);
  86. }
  87. if (!Directory.Exists(StartupItemsBackupFolder))
  88. {
  89. Directory.CreateDirectory(StartupItemsBackupFolder);
  90. }
  91. for (int i = 0; i < readyMadeMenusItems.Length; i++)
  92. {
  93. if (!File.Exists(readyMadeMenusItems[i])) File.WriteAllText(readyMadeMenusItems[i], readyMadeMenusFiles[i]);
  94. }
  95. for (int i = 0; i < scriptItems.Length; i++)
  96. {
  97. if (!File.Exists(scriptItems[i]))
  98. {
  99. if (scriptItems[i].Contains("OneDrive"))
  100. {
  101. File.WriteAllBytes(scriptItems[i], Encoding.UTF8.GetBytes(scriptFiles[i]));
  102. }
  103. else
  104. {
  105. File.WriteAllText(scriptItems[i], scriptFiles[i]);
  106. }
  107. }
  108. }
  109. }
  110. }
  111. }