version: Update to 34.0.0.184, merge Debug and Release versions into one installer, use aggressive compression, install Legacy ActiveX on old systems

test-ci
Daniel 4 years ago
parent 5b374708c5
commit ede6826dc4

3
.gitignore vendored

@ -10,4 +10,5 @@ obj
*.user *.user
*.suo *.suo
flash_*.zip *.zip
*.7z

@ -83,6 +83,12 @@ namespace CleanFlashCommon {
return versionPath; return versionPath;
} }
public static bool IsLegacyWindows() {
System.Version version = Environment.OSVersion.Version;
return version.Major <= 6 && (version.Major != 6 || version.Minor < 2);
}
public static Dictionary<string, string> GetReplacementStrings() { public static Dictionary<string, string> GetReplacementStrings() {
return replacementStrings; return replacementStrings;
} }

@ -15,7 +15,7 @@ namespace CleanFlashCommon {
"flashplayerapp", "flashplayer_sa", "flashplayer_sa_debug", "flashplayerapp", "flashplayer_sa", "flashplayer_sa_debug",
// Browsers that might be using Flash Player right now // Browsers that might be using Flash Player right now
"opera", "iexplore", "chrome", "chromium", "brave", "vivaldi", "basilisk", "msedge", "opera", "iexplore", "chrome", "chromium", "brave", "vivaldi", "basilisk", "msedge",
"seamonkey", "palemoon", "k-meleon", "plugin-container" "seamonkey", "palemoon", "k-meleon", "plugin-container", "waterfox"
}; };
static Uninstaller() { static Uninstaller() {

@ -32,13 +32,11 @@ namespace CleanFlashCommon {
} }
public class UpdateChecker { public class UpdateChecker {
private static readonly bool DEBUG = true; private static readonly string FLASH_VERSION = "34.0.0.184";
private static readonly string FLASH_VERSION = "34.0.0.175"; private static readonly string VERSION = "v34.0.0.184";
private static readonly string VERSION = "v34.0.0.175";
private static readonly string FLASH_PLAYER_EXECUTABLE = DEBUG ? "flashplayer_sa_debug.exe" : "flashplayer_sa.exe";
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/91.0.4472.164 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/92.0.4515.159 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";
@ -52,15 +50,6 @@ namespace CleanFlashCommon {
return VERSION; return VERSION;
} }
public static string GetFlashPlayerExecutable() {
return FLASH_PLAYER_EXECUTABLE;
}
public static bool IsDebug()
{
return DEBUG;
}
private static Version GetLatestVersionUnsafe() { private static Version GetLatestVersionUnsafe() {
using (WebClient client = new WebClient()) { using (WebClient client = new WebClient()) {
client.Headers.Add("user-agent", USER_AGENT); client.Headers.Add("user-agent", USER_AGENT);

@ -106,8 +106,8 @@
<StartupObject>CleanFlashInstaller.Program</StartupObject> <StartupObject>CleanFlashInstaller.Program</StartupObject>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="DotNetZip, Version=1.15.0.0, Culture=neutral, PublicKeyToken=6583c7c814667745, processorArchitecture=MSIL"> <Reference Include="SharpCompress, Version=0.24.0.0, Culture=neutral, PublicKeyToken=afb0a02973931d96, processorArchitecture=MSIL">
<HintPath>..\packages\DotNetZip.1.15.0\lib\net40\DotNetZip.dll</HintPath> <HintPath>..\packages\SharpCompress.0.24.0\lib\net35\SharpCompress.dll</HintPath>
</Reference> </Reference>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Core" /> <Reference Include="System.Core" />
@ -122,6 +122,7 @@
<Reference Include="System.Xml" /> <Reference Include="System.Xml" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="InstallEntry.cs" />
<Compile Include="Installer.cs" /> <Compile Include="Installer.cs" />
<Compile Include="InstallFlags.cs" /> <Compile Include="InstallFlags.cs" />
<Compile Include="InstallForm.cs"> <Compile Include="InstallForm.cs">
@ -146,15 +147,7 @@
<DesignTime>True</DesignTime> <DesignTime>True</DesignTime>
</Compile> </Compile>
<None Include="app.manifest" /> <None Include="app.manifest" />
<EmbeddedResource Include="flash_np_32.zip" /> <EmbeddedResource Include="cleanflash.7z" />
<EmbeddedResource Include="flash_np_64.zip" />
<EmbeddedResource Include="flash_ocx_32.zip" />
<EmbeddedResource Include="flash_ocx_64.zip" />
<EmbeddedResource Include="flash_pp_32.zip" />
<EmbeddedResource Include="flash_pp_64.zip" />
<EmbeddedResource Include="flash_gen_32.zip" />
<EmbeddedResource Include="flash_uninstaller.zip" />
<EmbeddedResource Include="flash_player_32.zip" />
<None Include="ILMerge.props" /> <None Include="ILMerge.props" />
<None Include="packages.config" /> <None Include="packages.config" />
<None Include="Properties\Settings.settings"> <None Include="Properties\Settings.settings">

@ -0,0 +1,17 @@
namespace CleanFlashInstaller {
public class InstallEntry {
public string InstallText { get; }
public InstallFlags RequiredFlags { get; }
public string TargetDirectory { get; }
public string RegistryInstructions { get; }
public InstallEntry(string installText, int requiredFlags, string targetDirectory, string registryInstructions) {
InstallText = installText;
RequiredFlags = new InstallFlags(requiredFlags);
TargetDirectory = targetDirectory;
RegistryInstructions = registryInstructions;
}
public InstallEntry(string installText, int requiredFlags, string targetDirectory) : this(installText, requiredFlags, targetDirectory, null) { }
}
}

@ -2,26 +2,39 @@
namespace CleanFlashInstaller { namespace CleanFlashInstaller {
public class InstallFlags { public class InstallFlags {
public static int NONE = 0;
public static int PEPPER = 1 << 0; public static int PEPPER = 1 << 0;
public static int NETSCAPE = 1 << 1; public static int NETSCAPE = 1 << 1;
public static int ACTIVEX = 1 << 2; public static int ACTIVEX = 1 << 2;
public static int PLAYER = 1 << 3; public static int PLAYER = 1 << 3;
public static int PLAYER_START_MENU = 1 << 4; public static int PLAYER_START_MENU = 1 << 4;
public static int PLAYER_DESKTOP = 1 << 5; public static int PLAYER_DESKTOP = 1 << 5;
public static int X64 = 1 << 6;
public static int DEBUG = 1 << 7;
private static int UNINSTALL_TICKS = 9; private static int UNINSTALL_TICKS = 9;
private static int INSTALL_GENERAL_TICKS = 2; private static int INSTALL_GENERAL_TICKS = 5;
private int value = 0; private int value = 0;
public InstallFlags() { public InstallFlags(int value) {
value = 0; this.value = value;
}
public InstallFlags() : this(0) { }
public int GetValue() {
return value;
} }
public bool IsSet(int flag) { public bool IsSet(int flag) {
return (value & flag) == flag; return (value & flag) == flag;
} }
public bool IsSet(InstallFlags flags) {
return IsSet(flags.GetValue());
}
public bool IsNoneSet() { public bool IsNoneSet() {
return value == 0; return value == 0;
} }

@ -33,17 +33,12 @@ namespace CleanFlashInstaller {
this.titleLabel = new System.Windows.Forms.Label(); this.titleLabel = new System.Windows.Forms.Label();
this.subtitleLabel = new System.Windows.Forms.Label(); this.subtitleLabel = new System.Windows.Forms.Label();
this.disclaimerPanel = new System.Windows.Forms.Panel(); this.disclaimerPanel = new System.Windows.Forms.Panel();
this.disclaimerBox = new CleanFlashCommon.ImageCheckBox();
this.choicePanel = new System.Windows.Forms.Panel(); this.choicePanel = new System.Windows.Forms.Panel();
this.activeXLabel = new System.Windows.Forms.Label(); this.activeXLabel = new System.Windows.Forms.Label();
this.activeXBox = new CleanFlashCommon.ImageCheckBox();
this.netscapeLabel = new System.Windows.Forms.Label(); this.netscapeLabel = new System.Windows.Forms.Label();
this.netscapeBox = new CleanFlashCommon.ImageCheckBox();
this.pepperLabel = new System.Windows.Forms.Label(); this.pepperLabel = new System.Windows.Forms.Label();
this.pepperBox = new CleanFlashCommon.ImageCheckBox();
this.browserAskLabel = new System.Windows.Forms.Label(); this.browserAskLabel = new System.Windows.Forms.Label();
this.installPanel = new System.Windows.Forms.Panel(); this.installPanel = new System.Windows.Forms.Panel();
this.progressBar = new CleanFlashCommon.SmoothProgressBar();
this.progressLabel = new System.Windows.Forms.Label(); this.progressLabel = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label();
this.beforeInstallPanel = new System.Windows.Forms.Panel(); this.beforeInstallPanel = new System.Windows.Forms.Panel();
@ -51,19 +46,27 @@ namespace CleanFlashInstaller {
this.completePanel = new System.Windows.Forms.Panel(); this.completePanel = new System.Windows.Forms.Panel();
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.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.prevButton = new CleanFlashCommon.GradientButton();
this.playerChoicePanel = new System.Windows.Forms.Panel(); this.playerChoicePanel = new System.Windows.Forms.Panel();
this.playerStartMenuLabel = new System.Windows.Forms.Label(); this.playerStartMenuLabel = new System.Windows.Forms.Label();
this.playerStartMenuBox = new CleanFlashCommon.ImageCheckBox();
this.playerDesktopLabel = new System.Windows.Forms.Label(); this.playerDesktopLabel = new System.Windows.Forms.Label();
this.playerDesktopBox = new CleanFlashCommon.ImageCheckBox();
this.playerLabel = new System.Windows.Forms.Label(); this.playerLabel = new System.Windows.Forms.Label();
this.playerBox = new CleanFlashCommon.ImageCheckBox();
this.playerAskLabel = new System.Windows.Forms.Label(); this.playerAskLabel = new System.Windows.Forms.Label();
this.nextButton = new CleanFlashCommon.GradientButton();
this.prevButton = new CleanFlashCommon.GradientButton();
this.playerStartMenuBox = new CleanFlashCommon.ImageCheckBox();
this.playerDesktopBox = new CleanFlashCommon.ImageCheckBox();
this.playerBox = new CleanFlashCommon.ImageCheckBox();
this.activeXBox = new CleanFlashCommon.ImageCheckBox();
this.netscapeBox = new CleanFlashCommon.ImageCheckBox();
this.pepperBox = new CleanFlashCommon.ImageCheckBox();
this.disclaimerBox = new CleanFlashCommon.ImageCheckBox();
this.copyErrorButton = new CleanFlashCommon.GradientButton();
this.progressBar = new CleanFlashCommon.SmoothProgressBar();
this.debugChoicePanel = new System.Windows.Forms.Panel();
this.debugAskLabel = new System.Windows.Forms.Label();
this.debugButton = new CleanFlashCommon.GradientButton();
((System.ComponentModel.ISupportInitialize)(this.flashLogo)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.flashLogo)).BeginInit();
this.disclaimerPanel.SuspendLayout(); this.disclaimerPanel.SuspendLayout();
this.choicePanel.SuspendLayout(); this.choicePanel.SuspendLayout();
@ -72,6 +75,7 @@ namespace CleanFlashInstaller {
this.completePanel.SuspendLayout(); this.completePanel.SuspendLayout();
this.failurePanel.SuspendLayout(); this.failurePanel.SuspendLayout();
this.playerChoicePanel.SuspendLayout(); this.playerChoicePanel.SuspendLayout();
this.debugChoicePanel.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// disclaimerLabel // disclaimerLabel
@ -139,26 +143,6 @@ namespace CleanFlashInstaller {
this.disclaimerPanel.Size = new System.Drawing.Size(545, 105); this.disclaimerPanel.Size = new System.Drawing.Size(545, 105);
this.disclaimerPanel.TabIndex = 8; this.disclaimerPanel.TabIndex = 8;
// //
// disclaimerBox
//
this.disclaimerBox.Appearance = System.Windows.Forms.Appearance.Button;
this.disclaimerBox.AutoSize = true;
this.disclaimerBox.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.disclaimerBox.FlatAppearance.CheckedBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.disclaimerBox.FlatAppearance.MouseDownBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.disclaimerBox.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.disclaimerBox.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.disclaimerBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.disclaimerBox.ImageIndex = 0;
this.disclaimerBox.ImageList = this.checkboxImages;
this.disclaimerBox.Location = new System.Drawing.Point(0, 0);
this.disclaimerBox.Margin = new System.Windows.Forms.Padding(0);
this.disclaimerBox.Name = "disclaimerBox";
this.disclaimerBox.Size = new System.Drawing.Size(21, 21);
this.disclaimerBox.TabIndex = 2;
this.disclaimerBox.UseVisualStyleBackColor = true;
this.disclaimerBox.CheckedChanged += new System.EventHandler(this.disclaimerBox_CheckedChanged);
//
// choicePanel // choicePanel
// //
this.choicePanel.Controls.Add(this.activeXLabel); this.choicePanel.Controls.Add(this.activeXLabel);
@ -183,27 +167,6 @@ namespace CleanFlashInstaller {
this.activeXLabel.Text = "ActiveX (OCX)\r\n(IE/Embedded/Desktop)"; this.activeXLabel.Text = "ActiveX (OCX)\r\n(IE/Embedded/Desktop)";
this.activeXLabel.Click += new System.EventHandler(this.activeXLabel_Click); this.activeXLabel.Click += new System.EventHandler(this.activeXLabel_Click);
// //
// activeXBox
//
this.activeXBox.Appearance = System.Windows.Forms.Appearance.Button;
this.activeXBox.AutoSize = true;
this.activeXBox.Checked = true;
this.activeXBox.CheckState = System.Windows.Forms.CheckState.Checked;
this.activeXBox.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.activeXBox.FlatAppearance.CheckedBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.activeXBox.FlatAppearance.MouseDownBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.activeXBox.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.activeXBox.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.activeXBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.activeXBox.ImageIndex = 1;
this.activeXBox.ImageList = this.checkboxImages;
this.activeXBox.Location = new System.Drawing.Point(365, 47);
this.activeXBox.Margin = new System.Windows.Forms.Padding(0);
this.activeXBox.Name = "activeXBox";
this.activeXBox.Size = new System.Drawing.Size(21, 21);
this.activeXBox.TabIndex = 7;
this.activeXBox.UseVisualStyleBackColor = true;
//
// netscapeLabel // netscapeLabel
// //
this.netscapeLabel.AutoSize = true; this.netscapeLabel.AutoSize = true;
@ -214,27 +177,6 @@ namespace CleanFlashInstaller {
this.netscapeLabel.Text = "Netscape API (NPAPI)\r\n(Firefox/ESR/Basilisk)\r\n"; this.netscapeLabel.Text = "Netscape API (NPAPI)\r\n(Firefox/ESR/Basilisk)\r\n";
this.netscapeLabel.Click += new System.EventHandler(this.netscapeLabel_Click); this.netscapeLabel.Click += new System.EventHandler(this.netscapeLabel_Click);
// //
// netscapeBox
//
this.netscapeBox.Appearance = System.Windows.Forms.Appearance.Button;
this.netscapeBox.AutoSize = true;
this.netscapeBox.Checked = true;
this.netscapeBox.CheckState = System.Windows.Forms.CheckState.Checked;
this.netscapeBox.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.netscapeBox.FlatAppearance.CheckedBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.netscapeBox.FlatAppearance.MouseDownBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.netscapeBox.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.netscapeBox.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.netscapeBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.netscapeBox.ImageIndex = 1;
this.netscapeBox.ImageList = this.checkboxImages;
this.netscapeBox.Location = new System.Drawing.Point(186, 47);
this.netscapeBox.Margin = new System.Windows.Forms.Padding(0);
this.netscapeBox.Name = "netscapeBox";
this.netscapeBox.Size = new System.Drawing.Size(21, 21);
this.netscapeBox.TabIndex = 5;
this.netscapeBox.UseVisualStyleBackColor = true;
//
// pepperLabel // pepperLabel
// //
this.pepperLabel.AutoSize = true; this.pepperLabel.AutoSize = true;
@ -245,27 +187,6 @@ namespace CleanFlashInstaller {
this.pepperLabel.Text = "Pepper API (PPAPI)\r\n(Chrome/Opera/Brave)"; this.pepperLabel.Text = "Pepper API (PPAPI)\r\n(Chrome/Opera/Brave)";
this.pepperLabel.Click += new System.EventHandler(this.pepperLabel_Click); this.pepperLabel.Click += new System.EventHandler(this.pepperLabel_Click);
// //
// pepperBox
//
this.pepperBox.Appearance = System.Windows.Forms.Appearance.Button;
this.pepperBox.AutoSize = true;
this.pepperBox.Checked = true;
this.pepperBox.CheckState = System.Windows.Forms.CheckState.Checked;
this.pepperBox.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.pepperBox.FlatAppearance.CheckedBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.pepperBox.FlatAppearance.MouseDownBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.pepperBox.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.pepperBox.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.pepperBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.pepperBox.ImageIndex = 1;
this.pepperBox.ImageList = this.checkboxImages;
this.pepperBox.Location = new System.Drawing.Point(0, 47);
this.pepperBox.Margin = new System.Windows.Forms.Padding(0);
this.pepperBox.Name = "pepperBox";
this.pepperBox.Size = new System.Drawing.Size(21, 21);
this.pepperBox.TabIndex = 3;
this.pepperBox.UseVisualStyleBackColor = true;
//
// browserAskLabel // browserAskLabel
// //
this.browserAskLabel.AutoSize = true; this.browserAskLabel.AutoSize = true;
@ -285,18 +206,6 @@ namespace CleanFlashInstaller {
this.installPanel.Size = new System.Drawing.Size(545, 105); this.installPanel.Size = new System.Drawing.Size(545, 105);
this.installPanel.TabIndex = 10; this.installPanel.TabIndex = 10;
// //
// progressBar
//
this.progressBar.Location = new System.Drawing.Point(49, 58);
this.progressBar.Maximum = 100;
this.progressBar.Minimum = 0;
this.progressBar.Name = "progressBar";
this.progressBar.ProgressBarColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(97)))), ((int)(((byte)(147)))), ((int)(((byte)(232)))));
this.progressBar.ProgressBarColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(28)))), ((int)(((byte)(99)))), ((int)(((byte)(232)))));
this.progressBar.Size = new System.Drawing.Size(451, 23);
this.progressBar.TabIndex = 2;
this.progressBar.Value = 0;
//
// progressLabel // progressLabel
// //
this.progressLabel.AutoSize = true; this.progressLabel.AutoSize = true;
@ -363,23 +272,6 @@ namespace CleanFlashInstaller {
this.failurePanel.Size = new System.Drawing.Size(545, 105); this.failurePanel.Size = new System.Drawing.Size(545, 105);
this.failurePanel.TabIndex = 13; this.failurePanel.TabIndex = 13;
// //
// copyErrorButton
//
this.copyErrorButton.BackColor = System.Drawing.Color.Black;
this.copyErrorButton.Color1 = System.Drawing.Color.FromArgb(((int)(((byte)(118)))), ((int)(((byte)(118)))), ((int)(((byte)(118)))));
this.copyErrorButton.Color2 = System.Drawing.Color.FromArgb(((int)(((byte)(81)))), ((int)(((byte)(81)))), ((int)(((byte)(81)))));
this.copyErrorButton.DisableAlpha = 0.644D;
this.copyErrorButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.copyErrorButton.ForeColor = System.Drawing.SystemColors.Control;
this.copyErrorButton.HoverAlpha = 0.875D;
this.copyErrorButton.Location = new System.Drawing.Point(441, 58);
this.copyErrorButton.Name = "copyErrorButton";
this.copyErrorButton.Size = new System.Drawing.Size(104, 31);
this.copyErrorButton.TabIndex = 14;
this.copyErrorButton.Text = "COPY";
this.copyErrorButton.UseVisualStyleBackColor = false;
this.copyErrorButton.Click += new System.EventHandler(this.copyErrorButton_Click);
//
// failureBox // failureBox
// //
this.failureBox.Location = new System.Drawing.Point(4, 44); this.failureBox.Location = new System.Drawing.Point(4, 44);
@ -398,6 +290,59 @@ namespace CleanFlashInstaller {
this.failureText.TabIndex = 14; this.failureText.TabIndex = 14;
this.failureText.Text = "Oops! The installation process has encountered an unexpected problem.\r\nThe follow" + this.failureText.Text = "Oops! The installation process has encountered an unexpected problem.\r\nThe follow" +
"ing details could be useful. Press the Retry button to try again."; "ing details could be useful. Press the Retry button to try again.";
//
// playerChoicePanel
//
this.playerChoicePanel.Controls.Add(this.playerStartMenuLabel);
this.playerChoicePanel.Controls.Add(this.playerStartMenuBox);
this.playerChoicePanel.Controls.Add(this.playerDesktopLabel);
this.playerChoicePanel.Controls.Add(this.playerDesktopBox);
this.playerChoicePanel.Controls.Add(this.playerLabel);
this.playerChoicePanel.Controls.Add(this.playerBox);
this.playerChoicePanel.Controls.Add(this.playerAskLabel);
this.playerChoicePanel.Location = new System.Drawing.Point(90, 162);
this.playerChoicePanel.Name = "playerChoicePanel";
this.playerChoicePanel.Size = new System.Drawing.Size(545, 105);
this.playerChoicePanel.TabIndex = 10;
//
// playerStartMenuLabel
//
this.playerStartMenuLabel.AutoSize = true;
this.playerStartMenuLabel.Location = new System.Drawing.Point(389, 47);
this.playerStartMenuLabel.Name = "playerStartMenuLabel";
this.playerStartMenuLabel.Size = new System.Drawing.Size(104, 34);
this.playerStartMenuLabel.TabIndex = 8;
this.playerStartMenuLabel.Text = "Create Shortcuts\r\nin Start Menu";
this.playerStartMenuLabel.Click += new System.EventHandler(this.playerStartMenuLabel_Click);
//
// playerDesktopLabel
//
this.playerDesktopLabel.AutoSize = true;
this.playerDesktopLabel.Location = new System.Drawing.Point(210, 47);
this.playerDesktopLabel.Name = "playerDesktopLabel";
this.playerDesktopLabel.Size = new System.Drawing.Size(104, 34);
this.playerDesktopLabel.TabIndex = 6;
this.playerDesktopLabel.Text = "Create Shortcuts\r\non Desktop";
this.playerDesktopLabel.Click += new System.EventHandler(this.playerDesktopLabel_Click);
//
// playerLabel
//
this.playerLabel.AutoSize = true;
this.playerLabel.Location = new System.Drawing.Point(24, 47);
this.playerLabel.Name = "playerLabel";
this.playerLabel.Size = new System.Drawing.Size(110, 34);
this.playerLabel.TabIndex = 4;
this.playerLabel.Text = "Install Standalone\r\nFlash Player";
this.playerLabel.Click += new System.EventHandler(this.playerLabel_Click);
//
// playerAskLabel
//
this.playerAskLabel.AutoSize = true;
this.playerAskLabel.Location = new System.Drawing.Point(-2, 2);
this.playerAskLabel.Name = "playerAskLabel";
this.playerAskLabel.Size = new System.Drawing.Size(314, 17);
this.playerAskLabel.TabIndex = 0;
this.playerAskLabel.Text = "Would you like to install the standalone Flash Player?";
// //
// nextButton // nextButton
// //
@ -433,30 +378,6 @@ namespace CleanFlashInstaller {
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);
// //
// playerChoicePanel
//
this.playerChoicePanel.Controls.Add(this.playerStartMenuLabel);
this.playerChoicePanel.Controls.Add(this.playerStartMenuBox);
this.playerChoicePanel.Controls.Add(this.playerDesktopLabel);
this.playerChoicePanel.Controls.Add(this.playerDesktopBox);
this.playerChoicePanel.Controls.Add(this.playerLabel);
this.playerChoicePanel.Controls.Add(this.playerBox);
this.playerChoicePanel.Controls.Add(this.playerAskLabel);
this.playerChoicePanel.Location = new System.Drawing.Point(90, 162);
this.playerChoicePanel.Name = "playerChoicePanel";
this.playerChoicePanel.Size = new System.Drawing.Size(545, 105);
this.playerChoicePanel.TabIndex = 10;
//
// playerStartMenuLabel
//
this.playerStartMenuLabel.AutoSize = true;
this.playerStartMenuLabel.Location = new System.Drawing.Point(389, 47);
this.playerStartMenuLabel.Name = "playerStartMenuLabel";
this.playerStartMenuLabel.Size = new System.Drawing.Size(104, 34);
this.playerStartMenuLabel.TabIndex = 8;
this.playerStartMenuLabel.Text = "Create Shortcuts\r\nin Start Menu";
this.playerStartMenuLabel.Click += new System.EventHandler(this.playerStartMenuLabel_Click);
//
// playerStartMenuBox // playerStartMenuBox
// //
this.playerStartMenuBox.Appearance = System.Windows.Forms.Appearance.Button; this.playerStartMenuBox.Appearance = System.Windows.Forms.Appearance.Button;
@ -478,16 +399,6 @@ namespace CleanFlashInstaller {
this.playerStartMenuBox.TabIndex = 7; this.playerStartMenuBox.TabIndex = 7;
this.playerStartMenuBox.UseVisualStyleBackColor = true; this.playerStartMenuBox.UseVisualStyleBackColor = true;
// //
// playerDesktopLabel
//
this.playerDesktopLabel.AutoSize = true;
this.playerDesktopLabel.Location = new System.Drawing.Point(210, 47);
this.playerDesktopLabel.Name = "playerDesktopLabel";
this.playerDesktopLabel.Size = new System.Drawing.Size(104, 34);
this.playerDesktopLabel.TabIndex = 6;
this.playerDesktopLabel.Text = "Create Shortcuts\r\non Desktop";
this.playerDesktopLabel.Click += new System.EventHandler(this.playerDesktopLabel_Click);
//
// playerDesktopBox // playerDesktopBox
// //
this.playerDesktopBox.Appearance = System.Windows.Forms.Appearance.Button; this.playerDesktopBox.Appearance = System.Windows.Forms.Appearance.Button;
@ -509,16 +420,6 @@ namespace CleanFlashInstaller {
this.playerDesktopBox.TabIndex = 5; this.playerDesktopBox.TabIndex = 5;
this.playerDesktopBox.UseVisualStyleBackColor = true; this.playerDesktopBox.UseVisualStyleBackColor = true;
// //
// playerLabel
//
this.playerLabel.AutoSize = true;
this.playerLabel.Location = new System.Drawing.Point(24, 47);
this.playerLabel.Name = "playerLabel";
this.playerLabel.Size = new System.Drawing.Size(110, 34);
this.playerLabel.TabIndex = 4;
this.playerLabel.Text = "Install Standalone\r\nFlash Player";
this.playerLabel.Click += new System.EventHandler(this.playerLabel_Click);
//
// playerBox // playerBox
// //
this.playerBox.Appearance = System.Windows.Forms.Appearance.Button; this.playerBox.Appearance = System.Windows.Forms.Appearance.Button;
@ -541,14 +442,154 @@ namespace CleanFlashInstaller {
this.playerBox.UseVisualStyleBackColor = true; this.playerBox.UseVisualStyleBackColor = true;
this.playerBox.CheckedChanged += new System.EventHandler(this.playerBox_CheckedChanged); this.playerBox.CheckedChanged += new System.EventHandler(this.playerBox_CheckedChanged);
// //
// playerAskLabel // activeXBox
// //
this.playerAskLabel.AutoSize = true; this.activeXBox.Appearance = System.Windows.Forms.Appearance.Button;
this.playerAskLabel.Location = new System.Drawing.Point(-2, 2); this.activeXBox.AutoSize = true;
this.playerAskLabel.Name = "playerAskLabel"; this.activeXBox.Checked = true;
this.playerAskLabel.Size = new System.Drawing.Size(314, 17); this.activeXBox.CheckState = System.Windows.Forms.CheckState.Checked;
this.playerAskLabel.TabIndex = 0; this.activeXBox.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.playerAskLabel.Text = "Would you like to install the standalone Flash Player?"; this.activeXBox.FlatAppearance.CheckedBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.activeXBox.FlatAppearance.MouseDownBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.activeXBox.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.activeXBox.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.activeXBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.activeXBox.ImageIndex = 1;
this.activeXBox.ImageList = this.checkboxImages;
this.activeXBox.Location = new System.Drawing.Point(365, 47);
this.activeXBox.Margin = new System.Windows.Forms.Padding(0);
this.activeXBox.Name = "activeXBox";
this.activeXBox.Size = new System.Drawing.Size(21, 21);
this.activeXBox.TabIndex = 7;
this.activeXBox.UseVisualStyleBackColor = true;
//
// netscapeBox
//
this.netscapeBox.Appearance = System.Windows.Forms.Appearance.Button;
this.netscapeBox.AutoSize = true;
this.netscapeBox.Checked = true;
this.netscapeBox.CheckState = System.Windows.Forms.CheckState.Checked;
this.netscapeBox.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.netscapeBox.FlatAppearance.CheckedBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.netscapeBox.FlatAppearance.MouseDownBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.netscapeBox.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.netscapeBox.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.netscapeBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.netscapeBox.ImageIndex = 1;
this.netscapeBox.ImageList = this.checkboxImages;
this.netscapeBox.Location = new System.Drawing.Point(186, 47);
this.netscapeBox.Margin = new System.Windows.Forms.Padding(0);
this.netscapeBox.Name = "netscapeBox";
this.netscapeBox.Size = new System.Drawing.Size(21, 21);
this.netscapeBox.TabIndex = 5;
this.netscapeBox.UseVisualStyleBackColor = true;
//
// pepperBox
//
this.pepperBox.Appearance = System.Windows.Forms.Appearance.Button;
this.pepperBox.AutoSize = true;
this.pepperBox.Checked = true;
this.pepperBox.CheckState = System.Windows.Forms.CheckState.Checked;
this.pepperBox.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.pepperBox.FlatAppearance.CheckedBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.pepperBox.FlatAppearance.MouseDownBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.pepperBox.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.pepperBox.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.pepperBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.pepperBox.ImageIndex = 1;
this.pepperBox.ImageList = this.checkboxImages;
this.pepperBox.Location = new System.Drawing.Point(0, 47);
this.pepperBox.Margin = new System.Windows.Forms.Padding(0);
this.pepperBox.Name = "pepperBox";
this.pepperBox.Size = new System.Drawing.Size(21, 21);
this.pepperBox.TabIndex = 3;
this.pepperBox.UseVisualStyleBackColor = true;
//
// disclaimerBox
//
this.disclaimerBox.Appearance = System.Windows.Forms.Appearance.Button;
this.disclaimerBox.AutoSize = true;
this.disclaimerBox.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.disclaimerBox.FlatAppearance.CheckedBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.disclaimerBox.FlatAppearance.MouseDownBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.disclaimerBox.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.disclaimerBox.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.disclaimerBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.disclaimerBox.ImageIndex = 0;
this.disclaimerBox.ImageList = this.checkboxImages;
this.disclaimerBox.Location = new System.Drawing.Point(0, 0);
this.disclaimerBox.Margin = new System.Windows.Forms.Padding(0);
this.disclaimerBox.Name = "disclaimerBox";
this.disclaimerBox.Size = new System.Drawing.Size(21, 21);
this.disclaimerBox.TabIndex = 2;
this.disclaimerBox.UseVisualStyleBackColor = true;
this.disclaimerBox.CheckedChanged += new System.EventHandler(this.disclaimerBox_CheckedChanged);
//
// copyErrorButton
//
this.copyErrorButton.BackColor = System.Drawing.Color.Black;
this.copyErrorButton.Color1 = System.Drawing.Color.FromArgb(((int)(((byte)(118)))), ((int)(((byte)(118)))), ((int)(((byte)(118)))));
this.copyErrorButton.Color2 = System.Drawing.Color.FromArgb(((int)(((byte)(81)))), ((int)(((byte)(81)))), ((int)(((byte)(81)))));
this.copyErrorButton.DisableAlpha = 0.644D;
this.copyErrorButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.copyErrorButton.ForeColor = System.Drawing.SystemColors.Control;
this.copyErrorButton.HoverAlpha = 0.875D;
this.copyErrorButton.Location = new System.Drawing.Point(441, 58);
this.copyErrorButton.Name = "copyErrorButton";
this.copyErrorButton.Size = new System.Drawing.Size(104, 31);
this.copyErrorButton.TabIndex = 14;
this.copyErrorButton.Text = "COPY";
this.copyErrorButton.UseVisualStyleBackColor = false;
this.copyErrorButton.Click += new System.EventHandler(this.copyErrorButton_Click);
//
// progressBar
//
this.progressBar.Location = new System.Drawing.Point(49, 58);
this.progressBar.Maximum = 100;
this.progressBar.Minimum = 0;
this.progressBar.Name = "progressBar";
this.progressBar.ProgressBarColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(97)))), ((int)(((byte)(147)))), ((int)(((byte)(232)))));
this.progressBar.ProgressBarColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(28)))), ((int)(((byte)(99)))), ((int)(((byte)(232)))));
this.progressBar.Size = new System.Drawing.Size(451, 23);
this.progressBar.TabIndex = 2;
this.progressBar.Value = 0;
//
// debugChoicePanel
//
this.debugChoicePanel.Controls.Add(this.debugButton);
this.debugChoicePanel.Controls.Add(this.debugAskLabel);
this.debugChoicePanel.Location = new System.Drawing.Point(90, 163);
this.debugChoicePanel.Name = "debugChoicePanel";
this.debugChoicePanel.Size = new System.Drawing.Size(545, 105);
this.debugChoicePanel.TabIndex = 11;
//
// debugAskLabel
//
this.debugAskLabel.AutoSize = true;
this.debugAskLabel.Location = new System.Drawing.Point(-2, 2);
this.debugAskLabel.Name = "debugAskLabel";
this.debugAskLabel.Size = new System.Drawing.Size(535, 51);
this.debugAskLabel.TabIndex = 0;
this.debugAskLabel.Text = "Would you like to install the debug version of Clean Flash Player?\r\nYou should on" +
"ly choose the debug version if you are planning to create Flash applications.\r\nI" +
"f you are not sure, simply press NEXT.";
//
// debugButton
//
this.debugButton.BackColor = System.Drawing.Color.Black;
this.debugButton.Color1 = System.Drawing.Color.FromArgb(((int)(((byte)(118)))), ((int)(((byte)(118)))), ((int)(((byte)(118)))));
this.debugButton.Color2 = System.Drawing.Color.FromArgb(((int)(((byte)(81)))), ((int)(((byte)(81)))), ((int)(((byte)(81)))));
this.debugButton.DisableAlpha = 0.644D;
this.debugButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.debugButton.ForeColor = System.Drawing.SystemColors.Control;
this.debugButton.HoverAlpha = 0.875D;
this.debugButton.Location = new System.Drawing.Point(186, 65);
this.debugButton.Name = "debugButton";
this.debugButton.Size = new System.Drawing.Size(176, 31);
this.debugButton.TabIndex = 8;
this.debugButton.Text = "INSTALL DEBUG VERSION";
this.debugButton.UseVisualStyleBackColor = false;
this.debugButton.Click += new System.EventHandler(this.debugButton_Click);
// //
// InstallForm // InstallForm
// //
@ -562,13 +603,14 @@ namespace CleanFlashInstaller {
this.Controls.Add(this.flashLogo); this.Controls.Add(this.flashLogo);
this.Controls.Add(this.prevButton); this.Controls.Add(this.prevButton);
this.Controls.Add(this.separator); this.Controls.Add(this.separator);
this.Controls.Add(this.completePanel);
this.Controls.Add(this.beforeInstallPanel);
this.Controls.Add(this.installPanel);
this.Controls.Add(this.debugChoicePanel);
this.Controls.Add(this.playerChoicePanel); this.Controls.Add(this.playerChoicePanel);
this.Controls.Add(this.choicePanel); this.Controls.Add(this.choicePanel);
this.Controls.Add(this.disclaimerPanel); this.Controls.Add(this.disclaimerPanel);
this.Controls.Add(this.failurePanel); this.Controls.Add(this.failurePanel);
this.Controls.Add(this.completePanel);
this.Controls.Add(this.beforeInstallPanel);
this.Controls.Add(this.installPanel);
this.Font = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.Font = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.ForeColor = System.Drawing.SystemColors.ControlLightLight; this.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
@ -594,6 +636,8 @@ namespace CleanFlashInstaller {
this.failurePanel.PerformLayout(); this.failurePanel.PerformLayout();
this.playerChoicePanel.ResumeLayout(false); this.playerChoicePanel.ResumeLayout(false);
this.playerChoicePanel.PerformLayout(); this.playerChoicePanel.PerformLayout();
this.debugChoicePanel.ResumeLayout(false);
this.debugChoicePanel.PerformLayout();
this.ResumeLayout(false); this.ResumeLayout(false);
this.PerformLayout(); this.PerformLayout();
@ -639,6 +683,9 @@ namespace CleanFlashInstaller {
private System.Windows.Forms.Label playerLabel; private System.Windows.Forms.Label playerLabel;
private CleanFlashCommon.ImageCheckBox playerBox; private CleanFlashCommon.ImageCheckBox playerBox;
private System.Windows.Forms.Label playerAskLabel; private System.Windows.Forms.Label playerAskLabel;
private System.Windows.Forms.Panel debugChoicePanel;
private CleanFlashCommon.GradientButton debugButton;
private System.Windows.Forms.Label debugAskLabel;
} }
} }

@ -10,13 +10,14 @@ namespace CleanFlashInstaller {
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. We recommend using:
Older Google Chrome 87 Older Google Chrome 87
Older Mozilla Firefox 84 or Basilisk Browser Older Mozilla Firefox 84 or Waterfox
For Flash Player updates, check out Clean Flash Player's website!"; For 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.
If you ever change your mind, check out Clean Flash Player's website!"; If you ever change your mind, check out Clean Flash Player's website!";
private bool debugChosen = false;
public InstallForm() { public InstallForm() {
InitializeComponent(); InitializeComponent();
@ -30,6 +31,7 @@ If you ever change your mind, check out Clean Flash Player's website!";
disclaimerPanel.Visible = false; disclaimerPanel.Visible = false;
choicePanel.Visible = false; choicePanel.Visible = false;
playerChoicePanel.Visible = false; playerChoicePanel.Visible = false;
debugChoicePanel.Visible = false;
beforeInstallPanel.Visible = false; beforeInstallPanel.Visible = false;
installPanel.Visible = false; installPanel.Visible = false;
completePanel.Visible = false; completePanel.Visible = false;
@ -57,6 +59,14 @@ If you ever change your mind, check out Clean Flash Player's website!";
nextButton.Text = "NEXT"; nextButton.Text = "NEXT";
} }
private void OpenDebugChoicePanel() {
HideAllPanels();
debugChoicePanel.Visible = true;
debugChosen = false;
prevButton.Text = "BACK";
nextButton.Text = "NEXT";
}
private string JoinStringsWithAnd(List<string> strings) { private string JoinStringsWithAnd(List<string> strings) {
string text = string.Join(", ", strings); string text = string.Join(", ", strings);
int index = text.LastIndexOf(", "); int index = text.LastIndexOf(", ");
@ -117,8 +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(212, 16)); completeLabel.Links.Add(new LinkLabel.Link(212, 8));
completeLabel.Links.Add(new LinkLabel.Link(268, 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));
@ -143,6 +153,7 @@ If you ever change your mind, check out Clean Flash Player's website!";
flags.SetConditionally(playerBox.Checked, InstallFlags.PLAYER); flags.SetConditionally(playerBox.Checked, InstallFlags.PLAYER);
flags.SetConditionally(playerDesktopBox.Checked, InstallFlags.PLAYER_DESKTOP); flags.SetConditionally(playerDesktopBox.Checked, InstallFlags.PLAYER_DESKTOP);
flags.SetConditionally(playerStartMenuBox.Checked, InstallFlags.PLAYER_START_MENU); flags.SetConditionally(playerStartMenuBox.Checked, InstallFlags.PLAYER_START_MENU);
flags.SetConditionally(debugChosen, InstallFlags.DEBUG);
progressBar.Value = 0; progressBar.Value = 0;
progressBar.Maximum = flags.GetTicks(); progressBar.Maximum = flags.GetTicks();
@ -173,7 +184,7 @@ If you ever change your mind, check out Clean Flash Player's website!";
private void InstallForm_Load(object sender, EventArgs e) { private void InstallForm_Load(object sender, EventArgs e) {
string version = UpdateChecker.GetFlashVersion(); string version = UpdateChecker.GetFlashVersion();
subtitleLabel.Text = string.Format("built from version {0} ({1})", version, UpdateChecker.IsDebug() ? "DEBUG" : "China"); subtitleLabel.Text = string.Format("built from version {0} ({1})", version, "China");
Text = string.Format("Clean Flash Player {0} Installer", version); Text = string.Format("Clean Flash Player {0} Installer", version);
OpenDisclaimerPanel(); OpenDisclaimerPanel();
@ -186,9 +197,11 @@ If you ever change your mind, check out Clean Flash Player's website!";
} else if (choicePanel.Visible) { } else if (choicePanel.Visible) {
OpenDisclaimerPanel(); OpenDisclaimerPanel();
} else if (beforeInstallPanel.Visible) { } else if (beforeInstallPanel.Visible) {
OpenPlayerChoicePanel(); OpenDebugChoicePanel();
} else if (playerChoicePanel.Visible) { } else if (playerChoicePanel.Visible) {
OpenChoicePanel(); OpenChoicePanel();
} else if (debugChoicePanel.Visible) {
OpenPlayerChoicePanel();
} }
} }
@ -198,6 +211,8 @@ If you ever change your mind, check out Clean Flash Player's website!";
} else if (choicePanel.Visible) { } else if (choicePanel.Visible) {
OpenPlayerChoicePanel(); OpenPlayerChoicePanel();
} else if (playerChoicePanel.Visible) { } else if (playerChoicePanel.Visible) {
OpenDebugChoicePanel();
} else if (debugChoicePanel.Visible) {
OpenBeforeInstall(); OpenBeforeInstall();
} else if (beforeInstallPanel.Visible || failurePanel.Visible) { } else if (beforeInstallPanel.Visible || failurePanel.Visible) {
OpenInstall(); OpenInstall();
@ -269,7 +284,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) { if (e.Link.Start == 212) {
Process.Start("https://www.basilisk-browser.org"); Process.Start("https://waterfox.net");
} else { } else {
Process.Start("https://cleanflash.github.io"); Process.Start("https://cleanflash.github.io");
} }
@ -279,5 +294,10 @@ If you ever change your mind, check out Clean Flash Player's website!";
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);
} }
private void debugButton_Click(object sender, EventArgs e) {
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();
}
} }
} }

