Compare commits

...
15 Commits
28 changed files with 180 additions and 667 deletions
+14 -69
View File
@@ -1,35 +1,13 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" Sdk="Microsoft.NET.Sdk">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup> <PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{D00F629B-455A-42DE-B2FA-A3759A3095AE}</ProjectGuid>
<OutputType>Library</OutputType> <OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>CleanFlashCommon</RootNamespace> <RootNamespace>CleanFlashCommon</RootNamespace>
<AssemblyName>CleanFlashCommon</AssemblyName> <AssemblyName>CleanFlashCommon</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> </PropertyGroup>
<FileAlignment>512</FileAlignment> <PropertyGroup>
<Deterministic>true</Deterministic> <TargetFrameworks>net40</TargetFrameworks>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Core" /> <Reference Include="System.Core" />
@@ -43,46 +21,13 @@
<Reference Include="System.Xml" /> <Reference Include="System.Xml" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="ExitedProcess.cs" /> <PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies.net40" Version="1.0.3">
<Compile Include="FileUtil.cs" /> <PrivateAssets>all</PrivateAssets>
<Compile Include="GradientButton.cs"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<SubType>Component</SubType> </PackageReference>
</Compile>
<Compile Include="HandleUtil.cs" />
<Compile Include="ImageCheckBox.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="ImageCheckBox.Designer.cs">
<DependentUpon>ImageCheckBox.cs</DependentUpon>
</Compile>
<Compile Include="InstallException.cs" />
<Compile Include="IProgressForm.cs" />
<Compile Include="ProcessUtils.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="RedirectionManager.cs" />
<Compile Include="RegistryManager.cs" />
<Compile Include="SmoothProgressBar.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="SystemInfo.cs" />
<Compile Include="Uninstaller.cs" />
<Compile Include="UpdateChecker.cs" />
<Compile Include="WinAPI.cs" />
</ItemGroup> </ItemGroup>
<ItemGroup> <PropertyGroup Condition="'$(Configuration)'=='Release'">
<EmbeddedResource Include="Properties\Resources.resx"> <DebugSymbols>False</DebugSymbols>
<Generator>ResXFileCodeGenerator</Generator> <DebugType>None</DebugType>
<LastGenOutput>Resources.Designer.cs</LastGenOutput> </PropertyGroup>
</EmbeddedResource> </Project>
</ItemGroup>
<ItemGroup>
<None Include="flashLogo.png" />
<Content Include="icon.ico" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
+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();
+9 -9
View File
@@ -205,8 +205,8 @@ namespace CleanFlashCommon {
RuntimeHelpers.PrepareConstrainedRegions(); RuntimeHelpers.PrepareConstrainedRegions();
try { } finally { try { } finally {
// CER guarantees that the address of the allocated // CER guarantees that the address of the allocated
// memory is actually assigned to ptr if an // memory is actually assigned to ptr if an
// asynchronous exception occurs. // asynchronous exception occurs.
ptr = Marshal.AllocHGlobal(length); ptr = Marshal.AllocHGlobal(length);
} }
@@ -223,7 +223,7 @@ namespace CleanFlashCommon {
for (int i = 0; i < handleCount; i++) { for (int i = 0; i < handleCount; i++) {
SYSTEM_HANDLE_ENTRY handleEntry = (SYSTEM_HANDLE_ENTRY) Marshal.PtrToStructure((IntPtr)((int)ptr + offset), typeof(SYSTEM_HANDLE_ENTRY)); SYSTEM_HANDLE_ENTRY handleEntry = (SYSTEM_HANDLE_ENTRY) Marshal.PtrToStructure((IntPtr)((int)ptr + offset), typeof(SYSTEM_HANDLE_ENTRY));
if (handleEntry.OwnerPid == processId) { if (handleEntry.OwnerPid == processId) {
IntPtr handle = (IntPtr) handleEntry.HandleValue; IntPtr handle = (IntPtr) handleEntry.HandleValue;
SystemHandleType handleType; SystemHandleType handleType;
@@ -245,8 +245,8 @@ namespace CleanFlashCommon {
} }
} }
} finally { } finally {
// CER guarantees that the allocated memory is freed, // CER guarantees that the allocated memory is freed,
// if an asynchronous exception occurs. // if an asynchronous exception occurs.
Marshal.FreeHGlobal(ptr); Marshal.FreeHGlobal(ptr);
} }
} while (ret == NT_STATUS.STATUS_INFO_LENGTH_MISMATCH); } while (ret == NT_STATUS.STATUS_INFO_LENGTH_MISMATCH);
@@ -294,8 +294,8 @@ namespace CleanFlashCommon {
RuntimeHelpers.PrepareConstrainedRegions(); RuntimeHelpers.PrepareConstrainedRegions();
try { } finally { try { } finally {
// CER guarantees the assignment of the allocated // CER guarantees the assignment of the allocated
// memory address to ptr, if an ansynchronous exception // memory address to ptr, if an ansynchronous exception
// occurs. // occurs.
ptr = Marshal.AllocHGlobal(length); ptr = Marshal.AllocHGlobal(length);
} }
@@ -306,7 +306,7 @@ namespace CleanFlashCommon {
RuntimeHelpers.PrepareConstrainedRegions(); RuntimeHelpers.PrepareConstrainedRegions();
try { } finally { try { } finally {
// CER guarantees that the previous allocation is freed, // CER guarantees that the previous allocation is freed,
// and that the newly allocated memory address is // and that the newly allocated memory address is
// assigned to ptr if an asynchronous exception occurs. // assigned to ptr if an asynchronous exception occurs.
Marshal.FreeHGlobal(ptr); Marshal.FreeHGlobal(ptr);
ptr = Marshal.AllocHGlobal(length); ptr = Marshal.AllocHGlobal(length);
@@ -318,7 +318,7 @@ namespace CleanFlashCommon {
return fileName.Length != 0; return fileName.Length != 0;
} }
} finally { } finally {
// CER guarantees that the allocated memory is freed, // CER guarantees that the allocated memory is freed,
// if an asynchronous exception occurs. // if an asynchronous exception occurs.
Marshal.FreeHGlobal(ptr); Marshal.FreeHGlobal(ptr);
} }
@@ -1,36 +0,0 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("CleanFlashCommon")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("CleanFlashCommon")]
[assembly: AssemblyCopyright("Copyright © 2022")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("d00f629b-455a-42de-b2fa-a3759a3095ae")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
+1 -1
View File
@@ -19,7 +19,7 @@ namespace CleanFlashCommon.Properties {
// class via a tool like ResGen or Visual Studio. // class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen // To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project. // with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources { internal class Resources {
+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.251"; private static readonly string FLASH_VERSION = "34.0.0.330";
private static readonly string VERSION = "v34.0.0.251"; 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/101.0.4951.41 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
View File
@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>
+44 -179
View File
@@ -1,114 +1,31 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" Sdk="Microsoft.NET.Sdk">
<Import Project="..\packages\ILMerge.3.0.41\build\ILMerge.props" Condition="Exists('..\packages\ILMerge.3.0.41\build\ILMerge.props')" />
<Import Project="..\packages\MSBuild.ILMerge.Task.1.1.3\build\MSBuild.ILMerge.Task.props" Condition="Exists('..\packages\MSBuild.ILMerge.Task.1.1.3\build\MSBuild.ILMerge.Task.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup> <PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{317B6619-2419-4778-95A2-1A97DC55AB83}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>CleanFlashInstaller</RootNamespace> <RootNamespace>CleanFlashInstaller</RootNamespace>
<AssemblyName>CleanFlashInstaller</AssemblyName> <AssemblyName>CleanFlashInstaller</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> <OutputType>WinExe</OutputType>
<FileAlignment>512</FileAlignment> <TargetFramework>net40</TargetFramework>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>..\CleanFlashCommon\icon.ico</ApplicationIcon>
</PropertyGroup>
<PropertyGroup />
<PropertyGroup>
<ApplicationManifest>app.manifest</ApplicationManifest> <ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup> <StartupObject></StartupObject>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'"> <Product>Clean Flash Player 34.0.0.330 Installer</Product>
<DebugSymbols>true</DebugSymbols> <AssemblyTitle>Clean Flash Player 34.0.0.330 Installer</AssemblyTitle>
<OutputPath>bin\x64\Debug\</OutputPath> <FileVersion>34.0.0.330</FileVersion>
<DefineConstants>DEBUG;TRACE</DefineConstants> <AssemblyVersion>34.0.0.330</AssemblyVersion>
<DebugType>full</DebugType> <Version>34.0.0.330</Version>
<PlatformTarget>x64</PlatformTarget> <Authors>FlashPatch Team</Authors>
<LangVersion>7.3</LangVersion> <Company>FlashPatch Team</Company>
<ErrorReport>prompt</ErrorReport> <ApplicationIcon>icon.ico</ApplicationIcon>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>bin\x64\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<OutputPath>bin\x86\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup>
<StartupObject>CleanFlashInstaller.Program</StartupObject>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="SharpCompress, Version=0.24.0.0, Culture=neutral, PublicKeyToken=afb0a02973931d96, processorArchitecture=MSIL"> <None Remove="cleanflash.7z" />
<HintPath>..\packages\SharpCompress.0.24.0\lib\net35\SharpCompress.dll</HintPath> </ItemGroup>
</Reference> <ItemGroup>
<Content Include="icon.ico" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="cleanflash.7z" />
</ItemGroup>
<ItemGroup>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Core" /> <Reference Include="System.Core" />
<Reference Include="System.Runtime.Serialization" /> <Reference Include="System.Runtime.Serialization" />
@@ -120,86 +37,34 @@
<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>
<Compile Include="InstallEntry.cs" /> <PackageReference Include="ILRepack.Lib.MSBuild.Task" Version="2.0.18.2" />
<Compile Include="Installer.cs" /> <PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies.net40" Version="1.0.3">
<Compile Include="InstallFlags.cs" /> <PrivateAssets>all</PrivateAssets>
<Compile Include="InstallForm.cs"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<SubType>Form</SubType> </PackageReference>
</Compile> <PackageReference Include="SharpCompress" version="0.24.0" />
<Compile Include="InstallForm.Designer.cs"> </ItemGroup>
<DependentUpon>InstallForm.cs</DependentUpon> <ItemGroup>
</Compile> <ProjectReference Include="..\CleanFlashCommon\CleanFlashCommon.csproj" />
<Compile Include="Program.cs" /> </ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" /> <ItemGroup>
<EmbeddedResource Include="InstallForm.resx"> <Compile Update="Properties\Settings.Designer.cs">
<DependentUpon>InstallForm.cs</DependentUpon> <DesignTimeSharedInput>True</DesignTimeSharedInput>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen> <AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon> <DependentUpon>Settings.settings</DependentUpon>
<DesignTime>True</DesignTime>
</Compile> </Compile>
<None Include="app.manifest" /> </ItemGroup>
<EmbeddedResource Include="cleanflash.7z" /> <ItemGroup>
<None Include="ILMerge.props" /> <None Update="Properties\Settings.settings">
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator> <Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput> <LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None> </None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup> </ItemGroup>
<ItemGroup> <PropertyGroup Condition="'$(Configuration)'=='Release'">
<None Include="App.config" /> <DebugSymbols>False</DebugSymbols>
</ItemGroup> <DebugType>None</DebugType>
<ItemGroup> </PropertyGroup>
<Content Include="..\CleanFlashCommon\icon.ico" /> </Project>
<Content Include="ILMergeOrder.txt" />
<None Include="..\CleanFlashCommon\flashLogo.png" />
</ItemGroup>
<ItemGroup>
<COMReference Include="IWshRuntimeLibrary">
<Guid>{F935DC20-1CF0-11D0-ADB9-00C04FD58A0B}</Guid>
<VersionMajor>1</VersionMajor>
<VersionMinor>0</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>tlbimp</WrapperTool>
<Isolated>False</Isolated>
<EmbedInteropTypes>True</EmbedInteropTypes>
</COMReference>
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>false</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\CleanFlashCommon\CleanFlashCommon.csproj">
<Project>{d00f629b-455a-42de-b2fa-a3759a3095ae}</Project>
<Name>CleanFlashCommon</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\MSBuild.ILMerge.Task.1.1.3\build\MSBuild.ILMerge.Task.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSBuild.ILMerge.Task.1.1.3\build\MSBuild.ILMerge.Task.props'))" />
<Error Condition="!Exists('..\packages\MSBuild.ILMerge.Task.1.1.3\build\MSBuild.ILMerge.Task.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSBuild.ILMerge.Task.1.1.3\build\MSBuild.ILMerge.Task.targets'))" />
<Error Condition="!Exists('..\packages\ILMerge.3.0.41\build\ILMerge.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\ILMerge.3.0.41\build\ILMerge.props'))" />
</Target>
<Import Project="..\packages\MSBuild.ILMerge.Task.1.1.3\build\MSBuild.ILMerge.Task.targets" Condition="Exists('..\packages\MSBuild.ILMerge.Task.1.1.3\build\MSBuild.ILMerge.Task.targets')" />
</Project>
-67
View File
@@ -1,67 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<!-- -->
<!-- ILMerge project-specific settings. Almost never need to be set explicitly. -->
<!-- for details, see http://research.microsoft.com/en-us/people/mbarnett/ilmerge.aspx -->
<!-- -->
<!-- *** set this file to Type=None, CopyToOutput=Never *** -->
<!-- If True, all copy local dependencies will also be merged from referenced projects whether they are referenced in the current project explicitly or not -->
<ILMergeTransitive>true</ILMergeTransitive>
<!-- Extra ILMerge library paths (semicolon-separated). Dont put your package dependencies here, they will be added automagically -->
<ILMergeLibraryPath></ILMergeLibraryPath>
<!-- The solution NuGet package directory if not standard 'SOLUTION\packages' -->
<ILMergePackagesPath></ILMergePackagesPath>
<!-- The merge order file name if differs from standard 'ILMergeOrder.txt' -->
<ILMergeOrderFile></ILMergeOrderFile>
<!-- The strong key file name if not specified in the project -->
<ILMergeKeyFile></ILMergeKeyFile>
<!-- The assembly version if differs for the version of the main assembly -->
<ILMergeAssemblyVersion></ILMergeAssemblyVersion>
<!-- added in Version 1.0.4 -->
<ILMergeFileAlignment></ILMergeFileAlignment>
<!-- added in Version 1.0.4, default=none -->
<ILMergeAllowDuplicateType></ILMergeAllowDuplicateType>
<!-- If the <see cref="CopyAttributes"/> is also set, any assembly-level attributes names that have the same type are copied over into the target assembly -->
<ILMergeAllowMultipleAssemblyLevelAttributes></ILMergeAllowMultipleAssemblyLevelAttributes>
<!-- See ILMerge documentation -->
<ILMergeAllowZeroPeKind></ILMergeAllowZeroPeKind>
<!-- The assembly level attributes of each input assembly are copied over into the target assembly -->
<ILMergeCopyAttributes></ILMergeCopyAttributes>
<!-- Creates a .pdb file for the output assembly and merges into it any .pdb files found for input assemblies, default=true -->
<ILMergeDebugInfo></ILMergeDebugInfo>
<!-- Target assembly will be delay signed -->
<ILMergeDelaySign></ILMergeDelaySign>
<!-- Types in assemblies other than the primary assembly have their visibility modified -->
<ILMergeInternalize></ILMergeInternalize>
<!-- The path name of the file that will be used to identify types that are not to have their visibility modified -->
<ILMergeInternalizeExcludeFile></ILMergeInternalizeExcludeFile>
<!-- XML documentation files are merged to produce an XML documentation file for the target assembly -->
<ILMergeXmlDocumentation></ILMergeXmlDocumentation>
<!-- External assembly references in the manifest of the target assembly will use full public keys (false) or public key tokens (true, default value) -->
<ILMergePublicKeyTokens></ILMergePublicKeyTokens>
<!-- Types with the same name are all merged into a single type in the target assembly -->
<ILMergeUnionMerge></ILMergeUnionMerge>
<!-- The version of the target framework, default 40 (works for 45 too) -->
<ILTargetPlatform></ILTargetPlatform>
</PropertyGroup>
</Project>
-4
View File
@@ -1,4 +0,0 @@
# this file contains the partial list of the merged assemblies in the merge order
# you can fill it from the obj\CONFIG\PROJECT.ilmerge generated on every build
# and finetune merge order to your satisfaction
+5 -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) {
+37 -19
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) {
string relativeFilename = Path.GetFileName(filename);
ProcessStartInfo info = new ProcessStartInfo {
FileName = "regsvr32.exe",
UseShellExecute = false,
CreateNoWindow = true
};
Directory.SetCurrentDirectory(Path.GetDirectoryName(filename)); Directory.SetCurrentDirectory(Path.GetDirectoryName(filename));
ExitedProcess process = ProcessUtils.RunProcess(
new ProcessStartInfo { info.Arguments = "/s /u " + relativeFilename;
FileName = "regsvr32.exe", ExitedProcess process = ProcessUtils.RunProcess(info);
Arguments = "/s " + Path.GetFileName(filename),
UseShellExecute = false, if (!process.IsSuccessful) {
CreateNoWindow = true 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) {
@@ -166,4 +184,4 @@ namespace CleanFlashInstaller {
} }
} }
} }
} }
@@ -1,36 +0,0 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Clean Flash Player 34.0.0.251 Installer")]
[assembly: AssemblyDescription("The newest version of Flash Player, patched and ready to go beyond 2021.")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("FlashPatch Team")]
[assembly: AssemblyProduct("Clean Flash Player 34.0.0.251 Installer")]
[assembly: AssemblyCopyright("")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("317b6619-2419-4778-95a2-1a97dc55ab83")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("34.0.0.251")]
[assembly: AssemblyFileVersion("34.0.0.251")]
+1 -1
View File
@@ -19,7 +19,7 @@ namespace CleanFlashInstaller.Properties {
// class via a tool like ResGen or Visual Studio. // class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen // To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project. // with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources { internal class Resources {
@@ -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"
+1 -1
View File
@@ -12,7 +12,7 @@ namespace CleanFlashInstaller.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.8.1.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.2.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
-5
View File
@@ -8,11 +8,6 @@
</requestedPrivileges> </requestedPrivileges>
</security> </security>
</trustInfo> </trustInfo>
<asmv3:application>
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<dpiAware>true</dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application> <application>
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/> <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

-6
View File
@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="ILMerge" version="3.0.41" targetFramework="net40" />
<package id="MSBuild.ILMerge.Task" version="1.1.3" targetFramework="net40-client" />
<package id="SharpCompress" version="0.24.0" targetFramework="net40" />
</packages>
@@ -1,49 +1,26 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" Sdk="Microsoft.NET.Sdk">
<Import Project="..\packages\ILMerge.3.0.41\build\ILMerge.props" Condition="Exists('..\packages\ILMerge.3.0.41\build\ILMerge.props')" />
<Import Project="..\packages\MSBuild.ILMerge.Task.1.1.3\build\MSBuild.ILMerge.Task.props" Condition="Exists('..\packages\MSBuild.ILMerge.Task.1.1.3\build\MSBuild.ILMerge.Task.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup> <PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{E193EEA6-BE73-4E34-BEB0-E13AC8D30C5C}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>CleanFlashUninstaller</RootNamespace> <RootNamespace>CleanFlashUninstaller</RootNamespace>
<AssemblyName>CleanFlashUninstaller</AssemblyName> <AssemblyName>CleanFlashUninstaller</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>..\CleanFlashCommon\icon.ico</ApplicationIcon>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net40</TargetFramework>
<ApplicationManifest>app.manifest</ApplicationManifest> <ApplicationManifest>app.manifest</ApplicationManifest>
<ApplicationIcon>icon.ico</ApplicationIcon>
<StartupObject></StartupObject>
<Product>Clean Flash Player 34.0.0.330 Uninstaller</Product>
<AssemblyTitle>Clean Flash Player 34.0.0.330 Uninstaller</AssemblyTitle>
<FileVersion>34.0.0.330</FileVersion>
<AssemblyVersion>34.0.0.330</AssemblyVersion>
<Version>34.0.0.330</Version>
<Authors>FlashPatch Team</Authors>
<Company>FlashPatch Team</Company>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <ItemGroup>
<StartupObject>CleanFlashUninstaller.Program</StartupObject> <Content Include="icon.ico" />
</PropertyGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Core" /> <Reference Include="System.Core" />
@@ -57,62 +34,17 @@
<Reference Include="System.Xml" /> <Reference Include="System.Xml" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="UninstallForm.cs"> <PackageReference Include="ILRepack.Lib.MSBuild.Task" Version="2.0.18.2" />
<SubType>Form</SubType> <PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies.net40" Version="1.0.3">
</Compile> <PrivateAssets>all</PrivateAssets>
<Compile Include="UninstallForm.Designer.cs"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<DependentUpon>UninstallForm.cs</DependentUpon> </PackageReference>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="UninstallForm.resx">
<DependentUpon>UninstallForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<None Include="app.manifest" />
<None Include="ILMerge.props" />
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="Resources\flashLogo.png" /> <ProjectReference Include="..\CleanFlashCommon\CleanFlashCommon.csproj" />
</ItemGroup> </ItemGroup>
<ItemGroup> <PropertyGroup Condition="'$(Configuration)'=='Release'">
<ProjectReference Include="..\CleanFlashCommon\CleanFlashCommon.csproj"> <DebugSymbols>False</DebugSymbols>
<Project>{d00f629b-455a-42de-b2fa-a3759a3095ae}</Project> <DebugType>None</DebugType>
<Name>CleanFlashCommon</Name> </PropertyGroup>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Content Include="..\CleanFlashCommon\icon.ico" />
<Content Include="ILMergeOrder.txt" />
<Content Include="..\CleanFlashCommon\small_icon.ico" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\MSBuild.ILMerge.Task.1.1.3\build\MSBuild.ILMerge.Task.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSBuild.ILMerge.Task.1.1.3\build\MSBuild.ILMerge.Task.props'))" />
<Error Condition="!Exists('..\packages\MSBuild.ILMerge.Task.1.1.3\build\MSBuild.ILMerge.Task.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSBuild.ILMerge.Task.1.1.3\build\MSBuild.ILMerge.Task.targets'))" />
<Error Condition="!Exists('..\packages\ILMerge.3.0.41\build\ILMerge.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\ILMerge.3.0.41\build\ILMerge.props'))" />
</Target>
<Import Project="..\packages\MSBuild.ILMerge.Task.1.1.3\build\MSBuild.ILMerge.Task.targets" Condition="Exists('..\packages\MSBuild.ILMerge.Task.1.1.3\build\MSBuild.ILMerge.Task.targets')" />
</Project> </Project>
-67
View File
@@ -1,67 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<!-- -->
<!-- ILMerge project-specific settings. Almost never need to be set explicitly. -->
<!-- for details, see http://research.microsoft.com/en-us/people/mbarnett/ilmerge.aspx -->
<!-- -->
<!-- *** set this file to Type=None, CopyToOutput=Never *** -->
<!-- If True, all copy local dependencies will also be merged from referenced projects whether they are referenced in the current project explicitly or not -->
<ILMergeTransitive>true</ILMergeTransitive>
<!-- Extra ILMerge library paths (semicolon-separated). Dont put your package dependencies here, they will be added automagically -->
<ILMergeLibraryPath></ILMergeLibraryPath>
<!-- The solution NuGet package directory if not standard 'SOLUTION\packages' -->
<ILMergePackagesPath></ILMergePackagesPath>
<!-- The merge order file name if differs from standard 'ILMergeOrder.txt' -->
<ILMergeOrderFile></ILMergeOrderFile>
<!-- The strong key file name if not specified in the project -->
<ILMergeKeyFile></ILMergeKeyFile>
<!-- The assembly version if differs for the version of the main assembly -->
<ILMergeAssemblyVersion></ILMergeAssemblyVersion>
<!-- added in Version 1.0.4 -->
<ILMergeFileAlignment></ILMergeFileAlignment>
<!-- added in Version 1.0.4, default=none -->
<ILMergeAllowDuplicateType></ILMergeAllowDuplicateType>
<!-- If the <see cref="CopyAttributes"/> is also set, any assembly-level attributes names that have the same type are copied over into the target assembly -->
<ILMergeAllowMultipleAssemblyLevelAttributes></ILMergeAllowMultipleAssemblyLevelAttributes>
<!-- See ILMerge documentation -->
<ILMergeAllowZeroPeKind></ILMergeAllowZeroPeKind>
<!-- The assembly level attributes of each input assembly are copied over into the target assembly -->
<ILMergeCopyAttributes></ILMergeCopyAttributes>
<!-- Creates a .pdb file for the output assembly and merges into it any .pdb files found for input assemblies, default=true -->
<ILMergeDebugInfo></ILMergeDebugInfo>
<!-- Target assembly will be delay signed -->
<ILMergeDelaySign></ILMergeDelaySign>
<!-- Types in assemblies other than the primary assembly have their visibility modified -->
<ILMergeInternalize></ILMergeInternalize>
<!-- The path name of the file that will be used to identify types that are not to have their visibility modified -->
<ILMergeInternalizeExcludeFile></ILMergeInternalizeExcludeFile>
<!-- XML documentation files are merged to produce an XML documentation file for the target assembly -->
<ILMergeXmlDocumentation></ILMergeXmlDocumentation>
<!-- External assembly references in the manifest of the target assembly will use full public keys (false) or public key tokens (true, default value) -->
<ILMergePublicKeyTokens></ILMergePublicKeyTokens>
<!-- Types with the same name are all merged into a single type in the target assembly -->
<ILMergeUnionMerge></ILMergeUnionMerge>
<!-- The version of the target framework, default 40 (works for 45 too) -->
<ILTargetPlatform></ILTargetPlatform>
</PropertyGroup>
</Project>
-4
View File
@@ -1,4 +0,0 @@
# this file contains the partial list of the merged assemblies in the merge order
# you can fill it from the obj\CONFIG\PROJECT.ilmerge generated on every build
# and finetune merge order to your satisfaction
@@ -1,36 +0,0 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Clean Flash Player 34.0.0.251 Uninstaller")]
[assembly: AssemblyDescription("The newest version of Flash Player, patched and ready to go beyond 2021.")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("FlashPatch Team")]
[assembly: AssemblyProduct("Clean Flash Player 34.0.0.251 Uninstaller")]
[assembly: AssemblyCopyright("")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("e193eea6-be73-4e34-beb0-e13ac8d30c5c")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("34.0.0.251")]
[assembly: AssemblyFileVersion("34.0.0.251")]
+1 -5
View File
@@ -114,11 +114,7 @@ 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) {
Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

-5
View File
@@ -1,5 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="ILMerge" version="3.0.41" targetFramework="net40" />
<package id="MSBuild.ILMerge.Task" version="1.1.3" targetFramework="net40" />
</packages>
+13 -1
View File
@@ -28,14 +28,26 @@ 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)
- 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!