diff --git a/CpuCheckNative/CpuCheckNative.rc b/CpuCheckNative/CpuCheckNative.rc
new file mode 100644
index 0000000..26a96d3
Binary files /dev/null and b/CpuCheckNative/CpuCheckNative.rc differ
diff --git a/CpuCheckNative/CpuCheckNative.vcxproj b/CpuCheckNative/CpuCheckNative.vcxproj
index d8f92aa..084afba 100644
--- a/CpuCheckNative/CpuCheckNative.vcxproj
+++ b/CpuCheckNative/CpuCheckNative.vcxproj
@@ -115,6 +115,7 @@
trueUsepch.h
+ MultiThreadedWindows
@@ -144,6 +145,7 @@
+
@@ -155,6 +157,9 @@
+
+
+
diff --git a/CpuCheckNative/CpuCheckNative.vcxproj.filters b/CpuCheckNative/CpuCheckNative.vcxproj.filters
index 7b15837..490428d 100644
--- a/CpuCheckNative/CpuCheckNative.vcxproj.filters
+++ b/CpuCheckNative/CpuCheckNative.vcxproj.filters
@@ -21,6 +21,9 @@
Headerdateien
+
+ Headerdateien
+
@@ -33,4 +36,9 @@
Quelldateien
+
+
+ Ressourcendateien
+
+
\ No newline at end of file
diff --git a/CpuCheckNative/resource.h b/CpuCheckNative/resource.h
new file mode 100644
index 0000000..82bb709
--- /dev/null
+++ b/CpuCheckNative/resource.h
@@ -0,0 +1,14 @@
+//{{NO_DEPENDENCIES}}
+// Microsoft Visual C++ generated include file.
+// Used by CpuCheckNative.rc
+
+// Nächste Standardwerte für neue Objekte
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE 101
+#define _APS_NEXT_COMMAND_VALUE 40001
+#define _APS_NEXT_CONTROL_VALUE 1001
+#define _APS_NEXT_SYMED_VALUE 101
+#endif
+#endif
diff --git a/Flyby11.sln b/Flyby11.sln
index 8b37889..ce6f000 100644
--- a/Flyby11.sln
+++ b/Flyby11.sln
@@ -3,18 +3,44 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.12.35527.113
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Flyby11", "FlybyScript\Flyby11.csproj", "{503AF34B-7544-4C43-A099-2B948C3FF49A}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Flyby11", "Flyby11\Flyby11.csproj", "{503AF34B-7544-4C43-A099-2B948C3FF49A}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CpuCheckNative", "CpuCheckNative\CpuCheckNative.vcxproj", "{A2038E07-E21F-4B05-B811-3052A2B014BC}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{503AF34B-7544-4C43-A099-2B948C3FF49A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{503AF34B-7544-4C43-A099-2B948C3FF49A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {503AF34B-7544-4C43-A099-2B948C3FF49A}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {503AF34B-7544-4C43-A099-2B948C3FF49A}.Debug|x64.Build.0 = Debug|Any CPU
+ {503AF34B-7544-4C43-A099-2B948C3FF49A}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {503AF34B-7544-4C43-A099-2B948C3FF49A}.Debug|x86.Build.0 = Debug|Any CPU
{503AF34B-7544-4C43-A099-2B948C3FF49A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{503AF34B-7544-4C43-A099-2B948C3FF49A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {503AF34B-7544-4C43-A099-2B948C3FF49A}.Release|x64.ActiveCfg = Release|Any CPU
+ {503AF34B-7544-4C43-A099-2B948C3FF49A}.Release|x64.Build.0 = Release|Any CPU
+ {503AF34B-7544-4C43-A099-2B948C3FF49A}.Release|x86.ActiveCfg = Release|Any CPU
+ {503AF34B-7544-4C43-A099-2B948C3FF49A}.Release|x86.Build.0 = Release|Any CPU
+ {A2038E07-E21F-4B05-B811-3052A2B014BC}.Debug|Any CPU.ActiveCfg = Debug|x64
+ {A2038E07-E21F-4B05-B811-3052A2B014BC}.Debug|Any CPU.Build.0 = Debug|x64
+ {A2038E07-E21F-4B05-B811-3052A2B014BC}.Debug|x64.ActiveCfg = Debug|x64
+ {A2038E07-E21F-4B05-B811-3052A2B014BC}.Debug|x64.Build.0 = Debug|x64
+ {A2038E07-E21F-4B05-B811-3052A2B014BC}.Debug|x86.ActiveCfg = Debug|Win32
+ {A2038E07-E21F-4B05-B811-3052A2B014BC}.Debug|x86.Build.0 = Debug|Win32
+ {A2038E07-E21F-4B05-B811-3052A2B014BC}.Release|Any CPU.ActiveCfg = Release|x64
+ {A2038E07-E21F-4B05-B811-3052A2B014BC}.Release|Any CPU.Build.0 = Release|x64
+ {A2038E07-E21F-4B05-B811-3052A2B014BC}.Release|x64.ActiveCfg = Release|x64
+ {A2038E07-E21F-4B05-B811-3052A2B014BC}.Release|x64.Build.0 = Release|x64
+ {A2038E07-E21F-4B05-B811-3052A2B014BC}.Release|x86.ActiveCfg = Release|Win32
+ {A2038E07-E21F-4B05-B811-3052A2B014BC}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/FlybyScript/CompatibilityForm.Designer.cs b/FlybyScript/CompatibilityForm.Designer.cs
new file mode 100644
index 0000000..3a8b4c5
--- /dev/null
+++ b/FlybyScript/CompatibilityForm.Designer.cs
@@ -0,0 +1,48 @@
+namespace Flyby11
+{
+ partial class CompatibilityForm
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.SuspendLayout();
+ //
+ // CompatibilityForm
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.AutoScroll = true;
+ this.ClientSize = new System.Drawing.Size(530, 304);
+ this.Name = "CompatibilityForm";
+ this.ShowIcon = false;
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/FlybyScript/CompatibilityForm.cs b/FlybyScript/CompatibilityForm.cs
new file mode 100644
index 0000000..47faffd
--- /dev/null
+++ b/FlybyScript/CompatibilityForm.cs
@@ -0,0 +1,138 @@
+using System;
+using System.Drawing;
+using System.Windows.Forms;
+
+namespace Flyby11
+{
+ public partial class CompatibilityForm : Form
+ {
+
+ public CompatibilityForm(bool hasPopcnt, bool hasSse42)
+ {
+ InitializeComponent();
+ InitLayout(hasPopcnt, hasSse42);
+ }
+
+ private void InitLayout(bool hasPopcnt, bool hasSse42)
+ {
+ this.Text = "Flyby11 - Windows 11 Compatibility Check via CpuCheckNative.dll";
+ this.StartPosition = FormStartPosition.CenterScreen;
+ this.Font = new Font("Segoe UI", 10);
+
+ // icon font for check marks
+ var iconFont = new Font("Segoe MDL2 Assets", 18);
+
+ // Label for CPU POPCNT Support
+ var lblPopcnt = new Label { Text = "CPU POPCNT:", Location = new Point(30, 30), AutoSize = true };
+ var iconPopcnt = new Label
+ {
+ Text = hasPopcnt ? "\uE73D" : "\uE10A", // ✔ or ❌
+ Font = iconFont,
+ ForeColor = hasPopcnt ? Color.ForestGreen : Color.Crimson,
+ Location = new Point(280, 30),
+ AutoSize = true
+ };
+
+ // Label for SSE4.2 Support
+ var lblSse42 = new Label { Text = "SSE4.2:", Location = new Point(30, 70), AutoSize = true };
+ var iconSse42 = new Label
+ {
+ Text = hasSse42 ? "\uE73D" : "\uE10A",
+ Font = iconFont,
+ ForeColor = hasSse42 ? Color.ForestGreen : Color.Crimson,
+ Location = new Point(280, 70),
+ AutoSize = true
+ };
+
+ // Label for Upgrade Probability
+ var lblProb = new Label
+ {
+ Text = "Upgrade Probability:",
+ Location = new Point(30, 120),
+ AutoSize = true,
+ Font = new Font("Segoe UI", 10, FontStyle.Bold)
+ };
+
+ var result = new Label
+ {
+ Text = (hasPopcnt && hasSse42) ? "Very High" : "Low",
+ Location = new Point(250, 120),
+ ForeColor = (hasPopcnt && hasSse42) ? Color.ForestGreen : Color.Crimson,
+ AutoSize = true
+ };
+
+ // Adding the info about upgrade status
+ var infoLabel = new Label
+ {
+ Text = "Note: If both POPCNT and SSE4.2 are supported, your upgrade chances are very high.\n" +
+ "Otherwise, you may face issues while upgrading.",
+ Location = new Point(30, 160),
+ AutoSize = true,
+ Font = new Font("Segoe UI", 9, FontStyle.Italic),
+ ForeColor = Color.Gray
+ };
+
+ // additional info
+ var additionalInfoLabel = new Label
+ {
+ Text = "This app successfully helped upgrade over half a million PCs to Windows 11!\n" +
+ "Fewer e-waste, lower costs, and no need for a new setup. " +
+ "Stay updated. Best wishes, Belim. ",
+ Dock = DockStyle.Bottom,
+ AutoSize = true,
+ Font = new Font("Segoe UI", 9, FontStyle.Italic),
+ ForeColor = Color.DimGray
+ };
+
+ // W10 support-end countdown
+ var supportEndDate = new DateTime(2025, 10, 14);
+ var daysLeft = (supportEndDate - DateTime.Today).Days;
+
+ var countdownLabel = new Label
+ {
+ Text = $"⚠️ Windows 10 support ends in {daysLeft} days – on October 14, 2025!",
+ Dock = DockStyle.Bottom,
+ AutoSize = true,
+ Font = new Font("Segoe UI", 9.5f, FontStyle.Bold),
+ ForeColor = Color.Red,
+ };
+
+
+ // Button Upgrade
+ var upgradeButton = new Button
+ {
+ Text = "Start Upgrade Now!",
+ Dock = DockStyle.Bottom,
+ AutoSize = true,
+ Size = new Size(180, 40),
+ BackColor = Color.ForestGreen,
+ ForeColor = Color.White,
+ Font = new Font("Segoe UI", 12, FontStyle.Bold),
+ FlatStyle = FlatStyle.Flat
+ };
+ upgradeButton.FlatAppearance.BorderSize = 0;
+ upgradeButton.Click += UpgradeButton_Click;
+
+
+ this.Controls.Add(lblPopcnt);
+ this.Controls.Add(iconPopcnt);
+ this.Controls.Add(lblSse42);
+ this.Controls.Add(iconSse42);
+ this.Controls.Add(lblProb);
+ this.Controls.Add(result);
+ this.Controls.Add(infoLabel);
+
+ this.Controls.Add(upgradeButton);
+ this.Controls.Add(countdownLabel);
+ // this.Controls.Add(additionalInfoLabel);
+ }
+
+
+ private void UpgradeButton_Click(object sender, EventArgs e)
+ {
+ //MessageBox.Show("You are good to go! Proceeding with the upgrade...", "Upgrade Started", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ this.Close();
+
+ }
+ }
+}
diff --git a/FlybyScript/CompatibilityForm.resx b/FlybyScript/CompatibilityForm.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/FlybyScript/CompatibilityForm.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/FlybyScript/FAQHandler.cs b/FlybyScript/FAQHandler.cs
index 89a1921..295bd09 100644
--- a/FlybyScript/FAQHandler.cs
+++ b/FlybyScript/FAQHandler.cs
@@ -68,8 +68,8 @@ namespace Flyby11
var last = _faqContentPanel.Controls[_faqContentPanel.Controls.Count - 1];
_faqContentPanel.ScrollControlIntoView(last);
// Add some space below the last element
- var m =last.Margin;
- last.Margin = new Padding(m.Left, m.Top, m.Right, 20);
+ var m = last.Margin;
+ last.Margin = new Padding(m.Left, m.Top, m.Right, 20);
}
else
{
@@ -237,10 +237,54 @@ namespace Flyby11
}
// -- Individual FAQ entries --
-
+ // Donation
private void AddFaq2(FlowLayoutPanel panel)
{
- AddFAQItem(panel, Locales.Strings.faq_q2, Locales.Strings.faq_a2, Locales.Strings.faq_a2Link, "https://www.paypal.com/donate?hosted_button_id=MY7HX4QLYR4KG");
+ var donateContainer = new FlowLayoutPanel
+ {
+ FlowDirection = FlowDirection.TopDown,
+ AutoSize = true,
+ AutoSizeMode = AutoSizeMode.GrowAndShrink,
+ BackColor = Color.FromArgb(255, 182, 193),
+ Padding = new Padding(10),
+ Margin = new Padding(0, 10, 0, 10),
+ WrapContents = false
+ };
+
+ var qLabel = new Label
+ {
+ Text = Locales.Strings.faq_q2,
+ Font = new Font("Comic Sans MS", 11.5f, FontStyle.Bold),
+ AutoSize = true,
+ Padding = new Padding(0, 0, 0, 5),
+ UseCompatibleTextRendering = true
+ };
+
+ var aLabel = new Label
+ {
+ Text = Locales.Strings.faq_a2,
+ Font = new Font("Segoe UI Variable Display", 11),
+ AutoSize = true,
+ Padding = new Padding(0, 0, 0, 5),
+ UseCompatibleTextRendering = true
+ };
+
+ var donateLink = new LinkLabel
+ {
+ Text = Locales.Strings.faq_a2Link,
+ Font = new Font("Comic Sans MS", 10.5f, FontStyle.Underline),
+ LinkColor = Color.MediumBlue,
+ AutoSize = true,
+ UseCompatibleTextRendering = true
+ };
+ donateLink.LinkClicked += (sender, e) => Process.Start("https://www.paypal.com/donate?hosted_button_id=MY7HX4QLYR4KG");
+
+ donateContainer.Controls.Add(qLabel);
+ donateContainer.Controls.Add(aLabel);
+ donateContainer.Controls.Add(donateLink);
+
+ // Add to parent panel
+ panel.Controls.Add(donateContainer);
}
private void AddFaq3(FlowLayoutPanel panel)
diff --git a/FlybyScript/Flyby11.csproj b/FlybyScript/Flyby11.csproj
index 554d6cc..7fbceb8 100644
--- a/FlybyScript/Flyby11.csproj
+++ b/FlybyScript/Flyby11.csproj
@@ -64,6 +64,12 @@
ClippyUI.cs
+
+ Form
+
+
+ CompatibilityForm.cs
+
@@ -92,6 +98,9 @@
ClippyUI.cs
+
+ CompatibilityForm.cs
+
diff --git a/FlybyScript/Locales/Strings.Designer.cs b/FlybyScript/Locales/Strings.Designer.cs
index bf10e75..5774e1f 100644
--- a/FlybyScript/Locales/Strings.Designer.cs
+++ b/FlybyScript/Locales/Strings.Designer.cs
@@ -518,5 +518,14 @@ namespace Flyby11.Locales {
return ResourceManager.GetString("msg_InstallReady", resourceCulture);
}
}
+
+ ///
+ /// Sucht eine lokalisierte Zeichenfolge, die Thank you for using my app!\n\nI developed this application in my free time to help you upgrade from Windows 10 to Windows 11 – even on PCs that, according to Microsoft's hardware requirements, would normally not be supported.\n\nMy app helps you avoid purchasing a new computer and actively contributes to reducing unnecessary electronic waste.\n\nNormally, I do not charge anything for my projects – neither for development nor for support.\nHowever, since this app is significantly more comprehensive, offers [Rest der Zeichenfolge wurde abgeschnitten]"; ähnelt.
+ ///
+ public static string msgClosing {
+ get {
+ return ResourceManager.GetString("msgClosing", resourceCulture);
+ }
+ }
}
}
diff --git a/FlybyScript/Locales/Strings.ar.resx b/FlybyScript/Locales/Strings.ar.resx
index aeb5a74..732427c 100644
--- a/FlybyScript/Locales/Strings.ar.resx
+++ b/FlybyScript/Locales/Strings.ar.resx
@@ -117,166 +117,169 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
+
تم إلغاء التصحيح بواسطة المستخدم.
-
-
+
+
حاول المستخدم اختيار محرك أقراص غير قابل للإزالة.
-
-
+
+
لم يتم اختيار أي محرك أقراص USB للتصحيح.
-
-
+
+
فشل في تطبيق التصحيح:
-
-
+
+
المسار المحدد ليس محرك أقراص قابل للإزالة. يرجى اختيار محرك أقراص USB.
-
-
+
+
اختر محرك أقراص USB الذي يحتوي على ملفات تثبيت Windows 11 الخاصة بك.\nتضيف هذه الميزة تصحيح توافق لتجاوز متطلبات النظام معينة.\nمتوافق مع الأقراص المعدة بواسطة أي أداة، بما في ذلك Rufus. تأكد من أن المحرك جاهز!
-
-
+
+
سيتم تطبيق إعدادات تجاوز التوافق على محرك أقراص USB المحدد. هل تريد المتابعة؟
-
-
+
+
تم تطبيق التصحيح بنجاح!
-
-
+
+
مساعد ترقية Flyby11
-
-
+
+
تطبيق تصحيح التوافق على ISO (تثبيت نظيف)
-
-
+
+
هل يمكنني الترقية إلى Windows 11؟
-
-
+
+
هل نجحت الترقية؟
-
-
+
+
اسحب وأفلت ملف ISO الخاص بـ Windows 11 لتصحيحه وتثبيته على الأجهزة غير المدعومة (ترقية مكانية).
-
-
+
+
ج: يمكنك تنزيل أحدث ISO من الموقع الرسمي لشركة Microsoft أو استخدام Fido Downloader.
-
-
+
+
ج: إذا قمت بتثبيت Windows 11 بنجاح ووفرت بعض المال، فلا تتردد في ترك شيء صغير كعلامة شكر هنا.
-
-
+
+
انقر هنا للتبرع وإظهار دعمك.
-
-
+
+
ج: بمجرد تحميل ISO، يتم تشغيل عملية الإعداد في الخلفية. يبدأ مثبت Windows، موجهًا إياك خلال الخطوات المطلوبة لتثبيت Windows 11 على جهازك.
-
-
+
+
ج: يرجى التحقق من رسائل الخطأ والإبلاغ عنها على GitHub.
-
-
+
+
ج: نعم، تركت Microsoft بابًا خلفيًا مفتوحًا. تستفيد هذه الطريقة من ميزة في عملية إعداد Windows 11 تستخدم إصدار Windows Server من التثبيت. على عكس إعداد Windows 11 العادي، تتخطى هذه النسخة معظم فحوصات توافق الأجهزة.
-
-
+
+
ج: وفقًا لشركة Microsoft، يجب عليك التخلص من جهاز الكمبيوتر الخاص بك. أوصي بتثبيت Linux عليه والابتعاد عن Windows.
-
-
+
+
ج: المطور هو Belim، المعروف أيضًا باسم Builtbybel، الذي ساهم بالكثير من الشيفرة في مجتمع Windows.
-
-
+
+
انقر هنا لمعرفة المزيد عن عمل المطور.
-
-
+
+
تنزيل عبر Fido (موصى به)
-
-
+
+
موقع Microsoft
-
-
+
+
الأسئلة الشائعة (FAQ)
-
-
+
+
س: أين يمكنني الحصول على أحدث Windows 11 ISO؟
-
-
+
+
س: كيف يمكنني دعم المطور؟
-
-
+
+
س: كيف تعمل عملية الإعداد بمجرد تحميل ISO؟
-
-
+
+
س: ماذا لو واجهت مشاكل أثناء التثبيت؟
-
-
+
+
س: هل من القانوني استخدام هذه الطريقة؟
-
-
+
+
س: ما هي البدائل إذا لم يكن جهازي مدعومًا؟
-
-
+
+
س: من هو المطور؟
-
-
+
+
1. الجهاز يعمل بإصدار مدعوم حاليًا من Windows 10. إذا لم يكن الجهاز يعمل بإصدار مدعوم حاليًا من Windows 10، قم بالترقية إلى إصدار مدعوم من Windows 10.
-
-
+
+
2. الجهاز يلبي
-
-
+
+
1. قم بتنزيل وتشغيل
-
-
+
+
2. اختر اختصار تحديث Windows التالي ثم اختر زر التحقق من التحديثات:
-
-
+
+
3. جهازك لا يلبي المتطلبات الرسمية لـ Windows 11؟ يمكنك تطبيق تصحيح التوافق لتمكين الترقية المكانية عبر تحديث Windows.
-
-
+
+
يمكن ترقية جهاز Windows 10 الحالي إلى Windows 11 إذا كان يلبي المعايير التالية:
-
-
+
+
للتحقق مما إذا كان جهاز Windows 10 مؤهلاً للترقية إلى Windows 11، اتبع إحدى هذه الخيارات:
-
-
+
+
المواصفات الدنيا للأجهزة لتشغيل Windows 11.
-
-
+
+
تطبيق WhyNotWin11 لتأكيد أن جهازك يلبي الحد الأدنى من متطلبات النظام
-
-
+
+
يمكن الآن متابعة تثبيت Windows 11. يرجى اتباع التعليمات في نافذة الإعداد.تثبيت
-
-
+
+
أنت جاهز لتثبيت Windows 11 على الأجهزة غير المدعومة! تجاهل رسالة 'Windows Server'؛ أنت جاهز!تثبيت
-
-
+
+
بدء عملية الإعداد بامتيازات مرتفعة...تثبيت
-
-
+
+
عذرًا! حدث خطأ ما:تحميل
-
-
+
+
يتم تحميل ISO... انتظر قليلاً!تحميل
-
-
+
+
فشل تحميل ISO. يرجى المحاولة مرة أخرى.تحميل
-
-
+
+
تم تحميل ISO بنجاح! دعنا نجعل هذا Windows 11 جاهزًا!تحميل
-
-
+
+
قريبًا! نحن نستعد للإعداد...تثبيت
-
-
+
+
لم يتم العثور على ملف الإعداد فيتحميل
-
-
+
+
اختر من الكمبيوتر
-
+
+
+
+
\ No newline at end of file
diff --git a/FlybyScript/Locales/Strings.cs-CZ.resx b/FlybyScript/Locales/Strings.cs-CZ.resx
index a9cbc58..79815af 100644
--- a/FlybyScript/Locales/Strings.cs-CZ.resx
+++ b/FlybyScript/Locales/Strings.cs-CZ.resx
@@ -279,4 +279,7 @@
Vyberte z počítače.
+
+
+
\ No newline at end of file
diff --git a/FlybyScript/Locales/Strings.de.resx b/FlybyScript/Locales/Strings.de.resx
index f6eefe0..e6a8d2c 100644
--- a/FlybyScript/Locales/Strings.de.resx
+++ b/FlybyScript/Locales/Strings.de.resx
@@ -160,7 +160,7 @@
A: Du kannst die neueste ISO von der offiziellen Microsoft-Website herunterladen oder den Fido Downloader verwenden.
- A: Wenn du Windows 11 erfolgreich installiert hast und dabei etwas Geld gespart hast, kannst du hier gerne ein kleines Dankeschön hinterlassen.
+ A: Wenn du Windows 11 erfolgreich installiert hast und dabei etwas Geld gespart hast, kannst du hier gerne ein kleines Dankeschön hinterlassen. Deine Unterstützung hält das Projekt am Leben – und hilft auch anderen. Klicke hier, um zu spenden und deine Unterstützung zu zeigen.
@@ -270,4 +270,8 @@
Vom Computer auswählen
+
+ Vielen Dank, dass du meine App nutzt!\n\nIch habe diese Anwendung in meiner Freizeit entwickelt, um dir den Umstieg von Windows 10 auf Windows 11 zu erleichtern – auch auf PCs, die laut Microsofts Hardwarevorgaben eigentlich nicht unterstützt werden.\n\nMeine App hilft dir, den Kauf eines neuen Rechners zu vermeiden und trägt aktiv dazu bei, unnötigen Elektroschrott zu verhindern.\n\nNormalerweise verlange ich für meine Projekte keinerlei Geld – weder für die Entwicklung noch für den Support.\nDa diese App jedoch deutlich umfangreicher ist, mehr Funktionen bietet und auch mehr Supportaufwand verursacht, würde ich mich freuen, wenn du – sofern es dir möglich ist – eine kleine freiwillige Spende in Erwägung ziehst.\n\nNatürlich nur, wenn du möchtest und es dir leisten kannst.\n\nMöchtest du jetzt auf PayPal spenden?
+
+
\ No newline at end of file
diff --git a/FlybyScript/Locales/Strings.fr.resx b/FlybyScript/Locales/Strings.fr.resx
index c4af57b..56b80be 100644
--- a/FlybyScript/Locales/Strings.fr.resx
+++ b/FlybyScript/Locales/Strings.fr.resx
@@ -275,4 +275,7 @@
Fichier d'installation introuvable dansMounting
-
+
+
+
+
\ No newline at end of file
diff --git a/FlybyScript/Locales/Strings.it.resx b/FlybyScript/Locales/Strings.it.resx
index d86101f..2f1c2f1 100644
--- a/FlybyScript/Locales/Strings.it.resx
+++ b/FlybyScript/Locales/Strings.it.resx
@@ -279,4 +279,7 @@
Seleziona dal computer
+
+
+
\ No newline at end of file
diff --git a/FlybyScript/Locales/Strings.ja.resx b/FlybyScript/Locales/Strings.ja.resx
index 55d4726..7f34961 100644
--- a/FlybyScript/Locales/Strings.ja.resx
+++ b/FlybyScript/Locales/Strings.ja.resx
@@ -275,4 +275,7 @@
セットアップファイルが見つかりませんマウント中
+
+
+
\ No newline at end of file
diff --git a/FlybyScript/Locales/Strings.pl.resx b/FlybyScript/Locales/Strings.pl.resx
index 8af1516..af30191 100644
--- a/FlybyScript/Locales/Strings.pl.resx
+++ b/FlybyScript/Locales/Strings.pl.resx
@@ -279,4 +279,7 @@
Wybierz z komputera
+
+
+
\ No newline at end of file
diff --git a/FlybyScript/Locales/Strings.resx b/FlybyScript/Locales/Strings.resx
index f470469..e170832 100644
--- a/FlybyScript/Locales/Strings.resx
+++ b/FlybyScript/Locales/Strings.resx
@@ -279,4 +279,7 @@
Select from computer
+
+ Thank you for using my app!\n\nI developed this application in my free time to help you upgrade from Windows 10 to Windows 11 – even on PCs that, according to Microsoft's hardware requirements, would normally not be supported.\n\nMy app helps you avoid purchasing a new computer and actively contributes to reducing unnecessary electronic waste.\n\nNormally, I do not charge anything for my projects – neither for development nor for support.\nHowever, since this app is significantly more comprehensive, offers more features, and requires more support, I would be grateful if you would consider making a small voluntary donation, if you are able to.\n\nOf course, only if you want to and can afford it.\n\nWould you like to donate on PayPal now?
+
\ No newline at end of file
diff --git a/FlybyScript/Locales/Strings.sv-SE.resx b/FlybyScript/Locales/Strings.sv-SE.resx
index 6f07e00..e3ada26 100644
--- a/FlybyScript/Locales/Strings.sv-SE.resx
+++ b/FlybyScript/Locales/Strings.sv-SE.resx
@@ -279,4 +279,7 @@
Välj från datorn
-
+
+
+
+
\ No newline at end of file
diff --git a/FlybyScript/Locales/Strings.tr.resx b/FlybyScript/Locales/Strings.tr.resx
index 429947a..16dc130 100644
--- a/FlybyScript/Locales/Strings.tr.resx
+++ b/FlybyScript/Locales/Strings.tr.resx
@@ -275,4 +275,7 @@
Kurulum dosyası bulunamadıYükle
+
+
+
\ No newline at end of file
diff --git a/FlybyScript/Locales/Strings.zh-CN.resx b/FlybyScript/Locales/Strings.zh-CN.resx
index 0f6b5ee..35e0a89 100644
--- a/FlybyScript/Locales/Strings.zh-CN.resx
+++ b/FlybyScript/Locales/Strings.zh-CN.resx
@@ -279,4 +279,7 @@
从计算机中选择
+
+
+
\ No newline at end of file
diff --git a/FlybyScript/MainForm.Designer.cs b/FlybyScript/MainForm.Designer.cs
index 8e74130..f65ee1a 100644
--- a/FlybyScript/MainForm.Designer.cs
+++ b/FlybyScript/MainForm.Designer.cs
@@ -148,6 +148,7 @@
this.ShowIcon = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Flyby11 Upgrading Assistant";
+ this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing);
this.panelDragDrop.ResumeLayout(false);
this.panelContainer.ResumeLayout(false);
this.panelMain.ResumeLayout(false);
diff --git a/FlybyScript/MainForm.cs b/FlybyScript/MainForm.cs
index 7a4b3b7..1ad6474 100644
--- a/FlybyScript/MainForm.cs
+++ b/FlybyScript/MainForm.cs
@@ -6,6 +6,7 @@ using System.Drawing;
using System.Globalization;
using System.IO;
using System.Runtime.InteropServices;
+using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
@@ -21,6 +22,7 @@ namespace Flyby11
public FAQHandler _faqHandler { get; private set; }
+ // Import the external function to check for POPCNT and SSE4.2 features
[DllImport("CpuCheckNative.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern bool HasPopcnt();
@@ -28,8 +30,7 @@ namespace Flyby11
{
InitializeComponent();
logger = new Logger(this);
- // Uncomment lower line and add lang code to run localization test
- // Thread.CurrentThread.CurrentUICulture = new CultureInfo("zh-CN");
+
_isoHandler = new IsoHandler(UpdateStatusLabel);
_faqHandler = new FAQHandler(panelFAQ, UpdateStatusLabel);
_faqHandler.InitializeFAQ();
@@ -40,71 +41,40 @@ namespace Flyby11
// Drag and drop the Windows 11 ISO to patch it and install on unsupported hardware (Inplace Upgrade).
UpdateStatusLabel(Locales.Strings.ctl_statusLabel);
- // Perform system compatibility check and show the appropriate message
- bool? isCompatible = CheckSystemCompatibility();
-
- if (isCompatible.HasValue)
+ // Check if the DLL exists before performing the compatibility check
+ if (File.Exists("CpuCheckNative.dll"))
{
- ShowCompatibilityMessage(isCompatible.Value);
+ // Perform system compatibility check if the DLL is found
+ bool hasPopcnt = CheckHasPopcnt(); // Check if the CPU supports POPCNT
+ bool hasSse42 = hasPopcnt; // If POPCNT is supported, SSE4.2 is likely supported as well
+ new CompatibilityForm(hasPopcnt, hasSse42).ShowDialog();
}
else
{
-
MessageBox.Show(
- "A preliminary check of the likelihood for a successful upgrade can be performed if you download the 'CpuCheckNative.dll' from the GitHub repository and place it in the app directory.\n" +
- "Once the DLL is in place, the detailed compatibility check will be enabled, allowing us to evaluate CPU features like SSE4.2 and POPCNT. ",
- "Flyby11 - Clippy has something to say!",
- MessageBoxButtons.OK,
- MessageBoxIcon.Information
- );
-
+ "A preliminary compatibility check can be performed by downloading the 'CpuCheckNative.dll' from GitHub " +
+ "and placing it in the app folder.\nYou'll then get detailed feedback about your system's chances for a successful upgrade.",
+ "Flyby11 - Heads-up from Clippy",
+ MessageBoxButtons.OK,
+ MessageBoxIcon.Warning
+ );
}
}
- private bool? CheckSystemCompatibility()
+ // Checks if POPCNT and SSE4.2 are supported by the CPU using the external DLL function
+ private bool CheckHasPopcnt()
{
try
{
- // Attempt to check for POPCNT support
- return HasPopcnt();
- }
- catch (DllNotFoundException)
- {
- // DLL is missing, return null for compatibility
- // UpdateStatusLabel("Required DLL 'CpuCheckNative.dll' not found. Skipping detailed compatibility check.");
- return null; // Indicating that compatibility could not be checked
+ return HasPopcnt(); // Call the external function to check for POPCNT and SSE4.2
}
catch (Exception ex)
{
- // Log false for compatibility
- UpdateStatusLabel($"An error occurred while checking system compatibility: {ex.Message}");
- return false; // Defaulting to incompatible if another error occurs
+ UpdateStatusLabel($"Error checking system compatibility: {ex.Message}");
+ return false;
}
}
- private void ShowCompatibilityMessage(bool isCompatible)
- {
- if (isCompatible)
- {
- string message = "You should be able to upgrade your system to Windows 11, as long as there are no incompatible device drivers or other issues.\n" +
- "Everything looks good for the upgrade, so you're ready to move forward!";
- ShowMessage("Upgrade Ready", message);
- }
- else
- {
- string message = "Unfortunately, your system doesn't support a key requirement for upgrading to Windows 11.\n" +
- "The missing feature is POPCNT, which is necessary for the upgrade. Please check your system's hardware to ensure it meets the requirements.";
- ShowMessage("Upgrade Blocked", message);
- }
- }
-
-
-
- private void ShowMessage(string title, string message)
- {
- MessageBox.Show(message, title, MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
-
private void InitializeLocalizedStrings()
{
// Set localized strings for the UI elements
@@ -115,7 +85,7 @@ namespace Flyby11
dropdownOptions.Items.Add(Locales.Strings.ctl_inkCompPatch);
dropdownOptions.Items.Add(Locales.Strings.ctl_linkCiuv);
dropdownOptions.Items.Add("(Vote) " + Locales.Strings.ctl_linkVote); // "Did the upgrade work?"
- dropdownOptions.Items.Add("(App) Trim down Windows 11 with TidyOS"); // "TidyOS Repository"
+ dropdownOptions.Items.Add("(App) Customize Windows 11 with Crapfixer"); // "Crapfixer Repository"
dropdownOptions.SelectedIndex = 0;
}
@@ -298,8 +268,8 @@ namespace Flyby11
break;
case 5:
- // OPen TidyOS Repository
- Process.Start("https://github.com/builtbybel/TidyOS/");
+ // Open CFixer Repository
+ Process.Start("https://github.com/builtbybel/Crapfixer/");
break;
}
// Reset selection back to default prompt after action
@@ -372,5 +342,27 @@ namespace Flyby11
CanIUpgradeView canIUpgradeView = new CanIUpgradeView();
SwitchView.SetView(canIUpgradeView, panelContainer);
}
+
+ private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
+ {
+ string raw = Locales.Strings.msgClosing;
+ string message = Regex.Unescape(raw);
+
+ DialogResult result = MessageBox.Show(
+ message,
+ "Support @Belim",
+ MessageBoxButtons.YesNo,
+ MessageBoxIcon.Information
+ );
+
+ if (result == DialogResult.Yes)
+ {
+ System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo
+ {
+ FileName = "https://www.paypal.com/donate?hosted_button_id=MY7HX4QLYR4KG",
+ UseShellExecute = true
+ });
+ }
+ }
}
}
\ No newline at end of file
diff --git a/FlybyScript/Properties/AssemblyInfo.cs b/FlybyScript/Properties/AssemblyInfo.cs
index e1f0b04..9c7f40a 100644
--- a/FlybyScript/Properties/AssemblyInfo.cs
+++ b/FlybyScript/Properties/AssemblyInfo.cs
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Buildnummer
// Revision
//
-[assembly: AssemblyVersion("2.2.350")]
-[assembly: AssemblyFileVersion("2.2.350")]
+[assembly: AssemblyVersion("2.4.405")]
+[assembly: AssemblyFileVersion("2.4.405")]
diff --git a/plugins/ChrisTitusApp.ps1 b/plugins/ChrisTitusApp.ps1
deleted file mode 100644
index cbf43d9..0000000
--- a/plugins/ChrisTitusApp.ps1
+++ /dev/null
@@ -1 +0,0 @@
-irm christitus.com/win | iex
\ No newline at end of file
diff --git a/plugins/Clear Icon Cache.json b/plugins/Clear Icon Cache.json
deleted file mode 100644
index f77a22e..0000000
--- a/plugins/Clear Icon Cache.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "PlugID": "Clear Icon Cache",
- "PlugInfo": "This feature clears the icon cache in Windows to resolve issues with icons displaying incorrectly.",
- "PlugCheck": [],
- "PlugCategory": "Tweaks (Plugins)",
- "PlugDo": [
- "ie4uinit.exe -show",
- "taskkill /IM explorer.exe /F",
- "DEL /A /Q \"%localappdata%\\IconCache.db\"",
- "DEL /A /F /Q \"%localappdata%\\Microsoft\\Windows\\Explorer\\iconcache*\"",
- "Start explorer.exe"
- ],
- "PlugUndo": [
- "powershell -Command \"Write-Output 'There is no undo operation for clearing the icon cache.'\""
- ]
-}
diff --git a/plugins/Create Restore Point.ps1 b/plugins/Create Restore Point.ps1
deleted file mode 100644
index f850abe..0000000
--- a/plugins/Create Restore Point.ps1
+++ /dev/null
@@ -1,37 +0,0 @@
-# Run as Admin
-if (-not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator"))
-{
- Write-Warning "You need to run this script as an Administrator!"
- exit
-}
-
-# Load Windows Forms assembly for MessageBox
-Add-Type -AssemblyName System.Windows.Forms
-
-# Define the restore point description and type
-$description = "Flyby11 Restore Point"
-$restorePointType = 12 # MODIFY_SETTINGS = 12
-
-# Function to create restore point with progress reporting
-function Create-RestorePoint {
- Write-Host "Starting to create restore point..." -ForegroundColor Yellow
-
- # Simulate progress
- for ($i = 0; $i -le 100; $i += 10) {
- Write-Progress -Activity "Creating Restore Point" -Status "$i% Complete" -PercentComplete $i
- Start-Sleep -Milliseconds 300 # Simulate some work being done
- }
-
- # WMI query to create the restore point
- $restorePoint = Get-WmiObject -List Win32_SystemRestore | ForEach-Object {
- $_.CreateRestorePoint($description, $restorePointType, 100)
- }
-
- Write-Host "Restore point created successfully." -ForegroundColor Green
-
- # Show completion message
- [System.Windows.Forms.MessageBox]::Show("Restore point has been created successfully!", "Completion", [System.Windows.Forms.MessageBoxButtons]::OK, [System.Windows.Forms.MessageBoxIcon]::Information)
-}
-
-# Execute the restore point creation
-Create-RestorePoint
diff --git a/plugins/File Extensions Visibility.json b/plugins/File Extensions Visibility.json
deleted file mode 100644
index 15f2779..0000000
--- a/plugins/File Extensions Visibility.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "PlugID": "Hide Hidden File Extensions",
- "PlugInfo": "This feature shows or hides hidden file extensions in Windows Explorer.",
- "PlugCategory": "Tweaks (Plugins)",
- "PlugCheck": [
- "reg query HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced /v HideFileExt"
- ],
- "PlugDo": [
- "reg add HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced /v HideFileExt /t REG_DWORD /d 1 /f",
- "reg add HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced /v ShowSuperHidden /t REG_DWORD /d 0 /f",
- "taskkill /f /im explorer.exe",
- "start explorer.exe"
- ],
- "PlugUndo": [
- "reg add HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced /v HideFileExt /t REG_DWORD /d 0 /f",
- "reg add HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced /v ShowSuperHidden /t REG_DWORD /d 1 /f",
- "taskkill /f /im explorer.exe",
- "start explorer.exe"
- ]
-}
diff --git a/plugins/Remove default apps.ps1 b/plugins/Remove default apps.ps1
deleted file mode 100644
index 98a1ce4..0000000
--- a/plugins/Remove default apps.ps1
+++ /dev/null
@@ -1,172 +0,0 @@
-# Description:
-# This script removes unwanted Apps that come with Windows. If you do not want
-# to remove certain Apps comment out the corresponding lines below.
-
-Import-Module -DisableNameChecking $PSScriptRoot\..\lib\take-own.psm1
-Import-Module -DisableNameChecking $PSScriptRoot\..\lib\New-FolderForced.psm1
-
-Write-Output "Elevating privileges for this process"
-do {} until (Elevate-Privileges SeTakeOwnershipPrivilege)
-
-Write-Output "Uninstalling default apps"
-$apps = @(
- # default Windows 10 apps
- "Microsoft.549981C3F5F10" #Cortana
- "Microsoft.3DBuilder"
- "Microsoft.Appconnector"
- "Microsoft.BingFinance"
- "Microsoft.BingNews"
- "Microsoft.BingSports"
- "Microsoft.BingTranslator"
- "Microsoft.BingWeather"
- #"Microsoft.FreshPaint"
- "Microsoft.GamingServices"
- "Microsoft.Microsoft3DViewer"
- "Microsoft.MicrosoftOfficeHub"
- "Microsoft.MicrosoftPowerBIForWindows"
- "Microsoft.MicrosoftSolitaireCollection"
- #"Microsoft.MicrosoftStickyNotes"
- "Microsoft.MinecraftUWP"
- "Microsoft.NetworkSpeedTest"
- "Microsoft.Office.OneNote"
- "Microsoft.People"
- "Microsoft.Print3D"
- "Microsoft.SkypeApp"
- "Microsoft.Wallet"
- #"Microsoft.Windows.Photos"
- "Microsoft.WindowsAlarms"
- #"Microsoft.WindowsCalculator"
- "Microsoft.WindowsCamera"
- "microsoft.windowscommunicationsapps"
- "Microsoft.WindowsMaps"
- "Microsoft.WindowsPhone"
- "Microsoft.WindowsSoundRecorder"
- #"Microsoft.WindowsStore" # can't be re-installed
- "Microsoft.Xbox.TCUI"
- "Microsoft.XboxApp"
- "Microsoft.XboxGameOverlay"
- "Microsoft.XboxGamingOverlay"
- "Microsoft.XboxSpeechToTextOverlay"
- "Microsoft.YourPhone"
- "Microsoft.ZuneMusic"
- "Microsoft.ZuneVideo"
- "Microsoft.SkypeApp"
- "Clipchamp.Clipchamp"
-
- # Threshold 2 apps
- "Microsoft.CommsPhone"
- "Microsoft.ConnectivityStore"
- "Microsoft.GetHelp"
- "Microsoft.Getstarted"
- "Microsoft.Messaging"
- "Microsoft.Office.Sway"
- "Microsoft.OneConnect"
- "Microsoft.WindowsFeedbackHub"
-
- # Creators Update apps
- "Microsoft.Microsoft3DViewer"
- #"Microsoft.MSPaint"
-
- #Redstone apps
- "Microsoft.BingFoodAndDrink"
- "Microsoft.BingHealthAndFitness"
- "Microsoft.BingTravel"
- "Microsoft.WindowsReadingList"
-
- # Redstone 5 apps
- "Microsoft.MixedReality.Portal"
- "Microsoft.ScreenSketch"
- "Microsoft.XboxGamingOverlay"
-
- # non-Microsoft
- "2FE3CB00.PicsArt-PhotoStudio"
- "46928bounde.EclipseManager"
- "4DF9E0F8.Netflix"
- "613EBCEA.PolarrPhotoEditorAcademicEdition"
- "6Wunderkinder.Wunderlist"
- "7EE7776C.LinkedInforWindows"
- "89006A2E.AutodeskSketchBook"
- "9E2F88E3.Twitter"
- "A278AB0D.DisneyMagicKingdoms"
- "A278AB0D.MarchofEmpires"
- "ActiproSoftwareLLC.562882FEEB491" # next one is for the Code Writer from Actipro Software LLC
- "CAF9E577.Plex"
- "ClearChannelRadioDigital.iHeartRadio"
- "D52A8D61.FarmVille2CountryEscape"
- "D5EA27B7.Duolingo-LearnLanguagesforFree"
- "DB6EA5DB.CyberLinkMediaSuiteEssentials"
- "DolbyLaboratories.DolbyAccess"
- "DolbyLaboratories.DolbyAccess"
- "Drawboard.DrawboardPDF"
- "Facebook.Facebook"
- "Fitbit.FitbitCoach"
- "Flipboard.Flipboard"
- "GAMELOFTSA.Asphalt8Airborne"
- "KeeperSecurityInc.Keeper"
- "NORDCURRENT.COOKINGFEVER"
- "PandoraMediaInc.29680B314EFC2"
- "Playtika.CaesarsSlotsFreeCasino"
- "ShazamEntertainmentLtd.Shazam"
- "SlingTVLLC.SlingTV"
- "SpotifyAB.SpotifyMusic"
- "ThumbmunkeysLtd.PhototasticCollage"
- "TuneIn.TuneInRadio"
- "WinZipComputing.WinZipUniversal"
- "XINGAG.XING"
- "flaregamesGmbH.RoyalRevolt2"
- "king.com.*"
- "king.com.BubbleWitch3Saga"
- "king.com.CandyCrushSaga"
- "king.com.CandyCrushSodaSaga"
- "BytedancePte.Ltd.TikTok"
- "Facebook.InstagramBeta"
-
- # apps which cannot be removed using Remove-AppxPackage
- #"Microsoft.BioEnrollment"
- #"Microsoft.MicrosoftEdge"
- #"Microsoft.Windows.Cortana"
- #"Microsoft.WindowsFeedback"
- #"Microsoft.XboxGameCallableUI"
- #"Microsoft.XboxIdentityProvider"
- #"Windows.ContactSupport"
-)
-
-$appxprovisionedpackage = Get-AppxProvisionedPackage -Online
-
-foreach ($app in $apps) {
- Write-Output "Trying to remove $app"
-
- Get-AppxPackage -Name $app -AllUsers | Remove-AppxPackage -AllUsers
-
- ($appxprovisionedpackage).Where( {$_.DisplayName -EQ $app}) |
- Remove-AppxProvisionedPackage -Online
-} Write-Host "Clippy has completed the process and removed all possible apps."
-
-# Prevents Apps from re-installing
-$cdm = @(
- "ContentDeliveryAllowed"
- "FeatureManagementEnabled"
- "OemPreInstalledAppsEnabled"
- "PreInstalledAppsEnabled"
- "PreInstalledAppsEverEnabled"
- "SilentInstalledAppsEnabled"
- "SubscribedContent-314559Enabled"
- "SubscribedContent-338387Enabled"
- "SubscribedContent-338388Enabled"
- "SubscribedContent-338389Enabled"
- "SubscribedContent-338393Enabled"
- "SubscribedContentEnabled"
- "SystemPaneSuggestionsEnabled"
-)
-
-New-FolderForced -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager"
-foreach ($key in $cdm) {
- Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" $key 0
-}
-
-New-FolderForced -Path "HKLM:\SOFTWARE\Policies\Microsoft\WindowsStore"
-Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\WindowsStore" "AutoDownload" 2
-
-# Prevents "Suggested Applications" returning
-New-FolderForced -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\CloudContent"
-Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\CloudContent" "DisableWindowsConsumerFeatures" 1
diff --git a/plugins/Resore all built-in apps.ps1 b/plugins/Resore all built-in apps.ps1
deleted file mode 100644
index 6dcf0e4..0000000
--- a/plugins/Resore all built-in apps.ps1
+++ /dev/null
@@ -1,31 +0,0 @@
-# Get all installed Windows apps for all users
-$allApps = Get-AppxPackage -AllUsers
-
-# Counter for tracking progress
-$totalApps = $allApps.Count
-$currentAppIndex = 1
-$reinstalledCount = 0
-
-# Loop through each app and reinstall
-foreach ($app in $allApps) {
- # Display current status
- Write-Host "[$currentAppIndex / $totalApps] Reinstalling $($app.Name)..." -ForegroundColor Yellow
-
- # Try to reinstall the app
- try {
- Add-AppxPackage -Register "$($app.InstallLocation)\appxmanifest.xml" -DisableDevelopmentMode -ErrorAction Stop
- Write-Host "[$currentAppIndex / $totalApps] $($app.Name) reinstalled successfully." -ForegroundColor Green
- $reinstalledCount++
- } catch {
- Write-Host "[$currentAppIndex / $totalApps] Error occurred while reinstalling $($app.Name): $_" -ForegroundColor Red
- }
-
- # Increment the counter
- $currentAppIndex++
-}
-
-# Display final status
-if ($reinstalledCount -eq $totalApps) {
- Write-Host "All apps reinstalled successfully." -ForegroundColor Green
- Write-Host "Flyby11 has reinstalled everything possible." -ForegroundColor Cyan
-}
diff --git a/plugins/Restart Explorer.ps1 b/plugins/Restart Explorer.ps1
deleted file mode 100644
index a87e4a8..0000000
--- a/plugins/Restart Explorer.ps1
+++ /dev/null
@@ -1,18 +0,0 @@
-# Function to show a message box
-function Show-MessageBox {
- param (
- [string]$message,
- [string]$title = "Information"
- )
- Add-Type -AssemblyName PresentationFramework
- [System.Windows.MessageBox]::Show($message, $title)
-}
-
-# Stop Windows Explorer
-Stop-Process -Name explorer -Force
-
-# Start Windows Explorer
-Start-Process explorer
-
-# Show message box
-Show-MessageBox -message "Windows Explorer has been restarted successfully." -title "Flyby11"
diff --git a/plugins/Uninstall OneDrive.ps1 b/plugins/Uninstall OneDrive.ps1
deleted file mode 100644
index 206c538..0000000
--- a/plugins/Uninstall OneDrive.ps1
+++ /dev/null
@@ -1,60 +0,0 @@
-Import-Module -DisableNameChecking $PSScriptRoot\..\lib\force-mkdir.psm1
-Import-Module -DisableNameChecking $PSScriptRoot\..\lib\take-own.psm1
-
-Write-Output "Kill OneDrive process"
-taskkill.exe /F /IM "OneDrive.exe"
-taskkill.exe /F /IM "explorer.exe"
-
-Write-Output "Remove OneDrive"
-if (Test-Path "$env:systemroot\System32\OneDriveSetup.exe") {
- & "$env:systemroot\System32\OneDriveSetup.exe" /uninstall
-}
-if (Test-Path "$env:systemroot\SysWOW64\OneDriveSetup.exe") {
- & "$env:systemroot\SysWOW64\OneDriveSetup.exe" /uninstall
-}
-
-Write-Output "Removing OneDrive leftovers"
-Remove-Item -Recurse -Force -ErrorAction SilentlyContinue "$env:localappdata\Microsoft\OneDrive"
-Remove-Item -Recurse -Force -ErrorAction SilentlyContinue "$env:programdata\Microsoft OneDrive"
-Remove-Item -Recurse -Force -ErrorAction SilentlyContinue "$env:systemdrive\OneDriveTemp"
-# check if directory is empty before removing:
-If ((Get-ChildItem "$env:userprofile\OneDrive" -Recurse | Measure-Object).Count -eq 0) {
- Remove-Item -Recurse -Force -ErrorAction SilentlyContinue "$env:userprofile\OneDrive"
-}
-
-Write-Output "Disable OneDrive via Group Policies"
-force-mkdir "HKLM:\SOFTWARE\Wow6432Node\Policies\Microsoft\Windows\OneDrive"
-Set-ItemProperty "HKLM:\SOFTWARE\Wow6432Node\Policies\Microsoft\Windows\OneDrive" "DisableFileSyncNGSC" 1
-
-Write-Output "Remove Onedrive from explorer sidebar"
-New-PSDrive -PSProvider "Registry" -Root "HKEY_CLASSES_ROOT" -Name "HKCR"
-mkdir -Force "HKCR:\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}"
-Set-ItemProperty "HKCR:\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}" "System.IsPinnedToNameSpaceTree" 0
-mkdir -Force "HKCR:\Wow6432Node\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}"
-Set-ItemProperty "HKCR:\Wow6432Node\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}" "System.IsPinnedToNameSpaceTree" 0
-Remove-PSDrive "HKCR"
-
-# Thank you Matthew Israelsson
-Write-Output "Removing run hook for new users"
-reg load "hku\Default" "C:\Users\Default\NTUSER.DAT"
-reg delete "HKEY_USERS\Default\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "OneDriveSetup" /f
-reg unload "hku\Default"
-
-Write-Output "Removing startmenu entry"
-Remove-Item -Force -ErrorAction SilentlyContinue "$env:userprofile\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\OneDrive.lnk"
-
-Write-Output "Removing scheduled task"
-Get-ScheduledTask -TaskPath '\' -TaskName 'OneDrive*' -ea SilentlyContinue | Unregister-ScheduledTask -Confirm:$false
-
-Write-Output "Restarting explorer"
-Start-Process "explorer.exe"
-
-Write-Output "Waiting for explorer to complete loading"
-Start-Sleep 10
-
-Write-Output "Removing additional OneDrive leftovers"
-foreach ($item in (Get-ChildItem "$env:WinDir\WinSxS\*onedrive*")) {
- Takeown-Folder $item.FullName
- Remove-Item -Recurse -Force $item.FullName
-}
-Write-Output "Flyby11 can confirm the uninstallation of the OneDrive app."
diff --git a/plugins/Windows Old Remover.json b/plugins/Windows Old Remover.json
deleted file mode 100644
index 3a2586d..0000000
--- a/plugins/Windows Old Remover.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "PlugID": "Windows Old Remover",
- "PlugInfo": "The Windows Old Remover plugin allows users to easily remove the 'Windows.old' folder, which contains files from a previous Windows installation. After upgrading to a new version of Windows, the 'Windows.old' folder may occupy significant disk space. This plugin utilizes the DISM command to safely delete this folder, freeing up valuable storage on your system. Please note that once this folder is deleted, you will no longer be able to revert to the previous Windows version through the Recovery options.\n\n**Error Handling**: If you encounter 'Error 1168' during the removal process, it means the 'Windows.old' folder has already been deleted or is not available for rollback. Ensure you have backups before proceeding!",
- "PlugCheck": [],
- "PlugCategory": "System (Plugins)",
- "PlugDo": [
- "cmd.exe /c DISM /Online /Remove-OSUninstall"
- ],
- "PlugUndo": [
- "powershell -Command \"Add-Type -AssemblyName System.Windows.Forms; [System.Windows.Forms.MessageBox]::Show('No undo is available for this deletion. To restore files, use a backup solution.', 'Info', [System.Windows.Forms.MessageBoxButtons]::OK, [System.Windows.Forms.MessageBoxIcon]::Warning)\""
- ]
-}
diff --git a/plugins/Windows Rollback Timer.json b/plugins/Windows Rollback Timer.json
deleted file mode 100644
index 7250e7d..0000000
--- a/plugins/Windows Rollback Timer.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "PlugID": "Windows Rollback Timer",
- "PlugInfo": "This plugin checks and sets the uninstall window for reverting to a previous Windows version after an upgrade. The time frame can be configured up to 60 days. After a Windows upgrade (e.g., via Windows Update to version 1803), a copy of the previous Windows version is stored in the 'Windows.old' folder. This allows users to return to the prior version through the 'Recovery' option under 'Update & Security' in Windows Settings. By default, this rollback option is available for only 10 days, provided the 'Windows.old' folder hasn’t been deleted. However, this time frame can be extended up to 60 days using this plugin. \n\n**Error Handling**: If 'Error 1168' appears when attempting to set the rollback period, this indicates that the 'Windows.old' folder has been deleted, making a rollback impossible.",
- "PlugCheck": [],
- "PlugCategory": "System (Plugins)",
- "PlugDo": [
- "cmd.exe /c DISM /Online /Get-OSUninstallWindow",
- "cmd.exe /c DISM /Online /Set-OSUninstallWindow /Value:60"
- ],
- "PlugUndo": [
- "powershell -Command \"Add-Type -AssemblyName System.Windows.Forms; [System.Windows.Forms.MessageBox]::Show('No undo is available for this rollback time setting. To change it, please use DISM with a new value.', 'Info', [System.Windows.Forms.MessageBoxButtons]::OK, [System.Windows.Forms.MessageBoxIcon]::Information)\""
- ]
-}
diff --git a/plugins/plugins_manifest.json b/plugins/plugins_manifest.json
deleted file mode 100644
index 01f74e9..0000000
--- a/plugins/plugins_manifest.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "ChrisTitusApp.ps1": "Chris Titus Tech's Windows Utility - Install Programs, Tweaks, Fixes, and Updates. Dev: https://github.com/ChrisTitusTech/winutil",
- "Restart Explorer.ps1": "Restarts the Windows Explorer process to refresh the desktop and taskbar.",
- "Create Restore Point.ps1": "This script creates a system restore point to save your current system state.",
- "Uninstall OneDrive.ps1": "This script completely removes OneDrive from your Windows system.",
- "Resore all built-in apps.ps1": "This will restore all preinstalled inbox apps of Microsoft.",
- "Remove default apps.ps1": "This script will remove all preinstalled inbox apps using PowerShell.",
- "File Extensions Visibility.json": "This plugin shows or hides hidden file extensions in Windows Explorer.",
- "Clear Icon Cache.json": "This plugin clears the icon cache in Windows to resolve issues with icons displaying incorrectly.",
- "Windows Rollback Timer.json": "This plugin adjusts the time window available to revert to a previous version of Windows after an upgrade.",
- "Windows Old Remover.json": "This plugin will remove the ability to roll back a PC to a previous installation of Windows."
-}