@ -133,7 +133,7 @@ Adobe is not required by any means to provide support for this version of Flash
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACY ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACY
CAAAAk1TRnQBSQFMAgEBAgEAAegBAQHoAQEBDwEAAQ8BAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo CAAAAk1TRnQBSQFMAgEBAgEAAQgBAgEIAQIBDwEAAQ8BAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABPAMAAQ8DAAEBAQABCAUAAYQBAxgAAYACAAGAAwACgAEAAYADAAGAAQABgAEAAoACAAPAAQABwAHc AwABPAMAAQ8DAAEBAQABCAUAAYQBAxgAAYACAAGAAwACgAEAAYADAAGAAQABgAEAAoACAAPAAQABwAHc
AcABAAHwAcoBpgEAATMFAAEzAQABMwEAATMBAAIzAgADFgEAAxwBAAMiAQADKQEAA1UBAANNAQADQgEA AcABAAHwAcoBpgEAATMFAAEzAQABMwEAATMBAAIzAgADFgEAAxwBAAMiAQADKQEAA1UBAANNAQADQgEA
AzkBAAGAAXwB/wEAAlAB/wEAAZMBAAHWAQAB/wHsAcwBAAHGAdYB7wEAAdYC5wEAAZABqQGtAgAB/wEz AzkBAAGAAXwB/wEAAlAB/wEAAZMBAAHWAQAB/wHsAcwBAAHGAdYB7wEAAdYC5wEAAZABqQGtAgAB/wEz

