Required.cs 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. using System.IO;
  2. using System.Text;
  3. namespace Optimizer
  4. {
  5. internal static class Required
  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. };
  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. };
  61. internal static void Deploy()
  62. {
  63. if (!Directory.Exists(CoreFolder))
  64. {
  65. Directory.CreateDirectory(CoreFolder);
  66. }
  67. if (!Directory.Exists(ReadyMadeMenusFolder))
  68. {
  69. Directory.CreateDirectory(ReadyMadeMenusFolder);
  70. }
  71. if (!Directory.Exists(ScriptsFolder))
  72. {
  73. Directory.CreateDirectory(ScriptsFolder);
  74. }
  75. if (!Directory.Exists(ExtractedIconsFolder))
  76. {
  77. Directory.CreateDirectory(ExtractedIconsFolder);
  78. }
  79. if (!Directory.Exists(FavIconsFolder))
  80. {
  81. Directory.CreateDirectory(FavIconsFolder);
  82. }
  83. if (!Directory.Exists(StartupItemsBackupFolder))
  84. {
  85. Directory.CreateDirectory(StartupItemsBackupFolder);
  86. }
  87. for (int i = 0; i < readyMadeMenusItems.Length; i++)
  88. {
  89. if (!File.Exists(readyMadeMenusItems[i])) File.WriteAllText(readyMadeMenusItems[i], readyMadeMenusFiles[i]);
  90. }
  91. for (int i = 0; i < scriptItems.Length; i++)
  92. {
  93. if (!File.Exists(scriptItems[i]))
  94. {
  95. if (scriptItems[i].Contains("OneDrive"))
  96. {
  97. File.WriteAllBytes(scriptItems[i], Encoding.UTF8.GetBytes(scriptFiles[i]));
  98. }
  99. else
  100. {
  101. File.WriteAllText(scriptItems[i], scriptFiles[i]);
  102. }
  103. }
  104. }
  105. }
  106. }
  107. }