Compare commits

...
20 Commits
Author SHA1 Message Date
r3sus ffa1b2ff49 Merge branch 'installer' into 'master'
UI fixes

See merge request cleanflash/installer!3
2025-06-21 08:18:41 +00:00
darktohka 64de0ade31 cleanflash: Update to 34.0.0.330 2025-06-11 20:00:18 +03:00
darktohka 04445d50e6 cleanflash: Update to 34.0.0.325 2025-03-13 14:54:36 +02:00
darktohka 9606769bdf cleanflash: Update to 34.0.0.323 2024-12-21 13:26:44 +02:00
darktohka da6dfd8335 cleanflash: Update to 34.0.0.321 2024-09-06 08:08:54 +03:00
darktohka 4463ce143f cleanflash: Update to 34.0.0.317 2024-07-01 19:40:55 +03:00
darktohka c0a292cff9 cleanflash: Update to 34.0.0.315 2024-06-16 11:51:58 +03:00
darktohka c1876bc6af cleanflash: Update to 34.0.0.308 2024-03-12 20:27:17 +02:00
darktohka 2ebc6b9a41 cleanflash: Update to 34.0.0.301 2023-09-04 19:27:04 +03:00
darktohka 93aa977a47 uninstaller: Unregister any ActiveX plugin uninstalled 2023-08-30 17:50:11 +03:00
darktohka 6f68332a30 cleanflash: Update to 34.0.0.295 2023-08-30 17:49:59 +03:00
darktohka 1a655714d2 cleanflash: Update to 34.0.0.289 2023-06-22 13:58:06 +03:00
r3sus 7d9acb493a add MyPal 2023-03-09 21:05:12 +03:00
r3sus 136cd0a292 un: disallow closing in progress; unfocus 'back' button 2023-03-09 20:59:48 +03:00
r3sus ec8dbc5a91 prevent installer from closing during installation 2023-03-09 19:22:46 +03:00
r3sus 9c609ae28b prevent installer from closing by pressing Enter 2023-03-09 18:53:26 +03:00
r3sus 086cd2b934 remove obsolete dependency 2023-03-09 18:51:45 +03:00
darktohka 2a9a812715 cleanflash: Update to 34.0.0.282 2023-03-07 23:35:56 +02:00
Tohka d2707e3e7e Merge branch 'text-fixes' into 'master'
Text fixes