@ -4,7 +4,9 @@ using System.Collections.Generic;
using System.IO; using System.IO;
using System.Reflection; using System.Reflection;
using System.Diagnostics; using System.Diagnostics;
using Ionic.Zip; using SharpCompress.Archives.SevenZip;
using SharpCompress.Common;
using SharpCompress.Readers;
using IWshRuntimeLibrary; using IWshRuntimeLibrary;
namespace CleanFlashInstaller { namespace CleanFlashInstaller {
@ -25,11 +27,50 @@ namespace CleanFlashInstaller {
} }
} }
public static void ExtractArchive(string archiveName, string targetDirectory) { public static void ExtractArchive(SevenZipArchive archive, Dictionary<string, InstallEntry> entries, IProgressForm form, InstallFlags flags) {
using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("CleanFlashInstaller." + archiveName)) { IReader reader = archive.ExtractAllEntries();
using (ZipFile archive = ZipFile.Read(stream)) { bool legacy = SystemInfo.IsLegacyWindows();
archive.ExtractAll(targetDirectory, ExtractExistingFileAction.OverwriteSilently); string lastKey = null;
while (reader.MoveToNextEntry()) {
if (reader.Entry.IsDirectory) {
continue;
}
string filename = reader.Entry.Key.Split('/')[0];
string installKey = filename.Split('-')[0];
InstallEntry installEntry = entries[installKey];
if (installEntry.RequiredFlags.GetValue() != InstallFlags.NONE) {
if (!flags.IsSet(installEntry.RequiredFlags)) {
continue;
}
if (flags.IsSet(InstallFlags.DEBUG) != filename.Contains("-debug")) {
continue;
}
}
if (installEntry.RequiredFlags.IsSet(InstallFlags.ACTIVEX)) {
if (legacy != filename.Contains("-legacy")) {
continue;
}
}
if (!installKey.Equals(lastKey)) {
form.UpdateProgressLabel(installEntry.InstallText, true);
if (!Directory.Exists(installEntry.TargetDirectory)) {
Directory.CreateDirectory(installEntry.TargetDirectory);
}
lastKey = installKey;
} }
reader.WriteEntryToDirectory(installEntry.TargetDirectory, new ExtractionOptions() {
ExtractFullPath = false,
Overwrite = true
});
} }
} }
@ -46,12 +87,7 @@ namespace CleanFlashInstaller {
shortcut.Save(); shortcut.Save();
} }
public static void Install(IProgressForm form, InstallFlags flags) { private static void InstallFromArchive(SevenZipArchive archive, IProgressForm form, InstallFlags flags) {
if (flags.IsNoneSet()) {
// No packages should be installed.
return;
}
string flash32Path = SystemInfo.GetFlash32Path(); string flash32Path = SystemInfo.GetFlash32Path();
string flash64Path = SystemInfo.GetFlash64Path(); string flash64Path = SystemInfo.GetFlash64Path();
string system32Path = SystemInfo.GetSystem32Path(); string system32Path = SystemInfo.GetSystem32Path();
@ -59,37 +95,31 @@ namespace CleanFlashInstaller {
List<string> registryToApply = new List<string>() { Properties.Resources.installGeneral }; List<string> registryToApply = new List<string>() { Properties.Resources.installGeneral };
if (Environment.Is64BitOperatingSystem) { if (Environment.Is64BitOperatingSystem) {
flags.SetFlag(InstallFlags.X64);
registryToApply.Add(Properties.Resources.installGeneral64); registryToApply.Add(Properties.Resources.installGeneral64);
} }
form.UpdateProgressLabel("Installing Flash Player utilities...", true); Dictionary<string, InstallEntry> entries = new Dictionary<string, InstallEntry>() {
ExtractArchive("flash_gen_32.zip", system32Path); { "controlpanel", new InstallEntry("Installing Flash Player utilities...", InstallFlags.NONE, system32Path) },
form.UpdateProgressLabel("Extracting uninstaller..", true); { "uninstaller", new InstallEntry("Extracting uninstaller...", InstallFlags.NONE, flashProgram32Path) },
ExtractArchive("flash_uninstaller.zip", flashProgram32Path); { "standalone", new InstallEntry("Installing 32-bit Standalone Flash Player...", InstallFlags.PLAYER, flashProgram32Path) },
{ "ocx32", new InstallEntry("Installing 32-bit Flash Player for Internet Explorer...", InstallFlags.ACTIVEX, flash32Path) },
{ "np32", new InstallEntry("Installing 32-bit Flash Player for Firefox...", InstallFlags.NETSCAPE, flash32Path, Properties.Resources.installNP) },
{ "pp32", new InstallEntry("Installing 32-bit Flash Player for Chrome...", InstallFlags.PEPPER, flash32Path, Properties.Resources.installPP) },
{ "ocx64", new InstallEntry("Installing 64-bit Flash Player for Internet Explorer...", InstallFlags.ACTIVEX | InstallFlags.X64, flash64Path) },
{ "np64", new InstallEntry("Installing 64-bit Flash Player for Firefox...", InstallFlags.NETSCAPE | InstallFlags.X64, flash64Path, Properties.Resources.installNP64) },
{ "pp64", new InstallEntry("Installing 64-bit Flash Player for Chrome...", InstallFlags.PEPPER | InstallFlags.X64, flash64Path, Properties.Resources.installPP64) },
};
if (flags.IsSet(InstallFlags.PEPPER)) { ExtractArchive(archive, entries, form, flags);
form.UpdateProgressLabel("Installing 32-bit Flash Player for Chrome...", true);
ExtractArchive("flash_pp_32.zip", flash32Path);
registryToApply.Add(Properties.Resources.installPP);
}
if (flags.IsSet(InstallFlags.NETSCAPE)) {
form.UpdateProgressLabel("Installing 32-bit Flash Player for Firefox...", true);
ExtractArchive("flash_np_32.zip", flash32Path);
registryToApply.Add(Properties.Resources.installNP);
}
if (flags.IsSet(InstallFlags.ACTIVEX)) {
form.UpdateProgressLabel("Installing 32-bit Flash Player for Internet Explorer...", true);
ExtractArchive("flash_ocx_32.zip", flash32Path);
}
if (flags.IsSet(InstallFlags.PLAYER)) {
form.UpdateProgressLabel("Installing 32-bit Standalone Flash Player...", true);
ExtractArchive("flash_player_32.zip", flashProgram32Path);
if (flags.IsSet(InstallFlags.PLAYER)) {
bool debug = flags.IsSet(InstallFlags.DEBUG);
string name = "Flash Player"; string name = "Flash Player";
string description = "Standalone Flash Player " + UpdateChecker.GetFlashVersion(); string description = "Standalone Flash Player " + UpdateChecker.GetFlashVersion();
string executable = Path.Combine(flashProgram32Path, UpdateChecker.GetFlashPlayerExecutable()); string executable = Path.Combine(flashProgram32Path, debug ? "flashplayer_sa_debug.exe" : "flashplayer_sa.exe");
if (UpdateChecker.IsDebug()) { if (debug) {
name += " (Debug)"; name += " (Debug)";
description += " (Debug)"; description += " (Debug)";
} }
@ -103,20 +133,9 @@ namespace CleanFlashInstaller {
} }
} }
if (Environment.Is64BitOperatingSystem) { foreach (InstallEntry entry in entries.Values) {
if (flags.IsSet(InstallFlags.PEPPER)) { if (flags.IsSet(entry.RequiredFlags) && entry.RegistryInstructions != null) {
form.UpdateProgressLabel("Installing 64-bit Flash Player for Chrome...", true); registryToApply.Add(entry.RegistryInstructions);
ExtractArchive("flash_pp_64.zip", flash64Path);
registryToApply.Add(Properties.Resources.installPP64);
}
if (flags.IsSet(InstallFlags.NETSCAPE)) {
form.UpdateProgressLabel("Installing 64-bit Flash Player for Firefox...", true);
ExtractArchive("flash_np_64.zip", flash64Path);
registryToApply.Add(Properties.Resources.installNP64);
}
if (flags.IsSet(InstallFlags.ACTIVEX)) {
form.UpdateProgressLabel("Installing 64-bit Flash Player for Internet Explorer...", true);
ExtractArchive("flash_ocx_64.zip", flash64Path);
} }
} }
@ -133,5 +152,18 @@ namespace CleanFlashInstaller {
} }
} }
} }
public static void Install(IProgressForm form, InstallFlags flags) {
if (flags.IsNoneSet()) {
// No packages should be installed.
return;
}
using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("CleanFlashInstaller.cleanflash.7z")) {
using (SevenZipArchive archive = SevenZipArchive.Open(stream)) {
InstallFromArchive(archive, form, flags);
}
}
}
} }
} }

