Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b65392fbc7 | ||
|
|
bc6049fc39 | ||
|
|
dca537457a | ||
|
|
964ed87f76 | ||
|
|
d91cc98021 | ||
|
|
cd535d0840 | ||
|
|
9bd91b4c11 | ||
|
|
0cf681f443 | ||
|
|
b2fe7db07a | ||
|
|
fa324dc48c | ||
|
|
c752d9cb37 | ||
|
|
6f39ffb3bc |
No files matched your search
+1
-1
@@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
|
|||||||
# Visual Studio Version 17
|
# Visual Studio Version 17
|
||||||
VisualStudioVersion = 17.12.35527.113
|
VisualStudioVersion = 17.12.35527.113
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Flyby11", "Flyby11\Flyby11.csproj", "{503AF34B-7544-4C43-A099-2B948C3FF49A}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Flyby11", "FlybyScript\Flyby11.csproj", "{503AF34B-7544-4C43-A099-2B948C3FF49A}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CpuCheckNative", "CpuCheckNative\CpuCheckNative.vcxproj", "{A2038E07-E21F-4B05-B811-3052A2B014BC}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CpuCheckNative", "CpuCheckNative\CpuCheckNative.vcxproj", "{A2038E07-E21F-4B05-B811-3052A2B014BC}"
|
||||||
EndProject
|
EndProject
|
||||||
|
|||||||
@@ -124,7 +124,8 @@ namespace Flyby11
|
|||||||
|
|
||||||
this.Controls.Add(upgradeButton);
|
this.Controls.Add(upgradeButton);
|
||||||
this.Controls.Add(countdownLabel);
|
this.Controls.Add(countdownLabel);
|
||||||
// this.Controls.Add(additionalInfoLabel);
|
// this.Controls.Add(additionalInfoLabel);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+85
-53
@@ -18,7 +18,7 @@ namespace Flyby11
|
|||||||
|
|
||||||
private FlowLayoutPanel _faqContentPanel;
|
private FlowLayoutPanel _faqContentPanel;
|
||||||
|
|
||||||
// List of individual FAQ entry steps (to add one by one)
|
// List of individual FAQ entry steps
|
||||||
private readonly List<Action<FlowLayoutPanel>> _faqSteps = new List<Action<FlowLayoutPanel>>();
|
private readonly List<Action<FlowLayoutPanel>> _faqSteps = new List<Action<FlowLayoutPanel>>();
|
||||||
|
|
||||||
private int _currentFaqStep = 0;
|
private int _currentFaqStep = 0;
|
||||||
@@ -103,68 +103,57 @@ namespace Flyby11
|
|||||||
AddLabel(parent, Locales.Strings.faq_q1, new Font("Segoe UI Variable Display", 10.5f, FontStyle.Bold), ContentAlignment.TopLeft, 11);
|
AddLabel(parent, Locales.Strings.faq_q1, new Font("Segoe UI Variable Display", 10.5f, FontStyle.Bold), ContentAlignment.TopLeft, 11);
|
||||||
AddLabel(parent, Locales.Strings.faq_a1, new Font("Segoe UI Variable Display", 11), ContentAlignment.TopLeft, 11);
|
AddLabel(parent, Locales.Strings.faq_a1, new Font("Segoe UI Variable Display", 11), ContentAlignment.TopLeft, 11);
|
||||||
|
|
||||||
// Links below the answer
|
|
||||||
var linkPanel = new FlowLayoutPanel
|
var downloadOptions = new ComboBox
|
||||||
{
|
{
|
||||||
AutoSize = true,
|
DropDownStyle = ComboBoxStyle.DropDownList,
|
||||||
FlowDirection = FlowDirection.LeftToRight,
|
Font = new Font("Segoe UI Variable Display", 10.5f),
|
||||||
WrapContents = true
|
Width = 300,
|
||||||
|
Padding = new Padding(5)
|
||||||
};
|
};
|
||||||
|
|
||||||
AddFAQItem(linkPanel, Locales.Strings.faq_downloadMS, "https://www.microsoft.com/software-download/windows11");
|
downloadOptions.Items.Add("Select Download Source"); // Add default placeholder item
|
||||||
AddFAQItemWithScript(linkPanel, Locales.Strings.faq_downloadFido, "or", "https://raw.githubusercontent.com/pbatard/Fido/refs/heads/master/Fido.ps1");
|
downloadOptions.Items.Add(Locales.Strings.faq_downloadMS); // Index 1
|
||||||
|
downloadOptions.Items.Add(Locales.Strings.faq_downloadFido); // Index 2
|
||||||
|
downloadOptions.Items.Add("Media Creation Tool (Beginner-Friendly)"); // Index 3
|
||||||
|
|
||||||
parent.Controls.Add(linkPanel);
|
downloadOptions.SelectedIndex = 0; // Set default selection
|
||||||
}
|
|
||||||
|
|
||||||
|
downloadOptions.SelectedIndexChanged += (s, e) =>
|
||||||
// Simple link-only FAQ entry
|
|
||||||
private void AddFAQItem(FlowLayoutPanel parent, string linkText, string linkUrl)
|
|
||||||
{
|
|
||||||
var linkLabel = new LinkLabel
|
|
||||||
{
|
{
|
||||||
Text = linkText,
|
switch (downloadOptions.SelectedIndex)
|
||||||
Font = new Font("Segoe UI Variable Display", 10.5f, FontStyle.Underline),
|
{
|
||||||
LinkColor = Color.Blue,
|
case 1:
|
||||||
AutoSize = true,
|
// Open Microsoft ISO download page
|
||||||
Padding = new Padding(10),
|
Process.Start("https://www.microsoft.com/software-download/windows11");
|
||||||
TextAlign = ContentAlignment.TopLeft,
|
break;
|
||||||
UseCompatibleTextRendering = true
|
case 2:
|
||||||
|
// Download and run Fido script
|
||||||
|
DownloadAndRunFidoScript("https://raw.githubusercontent.com/pbatard/Fido/refs/heads/master/Fido.ps1");
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
// Handle Media Creation Tool download process
|
||||||
|
HandleMediaCreationToolDownload();
|
||||||
|
break;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
linkLabel.LinkClicked += (sender, e) => Process.Start(linkUrl);
|
parent.Controls.Add(downloadOptions);
|
||||||
parent.Controls.Add(linkLabel);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Adds a downloadable script link (e.g., Fido.ps1)
|
/// <summary>
|
||||||
private void AddFAQItemWithScript(FlowLayoutPanel parent, string linkText, string description, string scriptUrl)
|
/// Downloads and executes the Fido PowerShell script.
|
||||||
{
|
/// </summary>
|
||||||
AddLabel(parent, description, new Font("Segoe UI Variable Display", 9), ContentAlignment.TopLeft, 11);
|
void DownloadAndRunFidoScript(string scriptUrl)
|
||||||
|
|
||||||
var linkLabel = new LinkLabel
|
|
||||||
{
|
|
||||||
Text = linkText,
|
|
||||||
Font = new Font("Segoe UI Variable Display", 10.5f, FontStyle.Underline),
|
|
||||||
LinkColor = Color.Blue,
|
|
||||||
AutoSize = true,
|
|
||||||
Padding = new Padding(10),
|
|
||||||
TextAlign = ContentAlignment.TopLeft,
|
|
||||||
UseCompatibleTextRendering = true
|
|
||||||
};
|
|
||||||
|
|
||||||
linkLabel.Click += (sender, e) =>
|
|
||||||
{
|
{
|
||||||
string tempScriptPath = Path.Combine(Path.GetTempPath(), "Fido.ps1");
|
string tempScriptPath = Path.Combine(Path.GetTempPath(), "Fido.ps1");
|
||||||
|
|
||||||
try
|
using (var client = new WebClient())
|
||||||
{
|
{
|
||||||
using (var client = new WebClient())
|
try
|
||||||
{
|
{
|
||||||
// Download script to temp folder
|
client.DownloadFile(scriptUrl, tempScriptPath);
|
||||||
client.DownloadFile(new Uri(scriptUrl), tempScriptPath);
|
_updateStatus("Fido script downloaded successfully. Running it now...");
|
||||||
_updateStatus("Fido downloaded successfully! Now running the script...");
|
|
||||||
|
|
||||||
// Run script using elevated PowerShell
|
|
||||||
Process.Start(new ProcessStartInfo
|
Process.Start(new ProcessStartInfo
|
||||||
{
|
{
|
||||||
FileName = "powershell.exe",
|
FileName = "powershell.exe",
|
||||||
@@ -174,16 +163,59 @@ namespace Flyby11
|
|||||||
UseShellExecute = true
|
UseShellExecute = true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_updateStatus("Error downloading or running Fido: " + ex.Message);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Handles download, optional tutorial, and execution of the Media Creation Tool.
|
||||||
|
/// </summary>
|
||||||
|
void HandleMediaCreationToolDownload()
|
||||||
|
{
|
||||||
|
var infoResult = MessageBox.Show(
|
||||||
|
"With the Media Creation Tool, you can either upgrade your PC or create an ISO file.\n\nImportant: In the step 'Choose which media to use', make sure to select 'ISO file'.\n\nIf you're unsure, would you like to watch a recommended YouTube tutorial on how to do this?",
|
||||||
|
"Media Creation Tool Information",
|
||||||
|
MessageBoxButtons.YesNo,
|
||||||
|
MessageBoxIcon.Information);
|
||||||
|
|
||||||
|
if (infoResult == DialogResult.Yes)
|
||||||
{
|
{
|
||||||
_updateStatus("Error downloading or running the script: " + ex.Message);
|
Process.Start("https://www.youtube.com/watch?v=dNl1FHajW9w");
|
||||||
}
|
}
|
||||||
};
|
|
||||||
|
|
||||||
parent.Controls.Add(linkLabel);
|
using (var saveDialog = new SaveFileDialog())
|
||||||
|
{
|
||||||
|
saveDialog.Title = "Save Media Creation Tool";
|
||||||
|
saveDialog.Filter = "Executable|*.exe";
|
||||||
|
saveDialog.FileName = "MediaCreationTool.exe";
|
||||||
|
|
||||||
|
if (saveDialog.ShowDialog() == DialogResult.OK)
|
||||||
|
{
|
||||||
|
using (var client = new WebClient())
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
client.DownloadFile("https://go.microsoft.com/fwlink/?linkid=2156295", saveDialog.FileName);
|
||||||
|
MessageBox.Show("Media Creation Tool downloaded successfully!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||||
|
|
||||||
|
var runResult = MessageBox.Show("Do you want to run the Media Creation Tool now?", "Run Tool", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
|
||||||
|
if (runResult == DialogResult.Yes)
|
||||||
|
{
|
||||||
|
Process.Start(saveDialog.FileName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
MessageBox.Show("Error downloading the Media Creation Tool: " + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Adds any generic label to the flow panel
|
// Adds any generic label to the flow panel
|
||||||
private void AddLabel(FlowLayoutPanel parent, string text, Font font, ContentAlignment alignment, int padding = 0)
|
private void AddLabel(FlowLayoutPanel parent, string text, Font font, ContentAlignment alignment, int padding = 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -12,6 +12,21 @@
|
|||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||||
<Deterministic>true</Deterministic>
|
<Deterministic>true</Deterministic>
|
||||||
|
<PublishUrl>publish\</PublishUrl>
|
||||||
|
<Install>true</Install>
|
||||||
|
<InstallFrom>Disk</InstallFrom>
|
||||||
|
<UpdateEnabled>false</UpdateEnabled>
|
||||||
|
<UpdateMode>Foreground</UpdateMode>
|
||||||
|
<UpdateInterval>7</UpdateInterval>
|
||||||
|
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||||
|
<UpdatePeriodically>false</UpdatePeriodically>
|
||||||
|
<UpdateRequired>false</UpdateRequired>
|
||||||
|
<MapFileExtensions>true</MapFileExtensions>
|
||||||
|
<ApplicationRevision>0</ApplicationRevision>
|
||||||
|
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||||
|
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||||
|
<UseApplicationTrust>false</UseApplicationTrust>
|
||||||
|
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
<PlatformTarget>x64</PlatformTarget>
|
<PlatformTarget>x64</PlatformTarget>
|
||||||
@@ -84,6 +99,12 @@
|
|||||||
<Compile Include="MainForm.Designer.cs">
|
<Compile Include="MainForm.Designer.cs">
|
||||||
<DependentUpon>MainForm.cs</DependentUpon>
|
<DependentUpon>MainForm.cs</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="ProblemsForm.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ProblemsForm.Designer.cs">
|
||||||
|
<DependentUpon>ProblemsForm.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
<Compile Include="Program.cs" />
|
<Compile Include="Program.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
<Compile Include="Properties\Resources.Designer.cs">
|
<Compile Include="Properties\Resources.Designer.cs">
|
||||||
@@ -105,6 +126,8 @@
|
|||||||
<EmbeddedResource Include="Locales\Strings.cs-CZ.resx" />
|
<EmbeddedResource Include="Locales\Strings.cs-CZ.resx" />
|
||||||
<EmbeddedResource Include="Locales\Strings.de.resx" />
|
<EmbeddedResource Include="Locales\Strings.de.resx" />
|
||||||
<EmbeddedResource Include="Locales\Strings.fr.resx" />
|
<EmbeddedResource Include="Locales\Strings.fr.resx" />
|
||||||
|
<EmbeddedResource Include="Locales\Strings.he.resx" />
|
||||||
|
<EmbeddedResource Include="Locales\Strings.hu.resx" />
|
||||||
<EmbeddedResource Include="Locales\Strings.it.resx" />
|
<EmbeddedResource Include="Locales\Strings.it.resx" />
|
||||||
<EmbeddedResource Include="Locales\Strings.ja.resx" />
|
<EmbeddedResource Include="Locales\Strings.ja.resx" />
|
||||||
<EmbeddedResource Include="Locales\Strings.pl.resx" />
|
<EmbeddedResource Include="Locales\Strings.pl.resx" />
|
||||||
@@ -119,6 +142,9 @@
|
|||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
<LastGenOutput>Strings.Designer.cs</LastGenOutput>
|
<LastGenOutput>Strings.Designer.cs</LastGenOutput>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="ProblemsForm.resx">
|
||||||
|
<DependentUpon>ProblemsForm.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="Properties\Resources.resx">
|
<EmbeddedResource Include="Properties\Resources.resx">
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
<Generator>PublicResXFileCodeGenerator</Generator>
|
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||||
@@ -141,6 +167,17 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Content Include="AppIcon.ico" />
|
<Content Include="AppIcon.ico" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup />
|
<ItemGroup>
|
||||||
|
<BootstrapperPackage Include=".NETFramework,Version=v4.8">
|
||||||
|
<Visible>False</Visible>
|
||||||
|
<ProductName>Microsoft .NET Framework 4.8 %28x86 und x64%29</ProductName>
|
||||||
|
<Install>true</Install>
|
||||||
|
</BootstrapperPackage>
|
||||||
|
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||||
|
<Visible>False</Visible>
|
||||||
|
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||||
|
<Install>false</Install>
|
||||||
|
</BootstrapperPackage>
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
</Project>
|
</Project>
|
||||||
+69
-65
@@ -1,14 +1,10 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Drawing;
|
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Net.Http;
|
using System.Net.Http;
|
||||||
using System.Runtime.Remoting.Lifetime;
|
|
||||||
using System.Text;
|
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
|
|
||||||
|
|
||||||
namespace Flyby11
|
namespace Flyby11
|
||||||
{
|
{
|
||||||
@@ -22,7 +18,7 @@ namespace Flyby11
|
|||||||
_updateStatus = updateStatus;
|
_updateStatus = updateStatus;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task HandleIso(string isoPath)
|
public async Task HandleIso(string isoPath, bool experimentalEnabled)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -41,8 +37,7 @@ namespace Flyby11
|
|||||||
string quotedIsoPath = $"\"{isoPath}\"";
|
string quotedIsoPath = $"\"{isoPath}\"";
|
||||||
|
|
||||||
// Pass the quoted path to ExecutePowerShellCommand
|
// Pass the quoted path to ExecutePowerShellCommand
|
||||||
await ExecutePowerShellCommand($"Mount-DiskImage -ImagePath {quotedIsoPath}");
|
string driveLetter = await MountIsoAndGetDriveLetter(isoPath);
|
||||||
string driveLetter = await GetMountedDriveLetter();
|
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(driveLetter))
|
if (string.IsNullOrEmpty(driveLetter))
|
||||||
{
|
{
|
||||||
@@ -56,7 +51,7 @@ namespace Flyby11
|
|||||||
string setupPath = Path.Combine(driveLetter, "sources", "setupprep.exe");
|
string setupPath = Path.Combine(driveLetter, "sources", "setupprep.exe");
|
||||||
if (File.Exists(setupPath))
|
if (File.Exists(setupPath))
|
||||||
{
|
{
|
||||||
await RunSetupWithAdminRights(setupPath);
|
await RunSetupWithAdminRights(setupPath, experimentalEnabled);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -65,7 +60,6 @@ namespace Flyby11
|
|||||||
"Error",
|
"Error",
|
||||||
MessageBoxButtons.OK,
|
MessageBoxButtons.OK,
|
||||||
MessageBoxIcon.Error);
|
MessageBoxIcon.Error);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
@@ -75,74 +69,80 @@ namespace Flyby11
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task<string> GetMountedDriveLetter()
|
private async Task<string> MountIsoAndGetDriveLetter(string isoPath)
|
||||||
{
|
{
|
||||||
var drives = DriveInfo.GetDrives();
|
try
|
||||||
foreach (var drive in drives)
|
|
||||||
{
|
{
|
||||||
if (drive.DriveType == DriveType.CDRom && drive.IsReady)
|
_updateStatus("Mounting ISO...");
|
||||||
|
|
||||||
|
// PowerShell script to mount ISO and get the assigned drive letter
|
||||||
|
string script = $@"
|
||||||
|
$iso = Mount-DiskImage -ImagePath '{isoPath}' -PassThru
|
||||||
|
$volumes = Get-Volume -DiskImage $iso
|
||||||
|
$volumes.DriveLetter
|
||||||
|
";
|
||||||
|
|
||||||
|
using (var process = new Process())
|
||||||
{
|
{
|
||||||
return drive.Name.Substring(0, 2);
|
process.StartInfo.FileName = "powershell.exe";
|
||||||
|
process.StartInfo.Arguments = $"-NoProfile -ExecutionPolicy Bypass -Command \"{script}\"";
|
||||||
|
process.StartInfo.RedirectStandardOutput = true;
|
||||||
|
process.StartInfo.RedirectStandardError = true;
|
||||||
|
process.StartInfo.UseShellExecute = false;
|
||||||
|
process.StartInfo.CreateNoWindow = true;
|
||||||
|
|
||||||
|
process.Start();
|
||||||
|
|
||||||
|
string output = await process.StandardOutput.ReadToEndAsync();
|
||||||
|
string error = await process.StandardError.ReadToEndAsync();
|
||||||
|
|
||||||
|
await process.WaitForExitAsync();
|
||||||
|
|
||||||
|
if (!string.IsNullOrWhiteSpace(error))
|
||||||
|
{
|
||||||
|
_updateStatus("PowerShell error during mount: " + error);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
string driveLetter = output.Trim();
|
||||||
|
if (!string.IsNullOrWhiteSpace(driveLetter))
|
||||||
|
{
|
||||||
|
_updateStatus($"ISO mounted successfully at {driveLetter}:\\");
|
||||||
|
return $"{driveLetter}:\\";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_updateStatus("Failed to retrieve drive letter after mounting ISO.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return null;
|
catch (Exception ex)
|
||||||
}
|
|
||||||
|
|
||||||
private async Task ExecutePowerShellCommand(string command)
|
|
||||||
{
|
|
||||||
using (var process = new Process())
|
|
||||||
{
|
{
|
||||||
// Escape the command to ensure spaces in paths are handled
|
_updateStatus("Exception during mounting: " + ex.Message);
|
||||||
string escapedCommand = command.Replace("\"", "\\\"");
|
return null;
|
||||||
|
|
||||||
process.StartInfo.FileName = "powershell.exe";
|
|
||||||
process.StartInfo.Arguments = $"-NoProfile -ExecutionPolicy Bypass -Command \"{escapedCommand}\"";
|
|
||||||
process.StartInfo.RedirectStandardOutput = true;
|
|
||||||
process.StartInfo.RedirectStandardError = true;
|
|
||||||
process.StartInfo.UseShellExecute = false;
|
|
||||||
process.StartInfo.CreateNoWindow = true;
|
|
||||||
|
|
||||||
// Capture standard output and error output
|
|
||||||
StringBuilder outputBuilder = new StringBuilder();
|
|
||||||
StringBuilder errorBuilder = new StringBuilder();
|
|
||||||
|
|
||||||
process.OutputDataReceived += (sender, e) => { if (!string.IsNullOrEmpty(e.Data)) outputBuilder.AppendLine(e.Data); };
|
|
||||||
process.ErrorDataReceived += (sender, e) => { if (!string.IsNullOrEmpty(e.Data)) errorBuilder.AppendLine(e.Data); };
|
|
||||||
|
|
||||||
process.Start();
|
|
||||||
process.BeginOutputReadLine();
|
|
||||||
process.BeginErrorReadLine();
|
|
||||||
|
|
||||||
await process.WaitForExitAsync();
|
|
||||||
|
|
||||||
string output = outputBuilder.ToString();
|
|
||||||
string error = errorBuilder.ToString();
|
|
||||||
|
|
||||||
// Debug output for logs
|
|
||||||
if (!string.IsNullOrEmpty(output))
|
|
||||||
{
|
|
||||||
_updateStatus($"PowerShell Output: {output}");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(error))
|
|
||||||
{
|
|
||||||
_updateStatus($"PowerShell Error: {error}");
|
|
||||||
MessageBox.Show($"PowerShell Error: {error}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private async Task RunSetupWithAdminRights(string setupPath, bool experimentalEnabled)
|
||||||
private async Task RunSetupWithAdminRights(string setupPath)
|
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
_updateStatus(Locales.Strings._debugInstallRunElevated); //Starting the setup process with elevated privileges...
|
_updateStatus(Locales.Strings._debugInstallRunElevated); //Starting the setup process with elevated privileges...
|
||||||
|
|
||||||
|
// Default argument
|
||||||
|
string arguments = "/Product Server";
|
||||||
|
|
||||||
|
// If experimental mode is enabled, append additional setup parameters
|
||||||
|
if (experimentalEnabled)
|
||||||
|
{
|
||||||
|
arguments += " /Compat IgnoreWarning /MigrateDrivers All";
|
||||||
|
}
|
||||||
|
|
||||||
var startInfo = new ProcessStartInfo
|
var startInfo = new ProcessStartInfo
|
||||||
{
|
{
|
||||||
FileName = "powershell.exe",
|
FileName = "powershell.exe",
|
||||||
Arguments = $"-NoProfile -ExecutionPolicy Bypass -Command \"Start-Process '{setupPath}' -ArgumentList '/product server' -Verb runas\"",
|
Arguments = $"-NoProfile -ExecutionPolicy Bypass -Command \"Start-Process '{setupPath}' -ArgumentList '{arguments}' -Verb runas\"",
|
||||||
Verb = "runas",
|
Verb = "runas",
|
||||||
UseShellExecute = true,
|
UseShellExecute = true,
|
||||||
CreateNoWindow = false
|
CreateNoWindow = false
|
||||||
@@ -157,9 +157,16 @@ namespace Flyby11
|
|||||||
await process.WaitForExitAsync();
|
await process.WaitForExitAsync();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Final status message
|
||||||
|
string finalStatus = Locales.Strings._debugInstallReady;
|
||||||
|
|
||||||
|
if (experimentalEnabled)
|
||||||
|
{
|
||||||
|
finalStatus += " (Advanced mode enabled: Compatibility checks bypassed)";
|
||||||
|
}
|
||||||
|
|
||||||
|
_updateStatus(finalStatus);
|
||||||
|
|
||||||
//You're ready to install Windows 11 on unsupported hardware! Ignore the 'Windows Server' prompt; you're all set!"
|
|
||||||
_updateStatus(Locales.Strings._debugInstallReady);
|
|
||||||
//Windows 11 installation can now proceed. Please follow the instructions in the setup window.
|
//Windows 11 installation can now proceed. Please follow the instructions in the setup window.
|
||||||
MessageBox.Show(Locales.Strings.msg_InstallReady, "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
MessageBox.Show(Locales.Strings.msg_InstallReady, "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||||
}
|
}
|
||||||
@@ -236,8 +243,6 @@ namespace Flyby11
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Downloads a specified tool (Media Creation Tool or Installation Assistant) from a provided URL.
|
/// Downloads a specified tool (Media Creation Tool or Installation Assistant) from a provided URL.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -290,7 +295,6 @@ namespace Flyby11
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class ProcessExtensions
|
public static class ProcessExtensions
|
||||||
|
|||||||
@@ -0,0 +1,276 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="compPatch_debugCancel" xml:space="preserve">
|
||||||
|
<value>החלת טלאי העקיפה בוטלה על ידי המשתמש.</value>
|
||||||
|
</data>
|
||||||
|
<data name="compPatch_debugNotRemovableDrive" xml:space="preserve">
|
||||||
|
<value>המשתמש ניסה לבחור כונן שאינו נשלף.</value>
|
||||||
|
</data>
|
||||||
|
<data name="compPatch_debugNoUSBDrive" xml:space="preserve">
|
||||||
|
<value>לא נבחר כונן USB לצורך החלת הטלאי.</value>
|
||||||
|
</data>
|
||||||
|
<data name="compPatch_msgFailedEx" xml:space="preserve">
|
||||||
|
<value>החלת טלאי העקיפה נכשלה:</value>
|
||||||
|
</data>
|
||||||
|
<data name="compPatch_msgNotRemovableDrive" xml:space="preserve">
|
||||||
|
<value>הנתיב שנבחר אינו כונן נשלף. אנא בחר כונן USB.</value>
|
||||||
|
</data>
|
||||||
|
<data name="compPatch_msgSelectDrive" xml:space="preserve">
|
||||||
|
<value>בחר את כונן ה-USB שמכיל את קובצי ההתקנה של Windows 11.\nפונקציה זו מוסיפה טלאי תאימות כדי לעקוף דרישות מערכת מסוימות.\nתואם לכוננים שהוכנו בכלים שונים, כולל Rufus. ודא שהכונן מוכן!</value>
|
||||||
|
</data>
|
||||||
|
<data name="compPatch_msgSelectDriveConfirm" xml:space="preserve">
|
||||||
|
<value>פעולה זו תחיל הגדרות עקיפת תאימות על כונן ה-USB שנבחר. להמשיך?</value>
|
||||||
|
</data>
|
||||||
|
<data name="compPatch_msgSuccess" xml:space="preserve">
|
||||||
|
<value>טלאי העקיפה הוחל בהצלחה!</value>
|
||||||
|
</data>
|
||||||
|
<data name="ctl_FormTitle" xml:space="preserve">
|
||||||
|
<value>מסייע השדרוג Flyby11</value>
|
||||||
|
</data>
|
||||||
|
<data name="ctl_inkCompPatch" xml:space="preserve">
|
||||||
|
<value>החל טלאי תאימות על ISO (התקנה נקייה)</value>
|
||||||
|
</data>
|
||||||
|
<data name="ctl_linkCiuv" xml:space="preserve">
|
||||||
|
<value>האם אני יכול לשדרג ל-Windows 11?</value>
|
||||||
|
</data>
|
||||||
|
<data name="ctl_linkVote" xml:space="preserve">
|
||||||
|
<value>האם השדרוג הצליח?</value>
|
||||||
|
</data>
|
||||||
|
<data name="ctl_statusLabel" xml:space="preserve">
|
||||||
|
<value>גרור את קובץ ה־ISO של Windows 11 לכאן כדי להחיל עליו טלאי ולהתקין על חומרה שאינה נתמכת (שדרוג במקום).</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_a1" xml:space="preserve">
|
||||||
|
<value>ת: ניתן להוריד את קובץ ה־ISO העדכני מאתר מיקרוסופט הרשמי או בעזרת Fido Downloader.</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_a2" xml:space="preserve">
|
||||||
|
<value>ת: אם הצלחת להתקין את Windows 11 וחסכת כסף – תוכל להשאיר כאן תרומה קטנה כהוקרת תודה.</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_a2Link" xml:space="preserve">
|
||||||
|
<value>לחץ כאן כדי לתרום ולהביע תמיכה.</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_a3" xml:space="preserve">
|
||||||
|
<value>ת: לאחר שה־ISO נצפה (mount), תהליך ההתקנה פועל ברקע. מתקין Windows יתחיל וידריך אותך בשלבים הנדרשים להתקנה.</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_a4" xml:space="preserve">
|
||||||
|
<value>ת: בדוק את הודעות השגיאה ודווח עליהן ב-GitHub.</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_a5" xml:space="preserve">
|
||||||
|
<value>ת: כן, מיקרוסופט השאירה דלת אחורית פתוחה. שיטה זו מנצלת את גרסת ההתקנה של Windows Server, אשר מדלגת על רוב בדיקות התאימות לחומרה.</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_a6" xml:space="preserve">
|
||||||
|
<value>ת: לפי מיקרוסופט עליך לזרוק את המחשב. אני ממליץ להתקין עליו Linux ולעבור מ-Windows.</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_a7" xml:space="preserve">
|
||||||
|
<value>ת: המפתח הוא Belim, המוכר גם בשם Builtbybel, שתרם רבות לקהילת Windows.</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_a7Link" xml:space="preserve">
|
||||||
|
<value>לחץ כאן כדי ללמוד עוד על עבודתו של המפתח.</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_downloadFido" xml:space="preserve">
|
||||||
|
<value>הורדה דרך Fido (מומלץ)</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_downloadMS" xml:space="preserve">
|
||||||
|
<value>אתר Microsoft</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_header" xml:space="preserve">
|
||||||
|
<value>שאלות נפוצות (FAQ)</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_q1" xml:space="preserve">
|
||||||
|
<value>ש: היכן ניתן להוריד את Windows 11 ISO העדכני?</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_q2" xml:space="preserve">
|
||||||
|
<value>ש: כיצד ניתן לתמוך במפתח?</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_q3" xml:space="preserve">
|
||||||
|
<value>ש: כיצד פועל תהליך ההתקנה לאחר צפייה ב־ISO?</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_q4" xml:space="preserve">
|
||||||
|
<value>ש: מה לעשות במקרה של שגיאה בהתקנה?</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_q5" xml:space="preserve">
|
||||||
|
<value>ש: האם מותר חוקית להשתמש בשיטה הזו?</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_q6" xml:space="preserve">
|
||||||
|
<value>ש: מהן החלופות אם המחשב שלי לא נתמך?</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_q7" xml:space="preserve">
|
||||||
|
<value>ש: מי המפתח?</value>
|
||||||
|
</data>
|
||||||
|
<data name="ciuView_lblPtAns" xml:space="preserve">
|
||||||
|
<value>1. המכשיר פועל עם גרסה נתמכת של Windows 10. אם המכשיר לא מריץ גרסה נתמכת, יש לשדרג לגרסה נתמכת של Windows 10.</value>
|
||||||
|
</data>
|
||||||
|
<data name="ciuView_lblPtAns2" xml:space="preserve">
|
||||||
|
<value>2. המכשיר עומד ב</value>
|
||||||
|
</data>
|
||||||
|
<data name="ciuView_lblPtAns3" xml:space="preserve">
|
||||||
|
<value>1. הורד והפעל את</value>
|
||||||
|
</data>
|
||||||
|
<data name="ciuView_lblPtAns4" xml:space="preserve">
|
||||||
|
<value>2. בחר את קיצור הדרך הבא של Windows Update ולאחר מכן לחץ על הלחצן "בדוק אם קיימים עדכונים":</value>
|
||||||
|
</data>
|
||||||
|
<data name="ciuView_lblPtAns5" xml:space="preserve">
|
||||||
|
<value>3. המכשיר שלך לא עומד בדרישות הרשמיות של Windows 11? ניתן להחיל טלאי תאימות כדי לאפשר שדרוג במקום דרך Windows Update.</value>
|
||||||
|
</data>
|
||||||
|
<data name="ciuView_lblPtHdr" xml:space="preserve">
|
||||||
|
<value>ניתן לשדרג מכשיר עם Windows 10 לגרסה 11 אם הוא עומד בקריטריונים הבאים:</value>
|
||||||
|
</data>
|
||||||
|
<data name="ciuView_lblPtHdr2" xml:space="preserve">
|
||||||
|
<value>כדי לבדוק אם מכשיר Windows 10 זכאי לשדרוג ל-Windows 11, בצע אחת מהאפשרויות הבאות:</value>
|
||||||
|
</data>
|
||||||
|
<data name="ciuView_linkPtAns2" xml:space="preserve">
|
||||||
|
<value>המפרט המינימלי להפעלת Windows 11.</value>
|
||||||
|
</data>
|
||||||
|
<data name="ciuView_linkPtAns3" xml:space="preserve">
|
||||||
|
<value>אפליקציית WhyNotWin11 לאימות עמידת המכשיר בדרישות המערכת המינימליות</value>
|
||||||
|
</data>
|
||||||
|
<data name="msg_InstallReady" xml:space="preserve">
|
||||||
|
<value>ניתן כעת להמשיך בהתקנת Windows 11. נא לעקוב אחר ההוראות בחלון ההתקנה.</value>
|
||||||
|
</data>
|
||||||
|
<data name="_debugInstallReady" xml:space="preserve">
|
||||||
|
<value>אתה מוכן להתקנת Windows 11 על חומרה לא נתמכת! התעלם מההודעה 'Windows Server' – הכל מוכן!</value>
|
||||||
|
</data>
|
||||||
|
<data name="_debugInstallRunElevated" xml:space="preserve">
|
||||||
|
<value>מתחיל את תהליך ההתקנה עם הרשאות מנהל...</value>
|
||||||
|
</data>
|
||||||
|
<data name="_debugStatusHandleIsoEx" xml:space="preserve">
|
||||||
|
<value>אופס! משהו השתבש:</value>
|
||||||
|
</data>
|
||||||
|
<data name="_debugStatusMounting" xml:space="preserve">
|
||||||
|
<value>מצרף את קובץ ה־ISO... אנא המתן!</value>
|
||||||
|
</data>
|
||||||
|
<data name="_debugStatusMountingFailed" xml:space="preserve">
|
||||||
|
<value>צירוף קובץ ה־ISO נכשל. נסה שוב.</value>
|
||||||
|
</data>
|
||||||
|
<data name="_debugStatusMountingSuccess" xml:space="preserve">
|
||||||
|
<value>קובץ ה־ISO צורף בהצלחה! מתחילים את הכנת Windows 11!</value>
|
||||||
|
</data>
|
||||||
|
<data name="_debugStatusRunning" xml:space="preserve">
|
||||||
|
<value>כמעט סיימנו! אנו מכינים את תהליך ההתקנה...</value>
|
||||||
|
</data>
|
||||||
|
<data name="_debugStatusSetupFileNotFound" xml:space="preserve">
|
||||||
|
<value>קובץ ההתקנה לא נמצא ב</value>
|
||||||
|
</data>
|
||||||
|
<data name="ctl_linkSelectComputer" xml:space="preserve">
|
||||||
|
<value>בחר מהמחשב</value>
|
||||||
|
</data>
|
||||||
|
<data name="msgClosing" xml:space="preserve">
|
||||||
|
<value>תודה שהשתמשת באפליקציה שלי!\n\nפיתחתי את האפליקציה הזו בזמני הפנוי כדי לעזור לך לשדרג מ־Windows 10 ל־Windows 11 – גם על מחשבים שאינם נתמכים לפי דרישות החומרה של מיקרוסופט.\n\nהאפליקציה שלי עוזרת לך להימנע מקניית מחשב חדש ותורמת להפחתת פסולת אלקטרונית מיותרת.\n\nבדרך כלל אני לא גובה תשלום על הפרויקטים שלי – לא עבור הפיתוח ולא עבור התמיכה.\nאבל מכיוון שאפליקציה זו מקיפה יותר, כוללת יותר תכונות ודורשת יותר תמיכה, אשמח אם תוכל לשקול תרומה קטנה בהתנדבות, אם זה אפשרי עבורך.\n\nכמובן, רק אם אתה רוצה ויכול להרשות לעצמך.\n\nהאם ברצונך לתרום ב-PayPal עכשיו?</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
@@ -0,0 +1,285 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="compPatch_debugCancel" xml:space="preserve">
|
||||||
|
<value>A felhasználó megszakította a javítás megkerülését.</value>
|
||||||
|
</data>
|
||||||
|
<data name="compPatch_debugNotRemovableDrive" xml:space="preserve">
|
||||||
|
<value>A felhasználó megpróbált kiválasztani egy nem cserélhető meghajtót.</value>
|
||||||
|
</data>
|
||||||
|
<data name="compPatch_debugNoUSBDrive" xml:space="preserve">
|
||||||
|
<value>Nincs USB-meghajtó kiválasztva a javításhoz.</value>
|
||||||
|
</data>
|
||||||
|
<data name="compPatch_msgFailedEx" xml:space="preserve">
|
||||||
|
<value>Nem sikerült alkalmazni a bypass javítást:</value>
|
||||||
|
</data>
|
||||||
|
<data name="compPatch_msgNotRemovableDrive" xml:space="preserve">
|
||||||
|
<value>A kiválasztott elérési út nem cserélhető meghajtó. Válasszon egy USB-meghajtót.</value>
|
||||||
|
</data>
|
||||||
|
<data name="compPatch_msgSelectDrive" xml:space="preserve">
|
||||||
|
<value>Válassza ki a Windows 11 telepítőfájljait tartalmazó USB-meghajtót.\nEz a funkció kompatibilitási javítást ad hozzá bizonyos rendszerkövetelmények megkerüléséhez.\nKompatibilis bármely eszközzel előkészített meghajtókkal, beleértve a Rufust is. Győződjön meg arról, hogy a meghajtó készen áll!</value>
|
||||||
|
</data>
|
||||||
|
<data name="compPatch_msgSelectDriveConfirm" xml:space="preserve">
|
||||||
|
<value>Ez alkalmazza a kompatibilitási megkerülési beállításokat a kiválasztott USB-meghajtón. Folytassuk?</value>
|
||||||
|
</data>
|
||||||
|
<data name="compPatch_msgSuccess" xml:space="preserve">
|
||||||
|
<value>A bypass tapasz sikeresen alkalmazva!</value>
|
||||||
|
</data>
|
||||||
|
<data name="ctl_FormTitle" xml:space="preserve">
|
||||||
|
<value>Flyby11 frissítési segéd</value>
|
||||||
|
</data>
|
||||||
|
<data name="ctl_inkCompPatch" xml:space="preserve">
|
||||||
|
<value>Alkalmazza a kompatibilitási javítást az ISO -ra (tiszta telepítés)</value>
|
||||||
|
</data>
|
||||||
|
<data name="ctl_linkCiuv" xml:space="preserve">
|
||||||
|
<value>Frissíthetek Windows 11-re?</value>
|
||||||
|
</data>
|
||||||
|
<data name="ctl_linkVote" xml:space="preserve">
|
||||||
|
<value>Működött a frissítés?</value>
|
||||||
|
</data>
|
||||||
|
<data name="ctl_statusLabel" xml:space="preserve">
|
||||||
|
<value>Húzza a Windows 11 ISO-t a javításhoz és a nem támogatott hardverre való telepítéshez (Helyi frissítés).</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_a1" xml:space="preserve">
|
||||||
|
<value>V: Letöltheti a legújabb ISO-t a Microsoft hivatalos webhelyéről, vagy használhatja a Fido Downloadert.</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_a2" xml:space="preserve">
|
||||||
|
<value>V: Ha sikeresen telepítette a Windows 11-et, és pénzt takarított meg, nyugodtan hagyjon itt egy kis köszönetet.</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_a2Link" xml:space="preserve">
|
||||||
|
<value>Kattintson ide, hogy adományozzon és kifejezze támogatását.</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_a3" xml:space="preserve">
|
||||||
|
<value>V: Az ISO csatlakoztatása után a beállítási folyamat a háttérben fut. Elindul a Windows telepítője, amely végigvezeti Önt a Windows 11 gépre történő telepítéséhez szükséges lépéseken.</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_a4" xml:space="preserve">
|
||||||
|
<value>V: Kérjük, ellenőrizze a hibaüzeneteket, és jelentse a GitHubon.</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_a5" xml:space="preserve">
|
||||||
|
<value>V: Igen, a Microsoft nyitva hagyott egy hátsó ajtót. Ez a módszer a Windows 11 telepítési folyamatának egy olyan funkcióját használja, amely a telepítés Windows Server-változatát használja. A szokásos Windows 11 beállítással ellentétben ez a változat kihagyja a legtöbb hardverkompatibilitási ellenőrzést.</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_a6" xml:space="preserve">
|
||||||
|
<value>V: A Microsoft szerint ki kell dobnia a számítógépét. Azt javaslom, hogy telepítse rá a Linuxot, és távolodjon el a Windowstól.</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_a7" xml:space="preserve">
|
||||||
|
<value>V: A fejlesztő Belim, más néven Builtbybel, aki sok kóddal járult hozzá a Windows közösséghez.</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_a7Link" xml:space="preserve">
|
||||||
|
<value>Kattintson ide, ha többet szeretne megtudni a fejlesztő munkájáról.</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_downloadFido" xml:space="preserve">
|
||||||
|
<value>Letöltés a Fido-n keresztül (ajánlott)</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_downloadMS" xml:space="preserve">
|
||||||
|
<value>Microsoft webhely</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_header" xml:space="preserve">
|
||||||
|
<value>Gyakran Ismételt Kérdések (GYIK)</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_q1" xml:space="preserve">
|
||||||
|
<value>K: Hol szerezhetem be a legújabb Windows 11 ISO-t?</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_q2" xml:space="preserve">
|
||||||
|
<value>K: Hogyan támogathatom a fejlesztőt?</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_q3" xml:space="preserve">
|
||||||
|
<value>K: Hogyan működik a beállítási folyamat az ISO csatlakoztatása után?</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_q4" xml:space="preserve">
|
||||||
|
<value>K: Mi a teendő, ha problémákat tapasztalok a telepítés során?</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_q5" xml:space="preserve">
|
||||||
|
<value>K: Legális ennek a módszernek a használata?</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_q6" xml:space="preserve">
|
||||||
|
<value>K: Milyen alternatívák vannak, ha a számítógépem nem támogatott?</value>
|
||||||
|
</data>
|
||||||
|
<data name="faq_q7" xml:space="preserve">
|
||||||
|
<value>K: Ki a fejlesztő?</value>
|
||||||
|
</data>
|
||||||
|
<data name="ciuView_lblPtAns" xml:space="preserve">
|
||||||
|
<value>1. Az eszközön a Windows 10 jelenleg támogatott verziója fut. Ha az eszközön jelenleg nem a Windows 10 támogatott verziója fut, frissítsen a Windows 10 támogatott verziójára.</value>
|
||||||
|
</data>
|
||||||
|
<data name="ciuView_lblPtAns2" xml:space="preserve">
|
||||||
|
<value>2. Az eszköz megfelel</value>
|
||||||
|
</data>
|
||||||
|
<data name="ciuView_lblPtAns3" xml:space="preserve">
|
||||||
|
<value>1. Töltse le és futtassa a</value>
|
||||||
|
</data>
|
||||||
|
<data name="ciuView_lblPtAns4" xml:space="preserve">
|
||||||
|
<value>2. Válassza ki a következő Windows Update parancsikont, majd válassza a Frissítések keresése gombot:</value>
|
||||||
|
</data>
|
||||||
|
<data name="ciuView_lblPtAns5" xml:space="preserve">
|
||||||
|
<value>3. Eszköze nem felel meg a Windows 11 hivatalos követelményeinek? Kompatibilitási javítás alkalmazásával engedélyezheti a helyben történő frissítést a Windows Update szolgáltatáson keresztül.</value>
|
||||||
|
</data>
|
||||||
|
<data name="ciuView_lblPtHdr" xml:space="preserve">
|
||||||
|
<value>Egy meglévő Windows 10-es eszköz frissíthető Windows 11-re, ha megfelel az alábbi feltételeknek:</value>
|
||||||
|
</data>
|
||||||
|
<data name="ciuView_lblPtHdr2" xml:space="preserve">
|
||||||
|
<value>Ha meg szeretné tudni, hogy egy Windows 10-es eszköz jogosult-e a Windows 11-re való frissítésre, kövesse az alábbi lehetőségek egyikét:</value>
|
||||||
|
</data>
|
||||||
|
<data name="ciuView_linkPtAns2" xml:space="preserve">
|
||||||
|
<value>a Windows 11 futtatásához szükséges minimális hardverspecifikációk.</value>
|
||||||
|
</data>
|
||||||
|
<data name="ciuView_linkPtAns3" xml:space="preserve">
|
||||||
|
<value>WhyNotWin11 alkalmazás annak megerősítéséhez, hogy a készülék megfelel a minimális rendszerkövetelményeknek</value>
|
||||||
|
</data>
|
||||||
|
<data name="msg_InstallReady" xml:space="preserve">
|
||||||
|
<value>A Windows 11 telepítése most folytatható. Kérjük, kövesse a beállítási ablakban található utasításokat.</value>
|
||||||
|
<comment>Install</comment>
|
||||||
|
</data>
|
||||||
|
<data name="_debugInstallReady" xml:space="preserve">
|
||||||
|
<value>Készen áll a Windows 11 telepítésére nem támogatott hardverre! Hagyja figyelmen kívül a' Windows Server ' parancsot; minden készen áll!</value>
|
||||||
|
<comment>Install</comment>
|
||||||
|
</data>
|
||||||
|
<data name="_debugInstallRunElevated" xml:space="preserve">
|
||||||
|
<value>A telepítési folyamat indítása emelt jogosultságokkal...</value>
|
||||||
|
<comment>Install</comment>
|
||||||
|
</data>
|
||||||
|
<data name="_debugStatusHandleIsoEx" xml:space="preserve">
|
||||||
|
<value>Hoppá! Valami elromlott:</value>
|
||||||
|
<comment>Mounting</comment>
|
||||||
|
</data>
|
||||||
|
<data name="_debugStatusMounting" xml:space="preserve">
|
||||||
|
<value>Az ISO csatlakoztatása... Kitartás!</value>
|
||||||
|
<comment>Mounting</comment>
|
||||||
|
</data>
|
||||||
|
<data name="_debugStatusMountingFailed" xml:space="preserve">
|
||||||
|
<value>Nem sikerült csatlakoztatni az ISO-t. Kérjük, próbálja újra.</value>
|
||||||
|
<comment>Mounting</comment>
|
||||||
|
</data>
|
||||||
|
<data name="_debugStatusMountingSuccess" xml:space="preserve">
|
||||||
|
<value>ISO sikeresen csatlakoztatva! Lássunk hozzá a Windows 11 elkészítéséhez!</value>
|
||||||
|
<comment>Mounting</comment>
|
||||||
|
</data>
|
||||||
|
<data name="_debugStatusRunning" xml:space="preserve">
|
||||||
|
<value>Majdnem kész! Előkészítjük a beállítást...</value>
|
||||||
|
<comment>Install</comment>
|
||||||
|
</data>
|
||||||
|
<data name="_debugStatusSetupFileNotFound" xml:space="preserve">
|
||||||
|
<value>A telepítőfájl nem található a(z)</value>
|
||||||
|
<comment>Mounting</comment>
|
||||||
|
</data>
|
||||||
|
<data name="ctl_linkSelectComputer" xml:space="preserve">
|
||||||
|
<value>Kiválasztás a számítógépről</value>
|
||||||
|
</data>
|
||||||
|
<data name="msgClosing" xml:space="preserve">
|
||||||
|
<value>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?</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<root>
|
<root>
|
||||||
<!--
|
<!--
|
||||||
Microsoft ResX Schema
|
Microsoft ResX Schema
|
||||||
@@ -148,7 +148,7 @@
|
|||||||
<value>ISO に互換性パッチを適用する (クリーンインストール)</value>
|
<value>ISO に互換性パッチを適用する (クリーンインストール)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ctl_linkCiuv" xml:space="preserve">
|
<data name="ctl_linkCiuv" xml:space="preserve">
|
||||||
<value>Windows 11 にアップグレードしますか?</value>
|
<value>Windows 11 にアップグレード可能ですか?</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ctl_linkVote" xml:space="preserve">
|
<data name="ctl_linkVote" xml:space="preserve">
|
||||||
<value>アップグレードは成功しましたか?</value>
|
<value>アップグレードは成功しましたか?</value>
|
||||||
@@ -214,19 +214,19 @@
|
|||||||
<value>Q: 開発者は誰ですか?</value>
|
<value>Q: 開発者は誰ですか?</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ciuView_lblPtAns" xml:space="preserve">
|
<data name="ciuView_lblPtAns" xml:space="preserve">
|
||||||
<value>1. デバイスは現在サポートされているバージョンの Windows 10 を実行しています。デバイスが現在サポートされている Windows 10 を実行していない場合は、サポートされている Windows 10 にアップグレードしてください。</value>
|
<value>1. デバイスで現在サポートされているバージョンの Windows 10 を実行している状態である。サポートしていない Windows 10 を実行している場合は、サポートされている Windows 10 にアップグレードしてください。</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ciuView_lblPtAns2" xml:space="preserve">
|
<data name="ciuView_lblPtAns2" xml:space="preserve">
|
||||||
<value>2. このデバイス</value>
|
<value>2. デバイスで</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ciuView_lblPtAns3" xml:space="preserve">
|
<data name="ciuView_lblPtAns3" xml:space="preserve">
|
||||||
<value>1. ダウンロードして実行する</value>
|
<value>1. ダウンロードで確認</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ciuView_lblPtAns4" xml:space="preserve">
|
<data name="ciuView_lblPtAns4" xml:space="preserve">
|
||||||
<value>2. 次の Windows Update ショートカットを選択して「更新プログラムの確認」ボタンを選択します:</value>
|
<value>2. 次に Windows Update を選択後に「更新プログラムのチェック」ボタンを選択します:</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ciuView_lblPtAns5" xml:space="preserve">
|
<data name="ciuView_lblPtAns5" xml:space="preserve">
|
||||||
<value>3. 使用しているデバイスは Windows 11 の公式要件を満たしていませんか?互換性パッチを適用して、Windows Update 経由でのインプレース アップグレードを有効化することができます。</value>
|
<value>3. 使用しているデバイスは Windows 11 の要件を満たしていませんか?互換性パッチを適用して、Windows Update 経由でのインプレース アップグレードを有効化することができます。</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ciuView_lblPtHdr" xml:space="preserve">
|
<data name="ciuView_lblPtHdr" xml:space="preserve">
|
||||||
<value>既存の Windows 10 デバイスは、次の条件を満たしている場合に Windows 11 にアップグレードできます:</value>
|
<value>既存の Windows 10 デバイスは、次の条件を満たしている場合に Windows 11 にアップグレードできます:</value>
|
||||||
@@ -235,10 +235,10 @@
|
|||||||
<value>Windows 10 デバイスが Windows 11 にアップグレードできるかどうかを確認するには、次のいずれかのオプションに従ってください。</value>
|
<value>Windows 10 デバイスが Windows 11 にアップグレードできるかどうかを確認するには、次のいずれかのオプションに従ってください。</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ciuView_linkPtAns2" xml:space="preserve">
|
<data name="ciuView_linkPtAns2" xml:space="preserve">
|
||||||
<value>Windows 11 を実行するための最小ハードウェア仕様である。</value>
|
<value>Windows 11 を実行するための最小ハードウェア仕様を確認する。</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ciuView_linkPtAns3" xml:space="preserve">
|
<data name="ciuView_linkPtAns3" xml:space="preserve">
|
||||||
<value>WhyNotWin11 アプリは、デバイスが最小のシステム要件を満たしているかどうかを確認できます</value>
|
<value>WhyNotWin11 で最小のシステム要件を満たしているか確認できます。</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="msg_InstallReady" xml:space="preserve">
|
<data name="msg_InstallReady" xml:space="preserve">
|
||||||
<value>Windows 11 のインストールを続行できます。セットアップ ウィンドウの指示に従ってください。</value>
|
<value>Windows 11 のインストールを続行できます。セットアップ ウィンドウの指示に従ってください。</value>
|
||||||
@@ -270,12 +270,16 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="_debugStatusRunning" xml:space="preserve">
|
<data name="_debugStatusRunning" xml:space="preserve">
|
||||||
<value>もうすぐです!セットアップを準備しています...</value>
|
<value>もうすぐです!セットアップを準備しています...</value>
|
||||||
|
<comment>インストール</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="_debugStatusSetupFileNotFound" xml:space="preserve">
|
<data name="_debugStatusSetupFileNotFound" xml:space="preserve">
|
||||||
<value>セットアップファイルが見つかりません</value>
|
<value>セットアップファイルが見つかりません</value>
|
||||||
<comment>マウント中</comment>
|
<comment>マウント中</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="msgClosing" xml:space="preserve">
|
<data name="ctl_linkSelectComputer" xml:space="preserve">
|
||||||
<value />
|
<value>コンピューターから ISO を選択</value>
|
||||||
</data>
|
</data>
|
||||||
</root>
|
<data name="msgClosing" xml:space="preserve">
|
||||||
|
<value>私が開発したアプリをご利用いただきありがとうございます!\n\n私は Windows 10 から Windows 11 へのアップグレードを支援するために空き時間を利用してこのアプリを開発しました。Microsoft のハードウェア要件では通常サポートされない PC でもアップグレードできます。\n\nこのアプリは、新しいコンピューターの購入を回避や不要な電子機器廃棄物の削減に積極的に貢献します。\n\n私は開発費やサポート費用、プロジェクトに対して料金を一切請求しません。\nただし、このアプリは非常に包括的で多くの機能を提供し、より多くの機能を提供するためにより多くのサポートを必要とするため、可能であれば任意の寄付を検討していただければ幸いです。少額でも構いません。\n\nもちろんですが、寄付をしたいという希望があることと余裕がある場合に限ります。\n\n今すぐ PayPal で寄付しますか?</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
@@ -1,223 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<root>
|
|
||||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
|
||||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
|
||||||
<xsd:element name="root" msdata:IsDataSet="true">
|
|
||||||
<xsd:complexType>
|
|
||||||
<xsd:choice maxOccurs="unbounded">
|
|
||||||
<xsd:element name="metadata">
|
|
||||||
<xsd:complexType>
|
|
||||||
<xsd:sequence>
|
|
||||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
|
||||||
</xsd:sequence>
|
|
||||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
|
||||||
<xsd:attribute name="type" type="xsd:string" />
|
|
||||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
|
||||||
<xsd:attribute ref="xml:space" />
|
|
||||||
</xsd:complexType>
|
|
||||||
</xsd:element>
|
|
||||||
<xsd:element name="assembly">
|
|
||||||
<xsd:complexType>
|
|
||||||
<xsd:attribute name="alias" type="xsd:string" />
|
|
||||||
<xsd:attribute name="name" type="xsd:string" />
|
|
||||||
</xsd:complexType>
|
|
||||||
</xsd:element>
|
|
||||||
<xsd:element name="data">
|
|
||||||
<xsd:complexType>
|
|
||||||
<xsd:sequence>
|
|
||||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
|
||||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
|
||||||
</xsd:sequence>
|
|
||||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
|
||||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
|
||||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
|
||||||
<xsd:attribute ref="xml:space" />
|
|
||||||
</xsd:complexType>
|
|
||||||
</xsd:element>
|
|
||||||
<xsd:element name="resheader">
|
|
||||||
<xsd:complexType>
|
|
||||||
<xsd:sequence>
|
|
||||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
|
||||||
</xsd:sequence>
|
|
||||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
|
||||||
</xsd:complexType>
|
|
||||||
</xsd:element>
|
|
||||||
</xsd:choice>
|
|
||||||
</xsd:complexType>
|
|
||||||
</xsd:element>
|
|
||||||
</xsd:schema>
|
|
||||||
<resheader name="resmimetype">
|
|
||||||
<value>text/microsoft-resx</value>
|
|
||||||
</resheader>
|
|
||||||
<resheader name="version">
|
|
||||||
<value>2.0</value>
|
|
||||||
</resheader>
|
|
||||||
<resheader name="reader">
|
|
||||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
||||||
</resheader>
|
|
||||||
<resheader name="writer">
|
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
||||||
</resheader>
|
|
||||||
<data name="compPatch_debugCancel" xml:space="preserve">
|
|
||||||
<value>Установка патча совместимости отменена пользователем.</value>
|
|
||||||
</data>
|
|
||||||
<data name="compPatch_debugNotRemovableDrive" xml:space="preserve">
|
|
||||||
<value>Пользователь пытался выбрать несъемный диск.</value>
|
|
||||||
</data>
|
|
||||||
<data name="compPatch_debugNoUSBDrive" xml:space="preserve">
|
|
||||||
<value>USB-накопитель для установки патча не выбран.</value>
|
|
||||||
</data>
|
|
||||||
<data name="compPatch_msgFailedEx" xml:space="preserve">
|
|
||||||
<value>Не удалось применить патч совместимости:</value>
|
|
||||||
</data>
|
|
||||||
<data name="compPatch_msgNotRemovableDrive" xml:space="preserve">
|
|
||||||
<value>Выбранный путь не является съемным диском. Пожалуйста, выберите USB-накопитель.</value>
|
|
||||||
</data>
|
|
||||||
<data name="compPatch_msgSelectDrive" xml:space="preserve">
|
|
||||||
<value>Выберите USB-накопитель с файлами установки Windows 11.\nЭта функция добавляет патч совместимости для обхода определенных системных требований.\nСовместимо с накопителями, подготовленными любым инструментом, включая Rufus. Убедитесь, что накопитель готов!</value>
|
|
||||||
</data>
|
|
||||||
<data name="compPatch_msgSelectDriveConfirm" xml:space="preserve">
|
|
||||||
<value>Это применит настройки обхода совместимости на выбранном USB-накопителе. Продолжить?</value>
|
|
||||||
</data>
|
|
||||||
<data name="compPatch_msgSuccess" xml:space="preserve">
|
|
||||||
<value>Патч совместимости успешно применен!</value>
|
|
||||||
</data>
|
|
||||||
<data name="ctl_FormTitle" xml:space="preserve">
|
|
||||||
<value>Помощник по обновлению Flyby11</value>
|
|
||||||
</data>
|
|
||||||
<data name="ctl_inkCompPatch" xml:space="preserve">
|
|
||||||
<value>Применить патч совместимости к ISO (чистая установка)</value>
|
|
||||||
</data>
|
|
||||||
<data name="ctl_linkCiuv" xml:space="preserve">
|
|
||||||
<value>Могу ли я обновиться до Windows 11?</value>
|
|
||||||
</data>
|
|
||||||
<data name="ctl_linkVote" xml:space="preserve">
|
|
||||||
<value>Получилось ли обновление?</value>
|
|
||||||
</data>
|
|
||||||
<data name="ctl_statusLabel" xml:space="preserve">
|
|
||||||
<value>Перетащите ISO-файл Windows 11 для применения патча и установки на неподдерживаемом оборудовании (обновление на месте).</value>
|
|
||||||
</data>
|
|
||||||
<data name="faq_a1" xml:space="preserve">
|
|
||||||
<value>О: Вы можете скачать последний ISO-файл с официального сайта Microsoft или использовать Fido Downloader.</value>
|
|
||||||
</data>
|
|
||||||
<data name="faq_a2" xml:space="preserve">
|
|
||||||
<value>О: Если вы успешно установили Windows 11 и сэкономили деньги, не стесняйтесь оставить небольшое пожертвование в знак благодарности здесь.</value>
|
|
||||||
</data>
|
|
||||||
<data name="faq_a2Link" xml:space="preserve">
|
|
||||||
<value>Нажмите здесь, чтобы пожертвовать и поддержать проект.</value>
|
|
||||||
</data>
|
|
||||||
<data name="faq_a3" xml:space="preserve">
|
|
||||||
<value>О: После монтирования ISO-файла процесс установки запускается в фоновом режиме. Установщик Windows запустится и проведет вас через необходимые шаги для установки Windows 11 на ваш компьютер.</value>
|
|
||||||
</data>
|
|
||||||
<data name="faq_a4" xml:space="preserve">
|
|
||||||
<value>О: Пожалуйста, проверьте сообщения об ошибках и сообщите о проблеме на GitHub.</value>
|
|
||||||
</data>
|
|
||||||
<data name="faq_a5" xml:space="preserve">
|
|
||||||
<value>О: Да, Microsoft оставила лазейку. Этот метод использует особенность процесса установки Windows 11, которая использует серверный вариант установки. В отличие от обычной установки Windows 11, этот вариант пропускает большинство проверок совместимости оборудования.</value>
|
|
||||||
</data>
|
|
||||||
<data name="faq_a6" xml:space="preserve">
|
|
||||||
<value>О: По мнению Microsoft, вам следует выбросить свой ПК. Я бы предложил установить на него Linux и отказаться от Windows.</value>
|
|
||||||
</data>
|
|
||||||
<data name="faq_a7" xml:space="preserve">
|
|
||||||
<value>О: Разработчик - Belim, также известный как Builtbybel, который внес большой вклад в сообщество Windows.</value>
|
|
||||||
</data>
|
|
||||||
<data name="faq_a7Link" xml:space="preserve">
|
|
||||||
<value>Нажмите здесь, чтобы узнать больше о работе разработчика.</value>
|
|
||||||
</data>
|
|
||||||
<data name="faq_downloadFido" xml:space="preserve">
|
|
||||||
<value>Скачать через Fido (рекомендуется)</value>
|
|
||||||
</data>
|
|
||||||
<data name="faq_downloadMS" xml:space="preserve">
|
|
||||||
<value>Сайт Microsoft</value>
|
|
||||||
</data>
|
|
||||||
<data name="faq_header" xml:space="preserve">
|
|
||||||
<value>Часто задаваемые вопросы (FAQ)</value>
|
|
||||||
</data>
|
|
||||||
<data name="faq_q1" xml:space="preserve">
|
|
||||||
<value>В: Где взять свежий ISO-файл Windows 11?</value>
|
|
||||||
</data>
|
|
||||||
<data name="faq_q2" xml:space="preserve">
|
|
||||||
<value>В: Как я могу поддержать разработчика?</value>
|
|
||||||
</data>
|
|
||||||
<data name="faq_q3" xml:space="preserve">
|
|
||||||
<value>В: Как работает процесс установки после монтирования ISO?</value>
|
|
||||||
</data>
|
|
||||||
<data name="faq_q4" xml:space="preserve">
|
|
||||||
<value>В: Что делать, если возникли проблемы во время установки?</value>
|
|
||||||
</data>
|
|
||||||
<data name="faq_q5" xml:space="preserve">
|
|
||||||
<value>В: Законно ли использовать этот метод?</value>
|
|
||||||
</data>
|
|
||||||
<data name="faq_q6" xml:space="preserve">
|
|
||||||
<value>В: Какие есть альтернативы, если мой ПК не поддерживается?</value>
|
|
||||||
</data>
|
|
||||||
<data name="faq_q7" xml:space="preserve">
|
|
||||||
<value>В: Кто разработчик?</value>
|
|
||||||
</data>
|
|
||||||
<data name="ciuView_lblPtAns" xml:space="preserve">
|
|
||||||
<value>1. Устройство работает на поддерживаемой версии Windows 10. Если устройство сейчас не работает на поддерживаемой версии Windows 10, обновите его до поддерживаемой версии Windows 10.</value>
|
|
||||||
</data>
|
|
||||||
<data name="ciuView_lblPtAns2" xml:space="preserve">
|
|
||||||
<value>2. Устройство соответствует</value>
|
|
||||||
</data>
|
|
||||||
<data name="ciuView_lblPtAns3" xml:space="preserve">
|
|
||||||
<value>1. Скачайте и запустите</value>
|
|
||||||
</data>
|
|
||||||
<data name="ciuView_lblPtAns4" xml:space="preserve">
|
|
||||||
<value>2. Выберите следующий ярлык Windows Update и нажмите кнопку "Проверить наличие обновлений":</value>
|
|
||||||
</data>
|
|
||||||
<data name="ciuView_lblPtAns5" xml:space="preserve">
|
|
||||||
<value>3. Ваше устройство не соответствует официальным требованиям Windows 11? Вы можете применить патч совместимости для включения обновления на месте через Windows Update.</value>
|
|
||||||
</data>
|
|
||||||
<data name="ciuView_lblPtHdr" xml:space="preserve">
|
|
||||||
<value>Существующее устройство с Windows 10 может быть обновлено до Windows 11, если оно соответствует следующим критериям:</value>
|
|
||||||
</data>
|
|
||||||
<data name="ciuView_lblPtHdr2" xml:space="preserve">
|
|
||||||
<value>Чтобы проверить, может ли устройство с Windows 10 быть обновлено до Windows 11, выполните один из следующих вариантов:</value>
|
|
||||||
</data>
|
|
||||||
<data name="ciuView_linkPtAns2" xml:space="preserve">
|
|
||||||
<value>минимальным требованиям к оборудованию для запуска Windows 11.</value>
|
|
||||||
</data>
|
|
||||||
<data name="ciuView_linkPtAns3" xml:space="preserve">
|
|
||||||
<value>приложение WhyNotWin11, чтобы подтвердить, что ваше устройство соответствует минимальным системным требованиям</value>
|
|
||||||
</data>
|
|
||||||
<data name="msg_InstallReady" xml:space="preserve">
|
|
||||||
<value>Установка Windows 11 может быть продолжена. Пожалуйста, следуйте инструкциям в окне установки.</value>
|
|
||||||
<comment>Install</comment>
|
|
||||||
</data>
|
|
||||||
<data name="_debugInstallReady" xml:space="preserve">
|
|
||||||
<value>Вы готовы к установке Windows 11 на неподдерживаемом оборудовании! Игнорируйте сообщение о 'Windows Server' - всё готово!</value>
|
|
||||||
<comment>Install</comment>
|
|
||||||
</data>
|
|
||||||
<data name="_debugInstallRunElevated" xml:space="preserve">
|
|
||||||
<value>Запуск процесса установки с повышенными привилегиями...</value>
|
|
||||||
<comment>Install</comment>
|
|
||||||
</data>
|
|
||||||
<data name="_debugStatusHandleIsoEx" xml:space="preserve">
|
|
||||||
<value>Упс! Что-то пошло не так:</value>
|
|
||||||
<comment>Mounting</comment>
|
|
||||||
</data>
|
|
||||||
<data name="_debugStatusMounting" xml:space="preserve">
|
|
||||||
<value>Монтирование ISO... Подождите!</value>
|
|
||||||
<comment>Mounting</comment>
|
|
||||||
</data>
|
|
||||||
<data name="_debugStatusMountingFailed" xml:space="preserve">
|
|
||||||
<value>Не удалось смонтировать ISO. Пожалуйста, попробуйте снова.</value>
|
|
||||||
<comment>Mounting</comment>
|
|
||||||
</data>
|
|
||||||
<data name="_debugStatusMountingSuccess" xml:space="preserve">
|
|
||||||
<value>ISO успешно смонтирован! Давайте подготовим эту Windows 11!</value>
|
|
||||||
<comment>Mounting</comment>
|
|
||||||
</data>
|
|
||||||
<data name="_debugStatusRunning" xml:space="preserve">
|
|
||||||
<value>Почти готово! Подготавливаем установку...</value>
|
|
||||||
<comment>Install</comment>
|
|
||||||
</data>
|
|
||||||
<data name="_debugStatusSetupFileNotFound" xml:space="preserve">
|
|
||||||
<value>Файл установки не найден в</value>
|
|
||||||
<comment>Mounting</comment>
|
|
||||||
</data>
|
|
||||||
<data name="ctl_linkSelectComputer" xml:space="preserve">
|
|
||||||
<value>Выбрать с компьютера</value>
|
|
||||||
</data>
|
|
||||||
</root>
|
|
||||||
Generated
+22
-5
@@ -35,6 +35,7 @@
|
|||||||
this.panelFAQ = new System.Windows.Forms.Panel();
|
this.panelFAQ = new System.Windows.Forms.Panel();
|
||||||
this.panelContainer = new System.Windows.Forms.Panel();
|
this.panelContainer = new System.Windows.Forms.Panel();
|
||||||
this.panelMain = new System.Windows.Forms.Panel();
|
this.panelMain = new System.Windows.Forms.Panel();
|
||||||
|
this.chkAdvancedMode = new System.Windows.Forms.CheckBox();
|
||||||
this.panelDragDrop.SuspendLayout();
|
this.panelDragDrop.SuspendLayout();
|
||||||
this.panelContainer.SuspendLayout();
|
this.panelContainer.SuspendLayout();
|
||||||
this.panelMain.SuspendLayout();
|
this.panelMain.SuspendLayout();
|
||||||
@@ -48,7 +49,7 @@
|
|||||||
this.panelDragDrop.Controls.Add(this.dropdownOptions);
|
this.panelDragDrop.Controls.Add(this.dropdownOptions);
|
||||||
this.panelDragDrop.Controls.Add(this.btnExperience);
|
this.panelDragDrop.Controls.Add(this.btnExperience);
|
||||||
this.panelDragDrop.Controls.Add(this.statusLabel);
|
this.panelDragDrop.Controls.Add(this.statusLabel);
|
||||||
this.panelDragDrop.Location = new System.Drawing.Point(57, 178);
|
this.panelDragDrop.Location = new System.Drawing.Point(57, 190);
|
||||||
this.panelDragDrop.Name = "panelDragDrop";
|
this.panelDragDrop.Name = "panelDragDrop";
|
||||||
this.panelDragDrop.Size = new System.Drawing.Size(436, 256);
|
this.panelDragDrop.Size = new System.Drawing.Size(436, 256);
|
||||||
this.panelDragDrop.TabIndex = 0;
|
this.panelDragDrop.TabIndex = 0;
|
||||||
@@ -110,7 +111,7 @@
|
|||||||
this.panelFAQ.Dock = System.Windows.Forms.DockStyle.Right;
|
this.panelFAQ.Dock = System.Windows.Forms.DockStyle.Right;
|
||||||
this.panelFAQ.Location = new System.Drawing.Point(589, 0);
|
this.panelFAQ.Location = new System.Drawing.Point(589, 0);
|
||||||
this.panelFAQ.Name = "panelFAQ";
|
this.panelFAQ.Name = "panelFAQ";
|
||||||
this.panelFAQ.Size = new System.Drawing.Size(331, 585);
|
this.panelFAQ.Size = new System.Drawing.Size(331, 609);
|
||||||
this.panelFAQ.TabIndex = 207;
|
this.panelFAQ.TabIndex = 207;
|
||||||
//
|
//
|
||||||
// panelContainer
|
// panelContainer
|
||||||
@@ -120,7 +121,7 @@
|
|||||||
this.panelContainer.Dock = System.Windows.Forms.DockStyle.Fill;
|
this.panelContainer.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
this.panelContainer.Location = new System.Drawing.Point(0, 0);
|
this.panelContainer.Location = new System.Drawing.Point(0, 0);
|
||||||
this.panelContainer.Name = "panelContainer";
|
this.panelContainer.Name = "panelContainer";
|
||||||
this.panelContainer.Size = new System.Drawing.Size(589, 585);
|
this.panelContainer.Size = new System.Drawing.Size(589, 609);
|
||||||
this.panelContainer.TabIndex = 209;
|
this.panelContainer.TabIndex = 209;
|
||||||
//
|
//
|
||||||
// panelMain
|
// panelMain
|
||||||
@@ -129,19 +130,33 @@
|
|||||||
| System.Windows.Forms.AnchorStyles.Left)
|
| System.Windows.Forms.AnchorStyles.Left)
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.panelMain.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(243)))), ((int)(((byte)(243)))), ((int)(((byte)(243)))));
|
this.panelMain.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(243)))), ((int)(((byte)(243)))), ((int)(((byte)(243)))));
|
||||||
|
this.panelMain.Controls.Add(this.chkAdvancedMode);
|
||||||
this.panelMain.Controls.Add(this.panelDragDrop);
|
this.panelMain.Controls.Add(this.panelDragDrop);
|
||||||
this.panelMain.Location = new System.Drawing.Point(5, 3);
|
this.panelMain.Location = new System.Drawing.Point(5, 3);
|
||||||
this.panelMain.Name = "panelMain";
|
this.panelMain.Name = "panelMain";
|
||||||
this.panelMain.Size = new System.Drawing.Size(580, 572);
|
this.panelMain.Size = new System.Drawing.Size(580, 596);
|
||||||
this.panelMain.TabIndex = 1;
|
this.panelMain.TabIndex = 1;
|
||||||
//
|
//
|
||||||
|
// chkAdvancedMode
|
||||||
|
//
|
||||||
|
this.chkAdvancedMode.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||||
|
this.chkAdvancedMode.AutoSize = true;
|
||||||
|
this.chkAdvancedMode.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.chkAdvancedMode.Location = new System.Drawing.Point(8, 566);
|
||||||
|
this.chkAdvancedMode.Name = "chkAdvancedMode";
|
||||||
|
this.chkAdvancedMode.Size = new System.Drawing.Size(397, 17);
|
||||||
|
this.chkAdvancedMode.TabIndex = 1;
|
||||||
|
this.chkAdvancedMode.Text = "Enable advanced upgrade mode (bypass compatibility and driver checks)";
|
||||||
|
this.chkAdvancedMode.UseVisualStyleBackColor = true;
|
||||||
|
this.chkAdvancedMode.CheckedChanged += new System.EventHandler(this.chkAdvancedMode_CheckedChanged);
|
||||||
|
//
|
||||||
// MainForm
|
// MainForm
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
|
||||||
this.AutoScroll = true;
|
this.AutoScroll = true;
|
||||||
this.BackColor = System.Drawing.Color.WhiteSmoke;
|
this.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||||
this.ClientSize = new System.Drawing.Size(920, 585);
|
this.ClientSize = new System.Drawing.Size(920, 609);
|
||||||
this.Controls.Add(this.panelContainer);
|
this.Controls.Add(this.panelContainer);
|
||||||
this.Controls.Add(this.panelFAQ);
|
this.Controls.Add(this.panelFAQ);
|
||||||
this.Name = "MainForm";
|
this.Name = "MainForm";
|
||||||
@@ -152,6 +167,7 @@
|
|||||||
this.panelDragDrop.ResumeLayout(false);
|
this.panelDragDrop.ResumeLayout(false);
|
||||||
this.panelContainer.ResumeLayout(false);
|
this.panelContainer.ResumeLayout(false);
|
||||||
this.panelMain.ResumeLayout(false);
|
this.panelMain.ResumeLayout(false);
|
||||||
|
this.panelMain.PerformLayout();
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -165,6 +181,7 @@
|
|||||||
private System.Windows.Forms.Panel panelMain;
|
private System.Windows.Forms.Panel panelMain;
|
||||||
private System.Windows.Forms.Button btnExperience;
|
private System.Windows.Forms.Button btnExperience;
|
||||||
private System.Windows.Forms.ComboBox dropdownOptions;
|
private System.Windows.Forms.ComboBox dropdownOptions;
|
||||||
|
private System.Windows.Forms.CheckBox chkAdvancedMode;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
+29
-10
@@ -1,13 +1,9 @@
|
|||||||
using Flyby11.Properties;
|
using System;
|
||||||
using System;
|
|
||||||
using System.Data;
|
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Globalization;
|
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using System.Threading;
|
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using Views;
|
using Views;
|
||||||
@@ -77,15 +73,13 @@ namespace Flyby11
|
|||||||
|
|
||||||
private void InitializeLocalizedStrings()
|
private void InitializeLocalizedStrings()
|
||||||
{
|
{
|
||||||
// Set localized strings for the UI elements
|
|
||||||
Text = Locales.Strings.ctl_FormTitle;
|
|
||||||
|
|
||||||
dropdownOptions.Items.Add("More options...");
|
dropdownOptions.Items.Add("More options...");
|
||||||
dropdownOptions.Items.Add(Locales.Strings.ctl_linkSelectComputer);
|
dropdownOptions.Items.Add(Locales.Strings.ctl_linkSelectComputer);
|
||||||
dropdownOptions.Items.Add(Locales.Strings.ctl_inkCompPatch);
|
dropdownOptions.Items.Add(Locales.Strings.ctl_inkCompPatch);
|
||||||
dropdownOptions.Items.Add(Locales.Strings.ctl_linkCiuv);
|
dropdownOptions.Items.Add(Locales.Strings.ctl_linkCiuv);
|
||||||
dropdownOptions.Items.Add("(Vote) " + Locales.Strings.ctl_linkVote); // "Did the upgrade work?"
|
dropdownOptions.Items.Add("(Vote) " + Locales.Strings.ctl_linkVote); // "Did the upgrade work?"
|
||||||
dropdownOptions.Items.Add("(App) Customize Windows 11 with Crapfixer"); // "Crapfixer Repository"
|
dropdownOptions.Items.Add("(App) Customize Windows 11 with CrapFixer"); // "CrapFixer Repository"
|
||||||
|
dropdownOptions.Items.Add("Troubleshoot Compatibility Issues"); // Problems form
|
||||||
dropdownOptions.SelectedIndex = 0;
|
dropdownOptions.SelectedIndex = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -187,6 +181,7 @@ namespace Flyby11
|
|||||||
private async Task HandleIsoInput(object sender, EventArgs e)
|
private async Task HandleIsoInput(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
string isoPath = null;
|
string isoPath = null;
|
||||||
|
bool experimentalEnabled = chkAdvancedMode.Checked;
|
||||||
|
|
||||||
if (e is DragEventArgs dragEvent && dragEvent.Data.GetDataPresent(DataFormats.FileDrop))
|
if (e is DragEventArgs dragEvent && dragEvent.Data.GetDataPresent(DataFormats.FileDrop))
|
||||||
{
|
{
|
||||||
@@ -213,7 +208,7 @@ namespace Flyby11
|
|||||||
|
|
||||||
if (!string.IsNullOrEmpty(isoPath) && File.Exists(isoPath))
|
if (!string.IsNullOrEmpty(isoPath) && File.Exists(isoPath))
|
||||||
{
|
{
|
||||||
await _isoHandler.HandleIso(isoPath);
|
await _isoHandler.HandleIso(isoPath, experimentalEnabled);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -271,6 +266,12 @@ namespace Flyby11
|
|||||||
// Open CFixer Repository
|
// Open CFixer Repository
|
||||||
Process.Start("https://github.com/builtbybel/Crapfixer/");
|
Process.Start("https://github.com/builtbybel/Crapfixer/");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 6:
|
||||||
|
// Open Troubleshoot Compatibility Issues
|
||||||
|
ProblemsForm problemsForm = new ProblemsForm();
|
||||||
|
problemsForm.ShowDialog();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
// Reset selection back to default prompt after action
|
// Reset selection back to default prompt after action
|
||||||
dropdownOptions.SelectedIndex = 0;
|
dropdownOptions.SelectedIndex = 0;
|
||||||
@@ -364,5 +365,23 @@ namespace Flyby11
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void chkAdvancedMode_CheckedChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (chkAdvancedMode.Checked)
|
||||||
|
{
|
||||||
|
var result = MessageBox.Show(
|
||||||
|
"You are enabling an advanced setup mode. This option adds extra setup parameters that may improve compatibility on unsupported hardware. " +
|
||||||
|
"\r\nSuccess may vary depending on your system and drivers.\n\nDo you want to continue?",
|
||||||
|
"Advanced Mode Warning",
|
||||||
|
MessageBoxButtons.YesNo,
|
||||||
|
MessageBoxIcon.Warning);
|
||||||
|
|
||||||
|
if (result == DialogResult.No)
|
||||||
|
{
|
||||||
|
chkAdvancedMode.Checked = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Generated
+113
@@ -0,0 +1,113 @@
|
|||||||
|
namespace Flyby11
|
||||||
|
{
|
||||||
|
partial class ProblemsForm
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||||
|
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||||
|
this.dataGridViewIssues = new System.Windows.Forms.DataGridView();
|
||||||
|
this.ErrorCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||||
|
this.Link = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.dataGridViewIssues)).BeginInit();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// dataGridViewIssues
|
||||||
|
//
|
||||||
|
this.dataGridViewIssues.AllowUserToAddRows = false;
|
||||||
|
this.dataGridViewIssues.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
|
||||||
|
this.dataGridViewIssues.BackgroundColor = System.Drawing.Color.WhiteSmoke;
|
||||||
|
this.dataGridViewIssues.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||||
|
this.dataGridViewIssues.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.None;
|
||||||
|
dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||||
|
dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control;
|
||||||
|
dataGridViewCellStyle1.Font = new System.Drawing.Font("Segoe UI Variable Display Semib", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||||
|
dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||||
|
dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||||
|
dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||||
|
this.dataGridViewIssues.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
|
||||||
|
this.dataGridViewIssues.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||||
|
this.dataGridViewIssues.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||||
|
this.ErrorCode,
|
||||||
|
this.Link});
|
||||||
|
this.dataGridViewIssues.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.dataGridViewIssues.GridColor = System.Drawing.SystemColors.Control;
|
||||||
|
this.dataGridViewIssues.Location = new System.Drawing.Point(0, 0);
|
||||||
|
this.dataGridViewIssues.Name = "dataGridViewIssues";
|
||||||
|
this.dataGridViewIssues.ReadOnly = true;
|
||||||
|
this.dataGridViewIssues.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.None;
|
||||||
|
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||||
|
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control;
|
||||||
|
dataGridViewCellStyle2.Font = new System.Drawing.Font("Segoe UI Variable Display", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||||
|
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||||
|
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||||
|
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||||
|
this.dataGridViewIssues.RowHeadersDefaultCellStyle = dataGridViewCellStyle2;
|
||||||
|
this.dataGridViewIssues.RowHeadersVisible = false;
|
||||||
|
this.dataGridViewIssues.Size = new System.Drawing.Size(645, 377);
|
||||||
|
this.dataGridViewIssues.TabIndex = 0;
|
||||||
|
this.dataGridViewIssues.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridViewIssues_CellContentClick);
|
||||||
|
//
|
||||||
|
// ErrorCode
|
||||||
|
//
|
||||||
|
this.ErrorCode.FillWeight = 149.2386F;
|
||||||
|
this.ErrorCode.HeaderText = "ErrorCode";
|
||||||
|
this.ErrorCode.Name = "ErrorCode";
|
||||||
|
this.ErrorCode.ReadOnly = true;
|
||||||
|
//
|
||||||
|
// Link
|
||||||
|
//
|
||||||
|
this.Link.FillWeight = 50.76142F;
|
||||||
|
this.Link.HeaderText = "Link";
|
||||||
|
this.Link.Name = "Link";
|
||||||
|
this.Link.ReadOnly = true;
|
||||||
|
//
|
||||||
|
// ProblemsForm
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.ClientSize = new System.Drawing.Size(645, 377);
|
||||||
|
this.Controls.Add(this.dataGridViewIssues);
|
||||||
|
this.Name = "ProblemsForm";
|
||||||
|
this.ShowIcon = false;
|
||||||
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||||
|
this.Text = "Troubleshoot compatibility issues";
|
||||||
|
this.Load += new System.EventHandler(this.ProblemsForm_Load);
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.dataGridViewIssues)).EndInit();
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private System.Windows.Forms.DataGridView dataGridViewIssues;
|
||||||
|
private System.Windows.Forms.DataGridViewTextBoxColumn ErrorCode;
|
||||||
|
private System.Windows.Forms.DataGridViewLinkColumn Link;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace Flyby11
|
||||||
|
{
|
||||||
|
public partial class ProblemsForm : Form
|
||||||
|
{
|
||||||
|
private readonly Dictionary<string, string> _issues = new Dictionary<string, string>()
|
||||||
|
{
|
||||||
|
{"Can't upgrade to Windows 11 – Error 0x80888002","https://github.com/builtbybel/Flyby11/discussions/135"},
|
||||||
|
{ "Upgrading without losing all programs and settings", "https://github.com/builtbybel/Flyby11/discussions/54"},
|
||||||
|
{ "Upgrade Driver issue 0xC1900101", "https://github.com/builtbybel/Flyby11/issues/157"},
|
||||||
|
{ "We are enable to complete your request at this time", "https://github.com/builtbybel/Flyby11/issues/158"},
|
||||||
|
{ "Upgrade succeeded, but future updates not possible ", "https://github.com/builtbybel/Flyby11/discussions/144"},
|
||||||
|
{ "We couldn't install Windows Server - We've set your PC back the way it was Error 0xC1900101 - 0x20017", "https://github.com/builtbybel/Flyby11/issues/103 "},
|
||||||
|
{ "Mounting ISO fails", "https://github.com/builtbybel/Flyby11/issues/156"},
|
||||||
|
{ "Can't find your issue? Browse the community discussions for help", "https://github.com/builtbybel/Flyby11/discussions"},
|
||||||
|
};
|
||||||
|
|
||||||
|
public ProblemsForm()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ProblemsForm_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
foreach (var kv in _issues)
|
||||||
|
{
|
||||||
|
dataGridViewIssues.Rows.Add(kv.Key, "Details…");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void dataGridViewIssues_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
||||||
|
{
|
||||||
|
if (dataGridViewIssues.Columns[e.ColumnIndex] is DataGridViewLinkColumn &&
|
||||||
|
e.RowIndex >= 0)
|
||||||
|
{
|
||||||
|
var code = dataGridViewIssues.Rows[e.RowIndex].Cells["ErrorCode"].Value.ToString();
|
||||||
|
if (_issues.TryGetValue(code, out var url))
|
||||||
|
{
|
||||||
|
System.Diagnostics.Process.Start(new ProcessStartInfo
|
||||||
|
{
|
||||||
|
FileName = url,
|
||||||
|
UseShellExecute = true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,126 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<metadata name="ErrorCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>True</value>
|
||||||
|
</metadata>
|
||||||
|
<metadata name="Link.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>True</value>
|
||||||
|
</metadata>
|
||||||
|
</root>
|
||||||
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
|
|||||||
// Buildnummer
|
// Buildnummer
|
||||||
// Revision
|
// Revision
|
||||||
//
|
//
|
||||||
[assembly: AssemblyVersion("2.4.405")]
|
[assembly: AssemblyVersion("3.0.500")]
|
||||||
[assembly: AssemblyFileVersion("2.4.405")]
|
[assembly: AssemblyFileVersion("3.0.500")]
|
||||||
@@ -26,3 +26,27 @@ The POPCNT requirement cannot be bypassed; it is essential for running Windows 1
|
|||||||
|
|
||||||
**Starting from version 2.3 of Flyby11, I have introduced a compatibility checker specifically for this issue. If you see two green checkmarks, I’m happy for you! Otherwise, unfortunately, it won’t work — and as of now, there’s no way for me to bypass this limitation.**
|
**Starting from version 2.3 of Flyby11, I have introduced a compatibility checker specifically for this issue. If you see two green checkmarks, I’m happy for you! Otherwise, unfortunately, it won’t work — and as of now, there’s no way for me to bypass this limitation.**
|
||||||
|
|
||||||
|
## 📚 FAQ
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>❓ Will my unsupported device still get Windows 11 updates?</summary>
|
||||||
|
|
||||||
|
**Short answer:** Yes — for now. But there are no guarantees.
|
||||||
|
|
||||||
|
Microsoft says: _"These devices aren't guaranteed to receive updates."_
|
||||||
|
📄 [Source – Microsoft Support](https://support.microsoft.com/en-us/windows/windows-11-on-devices-that-don-t-meet-minimum-system-requirements-0b2dc4a2-5933-4ad4-9c09-ef0a331518f1)
|
||||||
|
|
||||||
|
In reality, most unsupported devices **still receive monthly security and quality updates**, just like supported ones.
|
||||||
|
|
||||||
|
However:
|
||||||
|
|
||||||
|
- 🔄 You likely **won’t get major version/feature updates** (like 24H2) unless you install them manually.
|
||||||
|
- ⚙️ Future updates might depend on newer hardware features and fail to install.
|
||||||
|
- 🛡️ Regular updates **work for now**, but Microsoft can change that anytime.
|
||||||
|
- 🚫 There’s always a risk of updates being blocked in the future.
|
||||||
|
|
||||||
|
**Bottom line:** Normal updates work today — but you’re technically on your own.
|
||||||
|
If you’re using unsupported hardware, you probably already know the deal. 😎
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
Reference in new issue
Block a user