Compare commits

..

No commits in common. 'master' and '34.0.0.277' have entirely different histories.

@ -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.3"> <PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies.net40" Version="1.0.2">
<PrivateAssets>all</PrivateAssets> <PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference> </PackageReference>

@ -51,10 +51,6 @@ 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();

@ -27,24 +27,6 @@ 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);

@ -32,15 +32,14 @@ namespace CleanFlashCommon {
} }
public class UpdateChecker { public class UpdateChecker {
private static readonly string FLASH_VERSION = "34.0.0.317"; private static readonly string FLASH_VERSION = "34.0.0.267";
private static readonly string VERSION = "34.0.0.317"; private static readonly string VERSION = "34.0.0.267";
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/120.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/104.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() {

@ -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.317 Installer</Product> <Product>Clean Flash Player 34.0.0.267 Installer</Product>
<AssemblyTitle>Clean Flash Player 34.0.0.317 Installer</AssemblyTitle> <AssemblyTitle>Clean Flash Player 34.0.0.267 Installer</AssemblyTitle>
<FileVersion>34.0.0.317</FileVersion> <FileVersion>34.0.0.267</FileVersion>
<AssemblyVersion>34.0.0.317</AssemblyVersion> <AssemblyVersion>34.0.0.267</AssemblyVersion>
<Version>34.0.0.317</Version> <Version>34.0.0.267</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,6 +19,17 @@
<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>
@ -41,7 +52,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.3"> <PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies.net40" Version="1.0.2">
<PrivateAssets>all</PrivateAssets> <PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference> </PackageReference>

@ -8,10 +8,11 @@ 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. Don't forget, Flash Player is no longer compatible with new browsers. We recommend using:
Older Google Chrome 87
Older Mozilla Firefox 84 or Waterfox
For browser recommendations and Flash Player updates, For Flash Player updates, check out Clean Flash Player's website!";
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.
@ -126,7 +127,8 @@ 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(187, 28)); completeLabel.Links.Add(new LinkLabel.Link(212, 8));
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));
@ -281,7 +283,11 @@ 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) {
Process.Start("https://gitlab.com/cleanflash/installer#clean-flash-player"); if (e.Link.Start == 212) {
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) {

@ -1,6 +1,5 @@
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;
@ -8,29 +7,20 @@ using System.Diagnostics;
using SharpCompress.Archives.SevenZip; using SharpCompress.Archives.SevenZip;
using SharpCompress.Common; using SharpCompress.Common;
using SharpCompress.Readers; using SharpCompress.Readers;
using System.Runtime.InteropServices; using IWshRuntimeLibrary;
namespace CleanFlashInstaller { namespace CleanFlashInstaller {
public class Installer { public class Installer {
public static void RegisterActiveX(string filename) { public static void RegisterActiveX(string filename) {
string relativeFilename = Path.GetFileName(filename); Directory.SetCurrentDirectory(Path.GetDirectoryName(filename));
ProcessStartInfo info = new ProcessStartInfo { ExitedProcess process = ProcessUtils.RunProcess(
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));
@ -85,24 +75,16 @@ 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) {
Type t = Type.GetTypeFromCLSID(new Guid("72C24DD5-D70A-438B-8A42-98424B88AFB8")); WshShell wsh = new WshShell();
dynamic shell = Activator.CreateInstance(t); IWshShortcut shortcut = wsh.CreateShortcut(Path.Combine(folder, name + ".lnk")) as IWshShortcut;
try { shortcut.Arguments = "";
var lnk = shell.CreateShortcut(Path.Combine(folder, name + ".lnk")); shortcut.TargetPath = executable;
shortcut.WindowStyle = (int) WshWindowStyle.WshNormalFocus;
try { shortcut.Description = description;
lnk.TargetPath = executable; shortcut.WorkingDirectory = Path.GetDirectoryName(executable);
lnk.IconLocation = executable; shortcut.IconLocation = executable;
lnk.Description = description; shortcut.Save();
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://gitlab.com/cleanflash/installer#clean-flash-player" "HelpLink"="https://cleanflash.github.io"
"NoModify"=dword:00000001 "NoModify"=dword:00000001
"NoRepair"=dword:00000001 "NoRepair"=dword:00000001
"URLInfoAbout"="https://gitlab.com/cleanflash/installer#clean-flash-player" "URLInfoAbout"="https://cleanflash.github.io"
"URLUpdateInfo"="https://gitlab.com/cleanflash/installer#clean-flash-player" "URLUpdateInfo"="https://cleanflash.github.io"
"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.317 Uninstaller</Product> <Product>Clean Flash Player 34.0.0.267 Uninstaller</Product>
<AssemblyTitle>Clean Flash Player 34.0.0.317 Uninstaller</AssemblyTitle> <AssemblyTitle>Clean Flash Player 34.0.0.267 Uninstaller</AssemblyTitle>
<FileVersion>34.0.0.317</FileVersion> <FileVersion>34.0.0.267</FileVersion>
<AssemblyVersion>34.0.0.317</AssemblyVersion> <AssemblyVersion>34.0.0.267</AssemblyVersion>
<Version>34.0.0.317</Version> <Version>34.0.0.267</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.3"> <PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies.net40" Version="1.0.2">
<PrivateAssets>all</PrivateAssets> <PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference> </PackageReference>

@ -114,7 +114,11 @@ namespace CleanFlashUninstaller {
} }
private void completeLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { private void completeLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) {
Process.Start("https://gitlab.com/cleanflash/installer#clean-flash-player"); if (e.Link.Start == 212) {
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) {

@ -28,26 +28,14 @@ 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)
</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)
- Launch installer - Extract the installer and run it
- 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!

Loading…
Cancel
Save