@ -5,11 +5,11 @@ using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following // General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information // set of attributes. Change these attribute values to modify the information
// associated with an assembly. // associated with an assembly.
[assembly: AssemblyTitle("Clean Flash Player 34.0.0.175 Installer")] [assembly: AssemblyTitle("Clean Flash Player 34.0.0.184 Installer")]
[assembly: AssemblyDescription("The newest version of Flash Player, patched and ready to go beyond 2021.")] [assembly: AssemblyDescription("The newest version of Flash Player, patched and ready to go beyond 2021.")]
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("FlashPatch Team")] [assembly: AssemblyCompany("FlashPatch Team")]
[assembly: AssemblyProduct("Clean Flash Player 34.0.0.175 Installer")] [assembly: AssemblyProduct("Clean Flash Player 34.0.0.184 Installer")]
[assembly: AssemblyCopyright("")] [assembly: AssemblyCopyright("")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers // You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below: // by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("34.0.0.175")] [assembly: AssemblyVersion("34.0.0.184")]
[assembly: AssemblyFileVersion("34.0.0.175")] [assembly: AssemblyFileVersion("34.0.0.184")]

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="DotNetZip" version="1.15.0" targetFramework="net40-client" />
<package id="ILMerge" version="3.0.41" targetFramework="net40" /> <package id="ILMerge" version="3.0.41" targetFramework="net40" />
<package id="MSBuild.ILMerge.Task" version="1.1.3" targetFramework="net40-client" /> <package id="MSBuild.ILMerge.Task" version="1.1.3" targetFramework="net40-client" />
<package id="SharpCompress" version="0.24.0" targetFramework="net40" />
</packages> </packages>

@ -5,11 +5,11 @@ using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following // General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information // set of attributes. Change these attribute values to modify the information
// associated with an assembly. // associated with an assembly.
[assembly: AssemblyTitle("Clean Flash Player 34.0.0.175 Uninstaller")] [assembly: AssemblyTitle("Clean Flash Player 34.0.0.184 Uninstaller")]
[assembly: AssemblyDescription("The newest version of Flash Player, patched and ready to go beyond 2021.")] [assembly: AssemblyDescription("The newest version of Flash Player, patched and ready to go beyond 2021.")]
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("FlashPatch Team")] [assembly: AssemblyCompany("FlashPatch Team")]
[assembly: AssemblyProduct("Clean Flash Player 34.0.0.175 Uninstaller")] [assembly: AssemblyProduct("Clean Flash Player 34.0.0.184 Uninstaller")]
[assembly: AssemblyCopyright("")] [assembly: AssemblyCopyright("")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers // You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below: // by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("34.0.0.175")] [assembly: AssemblyVersion("34.0.0.184")]
[assembly: AssemblyFileVersion("34.0.0.175")] [assembly: AssemblyFileVersion("34.0.0.184")]

@ -115,7 +115,7 @@ namespace CleanFlashUninstaller {
private void completeLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { private void completeLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) {
if (e.Link.Start == 212) { if (e.Link.Start == 212) {
Process.Start("https://www.basilisk-browser.org"); Process.Start("https://waterfox.net");
} else { } else {
Process.Start("https://cleanflash.github.io"); Process.Start("https://cleanflash.github.io");
} }

Loading…
Cancel
Save