Required.cs 4.6 KB

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