See merge request cleanflash/installer!1
2023-03-07 21:12:07 +00:00
r3susandTohka b3e9573bad doc: Various documentation improvements 2023-03-07 21:12:07 +00:00
13 changed files with 164 additions and 67 deletions
+1 -1
View File
@@ -21,7 +21,7 @@
<Reference Include="System.Xml" /> <Reference Include="System.Xml" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies.net40" Version="1.0.2"> <PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies.net40" Version="1.0.3">
<PrivateAssets>all</PrivateAssets> <PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference> </PackageReference>
+4
View File
@@ -51,6 +51,10 @@ namespace CleanFlashCommon {
return; return;
} }
if (file.Extension.ToLower().Equals(".ocx")) {
Uninstaller.UnregisterActiveX(file.FullName);
}
try { try {
file.IsReadOnly = false; file.IsReadOnly = false;
file.Delete(); file.Delete();
+18
View File
@@ -27,6 +27,24 @@ namespace CleanFlashCommon {
WinAPI.AllowModifications(); WinAPI.AllowModifications();
} }
public static void UnregisterActiveX(string filename) {
string relativeFilename = Path.GetFileName(filename);
ProcessStartInfo info = new ProcessStartInfo {
FileName = "regsvr32.exe",
UseShellExecute = false,
CreateNoWindow = true
};
Directory.SetCurrentDirectory(Path.GetDirectoryName(filename));
info.Arguments = "/s /u " + relativeFilename;
ExitedProcess process = ProcessUtils.RunProcess(info);
if (!process.IsSuccessful) {
throw new InstallException(string.Format("Failed to unregister ActiveX plugin: error code {0}\n\n{1}", process.ExitCode, process.Output));
}
}
public static void UninstallRegistry() { public static void UninstallRegistry() {
if (Environment.Is64BitOperatingSystem) { if (Environment.Is64BitOperatingSystem) {
RegistryManager.ApplyRegistry(Properties.Resources.uninstallRegistry, Properties.Resources.uninstallRegistry64); RegistryManager.ApplyRegistry(Properties.Resources.uninstallRegistry, Properties.Resources.uninstallRegistry64);
+4 -3
View File
@@ -32,14 +32,15 @@ namespace CleanFlashCommon {
} }
public class UpdateChecker { public class UpdateChecker {
private static readonly string FLASH_VERSION = "34.0.0.267"; private static readonly string FLASH_VERSION = "34.0.0.330";
private static readonly string VERSION = "34.0.0.267"; private static readonly string VERSION = "34.0.0.330";
private static readonly string AUTHOR = "cleanflash"; private static readonly string AUTHOR = "cleanflash";
private static readonly string REPO = "installer"; private static readonly string REPO = "installer";
private static readonly string USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36"; private static readonly string USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36";
public static string GetAPILink() { public static string GetAPILink() {
return "https://api.github.com/repos/" + AUTHOR + "/" + REPO + "/releases/latest"; return "https://api.github.com/repos/" + AUTHOR + "/" + REPO + "/releases/latest";
// obsolete, todo: switch to new api
} }
public static string GetFlashVersion() { public static string GetFlashVersion() {
+6 -18
View File
@@ -7,11 +7,11 @@
<TargetFramework>net40</TargetFramework> <TargetFramework>net40</TargetFramework>
<ApplicationManifest>app.manifest</ApplicationManifest> <ApplicationManifest>app.manifest</ApplicationManifest>
<StartupObject></StartupObject> <StartupObject></StartupObject>
<Product>Clean Flash Player 34.0.0.267 Installer</Product> <Product>Clean Flash Player 34.0.0.330 Installer</Product>
<AssemblyTitle>Clean Flash Player 34.0.0.267 Installer</AssemblyTitle> <AssemblyTitle>Clean Flash Player 34.0.0.330 Installer</AssemblyTitle>
<FileVersion>34.0.0.267</FileVersion> <FileVersion>34.0.0.330</FileVersion>
<AssemblyVersion>34.0.0.267</AssemblyVersion> <AssemblyVersion>34.0.0.330</AssemblyVersion>
<Version>34.0.0.267</Version> <Version>34.0.0.330</Version>
<Authors>FlashPatch Team</Authors> <Authors>FlashPatch Team</Authors>
<Company>FlashPatch Team</Company> <Company>FlashPatch Team</Company>
<ApplicationIcon>icon.ico</ApplicationIcon> <ApplicationIcon>icon.ico</ApplicationIcon>
@@ -19,17 +19,6 @@
<ItemGroup> <ItemGroup>
<None Remove="cleanflash.7z" /> <None Remove="cleanflash.7z" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<COMReference Include="IWshRuntimeLibrary">
<WrapperTool>tlbimp</WrapperTool>
<VersionMinor>0</VersionMinor>
<VersionMajor>1</VersionMajor>
<Guid>f935dc20-1cf0-11d0-adb9-00c04fd58a0b</Guid>
<Lcid>0</Lcid>
<Isolated>false</Isolated>
<EmbedInteropTypes>true</EmbedInteropTypes>
</COMReference>
</ItemGroup>
<ItemGroup> <ItemGroup>
<Content Include="icon.ico" /> <Content Include="icon.ico" />
</ItemGroup> </ItemGroup>
@@ -48,11 +37,10 @@
<Reference Include="System.Drawing" /> <Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" /> <Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" /> <Reference Include="System.Xml" />
<Reference Include="CleanFlashCommon" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="ILRepack.Lib.MSBuild.Task" Version="2.0.18.2" /> <PackageReference Include="ILRepack.Lib.MSBuild.Task" Version="2.0.18.2" />
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies.net40" Version="1.0.2"> <PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies.net40" Version="1.0.3">
<PrivateAssets>all</PrivateAssets> <PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference> </PackageReference>
+2
View File
@@ -374,6 +374,7 @@ namespace CleanFlashInstaller {
this.prevButton.Name = "prevButton"; this.prevButton.Name = "prevButton";
this.prevButton.Size = new System.Drawing.Size(138, 31); this.prevButton.Size = new System.Drawing.Size(138, 31);
this.prevButton.TabIndex = 3; this.prevButton.TabIndex = 3;
this.prevButton.TabStop = false;
this.prevButton.Text = "QUIT"; this.prevButton.Text = "QUIT";
this.prevButton.UseVisualStyleBackColor = false; this.prevButton.UseVisualStyleBackColor = false;
this.prevButton.Click += new System.EventHandler(this.prevButton_Click); this.prevButton.Click += new System.EventHandler(this.prevButton_Click);
@@ -620,6 +621,7 @@ namespace CleanFlashInstaller {
this.Name = "InstallForm"; this.Name = "InstallForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Clean Flash Player Dev Installer"; this.Text = "Clean Flash Player Dev Installer";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.InstallForm_FormClosing);
this.Load += new System.EventHandler(this.InstallForm_Load); this.Load += new System.EventHandler(this.InstallForm_Load);
((System.ComponentModel.ISupportInitialize)(this.flashLogo)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.flashLogo)).EndInit();
this.disclaimerPanel.ResumeLayout(false); this.disclaimerPanel.ResumeLayout(false);
+35 -11
View File
@@ -8,11 +8,10 @@ using System.Windows.Forms;
namespace CleanFlashInstaller { namespace CleanFlashInstaller {
public partial class InstallForm : Form, IProgressForm { public partial class InstallForm : Form, IProgressForm {
private static string COMPLETE_INSTALL_TEXT = @"Clean Flash Player has been successfully installed! private static string COMPLETE_INSTALL_TEXT = @"Clean Flash Player has been successfully installed!
Don't forget, Flash Player is no longer compatible with new browsers. We recommend using: Don't forget, Flash Player is no longer compatible with new browsers.
• Older Google Chrome ≤ 87
• Older Mozilla Firefox ≤ 84 or Waterfox
For Flash Player updates, check out Clean Flash Player's website!"; For browser recommendations and Flash Player updates,
check out Clean Flash Player's website!";
private static string COMPLETE_UNINSTALL_TEXT = @" private static string COMPLETE_UNINSTALL_TEXT = @"
All versions of Flash Player have been successfully uninstalled. All versions of Flash Player have been successfully uninstalled.
@@ -127,8 +126,7 @@ If you ever change your mind, check out Clean Flash Player's website!";
if (pepperBox.Checked || netscapeBox.Checked || activeXBox.Checked) { if (pepperBox.Checked || netscapeBox.Checked || activeXBox.Checked) {
completeLabel.Text = COMPLETE_INSTALL_TEXT; completeLabel.Text = COMPLETE_INSTALL_TEXT;
completeLabel.Links.Add(new LinkLabel.Link(212, 8)); completeLabel.Links.Add(new LinkLabel.Link(187, 28));
completeLabel.Links.Add(new LinkLabel.Link(260, 28));
} else { } else {
completeLabel.Text = COMPLETE_UNINSTALL_TEXT; completeLabel.Text = COMPLETE_UNINSTALL_TEXT;
completeLabel.Links.Add(new LinkLabel.Link(110, 28)); completeLabel.Links.Add(new LinkLabel.Link(110, 28));
@@ -283,11 +281,7 @@ If you ever change your mind, check out Clean Flash Player's website!";
} }
private void completeLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { private void completeLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) {
if (e.Link.Start == 212) { Process.Start("https://gitlab.com/cleanflash/installer#clean-flash-player");
Process.Start("https://classic.waterfox.net");
} else {
Process.Start("https://cleanflash.github.io");
}
} }
private void copyErrorButton_Click(object sender, EventArgs e) { private void copyErrorButton_Click(object sender, EventArgs e) {
@@ -299,5 +293,35 @@ If you ever change your mind, check out Clean Flash Player's website!";
debugChosen = MessageBox.Show("Are you sure you want to install the debug version?\n\nThis version is only meant to be used by experienced developers!\nIf you are not sure, choose No.", "Clean Flash Installer", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes; debugChosen = MessageBox.Show("Are you sure you want to install the debug version?\n\nThis version is only meant to be used by experienced developers!\nIf you are not sure, choose No.", "Clean Flash Installer", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes;
OpenBeforeInstall(); OpenBeforeInstall();
} }
private void InstallForm_FormClosing(object sender, FormClosingEventArgs e)
{
bool v1 = true;
// if installing
// note: msgbox not pauses the process
if (installPanel.Visible)
{
if (v1)
{
// hardlock, only force quit process
// follows current design since Back button is disabled
MessageBox.Show("Please, wait until process end", "Clean Flash Installer", MessageBoxButtons.OK, MessageBoxIcon.Warning);
e.Cancel = true;
}
else
// soft alternative, expert mode, todo: better warning of consequences
if (MessageBox.Show("Are you sure you want to interrupt the process ?", "Clean Flash Installer", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
{
e.Cancel = true;
}
else
{
// use cases ?
// uninstall, currently not implemented
}
//todo: same for uninstaller: share same F
}
}
} }
} }
+33 -15
View File
@@ -1,5 +1,6 @@
using CleanFlashCommon; using CleanFlashCommon;
using System; using System;
using System.Text;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using System.Reflection; using System.Reflection;
@@ -7,20 +8,29 @@ using System.Diagnostics;
using SharpCompress.Archives.SevenZip; using SharpCompress.Archives.SevenZip;
using SharpCompress.Common; using SharpCompress.Common;
using SharpCompress.Readers; using SharpCompress.Readers;
using IWshRuntimeLibrary; using System.Runtime.InteropServices;
namespace CleanFlashInstaller { namespace CleanFlashInstaller {
public class Installer { public class Installer {
public static void RegisterActiveX(string filename) { public static void RegisterActiveX(string filename) {
Directory.SetCurrentDirectory(Path.GetDirectoryName(filename)); string relativeFilename = Path.GetFileName(filename);
ExitedProcess process = ProcessUtils.RunProcess( ProcessStartInfo info = new ProcessStartInfo {
new ProcessStartInfo {
FileName = "regsvr32.exe", FileName = "regsvr32.exe",
Arguments = "/s " + Path.GetFileName(filename),
UseShellExecute = false, UseShellExecute = false,
CreateNoWindow = true CreateNoWindow = true
};
Directory.SetCurrentDirectory(Path.GetDirectoryName(filename));
info.Arguments = "/s /u " + relativeFilename;
ExitedProcess process = ProcessUtils.RunProcess(info);
if (!process.IsSuccessful) {
throw new InstallException(string.Format("Failed to unregister ActiveX plugin: error code {0}\n\n{1}", process.ExitCode, process.Output));
} }
);
info.Arguments = "/s " + relativeFilename;
process = ProcessUtils.RunProcess(info);
if (!process.IsSuccessful) { if (!process.IsSuccessful) {
throw new InstallException(string.Format("Failed to register ActiveX plugin: error code {0}\n\n{1}", process.ExitCode, process.Output)); throw new InstallException(string.Format("Failed to register ActiveX plugin: error code {0}\n\n{1}", process.ExitCode, process.Output));
@@ -75,16 +85,24 @@ namespace CleanFlashInstaller {
} }
public static void CreateShortcut(string folder, string executable, string name, string description) { public static void CreateShortcut(string folder, string executable, string name, string description) {
WshShell wsh = new WshShell(); Type t = Type.GetTypeFromCLSID(new Guid("72C24DD5-D70A-438B-8A42-98424B88AFB8"));
IWshShortcut shortcut = wsh.CreateShortcut(Path.Combine(folder, name + ".lnk")) as IWshShortcut; dynamic shell = Activator.CreateInstance(t);
shortcut.Arguments = ""; try {
shortcut.TargetPath = executable; var lnk = shell.CreateShortcut(Path.Combine(folder, name + ".lnk"));
shortcut.WindowStyle = (int) WshWindowStyle.WshNormalFocus;
shortcut.Description = description; try {
shortcut.WorkingDirectory = Path.GetDirectoryName(executable); lnk.TargetPath = executable;
shortcut.IconLocation = executable; lnk.IconLocation = executable;
shortcut.Save(); lnk.Description = description;
lnk.WorkingDirectory = folder;
lnk.Save();
} finally {
Marshal.FinalReleaseComObject(lnk);
}
} finally {
Marshal.FinalReleaseComObject(shell);
}
} }
private static void InstallFromArchive(SevenZipArchive archive, IProgressForm form, InstallFlags flags) { private static void InstallFromArchive(SevenZipArchive archive, IProgressForm form, InstallFlags flags) {
@@ -130,11 +130,11 @@
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\Clean Flash Player] [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\Clean Flash Player]
"DisplayName"="Clean Flash Player ${VERSION}" "DisplayName"="Clean Flash Player ${VERSION}"
"HelpLink"="https://cleanflash.github.io" "HelpLink"="https://gitlab.com/cleanflash/installer#clean-flash-player"
"NoModify"=dword:00000001 "NoModify"=dword:00000001
"NoRepair"=dword:00000001 "NoRepair"=dword:00000001
"URLInfoAbout"="https://cleanflash.github.io" "URLInfoAbout"="https://gitlab.com/cleanflash/installer#clean-flash-player"
"URLUpdateInfo"="https://cleanflash.github.io" "URLUpdateInfo"="https://gitlab.com/cleanflash/installer#clean-flash-player"
"VersionMajor"=dword:00000022 "VersionMajor"=dword:00000022
"VersionMinor"=dword:00000000 "VersionMinor"=dword:00000000
"Publisher"="CleanFlash Team" "Publisher"="CleanFlash Team"
@@ -10,11 +10,11 @@
<ApplicationManifest>app.manifest</ApplicationManifest> <ApplicationManifest>app.manifest</ApplicationManifest>
<ApplicationIcon>icon.ico</ApplicationIcon> <ApplicationIcon>icon.ico</ApplicationIcon>
<StartupObject></StartupObject> <StartupObject></StartupObject>
<Product>Clean Flash Player 34.0.0.267 Uninstaller</Product> <Product>Clean Flash Player 34.0.0.330 Uninstaller</Product>
<AssemblyTitle>Clean Flash Player 34.0.0.267 Uninstaller</AssemblyTitle> <AssemblyTitle>Clean Flash Player 34.0.0.330 Uninstaller</AssemblyTitle>
<FileVersion>34.0.0.267</FileVersion> <FileVersion>34.0.0.330</FileVersion>
<AssemblyVersion>34.0.0.267</AssemblyVersion> <AssemblyVersion>34.0.0.330</AssemblyVersion>
<Version>34.0.0.267</Version> <Version>34.0.0.330</Version>
<Authors>FlashPatch Team</Authors> <Authors>FlashPatch Team</Authors>
<Company>FlashPatch Team</Company> <Company>FlashPatch Team</Company>
</PropertyGroup> </PropertyGroup>
@@ -35,7 +35,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="ILRepack.Lib.MSBuild.Task" Version="2.0.18.2" /> <PackageReference Include="ILRepack.Lib.MSBuild.Task" Version="2.0.18.2" />
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies.net40" Version="1.0.2"> <PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies.net40" Version="1.0.3">
<PrivateAssets>all</PrivateAssets> <PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference> </PackageReference>
+2
View File
@@ -41,6 +41,7 @@ namespace CleanFlashUninstaller {
this.completeLabel = new System.Windows.Forms.LinkLabel(); this.completeLabel = new System.Windows.Forms.LinkLabel();
this.failurePanel = new System.Windows.Forms.Panel(); this.failurePanel = new System.Windows.Forms.Panel();
this.copyErrorButton = new CleanFlashCommon.GradientButton(); this.copyErrorButton = new CleanFlashCommon.GradientButton();
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.InstallForm_FormClosing);
this.failureBox = new System.Windows.Forms.TextBox(); this.failureBox = new System.Windows.Forms.TextBox();
this.failureText = new System.Windows.Forms.Label(); this.failureText = new System.Windows.Forms.Label();
this.nextButton = new CleanFlashCommon.GradientButton(); this.nextButton = new CleanFlashCommon.GradientButton();
@@ -242,6 +243,7 @@ namespace CleanFlashUninstaller {
// //
// prevButton // prevButton
// //
prevButton.TabStop = false;
this.prevButton.BackColor = System.Drawing.Color.Black; this.prevButton.BackColor = System.Drawing.Color.Black;
this.prevButton.Color1 = System.Drawing.Color.FromArgb(((int)(((byte)(118)))), ((int)(((byte)(118)))), ((int)(((byte)(118))))); this.prevButton.Color1 = System.Drawing.Color.FromArgb(((int)(((byte)(118)))), ((int)(((byte)(118)))), ((int)(((byte)(118)))));
this.prevButton.Color2 = System.Drawing.Color.FromArgb(((int)(((byte)(81)))), ((int)(((byte)(81)))), ((int)(((byte)(81))))); this.prevButton.Color2 = System.Drawing.Color.FromArgb(((int)(((byte)(81)))), ((int)(((byte)(81)))), ((int)(((byte)(81)))));
+32 -5
View File
@@ -114,16 +114,43 @@ namespace CleanFlashUninstaller {
} }
private void completeLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { private void completeLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) {
if (e.Link.Start == 212) { Process.Start("https://gitlab.com/cleanflash/installer#clean-flash-player");
Process.Start("https://classic.waterfox.net");
} else {
Process.Start("https://cleanflash.github.io");
}
} }
private void copyErrorButton_Click(object sender, EventArgs e) { private void copyErrorButton_Click(object sender, EventArgs e) {
Clipboard.SetText(failureBox.Text); Clipboard.SetText(failureBox.Text);
MessageBox.Show("Copied error message to clipboard!", "Clean Flash Installer", MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show("Copied error message to clipboard!", "Clean Flash Installer", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
// note: copy pasted from installer; todo: single F for both
private void InstallForm_FormClosing(object sender, FormClosingEventArgs e)
{
bool v1 = true;
// if installing
// note: msgbox not pauses the process
if (installPanel.Visible)
{
if (v1)
{
// hardlock, only force quit process
// follows current design since Back button is disabled
MessageBox.Show("Please, wait until process end", "Clean Flash Installer", MessageBoxButtons.OK, MessageBoxIcon.Warning);
e.Cancel = true;
}
else
// soft alternative, expert mode, todo: better warning of consequences
if (MessageBox.Show("Are you sure you want to interrupt the process ?", "Clean Flash Installer", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
{
e.Cancel = true;
}
else
{
// use cases ?
// uninstall, currently not implemented
}
//todo: same for uninstaller: share same F
}
}
} }
} }
+14 -1
View File
@@ -28,14 +28,27 @@ To keep using Flash Player on **Mozilla Firefox**, install [**Waterfox Classic**
**Internet Explorer** still supports Flash Player on Windows 10. **Internet Explorer** still supports Flash Player on Windows 10.
<details><summary>Alternatives</summary>
- [Cent Browser 4.3.9.248](https://static.centbrowser.com/win_stable/4.3.9.248)
- [Chromium 88.0.4285.0](https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html): specify your platform and select/enter 814251
- [Basilisk](https://www.basilisk-browser.org)
- [Otter Browser](https://otter-browser.org)
- [roytam's XP-compatible browser builds](http://rtfreesoft.blogspot.com)
- [Portable old browser versions (guide)](https://www.raymond.cc/blog/how-to-enable-flash-support-in-firefox-portable)
- [Mypal 29.3.0](https://www.mypal-browser.org/download.html)
</details>
## Usage ## Usage
- Make sure you have a compatible browser to use Flash Player with - Make sure you have a compatible browser to use Flash Player with
- Download the latest version from [GitLab](https://gitlab.com/cleanflash/installer/-/releases) - Download the latest version from [GitLab](https://gitlab.com/cleanflash/installer/-/releases)
- Extract the installer and run it - Launch installer
- Accept the disclaimer - Accept the disclaimer
- Choose which browser plugins to install - Choose which browser plugins to install
- Choose to install the standalone projector or not - Choose to install the standalone projector or not
- Choose to install the debug build or not
- Close all browser windows, or let the installer close them for you - Close all browser windows, or let the installer close them for you
- Press the "Install" button and wait for Flash Player to install - Press the "Install" button and wait for Flash Player to install
- Enjoy using Flash Player! - Enjoy using Flash Player!